Naredbe za koje (možda) niste znali 11: deborphan

Kao i svi operativni sustavi, tako i linux s vremenom nakuplja sve više nepotrebnog softvera, što nakon nekog vremena počinje produljivati razne uobičajene operacije na računalu (npr. backup), i jednostavno nepotrebno zauzimati prostor na disku. Ovo nije problem operativnog sustava, nego operatera, a to ste vi.

Svaki program, odnosno paket, koji instalirate na Debian, zahtijeva dodatne biblioteke (Windowsaši bi rekli DLL-ove). Neki su skromni, i ne treba im ništa drugo osim osnovne (g)libc biblioteke. Neki, posebice programi pisani u interpretiranim jezicima poput perla, zahtijevaju instalaciju 5, 10 pa čak i više dodatnih paketa kako bi mogao funkcionirati. Sve je to lijepo, ali suprotno se ne događa: ukoliko maknete neki takav program, neće automatski biti maknuti i svi drugi paketi na koje se taj paket oslanja (Depends). Primjerice:

# apt-get install paket
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
paket-client paket-doc
The following NEW packages will be installed:
paket paket-client paket-doc

Nakon nekog vremena shvatite da taj program ne radi ono što želite, i kao svaki savjestan sistemac, obrišete ga sa sustava:

# dpkg -P paket

To će obrisati paket 'paket', ali će nezainteresirano ostaviti paket-client i paket-doc na sustavu. To pomnožite s godinama i u nekoliko se godina može nakupiti nekoliko desetaka takvih paketa, što više nije zanemariv broj (niti prostor na disku, odnosno traci).

U pomoć priskače mali program deborphan. On će nakon pokretanja provjeriti sve pakete o kojima više ne ovisi ni jedan drugi paket. Kako je sasvim realno da imate pakete o kojima nitko ne ovisi, a svejedno vam trebaju, deborphan će selekciju napraviti nadasve oprezno. Da vidimo kako:

# deborphan
libdb1-compat
libdb3
libdb4.0
libdevmapper1.01
libfam0c102
libgcj4-common
libgd-gif1
libgd1
libgd2

Ovo je skraćeni ispis, što znači da je nepotrebnih paketa moguće imati znatno više. Pažljiviji će čitatelji uočiti da se radi isključivo o paketima biblioteka (i to najčešće u više inačica). Ovo je razumljivo, jer ako ni jedan paket ne treba određenu biblioteku, što će ona više na sustavu? Osim u posebnim slučajevima, ili ste developer (a tada vam trebaju i -dev paketi), ovi se paketi bez imalo grižnje savjesti mogu obrisati:

# deborphan | xargs dpkg -P
(Reading database ... 78694 files and directories currently installed.)
Removing libttf2 ...
Purging configuration files for libttf2 ...
Removing libpq3 ...
Removing libdb1-compat ...
Purging configuration files for libdb1-compat ...
Removing libparted1.6-0 ...
...

Kako biblioteke mogu ovisiti o drugim bibliotekama, moguće je da će se brisanjem jedne biblioteke, kao "siroče" (orphan) pojaviti neka druga biblioteka! Rješenje je jednostavno, nakon brisanja provjerite je li se pojavilo što novo, i ponovite postupak sve dok naredba deborphan nema ništa više za prijaviti:

# deborphan
#

Dakako, to nije sve. Deborphan podrazumijevano prikazuje samo pakete biblioteka, no s opcijom -a prikazuje baš sve pakete o kojima nitko ne ovisi. Ukoliko niste sigurni u to što radite, ovdje se zaustavite.

Postoje mnogi paketi koji ne ovise o nikome, osim o osnovnim bibliotekama sustava. Dakle, ukoliko niste zaista sigurni da vam taj program/paket ne treba, nemojte ga brisati.

Ukoliko ipak želite dodatno očistiti sustav, imate na raspolaganju opciju --guess. Ona će pokušati ograničiti potragu na određene dijelove Debian paketnih sekcija, poput dev, doc, data ili dbg (naravno, podržane su i druge sekcije, što možete vidjeti sa man deborphan).

Pretpostavit ćemo da niste developer, pa vam ne trebaju -dev paketi:

# deborphan --guess-dev
tcl8.3-dev
slang1-dev

Dakle, iako nisu biblioteke, izolirali smo još neke pakete o kojima nijedan drugi paket ne ovisi, niti vama trebaju, pa ih možemo obrisati. Slično je i sa -doc paketima, jer dokumentaciju uvijek možete naći na webu, a i ostaju vam man stranice (one ne dolaze u -doc paketima, koji su dodatna dokumentacija u primjerice HTML-u ili PDF-u). Dakako, ovo sve ovisi o vama i vašim potrebama.

Paket deborphan je samostalan paket, obično se ne nalazi na sustavu i potrebno ga je instalirati sa:

# apt-get install deborphan
Kuharice: 
Kategorije: 
Vote: 
5
Vaša ocjena: Nema Average: 5 (1 vote)