Kako obrisati zaostale pakete nakon nadogradnje na Etch?

 Nakon prelaska na novu generaciju Debian distribucije, obično na sustavu ostanu neki programi i biblioteke i programi koje više ne trebamo ili su jednostavno zastarjele. Primjerice, možemo imati i po nekoliko inačica biblioteke libgnutls, libclamav, libdb i mnogo drugih na sustavu. Razlog je taj što novija inačica bilbioteke obično ne briše staru major inačicu, slično kao što možete imati dvije različite inačice Office paketa na računalu. Različitim inačicama biblioteka treba dodati i sve one programe koje ste probno instalirali i zaboravili na njih. Iako svaki paket posebno ne zauzima puno mjesta, kad se sve zbroji može se raditi o desecima, pa i stotinama megabajta prostora.

Kako ćemo znati koji su nam paketi višak? Ovdje nam može pomoći naredba deborphan:

# deborphan | sort
fileutils
libc-client2002ddebian
libclamav1
libdb2
libdb4.0

libdevmapper1.00
libdevmapper1.01

libdns11
libgnutls5
libgnutls7
libgnutls10
libgnutls11

libldap-2.2-7
liblwres1
libmm13
shellutils
textutils

Popis smo sortirali kako bismo vidjeli koliko starih inačica biblioteka može biti na sustavu, ali i jednostavno radi preglednosti. No, ne možemo jednostavno uzeti sve ove bilioteke i programe i obrisati ih. Naime, naredba deborphan pronalazi sve pakete koji nisu referencirani u nijednom drugom paketu. Ovo ne znači automatski da nam navedeni paket nije potreban na sustavu.

Dakle, potrebno je provjeriti svaki paket pojedinačno treba li vam ili se može obrisati. Uzmimo na primjer paket libgnutls:

# dpkg -l libgnutls\* | grep \^ii
...
ii libgnutls13 1.4.4-3+etch1 the GNU TLS library - runtime library

Vidimo da imamo noviju inačicu, te sve starije možemo sigurno obrisati:

# dpkg -P libgnutls5 libgnutls7 libgnutls10 libgnutls11 

No, imamo i ovakvih slučajeva:

# dpkg -l libident\* | grep \^ii
ii libident 0.22-3 simple RFC1413 client library - runtime

Dakle, imamo samo jednu biblioteku libident o kojoj nije ovisan ni jedan drugi paket. Ovdje problem možete riješiti jedino vi sami, koji ste paket instalirali i u ovisnosti o trenutnim potrebama paket obrisati ili ga ostaviti. Imamo i treći, slučaj tranzicijskih paketa (ovdje shellutils, textutils i fileutils):

# dpkg -s shellutils
...
Pre-Depends: coreutils
Description: The GNU shell programming utilities (transitional package)
Empty package to facilitate upgrades, can be safely removed.

Iz ovoga možemo vidjeti da si možemo pomoći opcijom "-s" kako bismo vidjeli puni opis paketa, odnosno za što služi. Iz opisa vidimo da seu se ovi paketi zamjenili jednim (coreutils), te ih možemo slobodno obrisati:

# dpkg -P shellutils textutils fileutils 

Nisu svi tranzicijski paketi ovakvi (neki moraju ostati na sustavu), pa morate pročitati opis paketa kako bi došli do točne informacije.

Na kraju, ono što vam dosad nismo rekli je da naredba deborphan po defaultu ispisuje samo biblioteke, ne i programe u drugim kategorijama. Da bi vidjeli zaista sve pakete o kojima ne ovisi nijedan drugi paket, morat ćete upotrijebiti opciju "-a":

# deborphan -a
...
main/web libapache2-mod-auth-radius
main/web moodle
main/web php4-mcal
main/web php4-odbc
main/web php4-recode
main/web php4-snmp
main/web php4-suhosin
main/web php4-sybase
main/web php4-xslt
...

Iz ovog (jako skraćenog) popisa jasno je da je potreban daleko veći oprez, jer možete obrisati neki program koji je i dalje potreban. Zato, prije brisanja napravite backup, te u krajnjem slučaju ako niste sasvim sigurni ostavite program na sustavu.

 

Vijesti: 
Kuharice: 
Vote: 
0
No votes yet