встановити ті самі пакети debian в іншій системі


13

Як я експортую список встановлених пакунків Debian у систему, а потім встановіть ці самі пакунки в новій системі?

Відповіді:


17

Для резервного копіювання:

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, як налаштувати нову машину, як існуючу

У мене вищезазначене працює у щоденній cronjob, яка перевіряє dpgklist у SVN як частину нашого серверного інвентарю. Це дозволить вам зберігати розумну точну інвентаризацію встановлених пакетів на своїх серверах, і це легко зробити швидкий побічний розріз, щоб побачити, чи не вистачає серверу певного пакету.


1
Я отримую це повідомлення про помилку для кожного вхідного рядка: dpkg: warning: package not in status nor available database at line ...
danorton

цей спосіб не працює з кількох версій ubuntu
QkiZ

10

aptitudeтакож задовольняє цю службову скриньку, і вона зберігає інформацію про "автоматично встановлені" пакети, яких інші методи не мають. Виконайте наступне на довідковому апараті:

aptitude search -F '%p' '~i!~M' > package_list 

Скопіюйте package_listна іншу машину і запустіть

xargs aptitude --schedule-only install < package_list; aptitude install; 

Просто незначна записка. Згідно з посиланням на довідник про правоздатність, поле "пакунок" є "розширюваним" за замовчуванням, тому воно aptitude search -F '%p' '~i!~M' > package_listтакож має працювати добре.
хронос

Щодо резервного копіювання пакета: дивіться модуль для deborphan@ bogdan.org.ua/2013/10/18/…
TomRoche

[insert your own linebreaks, since http://serverfault.com/editing-help#linebreaks lies] Що стосується відновлення пакету: це потрібно зробити як root, ні? Якщо так, <br/> xargsу командному рядку відновлення = xargs aptitude - встановити лише графік <package_list; встановлення можливостей; змушує мене знати, <br/> 1. Навіщо це aptitudeпотрібно xargs? dpkg --set-selectionsне. <br/> 2. Імовірно, aptitude чи потрібно xargsрозміщувати одне або декілька sudos у вашому командному рядку відновлення? Або в іншому випадку отримати корінь для запуску цього рядка, припускаючи, що це необхідно.
TomRoche

0

Це гарна ідея, і ви можете також встановити один сервер з apt-proxy, якщо ви звикли до цього.


Погравши з декількома проксі-серверами, я вирішив прийняти apt-cacher-ng. apt-cacher-ng дуже простий у налаштуванні, і з кількох облікових записів він здається більш надійним, ніж оригінальний apt-proxy. У кожної людини є свій улюблений. unix-ag.uni-kl.de/~bloch/acng
faultyserver

Мій голос - це приблизно, це єдиний, який не є якийсь божевільний.
живіт

Цікаво ... Я фактично не пробував жодної з альтернатив.

0

відповідь несправних серверів працювала для мене лише після виконання іншої команди відповідно до 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: попередження: знайдені невідомі пакети; це може означати, що наявна база даних застаріла, і її потрібно оновити за допомогою методу інтерфейсу
pi @ FHEM-new: / tmp $ sudo apt - отримати dselect-upgrade
Читання списків пакетів читання ... Готово
дерево залежності залежності
Читання інформації про стан ... Виконано
0 оновлених, 0 нещодавно встановлених, 0 для видалення та 0 не оновлених.

Я намагався встановити ті самі пакети зі свого старого Raspberry Pi (під керуванням Raspbian GNU / Linux 7 (wheezy)) на своєму новому Raspberry (Raspbian GNU / Linux 8 (jessie)).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.