Quantcast
Viewing all articles
Browse latest Browse all 594

Paket debian-goodies

U članku http://sistemac.carnet.hr/node/1442 smo spomenuli naredbu checkrestart, koja detektira koje procese treba restartati, kako bi oni počeli upotrebljavati nadograđene biblioteke. Ta se naredba nalazi u paketu debian-goodies, a tamo se nalazi još nekoliko zanimljivih naredbi. Napraviti ćemo mali pregled i tih naredbi.

U paketu se, osim naredbe checkrestart, nalaze uglavnom naredbe koja olakšavaju rad s Debianovim paketnim sustavom, a iz nekog razloga nisu našle mjesto u drugim paketima.

Za početak, uzmimo naredbu dhomepage. Ova će vas naredba u obliku:

$ dhomepage apache2

odvesti na homepage dotičnog paketa. Za to će vam trebati browser (links, lynx ili što već koristite). Iako web stranice danas nisu posebno prilagođene prikazu u 80x24 karaktera, imate pristup najsvježijim informacijama o paketu. Ukoliko treba, sve možete kasnije pregledati standardnim browserom.

Naredba debget će sa repozitorija povući zadnju verziju paketa (odnosno onu koju bi povukla i naredba apt-get). Paket se neće instalirati, nego će arhiva (datoteku s nastavkom .deb) ostati u trenutnom direktoriju. Debget arhivu neće skidati ukoliko se već nalazi u APT-ovom cacheu (/var/cache/apt/archives), jer je već imate i možete je iskopirati od tamo.

Dvije naredbe za pregled dokumentacije neinstaliranih paketa se zovu debman i debmany. Naredba debman može isčitati man stranice iz već skinute arhive, a može i skinuti arhivu (pomoću maloprije opisane naredbe debget) i prikazati man stranicu za bilo koju naredbu u arhivi:

$ debman -p coreutils mktemp

Ovakav oblik naredbe će skinuti paket i prikazati man stranicu za naredbu mktemp:

(coreutils -> 8.13-3.5)
Downloading coreutils from
http://ftp.hr.debian.org/debian/pool/main/c/coreutils/coreutils_8.13-3.5_i386.deb
...

Naravno, za ovakvu primjenu trebamo znati koja se naredba nalazi u kojem paketu, ali "debman -p wget wget" nije problem, jer znamo da u tom paketu postoji samo jedna naredba i pripadajuća man stranica.

Možda je zanimljivija naredba debmany. Ona ne radi, ako ste tako pomislili, s više paketa, nego će prikazati svu dokumentaciju unutar paketa:

SLIKA 1

Odlična stvar, ali nažalost baš ne razumije komprimirane datoteke pa je potrebno koristiti neke opcije:

# debmany -o zless nikto

Ostale opcije su navedene u man stranici paketa debmany, kao i neki primjeri zgodnih aliasa, pa ih nećemo ovdje prenositi.

Naredba dglobće pronaći sve pakete koje odgovaraju traženom pojmu (regularnom izrazu), a također može pronaći i neistalirane pakete (no ne skida ništa na disk). U tom pogledu je slična naredbi "apt-cache search --names-only regularni-izraz":

$ dglob postfix
postfix-cn
postfix-pcre
postfix
postfix-doc
$ dglob -a postfix |wc -l
21

Za usporedbu, isti broj rezultata možem dobiti s naredbom apt-cache:

$ apt-cache --names-only search postfix |wc -l
21

Naredba dglob nije previše korisna, ali zato bi mogle biti naredbe dgrep, degrep, dfgrep i dzgrep. Kao što možete naslutiti, radi se o naredbama koje rade ono što rade i njihovi "imenjaci", samo nad datotekama unutar paketa. Ove naredbe ne skidaju nikakve arhive, nego rade isključivo nad instaliranim paketima. Primjerice:

# dgrep carnet.hr postfix
/usr/share/doc/postfix-cn/copyright:Copyright 2006 CARNet <paketi@carnet.hr>
/usr/share/postfix-cn/carnet_whitelist_clients:duje.st.carnet.hr
/usr/share/postfix-cn/carnet_whitelist_clients:mail.carnet.hr
/usr/share/postfix-cn/carnet_whitelist_clients:mx2.carnet.hr
/usr/share/postfix-cn/carnet_whitelist_clients:public.st.carnet.hr

Kad se prostor na disku smanji, možete pogledati koji paketi zauzimaju najviše mjesta, te ih obrisati ukoliko vam više ne trebaju:

$ dpigs
77911 linux-image-3.2.0-4-686-pae
77304 linux-image-2.6.32-5-686-bigmem
58179 emacs23-common
42128 smbclient
39112 libgcj13
35128 mysql-client-5.5
33775 mailman
30703 python2.7-doc
30693 mysql-server-5.5
28342 python2.7-dev

S opcijom "-n", možete prikazati više paketa, primjerice 25 paketa je "dpigs -n 20".

Naredba "popbugs" prikazuje kritične bugove prijavljene za taj paket, ali samo ako je paket popularity-contest instaliran kod vas.  U normalnom radu i ukoliko ne želite prijavljivati bugove u paketima, nije toliko bitan, pa ćemo preskočiti opis.

Zanimljivija je naredba "which-pkg-broke". Ona će pokazati vremena instaliranja paketa (a najčešće će to biti biblioteke) o kojima ovisi konkretni paket. Na ovaj način po vremenu instaliranja možemo korelirati vremena, te pokušati detektirati koji je paket napravio problem:

$ which-pkg-broke curl
gcc-4.7-base:i386 Thu Oct 31 12:44:26 2013
libgcc1:i386 Thu Oct 31 12:44:42 2013
libdb5.1:i386 Thu Oct 31 12:57:25 2013
liblzma5:i386 Thu Oct 31 12:57:28 2013
libp11-kit0:i386 Thu Oct 31 12:59:05 2013
libsasl2-2:i386 Thu Oct 31 13:02:13 2013
...

Iako se većina ovih naredbi može emulirati uz neke skripte i aliase, paket itekako ima mjesta na vašim serverima.


Viewing all articles
Browse latest Browse all 594