Gentoo Logo

Portage-utils

Indice:

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-misc/tracker/tracker-0.12.10-r1.ebuild applet doc eds elibc_glibc exif firefox-bookmarks flac flickr gif
[...]

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

(Mi sono scordato il nome di quel pacchetto contenente i miei font preferiti)
$ qsearch terminus
media-fonts/terminus-font A clean fixed font for the console and X11

(Voglio ringraziare la persona che li ha creati. Qual'è la sua homepage?)
$ qsearch -H terminus
media-fonts/terminus-font http://www.is-vn.bg/hamster/jimmy-en.html

(Ho bisogno di un client jabber e ne ho bisogno adesso)
$ 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

(Sto per effettuare l'emerge di perl e voglio una stima di quanto tempo
occorre abitualmente)
$ qlop -tH perl
perl: 7 minutes, 52 seconds for 4 merges
(Ora vediamo cosa si sta attualmente emergendo)
$ qlop -c
* perl-5.8.8-r23
        started: Mon May 21 12:41:11 2007
        elapsed: 19 seconds


Stampa

Aggiornato il 13 gennaio 2013

La versione originale di questo documento non è più mantenuta

Oggetto: Questa guida spiega le principali modalità di utilizzo di portage-utils, una collezione di rapide applicazioni di appoggio per Portage scritte in C.

Łukasz Damentko
Autore

Joshua Saddler
Revisione

Marcelo Góes
Revisione

Davide Cendron
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.