Pull to refresh

Как скопировать профили настроек Skype и Google Chrome и Mozilla Firefox из одного /home в другой

Reading time5 min
Views6.2K
4 декабря вышла Linux Mint 17.3 «Rosa» (небольшой обзор здесь).

Возникла необходимость быстро переехать на следующий релиз, не сохраняя /home, а перенеся лишь некоторые настройки.

UPD 2: в замечательном комментарии к этому топику hiddenman предельно доходчиво объяснил зачем мне это было нужно. Вполне возможно, что данный комментарий ценней самой статьи, поэтому с его разрешения цитирую:

Коллеги, в наше время совет автора можно назвать скорее полезным, чем бесполезным. Если 15 лет назад я спокойно использовал старый $HOME, то сейчас это уже не так. Множество сложных (и часто кривых) компонентов, добавленных в окружение Linux за последние годы, создает немало проблем с практически всем ПО, при мажорных обновлениях.

Все эти KDE, XFce, Pulse Audio, настройки GNOME/GTK и т.д. и т.п. очень разнятся и зачастую реально создают проблемы в виде подземных стуков, которые практически нереально выявить, особенно новичку. Иногда это мелочи, которые можно легко поправить (типа «поехавшего» интерфейса xfce при обновлении), иногда очень непонятные вещи.

Из последнего интересного, с чем сталкивался — у «менеджера» при открытиии любого flash-видео оно начинало проигрываться, но без звука. Через несколько секунд видео замирало, потом зависал весь браузер.…

Запросто кривой файл gtkrc и/или несуществующий путь к pixmap может валить вашу программу и вы устанете искать, почему.

И таких примеров у меня за без малого 20 лет было приличное количество многих десятках рабочих станций (да и серверов тоже, но не с home, конечно же).

Если у человека нет ничего специфического в настройках, то в современных дистрибутивах сейчас правильнее и проще — ставить с нуля. Если же вам, как мне, хочется сохранить все ваши замечательные настройки всего подряд, то тогда можно использовать старый home, регулярно обновляться и потом бороться с проблемами.


UPD 1: Думал, что топик будет полезен "для новичков". В каментах выяснили, что есть пути попроще.



Все знают, что настройки пользователя лежат в домашней директории. Но при этом мало где написано, как установить систему с нуля, с чистой установкой /home. Поэтому решил поделиться этой парочкой хаков по «чистому» переезду. Т.е., как установить начисто и не потерять настройки этих приложений, сделаные ранее, то есть вообще, в частности, для: Google Chrome, Skype, Sublime Text 3, Mozilla Firefox.

За долгую жизнь в ИТ я выработал ряд простых, ничего по сути не требующих правил, которые стараюсь соблюдать, т.к. «переезжать» приходится. Конечно многие из них и так почти все знают, но всё же:

0. Не хранить важную информацию на диске, который «доступен» операционке.
1. Не хранить важную информацию в одном месте, делать backup.
2. Перед внесением критических изменений копировать всё, что можно скопировать.

Т.е., перед «чистой» установкой я создал полную копию своего /home раздела, для того, чтобы ничего не потерять.
Если у Вас есть какие-нибудь ещё важные части, лежащие, например в /etc, желательно их отдельно скопировать.
Все мои /etc'шные конфиги, соответственно, продублированы в других местах, и с системного раздела я ничего не переносил за ненадобностью.

Потом я сделал чистую установку, и начал «возвращать» всё, что мне было нужно на место, в «новый» /home.

Дано:

1. Свежеустановленный Linux Mint 17.3 «Rosa»
2. Все прошлые настройки профилей лежат в отдельной папке-копии на отдельном диске под семью замками на отдельном ext4 разделе.

Для начала, конечно, я обновился и поставил все необходимые мне приложения, для примера:

$ sudo -i
# apt-get update
# apt-get upgrade
# apt-get install curl mc git skype sublime-text

Да, конечно, можно зарутиться как-нибудь по другому, я привык так.

Если по каким-то причинам у Вас нет skype в дистрибутиве, Вы всегда можете его поставить с сайта skype.com. Для установки Вам скорей всего поможет что-то навроде:
$ cd Downloads
$ dpkg -i skype...
$ apt-get -f install


Последняя комманда нужна для того, чтобы «доставить» зависимости Skype, если их нет.

Google Chrome просто грузим с www.google.com/chrome и потом выполняем аналогичный набор действий:
$ cd Downloads
$ dpkg -i google...


Теперь про сам перенос данных.

Т.к. Старый пользователь и Новый пользователь — это два разных пользователя, то у Нового пользователя прав на чтение копии данных Старого пользователя, конечно же — Нет. Для того чтобы получить эти права нужно:

$ sudo -i
# chown -R new_user_name:new_user_group /path/to/copy/of/old_uer_name_home_dir


new_user_name — это имя пользователя в вашей новой системе
new_user_group — это имя группы пользователя в вашей новой системе, оно обычно совпадает с new_user_name

Теперь можно перенести все нужные папки: Downloads, Music, Pictures и т.п. и т.д.
Для этого я обычно использую либо системную комманду $ cp (не забываем про ключик -R, или читаем --help), либо если хочется «видеть» процесс, то пользуюсь Midnight Commander $ mc.

Плюс $ mc в том, что я визуально наблюдаю список директорий и файлов, и не нужно делать ls, и не нужно морочиться, всё видно, понятно, подписано какие кнопки жать и т.п…
Плюс $ cp -R в том, что он работает значительно быстрей.

После того, как всё скопировано можно переносить профили приложений.

Профиль для Skype лежит в:

/home/your_user_name/.Skype


Т.е. я просто:
1. Запускаю, Логинюсь и сразу же Выключаю свежеустановленный Skype.
2. В домашней директории моего пользователя делаю:
$ rm -R .Skype

3. Копирую директорию .Skype от старого пользователя, например, если по прежнему находиться в домашней директории, то это так:

$ cp -R /path/to/copy/of/old_uer_name_home_dir/.Skype ./


Всё, «весь» скайп переехал с сохранением всех настроек, истории и т.п. и т.д.
Подозреваю, что аналогичным образом можно перенести и профили из Windows (не знаю где лежит, гуглите).

Для Google Chrome всё почти так же, но немного «забористей»:

1. Запускаем Google Chrome и выключаем его.
2. Копируем профиль старого пользователя:

$ cp -R /path/to/copy/of/old_uer_name_home_dir/.config/google-chrome/PROFILE_NAME ./.config/google-chrome/NEW_PROFILE_NAME


Здесь PROFILE_NAME это имя директории профиля «старого» пользователя.
Скорей всего, если Вы ранее ничего не меняли, то оно должно быть чем-то вроде ***Default***, или как-то так.

Тут немного подробней User Data Directory — The Chromium Projects.

NEW_PROFILE_NAME необходим, чтобы Chrome не «сошёл с ума» оттого, что потерял профиль, т.е., чтобы ОБА профиля были на месте, когда Вы запустите Chrome.

3. Теперь самое интересное. Для того, чтобы Chrome «увидел» «скопированный» профиль, необходимо «удалить» «свежий» профиль.

Для этого нужно Chrome запустить И в «Администрировании Профилей» стереть НОВЫЙ профиль.
После этого перезагружаем Chrome и старый профиль «Подхватится» сам.

Самый быстрый путь до настроек администрирования профилей находится возле кнопок управления окном: image

С Sublime Text 3 всё аналогично Skype, но профиль лежит в директории .config:

$ rm -R ./.config/sublime-text-3/
$ cp -R /path/to/copy/of/old_uer_name_home_dir/.config/sublime-text-3 ./.config/sublime-text-3


А вот для Firefox придётся чуть-чуть «повозиться».

Для начала так же копируем его профили из старого места хранения в новое:
$ cp -R /path/to/copy/of/old_uer_name_home_dir/.mozilla/firefox/PROFILE_NAME ./.mozilla/firefox/PROFILE_NAME


Где PROFILE_NAME — имя старого профиля, если профиль был один, то скорей всего это будет что-то типа Default.ЦИФРОБУКВЫ
Новый профиль тоже лучше не стирать через консоль, а удалить потом в Менеджере Профилей.

Теперь необходимо добавить Старый профиль в Новый Конфиг:
$ nano .mozilla/firefox/profiles.ini


Здесь nano это текстовый редактор, пишите своё имя, Pluma, Gedit и т.п.
Далее по аналогии с тем, что там уже написано, добавляем строчки для нового профиля. В моем случае получилось так:


[General]
StartWithLastProfile=0

[Profile1]
Name=Default
IsRelative=1
Path=hj6awt81.default
Default=1

[Profile2]
Name=test
IsRelative=1
Path=ejovorio.test


После этого запускаем Firefox Profile Manager:
$ firefox --profilemanager


Теперь можно выбрать профиль, в который нужно логиниться или стереть ненужный «новый» профиль и т.п. и т.д., так же можно убрать флажок «Use the selected profile without asking at startup», и тогда окно менеджера профилей будет появляться всегда:

image

На этом всё.
Подозреваю, что большинство профилей приложений переносится аналогичным образом, не даром же нужна /home директория.

В частности так же у меня переехали ключики SSH, Robomongo и Nestopia.

Большое, спасибо за внимание.
Tags:
Hubs:
Total votes 17: ↑4 and ↓13-9
Comments67

Articles