Prontuario dei comandi di amministrazione su Gentoo

Contenuti:

1.emerge

Descrizione 

Emerge è il programma su cui è basato il sistema di gestione dei pacchetti sotto Gentoo. Permette l'installazione, la rimozione, la ricerca, l'aggiornamento dei pacchetti oltre a fornire altre funzionalità.

Utilizzo 

Esempio 1: Aggiornare il Portage Tree

# emerge sync

Esempio 2: Installare l'ultima versione stabile di gnome con tutte le sue dipendenze

# emerge gnome

Esempio 3: Installare gnome versione 2.4 con tutte le sue dipendenze

# emerge =gnome-base/gnome-2.4

Esempio 4: Installare gnome versione 2.4 o maggiore con tutte le sue dipendenze

# emerge \>=gnome-2.4

Importante: E' bene far precedere il nome del pacchetto dall'opzione -p per avere un'idea di tutti i pacchetti che verranno installati.

Esempio 5: Visualizzare le dipendenze di un pacchetto

Visualizza tutte le dipendenze di gnome
# emerge -p gnome

Esempio 6: Aggiornamento

Aggiornare i pacchetti che fanno parte del nucleo del sistema
# emerge -up system
# emerge -u system
Aggiornare i pacchetti utente
# emerge -up world
# emerge -u world
Aggiornare gnome
# emerge -up gnome
# emerge -u gnome

Esempio 7: Rimuovere un pacchetto

Rimuovere la/le versione/i installata/e di cdrtools
# emerge -C cdrtools
Rimuovere la versione 2.01_alpha14 di cdrtools
# emerge -C =cdrtools-2.01_alpha14
Rimuovere la versione 2.0 e/o superiori di cdrtools
# emerge -C \>=cdrtools-2.0

Esempio 8: Cercare un pacchetto

Cercare il pacchetto cdrtools
# emerge -s cdrtools
Cercare una stringa nella descrizione dei pacchetti
# emerge -S opera
Cercare nella descrizione dei pacchetti quelle che iniziano per opera
# emerge -S ^opera

Esempio 9: Scaricare i pacchetti senza installarli

Scaricare il pacchetto cdrtools con tutte le dipendenze
# emerge -f cdrtools
Scaricare solo il pacchetto cdrtools senza le dipendenze
# emerge -f --nodeps cdrtools
Scaricare solo le dipendenze di cdrtools
# emerge -f --onlydeps cdrtools

Nota: I pacchetti scaricati sono memorizzati in /usr/portage/distfiles.

Esempio 10: Installare pacchetti binari

Installare mozilla da cd
# mount /mnt/cdrom
# export PKGDIR=/mnt/cdrom/packages
# emerge -k mozilla
Installare cdrtools con il pacchetto binario in /usr/portage/packages
# emerge -k cdrtools

Nota: In caso mancassero le dipendenze, queste verranno scaricate da internet.

Esempio 11: Installare pacchetti e crearne i pacchetti binari

Installare i cdrtools con relative dipendenze
# emerge -b cdrtools

Esempio 12: Creare solo pacchetti binari

Creare i pacchetti binari di gnome e relative dipendenze senza installarli
# emerge -B gnome

Nota: I pacchetti binari saranno memorizzati in ${PKGDIR}/All

Installare pacchetti masked 

Per installare pacchetti masked occorre inserirli nel file /etc/portage/package.keywords.

Per esempio se si vuole utilizzare una versione masked di netcat, porre la seguente riga in /etc/portage/package.keywords

Esempio 13: Installare una versione masked di netcat

net-analyzer/netcat

Il file package.keywords può essere utilizzato anche per fare un mix tra pacchetti masked e non.

Per esempio, se si vuole utilizzare sempre la versione stabile di mplayer e la versione instabile di libgd, in package.keywords andranno poste le seguenti righe:

Esempio 14: Ambiente misto

# Utilizzare sempre la versione stabile di mplayer
media-video/mplayer -~x86
# Utilizzare sempre la versione non stabile di libgd
media-libs/libgd ~x86

Per mascherare pacchetti, si utilizza il file /etc/portage/package.mask.

Per esempio se si vogliono mascherare le versioni 1.0.4496 e superiori dei driver nvidia, il file package.mask avrà il seguente aspetto:

Esempio 15: Esempio di mascheramento pacchetti

>=media-video/nvidia-kernel-1.0.4496
>=media-video/nvidia-glx-1.0.4496

2.epm

Descrizione 

epm è un emulatore del comando rpm usato in distro come RedHat, Mandrake ed altre. Occorre installarlo con emerge epm.

Utilizzo 

Esempio 16: Controllare se un pacchetto è installato

# epm -q vim
Per includere la categoria nell'output
# epm -qG vim

Esempio 17: Per visualizzare i file installati da un pacchetto

#  epm -ql vim

Esempio 18: Visualizzare il pacchetto origine di un dato file

# epm -qf /usr/bin/vim

Esempio 19: Per vedere tutti i pacchetti che hanno relazione con vim

# epm -qa | grep vim

3.etc-update

Descrizione 

Quando vengono installati o aggiornati pacchetti, emerge non sovrascrive eventuali file di configurazione già esistenti, ma salva gli aggiornamenti rinominandoli. Una volta terminata la fase di installazione o aggiornamento dovremmo utilizzare etc-update per visualizzare quali sono i file di configurazione che dovrebbero essere aggiornati. Potremmo quindi scegliere tra sovrascrivere i file esistenti, mantenerli, o fare un merge dei file.

Utilizzo 

Esempio 20: Utilizzo di etc-update

# etc-update

Verrà visualizzata una lista di file di configurazione che hanno la necessità di essere aggiornati. Dovete digitare di volta in volta il numero del file e scegliere l'operazione da eseguire.

Le possibili operazioni sono:

  • inserire il numero del file di configurazione. Verrà mostrata la differenza tra il file in essere e il possibile aggiornamento. In questo caso sarà possibile scegliere fra:
    • 1 Sovrascrivere il file originale con l'aggiornamento
    • 2 Rimuovere l'aggiornamento e mantenere l'originale
    • 3 Creare interattivamente un nuovo file unendo l'originale con l'aggiornamento
    • 4 Mostrare nuovamente le differenze
    • -1 Ignorare questo aggiornamento
  • -1 per uscire
  • -3 per scorrere automaticamente la lista e confermare la sovrascrittura o meno
  • -5 esegue una sovrascrittura automatica SENZA conferma di tutti i file.

Importante: Fate attenzione ai vari /etc/fstab, /etc/rc.conf, /etc/conf.d/net, che, se sovrascritti, vi faranno perdere un po' di tempo per capire come mai accadono cose strane che prima dell'aggiornamento non succedevano. Il consiglio è quindi di scorrere attentamente la lista dei file presentati da etc-update, prima di dare, p.e., -5 che è il comando per l'aggiornamento automatico.

4.rc-update

Descrizione 

rc-update viene utilizzato per aggiungere e rimuovere servizi ai vari runlevel.

Utilizzo 

Esempio 21: Aggiungere un servizio al runlevel di default

Aggiungere sysklogd al runlevel default
# rc-update add sysklogd default

Esempio 22: Rimuovere un servizio

Rimuovere sysklogd dal runlevel default
# rc-update del sysklogd default
Rimuovere sysklogd da tutti i runlevel
# rc-update del sysklogd

Esempio 23: Mostrare tutti gli script disponibili e i relativi runlevel

# rc-update show

5.rc-status

Descrizione 

rc-status visualizza lo stato dei servizi per un dato runlevel.

Utilizzo 

Esempio 24: Lista i runlevel disponibili

# rc-status -l

Esempio 25: Stato dei servizi partiti di un dato runlevel

Runlevel default
# rc-status default
Runlevel boot
# rc-status boot

Esempio 26: Stato dei servizi non utilizzati

# rc-status -u

6.qpkg

Descrizione 

Importante: Questo comando è divenuto obsoleto in favore di equery e non si trova più nelle ultime versioni di gentoolkit.

qpkg fa parte del pacchetto gentoolkit che va installato attraverso emerge gentoolkit. Il suo utilizzo è rivolto a coloro che hanno necessità di avere info particolari sui pacchetti installati.

Utilizzo 

Esempio 27: Visualizzare i pacchetti installati

Visualizza tutti i pacchetti
# qpkg -I
Visualizza tutti i pacchetti con la versione
# qpkg -I -v

Esempio 28: Visualizzare il pacchetto proprietario di un dato file

Visualizzare il pacchetto che contiene cdrecord
# qpkg -f -v /usr/bin/cdrecord

Esempio 29: Visualizzare pacchetti che hanno più versioni installate

# qpkg -d

Esempio 30: Visualizzare i file che sono stati installati da un dato pacchetto

Lista i file installati col pacchetto cdrtools
# qpkg -l cdrtools

7.euse

Descrizione 

euse fa anch'esso parte del pacchetto gentoolkit e serve per abilitare/disabilitare i flag USE senza dover editare il file direttamente.

Utilizzo 

Esempio 31: Visualizzare i flag USE di /etc/make.conf

# euse -c

Esempio 32: Visualizzare i flag USE di /etc/make.profile/make.defaults

# euse -d

Esempio 33: Visualizza informazioni su un dato flag

Info sul flag java
# euse -i java

Esempio 34: Abilitare flag USE

Abilitare il supporto java
# euse -E java

Esempio 35: Disabilitare flag USE

Disabilitare il support java
# euse -D java

8.etcat

Descrizione 

Importante: Questo comando è divenuto obsoleto in favore di equery e non si trova più nelle ultime versioni di gentoolkit.

etcat, ennesima utility che fa parte di gentoolkit, è un Portage information extractor, che permette di fare delle query molto precise al db dei pacchetti.

Utilizzo 

Esempio 36: Cercare il pacchetto di cui fa parte un file

Cerca il pacchetto di cui fa parte cdrecord
# etcat -b /usr/bin/cdrecord
Restringere la ricerca specificando una o più categorie
# etcat -b /usr/bin/cdrecord "app-*"
# etcat -b /usr/bin/cdrecord "app-cdr"

Esempio 37: Cercare tutti i pacchetti che dipendono da

Cerca tutti i pacchetti che dipendono da libgnome
# etcat depends 'gnome-base/libgnome'
o da cdrtools
# etcat depends cdrtools

Esempio 38: Lista tutti i file che arrivano con un dato pacchetto

Lista tutti i file installati da cdrtools
# etcat -f cdrtools

Esempio 39: Visualizzare i flag USE utilizzati per compilare un dato pacchetto

flag USE per xmms
# etcat -u xmms

Esempio 40: Stampa la dimensione di un dato pacchetto

Stampa la size di xmms
# etcat -s xmms

9.ewhich

Descrizione 

Importante: Questo comando è divenuto obsoleto in favore di equery e non si trova più nelle ultime versioni di gentoolkit.

ewhich (sempre dai gentoolkit) è un tool che visualizza l'ebuild che sarà usato da emerge per installare il pacchetto specificato.

Utilizzo 

Esempio 41: Utilizzo di ewhich

Ebuild utilizzato per installare cdrtools
# ewhich cdrtools
Utilizzo con ricerche specifiche
# ewhich x11-base/xfree
# ewhich \>=x11-base/xfree-4.3.0

Importante: Dalla versione 0.2.0 dei Gentoolkit, ewhich è deprecato in favore di equiry which

10.equery

Descrizione 

equery (sempre dai gentoolkit) è un tool per eseguire interrogazioni sui pacchetti.

Utilizzo 

Esempio 42: Utilizzo di equery

Ebuild utilizzato per installare cdrtools
# equery which cdrtools
Lista dei file installati da un dato pacchetto
# equery files cdrtools
Pacchetto proprietario di un dato file
# equery belongs cdrecord
flag USE utilizzati per un dato pacchetto
# equery uses cdrtools

11.glsa-check

Descrizione 

glsa-check (sempre dai gentoolkit) è un tool completamente nuovo ed in fase di test che verrà integrato in equery e in emerge. Primariamente esegue un check del sistema per vedere se ci sono vulnerabilità non risolte.

Utilizzo 

glsa-check stampa un lista delle ultime vulnerabilità con una lettera che indica: A la GLSA è già stata applicata, U il sistema non è affetto e N il sistema potrebbe essere affetto.

Esempio 43: Utilizzo di glsa-check

Lista tutte le GLSA non applicate
# glsa-check -l all
Testa il sistema per vedere se è affetto da qualche GLSA
# glsa-check -t all
Tenta di aggiornare i/il pacchetti/o incrimintato alla versione non affetta
# glsa-check -f new

12.genlop

Descrizione 

genlop è un'utility per fare ricerche nel log di emerge. Va installata attraverso emerge genlop.

Utilizzo 

Esempio 44: Stampare la data di installazione di un dato pacchetto

# genlop -t opera

Esempio 45: Stampare la data di rimozione di un dato pacchetto

# genlop -u opera

Esempio 46: Stampa la cronistoria completa dell'uso di emerge

# genlop -l

13.splat

Descrizione 

Un'altra utility per fare ricerche nel log di emerge. Installazione con emerge splat.

Utilizzo 

Esempio 47: Stampare un sommario di un dato pacchetto

Stampa la data e l'ora di installazione della prima e dell'ultima
versione di un dato pacchetto
# splat -s opera

Esempio 48: Stampare la cronistoria di un dato pacchetto

# splat opera

Esempio 49: Ordinare la lista

Per data
# splat -t date opera
Per nome
# splat -t name opera
Per ora
# splat -t time opera

Nota: Per abilitare il colore utilizzare l'opzione -c

14.esearch

Descrizione 

esearch è un'utilità per fare ricerche nel portage tree molto piÙ velocemente di 'emerge search'. Occorre installarlo con emerge esearch ed eseguire eupdatedb.

Nota: Per mantenere il database di esearch aggiornato occorre eseguire eupdatedb dopo ogni emerge sync oppure usare il comando esync che unisce i comandi emerge sync e eupdatedb

Utilizzo 

Esempio 50: Cercare il nome completo di un pacchetto

Stampa tutti i pacchetti che fanno riferimento a mozilla
# esearch -F mozilla
Per avere un output ristretto
# esearch -c mozilla

Esempio 51: Stampa la descrizione di un pacchetto

# esearch -S epiphany

Esempio 52: Stampa l'ebuild di un dato pacchetto

# esearch -e epiphany
Occorrerà scegliere da una lista di versioni diverse del pacchetto, l'ebuild che vogliamo visualizzare

15.eix

Descrizione 

eix è un'altra utilità per la ricerca di ebuild nel portage che attraverso l'indicizzazione rende le ricerche molto veloci. Occorre installarla con emerge eix.

Utilizzo 

Esempio 53: Aggiornare il database

# update-eix

Esempio 54: Cercare la parola chiave dillo anche nelle descrizioni

$ eix -Sslv dillo

16.ufed

Descrizione 

ufed è un editor per flag USE. Occorre installarlo con emerge ufed.

Utilizzo 

Esempio 55: Utilizzo di ufed

# ufed
Si aprirà una finestra dialog attraverso la quale sarà possibile
abilitare/disabilitare flag USE e visualizzare una descrizione del flag.

17.mirrorselect

Descrizione 

mirrorselect permette la selezione dei mirror dai quali scaricare i pacchetti o dai quali sincronizzare il Portage tree. Installazione via emerge mirrorselect.

Utilizzo 

Esempio 56: Selezione interattiva

Per i server di download
# mirrorselect -i
Per i server rsync
# mirrorselect -i -r
Si aprirà una finestra dialog attraverso la quale sarà possibile
selezionare uno o più mirror che verranno memorizzati in /etc/make.conf

Esempio 57: Selezione automatica del server più veloce

Selezione di un server
# mirrorselect -a
Selecione di 5 server
# mirrorselect -a -s5


Ultimo aggiorn.:
5 Aprile 2006
Enrico Morelli
Autore

Sommario:  Questo prontuario si propone di elencare tutti i comandi necessari e utili per la gestione di un sistema Gentoo.
- 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.