Перечислите (рекурсивные) зависимости установленных пакетов в APT

Попытка:

sed 's/\(.*\)/\1 \1/' data.txt
17
22.01.2012, 00:08
3 ответа

Вы задали некоторым другой вопрос здесь, я надеюсь, что могу, по крайней мере, помочь на один или два.

Для списка всех установленных пакетов использовать dpkg производить в поле разделило список

dpkg -l 

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

dpkg -l | awk '{print $2 }' # Pipe to grep after the awk, or glob from dpkg

Например, если я хочу удалить старое ядро,

apt-get purge `dpkg -l linux* | awk '{print $2}' | grep 3.0.0-12`

Самый легкий способ пройти все ненужные зависимости, с debfoster. Это выполняет в интерактивном режиме и проходит то, что Вы хотите, их зависимости и можете удалить или перечислить то, что не является рекурсивной зависимостью.

Перечислять все рекурсивные зависимости определенного пакета,

debfoster -d $PACKAGE ## PACKAGE is the specific package.

После выполнения debfoster можно проверить любых зависимых, которых пакет имеет также,

debfoster -e $PACKAGE ## PACKAGE is the specific package.

Действительно отличный способ перечислить 'осиротевшие' пакеты, с deborphan. Выполненный deborphan без опций, и это перечислит все 'осиротевшие' пакеты. 'Висячая строка' является пакетом, что ничто не зависит от, и Вы явно не установили.

Мне также нравится чистить любые 'осиротевшие' пакеты после новой установки. После того, как я удалил определенные пакеты, можно было пропустить что-либо apt-get autoremove --purge с,

apt-get purge `deborphan`

Наконец иногда Вы не делаете --purge и закончите с пакетом 'остатки', более новые версии apt-get может автоматически удалить их. Удалить все 'остатки' из удаленных выполненных пакетов,

apt-get autoclean

Если у Вас нет новой версии apt-get, можно всегда удалять их с этими командами. Они ошибка, если никакие 'оставшиеся' файлы не существуют, это походит авточистый, может скучать по некоторым иногда независимо.

dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs dpkg --purge
11
27.01.2020, 19:47
  • 1
    debfoster все еще существует, но считается замененным функциями в Попытке способности –  Joshua Clayton 05.04.2018, 00:23
apt-cache show pkgname1 pkgname2...

(среди прочего) перечислит эти зависимости (во время выполнения). Это обычно соответствует, если Вы не подаете его к машине для последующей обработки. Если Вы хотите это в точно формате, Вы заявили, необходимо будет, вероятно, записать сценарий.

4
27.01.2020, 19:47
  • 1
    Извините, я сформулировал свой вопрос неправильно. Я интересуюсь знанием, какие пакеты были бы удалены для каждого пакета, который я установил. И я также должен перечислить все пакеты, которые я установил. –  Deleted 22.01.2012, 00:05
  • 2
    @Deleted: Извините, я не видел этот комментарий до настоящего времени. В ответ на, "какие пакеты были бы удалены для каждого пакета, который я установил" (я принимаю, Вы хотите этот вопрос, отвеченный на основе на пакет), попытка apt-get remove -s packagename. Список всех пакетов, которые Вы установили, справедлив dpkg -l. –  Faheem Mitha 17.04.2012, 22:29
  • 3
    @FaheemMitha: старое сообщение, но все еще большая подсказка относительно apt-get remove -s packagenameПримечание ! –  twan163 10.08.2014, 12:31
  • 4
    @twan163, Счастливый, это было полезно для Вас. –  Faheem Mitha 10.08.2014, 17:54

Я думаю, что вы должны продолжать и создавать петлю на то же самое:

apt-cache depends libtext-wrapi18n-perl |xargs apt-cache depends

, конечно, удалить заголовки.

1
27.01.2020, 19:47

Теги

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