То, как я могу перечислить минимальный набор пакетов Debian, должно было воссоздать ряд установленных пакетов?

Существует ли способ получить dpkg, склонный - добираются или способность для создания списка пакетов, которые должны быть установлены на второй машине для дублирования пакетов, установленных на первом?

т.е. Если бы я установил плоскость сервер Ubuntu, выбрал sshd опцию во время установки, затем установленное существенный для сборки, чтобы я ожидал бы, что вывод посмотрит что-то как:

#ubuntu 9.10 server
openssh-sshd
build-essential

Насколько я вижу, все доступные упаковочные инструменты произведут подробный список пакетов на поле. Я не интересуюсь openssh, освобождает, ld, gcc, и все другие пакеты, втянутые sshd и существенные для сборки, поскольку они будут установлены, когда я установлю sshd и существенный для сборки.

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

Действительно ли это возможно?

10
задан fadedbee 16 February 2010 в 05:13
поделиться

3 ответа

deborphan , вроде того. Он составляет список всех пакетов в вашей системе, выясняет, что от чего зависит, и распечатывает пакеты, у которых нет никаких зависимостей. По умолчанию он печатает только библиотеки (чтобы упростить поиск библиотек, которые были установлены другими пакетами и больше не нужны, отсюда и название). В основном у него есть возможности делать то, что вы хотите. Я запускаю его так:

deborphan -anp required --no-show-section

-a указывает все пакеты (не только библиотеки)
-n игнорирует «Предлагает» или «Рекомендует» "проверка зависимостей (т.е. просто" Depends ")
-p required перечисляет все пакеты, несмотря на приоритет
- no-show-section не указывает, в какой части debian он находится, просто удобная функция форматирования, которая может оказаться полезной для построения списка.

Теперь он будет пропускать пакеты, потому что некоторые пакеты имеют циклические зависимости.Но они, как правило, довольно необычны, так что это должно подвести вас достаточно близко.

11
ответ дан 29 October 2019 в 01:24
поделиться

Итак, вам нужен список явно установленных пакетов (например, ubuntu-desktop и openssh), а не автоматические зависимости? Я не уверен, но думаю, что это то, что делает dpkg --get-selections . Итак, вы можете выполнить

dpkg --get-selections > file

А затем, на другом компьютере, использовать тот же «файл» и запустить

dpkg --set-selections  < file
apt-get dselect-upgrade

Я не абсолютно уверен , что эти команды просто выполняют выбранные вручную пакеты, хотя, и в настоящее время я не использую какие-либо системы на основе Debian для проверки. :)

1
ответ дан 29 October 2019 в 01:24
поделиться

Код, опубликованный dannysauer, является началом. Если у вас есть список пакетов, который включает зависимости, вы можете использовать apt-rdepends , чтобы найти зависимости для конкретного пакета (см. на этой странице для примера использования и вывода).

Схема процедуры

  1. Перебрать список пакетов , возвращенных кодом Дэннисауэра
  2. Вызов apt-rdepends для каждого
  3. Удалите все пакеты из списка, которые появляются в выводе apt-rdepends
2
ответ дан 29 October 2019 в 01:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: