Записать список пакетов, установленных с помощью ручного вызова apt-get to File

Я пытаюсь установить новую версию Ubuntu с нуля, но мне хотелось бы получить список пакетов, которые я установил вручную (в отличие от установленных как зависимых или поставляемых с системой).

Я могу получить разумное приближение для Synaptic, просмотрев только мои Installed (manual) пакеты, а затем только просмотрев те пакеты , которые не поддерживаются Ubuntu (т.е. все эти файлы без символа Ubuntu Unity). рядом с ними). Однако я не могу заставить Synaptic экспортировать список этих пакетов.

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

Следующее не работает:

  • Использование apt-mark showmanual. Он возвращает все пакеты, которые считаются необходимыми, а также установленные вручную пакеты Я хочу только мои установленные вручную пакеты.
  • aptitude search '!~M ~i'. Существует способ показывать слишком много пакетов (ни в коем случае я не устанавливал вручную> 1000 пакетов).
  • Скрипт Python, предоставленный @txwikinger в . Генерация списка пакетов, установленных вручную, и запрос отдельных пакетов . Существуют пакеты (например, bsdgames), которые я установил, но они не отображаются в выходных данных этого скрипта.
  • Скрипт bash, предоставленный @Johan в https://serverfault.com/questions/133681/generating-a-list-of-installed-packages-in-ubuntu . Еще раз слишком много пакетов показаны.

Этот вопрос похож на другие вопросы, которые задавались как на сайтах Stack Exchange, так и в других местах (например, Создание списка пакетов, установленных вручную, и запрос отдельных пакетов , https://serverfault.com/questions/133681/generating-a-list-of-installed-packages-in-ubuntu и http://ubuntuforums.org/showthread.php?t = 947865 & амп; страница = 2 ).

Дэвид Калнишкис на http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727799 дает некоторую перспективу относительно того, почему нужно точно определить, что именно «установлено вручную» значит сложно (например, программы, которые вы запускали и которые установили пакеты, считаются «установленными вручную»?). Поэтому я специально ограничил этот вопрос (в отличие от других, которые я перечислил) только ссылками на apt-get install.

Редактировать: Как просмотреть список пакетов, которые были установлены вручную без их зависимостей имеет хорошую идею для использования файлов журнала apt-get для этого. К сожалению, это не отслеживает, какие пакеты были удалены. И даже если бы я просто grep 'apt-get purge' и взял diff из двух списков, которые я получил, он все равно не учитывал бы крайний случай, когда я установил пакет, удалил его, а затем переустановил.

6
задан 13 April 2017 в 15:25

2 ответа

Поскольку ответа с использованием apt не найдено, я предлагаю перейти к Synaptic Package Manager , нажмите кнопку «Статус» в левом нижнем углу, затем нажмите «Установлено» (вручную) в верхнем осталось посмотреть список установленных пакетов.

List from Synaptic of installed packages

Затем вы можете вывести список из Synaptic с помощью File | Save Markings As и сохранить файл, в котором вы сможете с ним работать.

0
ответ дан 13 April 2017 в 15:25

Я только что опубликовал эту мысль на более ранней странице об этом, извините, если это невежливо (не стесняйтесь, если это так), но

  1. иди и получи файл «манифеста» для своей версии Ubuntu на http://releases.ubuntu.com/ , насколько я понимаю, в котором перечислены все пакеты, которые находятся в стандартной установке.
  2. сделать apt-mark showmanual, чтобы сгенерировать список всех пакетов, которые apt-mark считает установленными вручную.
  3. устраняет ошибки между этим списком и манифестом, оставляя в выводе apt-mark showmanual пакеты, которые не были частью стандартной установки.

Возможно, это грубо и не имеет дело с тонкостями того, что именно представляет собой «установленный вручную» пакет, но для меня это выглядит довольно хорошим приближением. Или, может быть, решение Synaptic является лучшим.

0
ответ дан 13 April 2017 в 15:25

Другие вопросы по тегам:

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