Вы задали некоторым другой вопрос здесь, я надеюсь, что могу, по крайней мере, помочь на один или два.
Для списка всех установленных пакетов использовать 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
apt-cache show pkgname1 pkgname2...
(среди прочего) перечислит эти зависимости (во время выполнения). Это обычно соответствует, если Вы не подаете его к машине для последующей обработки. Если Вы хотите это в точно формате, Вы заявили, необходимо будет, вероятно, записать сценарий.
apt-get remove -s packagename
. Список всех пакетов, которые Вы установили, справедлив dpkg -l
.
– Faheem Mitha
17.04.2012, 22:29
apt-get remove -s packagename
Примечание !
– twan163
10.08.2014, 12:31
Я думаю, что вы должны продолжать и создавать петлю на то же самое:
apt-cache depends libtext-wrapi18n-perl |xargs apt-cache depends
, конечно, удалить заголовки.