Guida ai comandi da terminale - Gestione di repository e pacchetti

Da Guide@Debianizzati.Org.

Guida ai comandi da terminale

Sommario

  1. Gestione utenti e gruppi
  2. Gestione di repository e pacchetti
  3. Operazioni con programmi non presenti nei repository
  4. Gestione di file e directory
  5. Compiere operazioni con sudo
  6. Gestione del sistema
  7. Gestione del File System
  8. Gestione dell'hardware
  9. Varie e approfondimenti

Indice

Definizione di repository

Il repository è un archivio ordinato dove sono raccolti i pacchetti software della vostra release di Debian (siano essi pacchetti binari o sorgenti), in modo ben organizzato e costantemente aggiornato. Da questi repository è possibile installare tutto il software che vi occorre per la vostra Debian. Per ottenere più informazioni potete dirigervi qui .

Modifica della lista dei repository

La lista dei repository configurati per il vostro sistema si trova nel file /etc/apt/sources.list, ed eventuali altri repository di terze parti possono trovarsi nei file con estensione .list presenti nella directory /etc/apt/sources.list.d. Per modificare il primo file o aggiungere un nuovo file .list alla directory, basta aprire o creare il file con un qualsiasi editor di testo.

Per esempio se vogliamo aprire il file /etc/apt/sources.list con Nano (editor di testo di default su console) digiteremo:

# nano /etc/apt/sources.list

Una volta apportate le modifiche è necessario premere Ctrl-o per salvarle e Ctrl-x per uscire.

Aggiornamento del sistema operativo

Per aggiornare Debian con gli ultimi pacchetti disponibili per la vostra versione dovrete lanciare due comandi:

# apt-get update
# apt-get upgrade

Il primo comando aggiorna soltanto la lista dei pacchetti disponibili, mentre il secondo effettua l'aggiornamento dei pacchetti già installati (purché non comporti la rimozione o l'installazione di nuovi pacchetti). Si noti che entrambi i comandi sono necessari, infatti se la lista dei pacchetti non è aggiornata il solo comando apt-get upgrade non effettuerà mai alcun aggiornamento.

Se si utilizza la testing o Debian Sid, o si sono mescolate diverse release (pratica molto sconsigliata, se non si è sicuri di quello che si sta facendo, che può ridurre drasticamente la stabilità del sistema e che richiede la conoscenza e la configurazione del pinning), potrebbe essere necessario l'utilizzo di:

# apt-get update
# apt-get dist-upgrade

che, sempre dopo aver aggiornato la lista dei pacchetti, consente l'aggiornamento anche in presenza di nuovi pacchetti da installare o di pacchetti installati da rimuovere.


Installazione di un programma o di un pacchetto

Se vogliamo installare un programma o un pacchetto presente nei repository a vostra disposizione, ci basterà semplicemente digitare da terminale:

# apt-get install programma

Se vogliamo installare, ad esempio, VLC, digitiamo:

# apt-get install vlc

Il nome del programma, e la possibilità di installarlo in questo modo, dipendono dalla presenza dei pacchetti nella vostra lista repository e dal loro nome. Una lista completa dei pacchetti repo presenti nel vostro sistema la avete andando su Sistema –> Amministrazione –> Gestore pacchetti Synaptic, e per poterli installare ovviamente avrete bisogno di permessi di sudoer o di root. Se il vostro programma non compare nell'elenco, ma avete trovato in giro dei repository che lo includono (righe di testo), per utilizzarle dovrete integrarle nella vostra lista repository, seguite il paragrafo “Modifica della lista dei repository”.

Ricerca di un pacchetto e informazioni

Volete installare un programma, ma non conoscete il nome del pacchetto con il quale è stato inserito nei repository di Debian?
Il seguente comando può esservi di aiuto:

$ apt-cache search nome_pacchetto

Il comando esegue una ricerca full text all'interno dei nomi e delle descrizioni dei pacchetti dei repository abilitati. Ad esempio:

$ apt-cache search tellico

ci restituirà:

alexandria - a GNOME application for managing book collections
tellico - collection manager for books, videos, music
tellico-data - collection manager for books, videos, music [data]
tellico-scripts - collection manager for books, videos, music [scripts]

Quindi possiamo ottenere varie informazioni sul pacchetto che cerchiamo con:

$ apt-cache show nome_pacchetto

Ad esempio:

$ apt-cache show tellico

Elencare le sole dipendenze:

$ apt-cache depends tellico
$ apt-cache rdepends tellico

Informazioni su quale repository abbia la priorità (utile nella gestione del pinning):

$ apt-cache policy tellico

Visionare il changelog prima di aggiornare il pacchetto:

$ apt-get changelog tellico

Sapere perché un pacchetto è installato o perché andrebbe installato:

$ aptitude why tellico

Sapere perché un pacchetto non è installato e se genera conflitti:

$ aptitude why-not tellico

Si noti che per ricerche e ottenere informazioni sui pacchetti non sono necessari privilegi di amministrazione, permettendo di eseguirli a tutti gli utenti. I privilegi sono necessari soltanto per effettuare installazioni, aggiornamenti o rimozioni dei pacchetti.

Disinstallazione base di un programma o di un pacchetto

Si utilizza lo stesso strumento visto prima per l'installazione dei pacchetti. Digitiamo quindi:

# apt-get remove programma

Se vogliamo rimuovere VLC:

# apt-get remove vlc

Questo tipo di disinstallazione disinstalla il programma, ma lascia all’interno del sistema i file di configurazione del programma. Per poter eseguire il comando di disinstallazione descritto avrete bisogno di permessi di sudoer o di root.

Disinstallazione completa di un programma o di un pacchetto

La differenza tra questa disinstallazione e quella base consiste nella liberazione completa dello spazio occupato dal programma che vogliamo rimuovere dal sistema. Con questo tipo di disinstallazione, infatti, oltre a disinstallare il programma dal sistema, cancelleremo anche i pacchetti e i relativi file di configurazione, che altrimenti non verrebbero rimossi, e che occuperebbero spazio inutile nel caso in cui non avessimo alcuna intenzione di reinstallare in futuro il programma. Digitiamo:

# apt-get remove --purge programma

Oppure:

# apt-get purge programma

Se vogliamo rimuovere VLC:

# apt-get remove --purge vlc

O in alternativa:

# apt-get purge vlc

Per poter eseguire il comando di disinstallazione descritto avrete bisogno di permessi di sudoer o di root.

Reinstallazione di un programma o di un pacchetto

Se abbiamo un programma già installato nel sistema, ma per un qualsiasi motivo volessimo reinstallarlo, il comando è:

# apt-get install --reinstall programma

Se vogliamo reinstallare VLC:

# apt-get install --reinstall vlc

Per poter eseguire il comando di reinstallazione descritto avrete bisogno di permessi di sudoer o di root.

Rimozione di un pacchetto non disinstallato completamente

Per rimuovere completamente i pacchetti già disinstallati che, per qualche motivo, non riuscite a eliminare con apt, digitare:

# dpkg -P programma

Se volessimo “purgare” VLC:

# dpkg -P vlc

L'uso di dpkg è però da evitare in situazioni normali, in quanto non si occupa delle dipendenze del pacchetto.

Pulizia della cache dei pacchetti

La cache serve soltanto per permettere l'installazione di pacchetti precedentemente scaricati senza doverli riscaricare nuovamente, se sono ancora la versione più aggiornata disponibile.

Per ripulire la cache dei pacchetti scaricati, liberando lo spazio occupato dai pacchetti scaricati e non più necessari, si utilizzano i comandi:

# apt-get autoclean

O anche:

# apt-get clean

Il primo comando (autoclean) elimina soltanto i pacchetti ormai obsoleti, mentre il secondo (clean) tutti quelli presenti nella cache (in /var/cache/apt/).

Installazione dei sorgenti dei pacchetti

A volte può esserci utile il download di codici sorgente, magari per correggere da noi una compilazione errata, o ricompilarlo reindirizzando delle dipendenze, o qualsiasi altro motivo. Possiamo farlo da aptitude, semplicemente con il comando:

$ apt-get source programma

Se volessimo ottenere i source di VLC:

$ apt-get source vlc

Si noti che rispetto all'installazione non sono richiesti particolari permessi.

Determinare a quale pacchetto appartiene un file

Per ottenere il nome del pacchetto a cui appartiene un file:

$ dpkg --search nome_file

Ad esempio:

$ dpkg --search /bin/cat 
coreutils: /bin/cat

Approfondimenti

Guide sui comandi utilizzati in questa guida:

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti