Lonely Dreamer (sanmai) wrote,
Lonely Dreamer
sanmai

VPS на Debian и лишние пакеты

Читать дальше: http://www.alexeykopytko.com/2011/debian-aptitude-markauto.html



Штатная установка Debian на практически всех арендуемых VPS, с которыми я сталкивался, содержит в себе множество пакетов, которые или не нужны никому кроме самих себя, или просто не нужны и занимают ценное место на диске.

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

Поможем aptitude отделить зерна от плевел:

1. Для начала удалим все те пакеты, которые, мы знаем заранее, нам сами по себе не нужны. В частности, все библиотеки и документацию:
aptitude markauto '~slib'; aptitude markauto 'lib?'; aptitude markauto '~W-dev'; aptitude markauto '~W-doc'
После этой операции останутся только те библиотеки, которые хоть для чего-то нужны.

2. Скормим aptitude все не охваченные ранее программы и библиоткеки:
for pkg in $(aptitude search ~i | grep -v "i A" | cut -d " " -f 4) ; do 
echo "-- markauto $pkg --";  echo n | aptitude -q=5 markauto $pkg; done
После этой операции в списке установленных вручную останутся только те пакеты, от которых никакие другие пакеты не зависят.

3. Отсмотрим список оставшихся пакетов, обращая внимание на программы, потенциально могущие быть удаленными по зависимостям:
for pkg in $(aptitude search ~i | grep -v "i A" | cut -d " " -f 4) ; do 
echo "-- markauto $pkg --";  echo n | aptitude markauto $pkg | grep -A2 REMOVED; done
Например, на этом скриншоте видно что при удалении iotop будет удален python:

Если python нам все-таки нужен, помечаем его как установленного вручную:
aptitude unmarkauto python
Пометив нужные пакеты, удаляем все лишние:
aptitude markauto iotop

4. Если вам лень самим отсматривать каждый пакет, вы можете воспользоваться моим списком не очень нужных пакетов:
aptitude markauto ksymoops ldap-utils lesstif2-dev man2html metamail mingetty mlock modconf ncftp ncompress  ncompress  ncurses-term netpbm nmap nscd nvi openjade parted pbuilder perl-suid pgpgpg pidentd po-debconf portmap psutils pump  python-dev python-support python2.4-dev qt3-dev-tools quota re2c sendmail-base sendmail-cf sendmail-doc sensible-mda sgml-data sgmlspl slocate snmp stunnel sysutils talk tasksel-data tcl8.4-dev tcl8.4-doc tcpdump tcsh telnet units usbutils uuid-dev vim-runtime wwwconfig-common x11proto-record-dev x11proto-trap-dev yada man-db manpages cpio db4.6-util debconf-utils defoma dosfstools dselect ed expat finger fontconfig ftp gettext-base groff info iputils-arping krb5-config lprng lzma lynx makedev module-init-tools mtools mysql-common sasl2-bin sendmail sharutils smbfs stunnel4 tree ttf-dejavu vim-common whois xinetd vim vim-tiny unzip update-inetd mtr-tiny python2.5-minimal groff-base dmidecode tasksel iotop ntpdate netcat-traditional wamerican w3m texinfo python-central python-apt procmail nfs-common mlocate m4 laptop-detect isc-dhcp-common installation-report eject doc-debian discover dc acpi-support-base at debian-faq acpid acpi curl wget
Перед отдачей согласия на удаление, пожалуйста, убедитесь что там нет ничего нужного вам.

Посчитать размер всех установленных пакетов можно командой:
(dpkg-query -Wf '${Installed-Size}+'; echo 0) | bc


Список всех не установленных по зависимостям пакетов можно получить командой:
aptitude search ~i | grep -v "i A" | cut -d " " -f 4 | tr '\n' ' '
Tags: debian, howto, linux, useful
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 7 comments