Восстановление профиля Firefox

Автор vlav, 23 апреля 2024, 22:32:08

« назад - далее »

0 Пользователи и 4 гостей просматривают эту тему.

vlav

Добрый день,камрады!
Переустанавливал систему и сохранил не все файлы из папки  ~/.mozilla/firefox (Не делайте так!)
Могучую папку XXXXXXXX.dev-edition-default догадался сохранить.
А файлы installs.ini и profiles.ini, возникающие после установки - увы!
И папку YYYYYYYY-default с единственным файлом times.json - увы, тоже.
И даже 8 цифр YYYYYYYY не записал, и как они генерируются -хз.

Результат печальный.
Перед первым запуском копирую папку XXXXXXXX.dev-edition-default в каталог firefox - создается новый профиль со свом набором папок и файлов.
Копирую содержимое папки XXXXXXXX.dev-edition-default в папку нового профиля - старый профиль не подхватывается.
Создаю с помощью менеджера профилей новый профиль, указав в качестве его папки XXXXXXXX.dev-edition-default -тот же результат, старый профиль не подхватывется.
Пробовал менять в разных сочетаниях файлы в новом профиле на файлы из старой папки - никакого прогресса!

Всё, доигрался? Или есть идеи?

Лия

#1
Убедиться, что профиль запускается через
firefox --profile $HOME/.mozilla/firefox/XXXXXXXX.dev-edition-default
(изменить путь на свой)

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

https://superuser.com/questions/111137/is-it-possible-to-regenerate-firefoxs-profiles-ini-from-existing-profiles (я немного отредактировала скрипт)

#!/bin/bash

echo '[General]'
echo 'StartWithLastProfile=1'
echo ''

n=0

for file in * ; do
  if [[ -d "$file" ]] ; then
    if [[ "$file" =~ .+\.(.+) ]] ; then
      echo "[Profile${n}]"
      echo "Name=${BASH_REMATCH[1]}"
      echo "IsRelative=1"
      echo "Path=${file}"
      if echo "${BASH_REMATCH[1]}" | grep -q default; then
        echo "Default=1"
      fi
      echo ""
      let n++
    fi
  fi
done

Сохранить как restore-profiles-ini.sh
Поместить в каталог firefox (~/.mozilla/firefox)
Очистить каталог firefox, чтобы там был только каталог XXXXXXXX.dev-edition-default
Запустить:
cd $HOME/.mozilla/firefox
chmod +x restore-profiles-ini.sh
./restore-profiles-ini.sh > profiles.ini

vlav

      Прежде всего - спасибо за отклик!
   Получилось следующее:
1. При проверке старого профиля браузер запускается начисто, в каталоге firefox создается полупустая папка WWWWWWWW.dev-edition.default, запуск about:profiles ни одного профиля не показывает, только "создать новый профиль".
2. Скрипт создает пустой файл profile.ini, содержание появляется после первого запуска браузера.
Кроме него в папке firefox создаются:
  - файл install.ini с ссылкой на новосозданный профиль ZZZZZZZZ.dev-edition.default;
  - папка ZZZZZZZZ.dev-edition.default  с файлами нового профиля;
  - папка VVVVVVVV.dev-edition.default c файлом times.json;
  - папки Ptnding Pings и Crash Reports.
   Запускается новый профиль ZZZZZZZZ.dev-edition.default.
about:profiles старый профиль не показывает.


Лия

#3
Цитата: vlav от 24 апреля 2024, 01:02:231. При проверке старого профиля браузер запускается начисто, в каталоге firefox создается полупустая папка WWWWWWWW.dev-edition.default, запуск about:profiles ни одного профиля не показывает, только "создать новый профиль".
Закройте Firefox
Удалите все файлы и каталоги ( кроме скрипта :) ) из ~/.mozilla/firefox
Скопируйте туда ваш XXXXXXXX.dev-edition-default
Покажите
ls -lh ~/.mozilla/firefoxЗапустите скрипт:
./restore-profiles-ini.sh > profiles.ini
Покажите, что в файле profiles.ini
cat ~/.mozilla/firefox/profiles.iniНе запускайте Firefox после этого, сначала покажите :) !

vlav

bertram@bertram-laptop:~/.mozilla/firefox$ ls -lh ~/.mozilla/firefox
итого 4,0K
drwxr-xr-x 18 bertram bertram 4,0K апр 20 11:08 permttf9.dev-edition-default
-rwxr-xr-x  1 bertram bertram    0 апр 24 00:02 restore-profiles-ini.sh

bertram@bertram-laptop:~/.mozilla/firefox$ cat ~/.mozilla/firefox/profiles.ini
bertram@bertram-laptop:~/.mozilla/firefox$



Лия


vlav

#6
В точку!
Результат работы скрипта такой:

[General]
StartWithLastProfile=1

[Profile0]
Name=dev-edition-default
IsRelative=1
Path=permttf9.dev-edition-default


24 апреля 2024, 01:40:53
После запуска браузера: старт со старым профилем.
Правда, ничего не подхватилось.
Может быть, профиль битый?

Лия

#7
Теперь вот это
[General]
StartWithLastProfile=1

[Profile0]
Name=dev-edition-default
IsRelative=1
Path=permttf9.dev-edition-default
Default=1

скопируйте в profiles.ini (сначала удалив всё его содержимое)
Не забудьте про Default=1 - это важно!

vlav

Да, запускаю именно так.
Если в папке профиля при копировании как-то образовалась ошибка - это, скорее всего, неисправимо.

Лия

#9
Цитата: Ли󠀁я от 24 апреля 2024, 01:42:27Не забудьте про Default=1 - это важно!
Ошибка была в моём скрипте - только сейчас заметила :)
Если и это не поможет (см. сообщение выше) - тогда, возможно, профиль битый.

24 апреля 2024, 02:04:33
Хотя да, в about:profiles должно быть видно профиль (dev-edition-default)...

vlav

После запуска браузера:

[Profile0]
Name=dev-edition-default
IsRelative=1
Path=permttf9.dev-edition-default
Default=1

[General]
StartWithLastProfile=1
Version=2
[Install6AFDA46A1A8AD48]
Default=permttf9.dev-edition-default
Locked=1

В about:profiles виден нужный профиль - единственный.

При загрузке - стартовая страница, ничего из ожидаемого содержания профиля.

Лия

#11
Цитата: vlav от 24 апреля 2024, 02:14:16В about:profiles виден нужный профиль - единственный.
Наверное, всё правильно...
Есть вариант попробовать починить профиль
sudo apt install sqlite3
echo .dump | sqlite3 permttf9.dev-edition-default/places.sqlite
Есть ли что-то похожее на ваши закладки? :)

vlav

bertram@bertram-laptop:~/.mozilla/firefox$ echo .dump | sqlite3 permttf9.dev-edition-default/places.sqlite
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
/**** ERROR: (5) database is locked *****/
ROLLBACK; -- due to errors

Лия


vlav

Это похоже?
bertram@bertram-laptop:~/.mozilla/firefox$ echo .dump | sqlite3 permttf9.dev-edition-default/places.sqlite
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE moz_origins ( id INTEGER PRIMARY KEY, prefix TEXT NOT NULL, host TEXT NOT NULL, frecency INTEGER NOT NULL, recalc_frecency INTEGER NOT NULL DEFAULT 0, alt_frecency INTEGER, recalc_alt_frecency INTEGER NOT NULL DEFAULT 0, UNIQUE (prefix, host) );
INSERT INTO moz_origins VALUES(1,'https://','www.mozilla.org',225,0,NULL,1);
CREATE TABLE moz_places (  id INTEGER PRIMARY KEY, url LONGVARCHAR, title LONGVARCHAR, rev_host LONGVARCHAR, visit_count INTEGER DEFAULT 0, hidden INTEGER DEFAULT 0 NOT NULL, typed INTEGER DEFAULT 0 NOT NULL, frecency INTEGER DEFAULT -1 NOT NULL, last_visit_date INTEGER , guid TEXT, foreign_count INTEGER DEFAULT 0 NOT NULL, url_hash INTEGER DEFAULT 0 NOT NULL , description TEXT, preview_image_url TEXT, site_name TEXT, origin_id INTEGER REFERENCES moz_origins(id), recalc_frecency INTEGER NOT NULL DEFAULT 0, alt_frecency INTEGER, recalc_alt_frecency INTEGER NOT NULL DEFAULT 0);
INSERT INTO moz_places VALUES(1,'https://www.mozilla.org/privacy/firefox/',NULL,'gro.allizom.www.',1,1,0,25,1713911789940270,'n0CTqgCNaUWj',0,47356411089529,NULL,NULL,NULL,1,0,NULL,1);
INSERT INTO moz_places VALUES(2,'https://www.mozilla.org/ru/firefox/126.0a2/firstrun/','Firefox Developer Edition','gro.allizom.www.',1,0,0,100,1713911790334926,'NqICOmG1Cy5P',0,47356734870083,'Firefox Developer Edition — очень быстрый браузер, обладающий передовыми инструментами разработчика и содержащий в себе последние разработки, например, он поддерживает CSS-сетки и отладку веб-приложений, построенных на фреймворках','https://www.mozilla.org/media/protocol/img/logos/firefox/browser/developer/og.0e5d59686805.png',NULL,1,0,NULL,1);
INSERT INTO moz_places VALUES(3,'https://www.mozilla.org/ru/privacy/firefox/','Уведомление о конфиденциальности Firefox — Mozilla','gro.allizom.www.',1,0,0,100,1713911790413854,'mIOvrpb99daN',0,47359496047112,replace('\n  Our Privacy Notices describe the data our products and services receive, share, and use, as well as choices available to you.\n','\n',char(10)),'https://www.mozilla.org/media/img/mozorg/mozilla-256.4720741d4108.jpg',NULL,1,0,NULL,1);
CREATE TABLE moz_places_extra (  place_id INTEGER PRIMARY KEY NOT NULL, sync_json TEXT, FOREIGN KEY (place_id) REFERENCES moz_places(id) ON DELETE CASCADE );
CREATE TABLE moz_historyvisits (  id INTEGER PRIMARY KEY, from_visit INTEGER, place_id INTEGER, visit_date INTEGER, visit_type INTEGER, session INTEGER, source INTEGER DEFAULT 0 NOT NULL, triggeringPlaceId INTEGER);
INSERT INTO moz_historyvisits VALUES(1,0,1,1713911789940270,1,0,0,NULL);
INSERT INTO moz_historyvisits VALUES(2,0,2,1713911790334926,1,0,0,NULL);
INSERT INTO moz_historyvisits VALUES(3,1,3,1713911790413854,6,0,0,NULL);
CREATE TABLE moz_historyvisits_extra (  visit_id INTEGER PRIMARY KEY NOT NULL, sync_json TEXT, FOREIGN KEY (visit_id) REFERENCES moz_historyvisits(id) ON  DELETE CASCADE);
CREATE TABLE moz_inputhistory (  place_id INTEGER NOT NULL, input LONGVARCHAR NOT NULL, use_count INTEGER, PRIMARY KEY (place_id, input));
CREATE TABLE moz_bookmarks (  id INTEGER PRIMARY KEY, type INTEGER, fk INTEGER DEFAULT NULL, parent INTEGER, position INTEGER, title LONGVARCHAR, keyword_id INTEGER, folder_type TEXT, dateAdded INTEGER, lastModified INTEGER, guid TEXT, syncStatus INTEGER NOT NULL DEFAULT 0, syncChangeCounter INTEGER NOT NULL DEFAULT 1);
INSERT INTO moz_bookmarks VALUES(1,2,NULL,0,0,'',NULL,NULL,1713911790065000,1713911790065000,'root________',1,1);
INSERT INTO moz_bookmarks VALUES(2,2,NULL,1,1,'menu',NULL,NULL,1713911790065000,1713911790065000,'menu________',1,1);
INSERT INTO moz_bookmarks VALUES(3,2,NULL,1,2,'toolbar',NULL,NULL,1713911790065000,1713911790065000,'toolbar_____',1,1);
INSERT INTO moz_bookmarks VALUES(4,2,NULL,1,3,'tags',NULL,NULL,1713911790065000,1713911790065000,'tags________',1,1);
INSERT INTO moz_bookmarks VALUES(5,2,NULL,1,4,'unfiled',NULL,NULL,1713911790065000,1713911790065000,'unfiled_____',1,1);
INSERT INTO moz_bookmarks VALUES(6,2,NULL,1,5,'mobile',NULL,NULL,1713911790096000,1713911790096000,'mobile______',1,1);
CREATE TABLE moz_bookmarks_deleted (  guid TEXT PRIMARY KEY, dateRemoved INTEGER NOT NULL DEFAULT 0);
CREATE TABLE moz_keywords (  id INTEGER PRIMARY KEY AUTOINCREMENT, keyword TEXT UNIQUE, place_id INTEGER, post_data TEXT);
CREATE TABLE moz_anno_attributes (  id INTEGER PRIMARY KEY, name VARCHAR(32) UNIQUE NOT NULL);
CREATE TABLE moz_annos (  id INTEGER PRIMARY KEY, place_id INTEGER NOT NULL, anno_attribute_id INTEGER, content LONGVARCHAR, flags INTEGER DEFAULT 0, expiration INTEGER DEFAULT 0, type INTEGER DEFAULT 0, dateAdded INTEGER DEFAULT 0, lastModified INTEGER DEFAULT 0);
CREATE TABLE moz_items_annos (  id INTEGER PRIMARY KEY, item_id INTEGER NOT NULL, anno_attribute_id INTEGER, content LONGVARCHAR, flags INTEGER DEFAULT 0, expiration INTEGER DEFAULT 0, type INTEGER DEFAULT 0, dateAdded INTEGER DEFAULT 0, lastModified INTEGER DEFAULT 0);
CREATE TABLE moz_meta (key TEXT PRIMARY KEY, value NOT NULL) WITHOUT ROWID ;
INSERT INTO moz_meta VALUES('origin_frecency_threshold',225);
CREATE TABLE moz_places_metadata (id INTEGER PRIMARY KEY, place_id INTEGER NOT NULL, referrer_place_id INTEGER, created_at INTEGER NOT NULL DEFAULT 0, updated_at INTEGER NOT NULL DEFAULT 0, total_view_time INTEGER NOT NULL DEFAULT 0, typing_time INTEGER NOT NULL DEFAULT 0, key_presses INTEGER NOT NULL DEFAULT 0, scrolling_time INTEGER NOT NULL DEFAULT 0, scrolling_distance INTEGER NOT NULL DEFAULT 0, document_type INTEGER NOT NULL DEFAULT 0, search_query_id INTEGER, FOREIGN KEY (place_id) REFERENCES moz_places(id) ON DELETE CASCADE, FOREIGN KEY (referrer_place_id) REFERENCES moz_places(id) ON DELETE CASCADE, FOREIGN KEY(search_query_id) REFERENCES moz_places_metadata_search_queries(id) ON DELETE CASCADE CHECK(place_id != referrer_place_id) );
INSERT INTO moz_places_metadata VALUES(1,2,NULL,1713911791351,1713911851497,42056,0,0,0,0,0,NULL);
CREATE TABLE moz_places_metadata_search_queries ( id INTEGER PRIMARY KEY, terms TEXT NOT NULL UNIQUE );
CREATE TABLE moz_previews_tombstones (  hash TEXT PRIMARY KEY ) WITHOUT ROWID;
ANALYZE sqlite_schema;
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_altfrecencyindex','3 3');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_originidindex','3 3');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_guid_uniqueindex','3 1');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_lastvisitdateindex','3 1');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_frecencyindex','3 2');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_visitcount','3 3');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_hostindex','3 3');
INSERT INTO sqlite_stat1 VALUES('moz_places','moz_places_url_hashindex','3 1');
INSERT INTO sqlite_stat1 VALUES('moz_places_metadata','moz_places_metadata_referrerindex','1 1');
INSERT INTO sqlite_stat1 VALUES('moz_places_metadata','moz_places_metadata_placecreated_uniqueindex','1 1 1');
INSERT INTO sqlite_stat1 VALUES('moz_historyvisits','moz_historyvisits_dateindex','3 1');
INSERT INTO sqlite_stat1 VALUES('moz_historyvisits','moz_historyvisits_fromindex','3 2');
INSERT INTO sqlite_stat1 VALUES('moz_historyvisits','moz_historyvisits_placedateindex','3 1 1');
INSERT INTO sqlite_stat1 VALUES('moz_bookmarks','moz_bookmarks_guid_uniqueindex','6 1');
INSERT INTO sqlite_stat1 VALUES('moz_bookmarks','moz_bookmarks_dateaddedindex','6 3');
INSERT INTO sqlite_stat1 VALUES('moz_bookmarks','moz_bookmarks_itemlastmodifiedindex','6 6 3');
INSERT INTO sqlite_stat1 VALUES('moz_bookmarks','moz_bookmarks_parentindex','6 3 1');
INSERT INTO sqlite_stat1 VALUES('moz_bookmarks','moz_bookmarks_itemindex','6 6 6');
DELETE FROM sqlite_sequence;
CREATE INDEX moz_places_url_hashindex ON moz_places (url_hash);
CREATE INDEX moz_places_hostindex ON moz_places (rev_host);
CREATE INDEX moz_places_visitcount ON moz_places (visit_count);
CREATE INDEX moz_places_frecencyindex ON moz_places (frecency);
CREATE INDEX moz_places_lastvisitdateindex ON moz_places (last_visit_date);
CREATE UNIQUE INDEX moz_places_guid_uniqueindex ON moz_places (guid);
CREATE INDEX moz_places_originidindex ON moz_places (origin_id);
CREATE INDEX moz_places_altfrecencyindex ON moz_places (alt_frecency);
CREATE INDEX moz_historyvisits_placedateindex ON moz_historyvisits (place_id, visit_date);
CREATE INDEX moz_historyvisits_fromindex ON moz_historyvisits (from_visit);
CREATE INDEX moz_historyvisits_dateindex ON moz_historyvisits (visit_date);
CREATE INDEX moz_bookmarks_itemindex ON moz_bookmarks (fk, type);
CREATE INDEX moz_bookmarks_parentindex ON moz_bookmarks (parent, position);
CREATE INDEX moz_bookmarks_itemlastmodifiedindex ON moz_bookmarks (fk, lastModified);
CREATE INDEX moz_bookmarks_dateaddedindex ON moz_bookmarks (dateAdded);
CREATE UNIQUE INDEX moz_bookmarks_guid_uniqueindex ON moz_bookmarks (guid);
CREATE UNIQUE INDEX moz_keywords_placepostdata_uniqueindex ON moz_keywords (place_id, post_data);
CREATE UNIQUE INDEX moz_annos_placeattributeindex ON moz_annos (place_id, anno_attribute_id);
CREATE UNIQUE INDEX moz_items_annos_itemattributeindex ON moz_items_annos (item_id, anno_attribute_id);
CREATE UNIQUE INDEX moz_places_metadata_placecreated_uniqueindex ON moz_places_metadata (place_id, created_at);
CREATE INDEX moz_places_metadata_referrerindex ON moz_places_metadata (referrer_place_id);
COMMIT;