Brisanje nepotrebnih paketa nakon nadogradnje

Nakon što ste nadogradili poslužitelj na noviju inačicu distribucije, obično slijedi uzdah olakšanja. Sve radi, svi servisi se odazivaju, korisnici ne zovu - odlično. No, je li zaista sve odrađeno? Možda ipak nije.

Problem je u zaostalim paketima, koji samo zauzimaju mjesto, a mogu prouzročiti probleme zbog svoje starosti.  Iako se većina paketa zamijeni novijim inačicama tijekom nadogradnje, to nije slučaj sa svim paketima. Neki paketi jednostavno nemaju čistu putanju nadogradnje (upgrade path), što znači da u novoj distribuciji nema paketa koji bi ih zamijenio. Na primjer, u distribuciji Lenny izbačeno je 2000 paketa koji su bili u distribuciji Etch.

Neki paketi su izbačeni zato jer se ne osvježava originalni kod (upstream), ili nema održavatelja paketa (maintainera).  Iz distribucije Squeeze je tako ispao paket amavis-stats, kojeg su mnogi rado instalirali. Postoji još razloga za napuštanje paketa, ali oni zapravo i nisu bitni, jer zaostale pakete jednostavno treba obrisati i na taj način osloboditi diskovni prostor. Oslobođeni prostor nije zanemariv, radi se o desecima, pa i stotinama megabajta. Idemo vidjeti što se može obrisati (primjer je sa pravog poslužitelja):

# dpkg -l | grep woody
ii catdoc-cn 0.91.5-1.woody3
ii libpam-smb 1.1.6-1.1woody1
ii libssl09 0.9.4-6.woody.3

# dpkg -l | grep sarge
ii dovecot 0.99.14-1sarge0
ii libapr0 2.0.54-5sarge2
ii libdns16 1:9.2.4-1sarge3
rc libdps1 4.3.0.dfsg.1-14sarge7
rc libgssapi1-heimdal 0.6.3-10sarge2
ii libisc7 1:9.2.4-1sarge3
ii libisccfg0 1:9.2.4-1sarge3
ii liblwres1 1:9.2.4-1sarge3
ii libnspr4 2:1.7.8-1sarge10
ii libnss3 2:1.7.8-1sarge10
ii libssl0.9.6 0.9.6m-1sarge5
ii python2.1 2.1.3dfsg-1sarge1
ii python2.2 2.2.3dfsg-2sarge1

# dpkg -l | grep etch
rc devscripts 2.9.26etch5
rc elinks 0.11.1-1.2etch2
ii libdns22 1:9.3.4-2etch6
ii libgnutls13 1.4.4-3+etch5
ii libisc11 1:9.3.4-2etch6
ii libisccc0 1:9.3.4-2etch6
ii libisccfg1 1:9.3.4-2etch6
ii libssl0.9.7 0.9.7k-3.1etch5
ii ntp-simple 1:4.2.2.p4+dfsg-2etch4

# dpkg -l | grep lenny
rc libbind9-40 1:9.5.1.dfsg.P3-1+lenny1
rc libbind9-50 1:9.6.ESV.R4+dfsg-0+lenny4
ii libcupsys2 1.3.8-1+lenny10
rc libdns45 1:9.5.1.dfsg.P3-1+lenny1
rc libdns55 1:9.6.ESV.R1+dfsg-0+lenny2
rc libdns58 1:9.6.ESV.R4+dfsg-0+lenny4
rc libisc45 1:9.5.1.dfsg.P3-1+lenny1
rc libisc50 1:9.6.ESV.R4+dfsg-0+lenny4
rc libisc52 1:9.6.ESV.R1+dfsg-0+lenny2
rc libisccc40 1:9.5.1.dfsg.P3-1+lenny1
rc libisccc50 1:9.6.ESV.R4+dfsg-0+lenny4
rc libisccfg40 1:9.5.1.dfsg.P3-1+lenny1
rc libisccfg50 1:9.6.ESV.R4+dfsg-0+lenny4
ii libkpathsea4 2007.dfsg.2-4+lenny3
ii libltdl3 1.5.26-4+lenny1
rc liblwres40 1:9.5.1.dfsg.P3-1+lenny1
rc liblwres50 1:9.6.ESV.R4+dfsg-0+lenny4
ii libmysqlclient15off 5.0.51a-24+lenny5
ii libvolume-id0 0.125-7+lenny3
rc linux-image-2.6.26-2+cn1-686-bigmem 2.6.26-19lenny2+cn1
ii python2.4 2.4.6-1+lenny1
ii python2.4-minimal 2.4.6-1+lenny1
ii tetex-base 2007.dfsg.2-1~lenny2

Jeste li očekivali ovoliki broj paketa, iz tolikih starih distribucija?

Krenimo ih brisati:

# dpkg -l | grep etch | awk '{print $2}' | xargs dpkg --purge

Uz pomoć nekoliko korisnih naredbi isfiltrirali smo nepotrebne pakete i obrisali smo ih, uključujući i njihovu dokumentaciju. Neki paketi će se buniti da zbog ovisnosti o drugom paketu ne mogu biti obrisani. Takve pakete
obrišite posebno, ali u jednom retku:

# dpkg --purge paket1 paket2 paket3

Ponovite ovo za svaku staru distribuciju koju ste nadogradili (woody, sarge, etch, lenny).

No, ovo nije sve. Ovaj postupak će obrisati samo pakete koji u oznaci inačice imaju naziv neke o ovih distribucija. Ostali nepotrebni paketi će ostati na sustavu. Za njihovu otkrivanje i brisanje trebat ćemo druge alate, ali o tome drugom prilikom.

Kuharice: 
Vote: 
0
No votes yet