Я нахожусь на Debian, и я хочу переразметить мой диск и переустановить. Есть ли простой способ восстановить все установленные в настоящее время пакеты после новой установки?
Я думаю сделать это, создав список приложений для резервного копирования:
#generate list of installed packages
dpkg -l | awk '{ print $2 }' ORS="\n" | tail -n +6 > reinstallList.txt
и тогда после выполнения новой установки я должен быть в состоянии сделать:
#install from backup at reinstallList.txt
sudo apt-get install $(< reinstallList.txt)
Есть ли лучший способ сделать это?
Ответы:
Согласно вики Debian , вы должны выполнить эту команду перед переустановкой:
Затем, после переустановки, запустите это:
Очевидно, вы должны заменить
/backup/installed-software.log
имя некоторого файла, который вы можете сохранить во время процесса переустановки. Положить его на флешку было бы неплохо.Для получения дополнительной информации см. Вики: https://wiki.debian.org/ListInstalledPackages
источник
dpkg -l
перечисляет все установленные пакеты (в списке, когда вы фильтруете его правильно). Вы можете получить тот же список сdpkg --get-selections
(который не требует дополнительной фильтрации).Это приводит к потере информации о пакетах, устанавливаемых вручную или автоматически. Очень удобно иметь библиотеки и другие пакеты, помеченные как только косвенно необходимые. Пакеты, помеченные как автоматически установленные, могут быть удалены или заменены различными пакетами без суеты. Dpkg не знает об автоматически установленных пакетах, только apt знает.
Чтобы вывести список пакетов, установленных вручную, вы можете использовать aptitude:
Без способностей это немного сложнее.
Чтобы установить все ранее установленные пакеты:
В качестве альтернативы, вы можете использовать более обходной метод копирования списка установленных пакетов, а затем восстановить список пакетов, помеченных как автоматические. Для резервного копирования:
Для восстановления:
источник