Portage-utils
1.
Introduzione
portage-utils è una collezione di programmi di utilità molto veloci
scritti in C, concepiti per offrire una più veloce ma più limitata alternativa
alle loro controparti in gentoolkit. È importante tenere presente che
portage-utils non sostituisce gentoolkit. Le sue utilità sono
molto più efficienti delle rispettive in gentoolkit, e sono maggiormente
indicate per l'uso in script che hanno la necessità di effettuare ripetutamente
delle chiamate a Portage, di contro portage-utils non offre le stesse
funzionalità. Non considera minimamente le eclass e non fornisce strumenti come
revdep-rebuild e glsa-check.
Si possono trovare ulteriori informazioni riguardanti gentoolkit nella
relativa guida.
È possibile vedere l'elenco completo delle applicazioni contenute in
portage-utils digitando man q o q --help. È consigliabile
leggere attentamente le pagine man per ognuno dei programmi di utilità, in
quanto questa guida vuole essere solamente un rapido riferimento per le funzioni
più utili e non include tutte le informazioni per ogni applicazione.
La prima cosa da fare con portage-utils è installare il pacchetto:
Codice 1.1: Installare portage-utils |
# emerge portage-utils
|
2.
Utilizzo
Come trovare il pacchetto a cui appartiene un determinato file
qfile trova il pacchetto al quale appartiene un determinato file:
Codice 2.1: Trovare il pacchetto a cui appartiene un determinato file |
$ qfile /etc/fonts/fonts.conf
media-libs/fontconfig (/etc/fonts/fonts.conf)
$ qfile /usr/share/keymaps/atari/atari-uk-falcon.map.gz
sys-apps/kbd (/usr/share/keymaps/atari/atari-uk-falcon.map.gz)
|
Verificare l'integrità di un pacchetto
Se si vogliono verificare le somme MD5 o le date di modifica dei file installati
da qualche pacchetto, si può usare l'applicazione qcheck:
Codice 2.2: Verificare l'integrità di un pacchetto |
$ qcheck portage-utils
Checking app-portage/portage-utils-0.1.13 ...
* 36 out of 36 files are good
|
Ovviamente verranno elencati tutti i file modificati dopo l'installazione. Se
l'applicazione riporta i file di configurazione che sono stati modificati
manualmente dopo l'installazione, non c'è nulla di cui preoccuparsi.
Elencare i pacchetti che dipendono da un determinato pacchetto
Naturalmente c'è anche un applicazione che permette di elencare tutti i
pacchetti che dipendono da un determinato pacchetto. Ciò viene eseguito da
qdepends. Usare il parametro -a per visualizzare tutte le
informazioni relative a DEPEND, RDEPEND e PDEPEND per quel dato pacchetto.
Codice 2.3: Elencare i pacchetti che dipendono da un determinato pacchetto |
$ qdepends -a pygtk
* DEPEND
dev-python/pygtk-2.8.2: >=dev-lang/python-2.3 >=x11-libs/gtk+-2.8.0
>=dev-libs/glib-2.8.0 >=x11-libs/pango-1.10.0 >=dev-libs/atk-1.8.0
>=gnome-base/libglade-2.5.0 >=dev-python/pycairo-0.9.0 dev-python/numeric
virtual/opengl dev-python/pyopengl >=x11-libs/gtkglarea-1.99
>=dev-util/pkgconfig-0.9 sys-devel/patch
* RDEPEND
dev-python/pygtk-2.8.2: >=dev-lang/python-2.3 >=x11-libs/gtk+-2.8.0
>=dev-libs/glib-2.8.0 >=x11-libs/pango-1.10.0 >=dev-libs/atk-1.8.0
>=gnome-base/libglade-2.5.0 >=dev-python/pycairo-0.9.0 dev-python/numeric
virtual/opengl dev-python/pyopengl >=x11-libs/gtkglarea-1.99
* PDEPEND
|
Elencare i file appartenenti ad un ebuild
qlist restituisce un elenco di tutti i file che appartengono ad uno
specifico ebuild.
Codice 2.4: Elencare i file appartenenti ad un ebuild |
$ qlist vim
/usr/bin/gvim
/usr/bin/gvimdiff
/usr/bin/evim
/usr/bin/eview
/usr/bin/gview
/usr/bin/rgvim
[...]
|
Cercare i pacchetti che utilizzato una determinata flag USE
Questa operazione viene eseguita da quse, che deve essere eseguito da
root. Alla prima esecuzione ci starà un po' di tempo per creare/aggiornare la
cache per gli ebuild.
Codice 2.5: Cercare i pacchetti con la flag USE 'firefox' |
# quse firefox
app-office/openoffice/openoffice-2.0.2_rc1.ebuild binfilter curl eds firefox gnome gtk java kde ldap xml2
dev-haskell/gtk2hs/gtk2hs-0.9.10.ebuild doc glade gnome firefox
dev-java/swt/swt-3.1-r1.ebuild accessibility cairo firefox gnome
[...]
|
Trovare la dimensione dei pacchetti
Questa informazione viene facilmente reperita tramite l'applicazione
qsize:
Codice 2.6: Trovare la dimensione di un pacchetto |
$ qsize vim
app-editors/gvim-6.4: 10 files, 7 non-files, 2327.516 KB
app-editors/vim-6.4: 6 files, 2 non-files, 2058.14 KB
app-editors/vim-core-6.4: 1024 files, 68 non-files, 10950.984 KB
[...]
|
Cercare all'interno del Portage tree
Uno degli strumenti più potenti di portage-utils è qsearch. Questo
strumento permette di effettuare ricerche nel proprio Portage tree molto più
velecemente del comando predefinito emerge -s.
Vengono forniti alcuni esempi di utilizzo:
Codice 2.7: Usare qsearch per cercare nel tree |
$ qsearch terminus
media-fonts/terminus-font A clean fixed font for the console and X11
$ qsearch -H terminus
media-fonts/terminus-font http://www.is-vn.bg/hamster/jimmy-en.html
$ qsearch -S "jabber client"
app-emacs/emacs-jabber A Jabber client for Emacs.
net-im/gajim Jabber client written in PyGTK
net-im/gnome-jabber Gnome Jabber Client
net-im/gossip Lightweight Jabber client for GNOME
net-im/imcom Python commandline Jabber Client
net-im/psi QT 3.x Jabber Client, with Licq-like interface
net-im/tkabber Featureful Jabber client for tcl/tk.
x11-themes/psi-themes Iconsets for Psi, a QT 3.x Jabber Client
|
Estrarre informazioni dai log di emerge
C'è anche uno strumento che permette di estrarre informazioni utili dal proprio
file emerge.log. Si chiama qlop e può essere utile quando
si vogliono fare delle stime sui tempi di compilazione di un pacchetto o
compararli con quelli dei propri amici che possiedono dei computer che compilano
più velocemente. Inoltre permette di controllare cosa si sta compilando in quel
momento e quanto tempo ci vorrà per terminare l'operazione, molto comodo quando
si sta lavorando nella console e non ci sono altri modi per verificarlo.
Codice 2.8: Leggere i log di emerge con qlop |
$ qlop -tH perl
perl: 7 minutes, 52 seconds for 4 merges
$ qlop -c
* perl-5.8.8-r23
started: Mon May 21 12:41:11 2007
elapsed: 19 seconds
|
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|