Как мне экспортировать список установленных пакетов Debian в системе, а затем установить эти же пакеты в новой системе?
Для резервного копирования:
sudo dpkg --get-selections > /tmp/dpkglist.txt
Восстановить:
sudo dpkg --set-selections < /tmp/dpkglist.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade
Также см. Этот вопрос для получения дополнительных опций и информации: Ubuntu, как настроить новую машину как существующую
У меня это выполняется в ежедневном задании cron, которое проверяет dpgklist в SVN как часть нашей инвентаризации сервера. Это позволит вам вести разумно точную инвентаризацию установленных пакетов на ваших серверах, а также легко выполнить быстрое параллельное сравнение, чтобы увидеть, отсутствует ли на сервере конкретный пакет.
aptitude
также удовлетворяет этому варианту использования и сохраняет информацию об "автоматически установленных" пакетах, чего нет в других методах. Выполните на эталонной машине следующее:
aptitude search -F '%p' '~i!~M' > package_list
Копировать package_list
на другую машину и беги
xargs aptitude --schedule-only install < package_list; aptitude install;
Это хорошая идея, и вы также можете настроить один сервер с apt-proxy если вы сделаете это привычкой.
Ответ faultyservers работал у меня только после выполнения другой команды в соответствии с http://rayslinux.blogspot.de/2012/10/ubuntu-1210-dpkg-warning-package-not-in.html
sudo apt-get install dselect
sudo dselect access
sudo dselect update
Перед этим бегом
sudo apt-get dselect-upgrade
только вернулся
[...]
dpkg: предупреждение: пакета нет в базе данных в строке 302: xfonts-utils
dpkg: warning: обнаружены неизвестные пакеты; это может означать, что доступная база данных устарела и ее необходимо обновить с помощью внешнего интерфейса.
pi @ FHEM-new: / tmp $ sudo apt-get dselect-upgrade
Чтение списков пакетов ... Готово
Построение дерева зависимостей
Чтение информации о состоянии ... Готово
0 обновлено, 0 установлено заново, 0 удалено и 0 не обновлено.
Я пытался установить те же пакеты со своего старого Raspberry Pi (работающего под управлением Raspbian GNU / Linux 7 (wheezy)) на мою новую Raspberry (Raspbian GNU / Linux 8 (jessie)).