Блог - Linux, программирование, Я!

linux на десктопеВосстановить программы после переустановки системы

Вступленье
Конечно, переустановка операционной системы не самое приятное занятие, но в общем-то особых проблем сама система не вызывает обычно.
Но совсем другая проблема - установка на свежеустановленную систему всех тех программ, которые были установлены в потертой "старой" системе. В Windows это всегда было кошмаром...
Хорошо если на харде много свободного места и есть папочка с дистрибутивами программ... Но устанавливать их все в любом случае придется вручную... А если захочется пользовательские настройки восстановить (половина которых хранятся в реестре)... Так что на восстановление системы к прежнему виду может уйти и не один день...
Windowsюзеры в таких случаях нередко просто делают полный образ системного раздела в тот момент, когда ось и программы установлены, но еще не попорчены вирусами, кривыми руками etc.
Тут есть как минимум 2 проблемки:
1) Сам образ занимает очень немало места.. для XP порядка 10-15Гб, для Vls lata 15-30Гб вместе с программами
2) Если у программ вышли обновления/если вы поменяли настройки программ после создания образа, то после восстановления они, само-собой, пропадут

Так что-же делать?

Ладно, вступление получилось длинное, так вот, мы-то с вами люди разумные, непонятно-какими операционками не пользуемся, у нас Ubuntu (debian) и менеджер пакетов apt.
Не знаю зачем вам понадобилось переставлять ось... Но, допустим, вышла новая версия дистрибутива, а ставить ее с помошью "наложения" на старую не хочется.
Вариант 2 - вы установили на один комп (допустим, на домашний десктоп) свою системку и захотели получить ее копию на втором, отличном по конфигурации компьютере (пусть, на ноутбуке). Конфигурации разные - перенос образа не прокатит.

И так, процесс
1) Пользовательские настройки программ
Очень надеюсь, что папка /home расположена у вас на отдельном разделе харда, тогда о сохранности личных настроек беспокоиться не придется. Просто при установке дистрибутива нужно будет указать на каком разделе находится эта папочка и все.
Иначе нужно будет скопировать содержимое /home на какой-нибудь другой раздел и после установки системы вернуть его обратно. Возможно после этих операций с домашними каталогами пропадет принадлежность домашней папки определенному юзеру (в окне свойств папки в разделе "права доступа" вместо имени владельца будет стоять только ID или root), можно исправить командой
sudo chown -R <Имя юзера> /home/ <Имя юзера>
или
sudo chown -R $USER /home/$USER
2) Собственно, сами пакеты
Потом, если вы не обновляете дистрибутив а хотите переставить этот-же (версию в смысле), советую сохранить содержимое папки /var/cache/apt/archives (если в ней есть содержимое), т.к. там хранятся копии скачанных установленных .deb пакетов, т.е. после восстановления их не придется скачивать с репозиториев заново. После установки системы их просто скопировать обратно, apt их найдет при обновлении.
Для создания списка установленных пакетов нужно выполнить всего одну команду
dpkg --get-selections > software_list
т.е. вывод команды dpkg --get-selections сохраняем в файле ./software_list . Это обычный текстовый файл. Его можно подредактировать, стерев ненужные и вписав нужные программы.
Этот файлик сохраняем где-нить.
После установки системы нужно выполнить вот что
apt-get update #для обновления списков пакетов в репозиториях
dpkg --set-selections < software_list #просим apt отметить для установки пакеты из сгенерированного ранее software_list
apt-get dselect-upgrade
#просим apt установить отмеченные пакеты. Если что-то из этого списка уже установлено - проблем не возникнет. Дальше все пойдет автоматически, можно пока пойти покурить подышать свежим воздухом.
А, ну, собственно и все. Как видно, все делается крайне просто, практически полностью автоматически и очень быстро.
Имеем самые последние версии тех-же программ с теми-же настройками... Красотища!
Так-что, господа, удачных экспериментов!

Источники:
wiki.linuxformat.ru/index.php/LXF96:Hardcore_linux:APT
forum.ubuntu.ru/index.php

  1. TeXHaPb
    2010-04-16 00:00:35 | #

    Для того, чтобы сохранить права на файлы и каталоги, можно воспользоваться утилитой tar или установить соответствующую опцию при копировании с помощью mc.

    • 2010-04-25 21:46:42 | #

      Абсолютно согласен. Но все же рекомендую выносить /home на отдельный раздел.

  2. valery
    2016-11-09 19:43:16 | #

    дерьмо это все. Не работает