Для чистки системы от оставшихся после удаления пакетов, неудаленных зависимостей, можно использовать программу deborphan.
По умолчанию deborphan осуществляет поиск неиспользуемых библиотек, но можно указать расширить область охвата на
файлы с данными, dev-пакеты и т.п.Устанавливаем deborphan
apt-get install deborphanВыводим все неиспользуемые библиотеки:
deborphan > /tmp/rm_list.txtВыводим неиспользуемые dev-пакеты:
deborphan --guess-dev >> /tmp/rm_list.txtПроверяем /tmp/rm_list.txt на наличие ложных срабатываний, убираем лишнее.
Удаляем неиспользуемые пакеты:
cat /tmp/rm_list.txt | xargs apt-get -y remove purgeПосмотреть все неиспользуемые пакеты, какие удалось найти (в выводе оказалось много нужных пакетов):
deborphan --guess-allURL: http://www.linuxjournal.com/content/tech-tip-removing-unnece...
Обсуждается: http://www.opennet.me/tips/info/2141.shtml
Чищу систему таким скриптом:#!/bin/bash
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"
RED="\033[0;31m"
ENDCOLOR="\033[0m"if [ $USER != root ]; then
echo -e $RED"Error: must be root"
echo -e $YELLOW"Exiting..."$ENDCOLOR
exit 0
fiecho -e $YELLOW"Cleaning apt cache..."$ENDCOLOR
aptitude cleanecho -e $YELLOW"Removing old config files..."$ENDCOLOR
sudo aptitude purge $OLDCONFecho -e $YELLOW"Removing old kernels..."$ENDCOLOR
sudo aptitude purge $OLDKERNELSecho -e $YELLOW"Emptying every trashes..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/nullecho -e $YELLOW"Script Finished!"$ENDCOLOR
На Ubuntu 18.04 уже часто ошибки вылазят при использовании скриптаесть более свежие версии ?
cat /tmp/rm_list.txt | xargs apt-get -y remove purgepurge - лишнее, возникает ошибка.
> cat /tmp/rm_list.txt | xargs apt-get -y remove purge
>
>purge - лишнее, возникает ошибка.Не совсем. Там надо писать --purge. Или же aptitude purge (кстати, оное само чистит многие ophaned пакеты, иногда даже слишком)
На FreeBSD используется порт ports-mgmt/pkg_cutleaves.Удавалось освободиться от ~10..20% (штук 50) из всей (порядка 600 штук) массы установленных пакетов.
Попробовал на днях, у меня почистило пакеты которые нужны для сервера 1С :)скрипт нужно доработать на исключения :)
Вот-вот :)
У меня deborphan заявляет, что librxtx-java никому не нужна. И вправду, кроме меня больше никакому пакету :)
поэтому сразу и говорится, что смотреть прежде надо список пакетов, а потом уже удалять...
debfoster же
Советую прочитать в debian reference как работать с программой aptitude. Помимо всего прочего он позволяет отслеживать, какие пакеты установлены по зависимостям, и удалять при отсутствии в них надобности.
А deborphan и debfoster --- вчерашний день.
>Советую прочитать в debian reference как работать с программой aptitude. Помимо всего
>прочего он позволяет отслеживать, какие пакеты установлены по зависимостям, и удалять
>при отсутствии в них надобности.Подтверждаю, что чаще всего при удалении пакета, установленные по зависимостям и более ненужные автоматически помечаются к удалению (aptitude).
>А deborphan и debfoster --- вчерашний день.
Фокус, по-моему, в том, что если пакеты устанавить "неудачно", т.е. не указать только один (который обязан потянуть с собой зависимости), а сразу несколько, то "зависимости" (в данном случае явно запрошенные к инсталяции) могут потом и не удалиться. Мои наблюдения на сегодняшний день. Может, в новых версиях это уже учтено (может, я чего-то не так подметил)...
А 'apt-get autoremove' чем не устраивает?
>А 'apt-get autoremove' чем не устраивает?autoremove is used to remove packages that were *automatically*
installed to satisfy dependencies for some package and that are no
more needed.Как я уже выше написал, а что если пару пакетов была указана ручками, хоть они бы и потянулись по зависимостям. Ну, кто любит ручками делать больше работы, тому и нужны дополнительные deborphan, чтобы еще больше работы ручкам было :) Короче, я использую deborphan просто для контроля, а так aptitude хорошо делает свое дело.
Не используйте это. Этот deborphan систему сломает. У меня сломал. Сижу теперь, секс имею.
>Не используйте это. Этот deborphan систему сломает. У меня сломал. Сижу теперь,
>секс имею.чтобы использвать такие программы, надо мозги иметь и знать свой дистрибутив. Если не соображаете, что делаете, то лучше такими программами и не пользоваться. Это и школьнику ясно.
А для начинающих "хаверов" и корзина в консоли не лишняя ))))))))))))))))))))
Вообще не соображаю, эксперимента ради попробовал. Теперь есть положительный опыт от работы с такой программой - я выяснил, что удалять что-то нужно вручную. %)