Questo articolo si applica a tutte le versioni supportate di Ubuntu
Gestione dei pacchetti con APT
La gestione dei pacchetti tramite apt-get va di pari passo con il file /etc/apt/sources.list. Per informazioni su come modificare o aggiornare l’elenco delle fonti vedi SourcesList.
Introduzione
Questa pagina descrive come gestire i pacchetti sul tuo sistema usando apt-get e i relativi comandi. Per esempio, puoi installare un nuovo pacchetto, rimuovere un pacchetto installato o aggiornare tutti i pacchetti installati alle ultime versioni.
Comandi
Tutti questi comandi, tranne quelli di ricerca, devono essere eseguiti come root o con i privilegi di superuser, si veda sudo per maggiori informazioni.
-
Esempio:
sudo apt-get install ubuntu-desktop
Comandi di installazione
-
apt-get install <package_name>
Questo comando installa un nuovo pacchetto.
-
apt-get build-dep <package_name>
Questo comando cerca nei repository e installa le dipendenze di build per <nome_pacchetto>. Se il pacchetto non è nei repository restituirà un errore.
-
aptitude install <package_name>
Aptitude è un visualizzatore Ncurses di pacchetti installati o disponibili. Aptitude può essere usato dalla linea di comando in modo simile ad apt-get. Inserire man aptitude per maggiori informazioni.
- APT e aptitude accettano nomi di pacchetti multipli come lista delimitata da spazi. Per esempio:
apt-get install <package1_name> <package2_name> <package3_name>
Utilizzare il flag -s per simulare un’azione. Per esempio: “apt-get -s install <nome_pacchetto>” simulerà l’installazione del pacchetto, mostrandovi quali pacchetti saranno installati e configurati.
auto-apt
-
auto-apt run <command_string>
Questo comando esegue <command_string> sotto il controllo di auto-apt. Se un programma cerca di accedere ad un file che si sa appartenere ad un pacchetto disinstallato, auto-apt installerà quel pacchetto usando apt-get. Questa caratteristica richiede apt e sudo per funzionare.
- Auto-apt mantiene dei database che devono essere tenuti aggiornati per essere efficaci. Questo si ottiene chiamando i comandi auto-apt update, auto-apt updatedb e auto-apt update-local.
- Esempio d’uso
-
State compilando un programma e, tutto ad un tratto, c’è un errore perché ha bisogno di un file che non avete. Il programma auto-apt vi chiede di installare i pacchetti se sono necessari, fermando il relativo processo e continuando una volta che il pacchetto è installato.
# auto-apt run ./configure
Quindi chiederà di installare i pacchetti necessari e chiamerà apt-get automaticamente. Se stai usando X, un’interfaccia grafica sostituirà quella testuale di default.
-
Comandi di manutenzione
-
apt-get update
Esegui questo comando dopo aver modificato /etc/apt/sources.list o /etc/apt/preferences . Per informazioni su /etc/apt/preferences, vedi PinningHowto. Esegui questo comando periodicamente per assicurarti che la tua lista di fonti sia aggiornata. Questo è l’equivalente di “Reload” in Synaptic o “Fetch updates” in Adept.
-
apt-get upgrade
Questo comando aggiorna tutti i pacchetti installati. Questo è l’equivalente di “Segna tutti gli aggiornamenti” in Synaptic.
-
apt-get dist-upgrade
Lo stesso di cui sopra, tranne che per aggiungere la casella di controllo “smart upgrade”. Dice ad APT di usare un sistema di risoluzione dei conflitti “intelligente”, e tenterà di aggiornare i pacchetti più importanti a spese di quelli meno importanti, se necessario.
“apt-get dist-upgrade” non aggiorna da una versione precedente di Ubuntu. Per ulteriori informazioni sull’aggiornamento da una versione precedente di Ubuntu vedere http://www.ubuntu.com/getubuntu/upgrading .
-
apt-get check
Questo comando è uno strumento diagnostico. Fa un aggiornamento delle liste dei pacchetti e controlla le dipendenze interrotte.
-
apt-get -f install
Questo comando fa la stessa cosa di Edit->Fix Broken Packages in Synaptic. Fatelo se ricevete lamentele su pacchetti con “dipendenze non soddisfatte”.
-
apt-get autoclean
Questo comando rimuove i file .deb per i pacchetti che non sono più installati sul vostro sistema. A seconda delle vostre abitudini di installazione, la rimozione di questi file da /var/cache/apt/archives può recuperare una quantità significativa di spazio su disco.
-
apt-get clean
Lo stesso di cui sopra, tranne che rimuove tutti i pacchetti dalla cache dei pacchetti. Questo potrebbe non essere desiderabile se si ha una connessione Internet lenta, poiché causerà il riscaricamento di qualsiasi pacchetto necessario per installare un programma.
-
La cache dei pacchetti è in /var/cache/apt/archives . Il comando
du -sh /var/cache/apt/archives
ti dirà quanto spazio stanno consumando i pacchetti nella cache.
-
-
dpkg-reconfigure <package_name>
Riconfigurare il pacchetto nominato. Con molti pacchetti, vi verranno poste alcune domande di configurazione che forse non sapevate ci fossero.
-
Per esempio:
dpkg-reconfigure fontconfig-config
vi presenterà un “wizard” sulla configurazione dei font in Ubuntu.
-
-
echo "<package_name> hold" | dpkg --set-selections
Questo comando mette in attesa il pacchetto desiderato.
-
echo "<package_name> install" | dpkg --set-selections
Questo comando rimuove lo stato di “attesa” o “pacchetto bloccato” impostato dal comando precedente. La nota sopra sull’uso di sudo si applica a questo comando.
Comandi di rimozione
-
apt-get remove <package_name>
Questo comando rimuove un pacchetto installato, lasciando intatti i file di configurazione.
-
apt-get purge <package_name>
Questo comando rimuove completamente un pacchetto e i file di configurazione associati. I file di configurazione che risiedono in ~ non sono solitamente influenzati da questo comando.
- + operatore
-
Se si vuole rimuovere il pacchetto1 e installare il pacchetto2 in un solo passo:
apt-get remove <package1> <package2>+
.
-
- + operatore
-
apt-get autoremove
Questo comando rimuove i pacchetti che sono stati installati da altri pacchetti e non sono più necessari.
-
apt-get autoremove <package_name>
Questo comando rimuove un pacchetto installato e le dipendenze.
-
-
Mentre non esiste un modo integrato per rimuovere tutte le informazioni di configurazione dai pacchetti rimossi è possibile rimuovere tutti i dati di configurazione da ogni pacchetto rimosso con il seguente comando.
dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge
Comandi di ricerca
-
apt-cache search <search_term>
Ogni pacchetto ha un nome e una descrizione. Questo comando elenca i pacchetti il cui nome o descrizione contiene <search_term>.
-
dpkg -l *<search_term>*
Questo troverà i pacchetti i cui nomi contengono <search_term>. Simile alla ricerca apt-cache, ma mostra anche se un pacchetto è installato sul vostro sistema contrassegnandolo con ii (installato) e un (non installato).
-
apt-cache show <package_name>
Questo comando mostra la descrizione del pacchetto <nome_pacchetto> e altre informazioni rilevanti come versione, dimensione, dipendenze e conflitti.
-
dpkg --print-avail <package_name>
Questo comando è simile a “apt-cache show”.
-
dpkg -L <package_name>
Questo comando elencherà i file nel pacchetto <nome_pacchetto>.
-
dpkg -c foo.deb
Questo comando elenca i file nel pacchetto “pippo.deb”. Si noti che pippo.deb è un percorso. Usa questo comando sui pacchetti .deb che hai scaricato manualmente.
-
dlocate <package_name>
Questo comando determina quale pacchetto installato possiede <nome_pacchetto>. Mostra i file dei pacchetti installati che corrispondono a <nome_pacchetto>, con il nome del pacchetto da cui provengono. Considerala un’utilità di “ricerca inversa”.
Per usare questo comando, il pacchetto dlocate deve essere installato sul tuo sistema.
-
dpkg -S <filename_search_pattern>
Questo comando fa lo stesso di dlocate, ma non richiede l’installazione di alcun pacchetto aggiuntivo. È più lento di dlocate ma ha il vantaggio di essere installato di default su tutti i sistemi Debian e Ubuntu.
-
apt-file search <filename_search_pattern>
Questo comando agisce come dlocate e dpkg -S, ma cerca tutti i pacchetti disponibili. Risponde alla domanda “quale pacchetto fornisce questo file?”.
-
apt-file deve essere aggiornato regolarmente come apt-get. Usate il comando:
apt-file update
Per poter utilizzare questo comando, il pacchetto apt-file deve essere installato sul vostro sistema.
-
-
apt-cache pkgnames
Questo comando fornisce un elenco di ogni pacchetto nel sistema
-
Una nota generale sulla ricerca: se la ricerca genera una lista troppo lunga, si possono filtrare i risultati facendoli passare attraverso il comando grep. Esempi:
-
apt-cache search <filename> | grep -w <filename>
mostrerà solo i file che contengono <filename> come parola intera
-
dpkg -L package | grep /usr/bin
elencherà i file situati nella directory /usr/bin, utile se stai cercando un particolare eseguibile.
-
Per maggiori informazioni su apt-get, apt-cache e dpkg consultate le loro pagine di manuale usando il comando man. Questi manuali forniranno una gamma più ampia di informazioni oltre a tutte le opzioni che potete usare con ogni programma.
-
Esempio:
man apt-get
.
Esempio di utilizzo tipico
Voglio sentire il vento tra i capelli, voglio l’adrenalina della velocità. Allora installiamo un gioco di corse. Ma quali giochi di corse sono disponibili?
apt-cache search racing game
Mi dà un sacco di risposte. Vedo un gioco chiamato “Torcs”. Cerchiamo di ottenere qualche informazione in più su questo gioco.
apt-cache show torcs
Hmmm… sembra interessante. Ma questo gioco non è già installato sul mio computer? E qual è la versione disponibile? Da quale repository proviene (Universe o Main)?
apt-cache policy torcs
Ok, allora adesso installiamolo!
apt-get install torcs
Qual è il comando che devo digitare nella console per lanciare questo gioco? In questo esempio, è semplice (“torcs”), ma non è sempre così. Un modo per trovare il nome del binario è guardare quali file il pacchetto ha installato in “/usr/bin”. Per i giochi, il binario sarà in “/usr/games”. Per i programmi amministrativi, è in “/usr/sbin”.
dpkg -L torcs | grep /usr/games/
La prima parte del comando visualizza tutti i file installati dal pacchetto “torcs” (prova). Con la seconda parte, chiediamo di visualizzare solo le linee contenenti “/usr/games/”.
Hmmm, quel gioco è forte. Forse ci sono delle tracce extra?
apt-cache search torcs
Ma sto finendo lo spazio. Cancellerò la cache di apt!
apt-get clean
Oh no, mia madre mi ha chiesto di rimuovere tutti i giochi da questo computer. Ma voglio conservare i file di configurazione in modo da poterlo semplicemente reinstallare in seguito.
apt-get remove torcs
Se voglio rimuovere anche i file di configurazione:
apt-get purge torcs
Impostare apt-get per utilizzare un http-proxy
Questi sono tre metodi per utilizzare apt-get con un http-proxy.
Sessione proxy temporanea
Questo è un metodo temporaneo che puoi usare manualmente ogni volta che vuoi usare apt-get attraverso un http-proxy. Questo metodo è utile se vuoi usare solo temporaneamente un http-proxy.
Inserite questa linea nel terminale prima di usare apt-get (sostituite i vostri dati con il vostro indirizzo proxy e proxyport).
export http_proxy=http://yourproxyaddress:proxyport
Se normalmente usate sudo per eseguire apt-get dovrete prima effettuare il login come root perché questo funzioni, a meno che non aggiungiate anche alcune impostazioni di ambiente esplicite a /etc/sudoers, ad es.g.
Defaults env_keep = "http_proxy https_proxy ftp_proxy"
Metodo del file di configurazione apt
Questo metodo usa il file apt.conf che si trova nella directory /etc/apt/. Questo metodo è utile se si vuole che solo apt-get (e non altre applicazioni) usi un http-proxy in modo permanente.
In alcune installazioni non ci sarà un file apt-conf impostato. Questa procedura modificherà un file apt-conf esistente o creerà un nuovo file apt-conf.
gksudo gedit /etc/apt/apt.conf
Aggiungi questa linea al tuo file /etc/apt/apt.conf (sostituisci i tuoi dati con il tuo indirizzo proxy e proxyport).
Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Salvare il file apt.conf.
Metodo BASH rc
Questo metodo aggiunge due righe al vostro file .bashrc nella vostra directory $HOME. Questo metodo è utile se volete che apt-get e altre applicazioni, per esempio wget, usino un http-proxy.
gedit ~/.bashrc
Aggiungi queste righe in fondo al tuo file ~/.bashrc (sostituisci i tuoi dati con yourproxyaddress e proxyport)
http_proxy=http://yourproxyaddress:proxyportexport http_proxy
Salva il file. Chiudete la vostra finestra del terminale e poi aprite un’altra finestra del terminale o il file ~/.bashrc:
source ~/.bashrc
Testate il vostro proxy con sudo apt-get update e qualsiasi strumento di networking desideriate. Potete usare firestarter o conky per vedere le connessioni attive.
Se fate un errore e tornate a modificare il file di nuovo, potete chiudere il terminale e riaprirlo o potete fare il sorgente ~/.bashrc come mostrato sopra.
source ~/.bashrc
Come fare il login di un utente proxy
Se avete bisogno di fare il login al server Proxy questo può essere ottenuto nella maggior parte dei casi utilizzando il seguente layout nello specificare l’indirizzo proxy in http-proxy. (sostituisci i tuoi dati con nome utente e password, yourproxyaddress e proxyport)
http_proxy=http://username:password@yourproxyaddress:proxyport
Pacchetti aggiuntivi utili
-
Deborphan
-
Debfoster
Altri link
-
Repository/CommandLine
-
PinningHowto
-
AutoDeb
-
Synaptic Package Manager
-
Forum della comunità Ubuntu: Installazioni e aggiornamenti
-
Come velocizzare gli aggiornamenti dei pacchetti usando apt-fast
Risoluzione dei problemi
-
https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure
CategoryPackageManagement CategoryCommandLine