Apt
|
Versioni Compatibili Debian 8 "jessie" Debian 9 "stretch" |
Introduzione
A partire da Debian 8 (Jessie) apt è un comando della suite APT, contenuto nel pacchetto omonimo e che si occupa delle funzioni base della gestione dei pacchetti. Di default utilizza colori per evidenziare le informazioni più rilevanti e una barra di progresso per il completamento.
Permette anche la modifica dei repository con un controllo di sintassi per ridurre la possibilità di errori, ed è il metodo consigliato per apportare cambiamenti manualmente.
Non è pensato per essere usato negli script, e questo utilizzo è esplicitamente sconsigliato. È progettato invece per essere un programma semplice e chiaro, utilizzabile direttamente dall'utente per svolgere le operazioni più fondamentali di APT.
Per le opzioni più avanzate di APT è necessario ricorrere ad altri comandi, anch'essi contenuti nel pacchetto apt:
- apt-get per scaricamento, installazione, aggiornamento e rimozione di pacchetti;
- apt-cache per ricerche e altre informazioni sui pacchetti;
- apt-mark per visualizzare e modificare gli stati dei pacchetti.
Comandi principali
Ricerche e informazioni sui pacchetti
I comandi di questa sezione non richiedono privilegi, contrariamente a quelle successive, e non apportano cambiamenti al sistema.
- search
$ apt search stringaCerca la stringa nel nome e nella descrizione di tutti i pacchetti, installati e non. Restituisce la lista dei pacchetti con la descrizione, le release corrispondenti, la versione, l'architettura e lo stato.
È simile a:
$ apt-cache search stringa
- list
$ apt listVisualizza tutti i pacchetti del sistema, con le release corrispondenti, la versione, l'architettura e lo stato.
È possibile visualizzare solo quelli da aggiornare:
$ apt --upgradable listOppure solo quelli installati:
$ apt --installed listIl comando accetta anche un pattern (con caratteri jolly
*
,?
,[
...]
, gli stessi usati dalla shell per i nomi di file):$ apt list "pattern"Per esempio per cercare tutti i pacchetti contenenti la stringa "apt":
$ apt list "*apt*"E possono essere combinati, per effettuare la ricerca solo tra quelli installati e solo tra quelli che iniziano con il prefisso "apt":
$ apt --installed list "apt*"
- show
$ apt show nomepacchettoVisualizza informazioni su di un dato pacchetto, in particolare la descrizione, la sua versione, il repository, la sezione e le sue dipendenze. Se sono presenti più versioni, il comando è eseguito per quella di default.
È simile a:
$ apt-cache show nomepacchetto
Shell pattern ed espressioni regolari apt supporta le espressioni regolari estese per i comandi search e show , mentre i soli shell pattern per list . Per la ricerca però sono meno utili, dato che apt dispone di meno opzioni da linea di comando rispetto ad apt-cache e si è preferito tralasciarle per non creare confusione con il funzionamento del più utile comando list . Per maggiori informazioni si rimanda alla Guida su apt-cache, dove vengono trattate brevemente per gli omonimi comandi search e show .
Per una spiegazione completa dei shell pattern disponibili per |
Aggiornamento del sistema
È consigliabile utilizzare apt
in luogo di apt-get per effettuare gli aggiornamenti periodici, perché upgrade
dispone di una migliore configurazione di default, ma apt-get resta quello consigliato per un avanzamento di versione quando avviene un nuovo rilascio di Debian stable. In entrambi i casi sono richiesti i privilegi di amministrazione.
- update
# apt updateAggiorna la lista dei pacchetti disponibili. Si noti che l'aggiornamento avviene a livello di metadati, i pacchetti non sono aggiornati, ma è un'operazione necessaria prima di procedere all'aggiornamento del sistema e anche per rendere effettive le modifiche ai repository.
È utile anche prima di effettuare installazioni e ricerche su pacchetti non installati, per far sì che le informazioni utilizzate siano aggiornate con le ultime versioni disponibili nei repository.
È equivalente a:
# apt-get update
- upgrade
# apt upgradeSi occupa di aggiornare tutti i pacchetti alla versione più recente disponibile nei repository. Nuovi pacchetti possono essere installati, se necessario per soddisfare le dipendenze delle nuove versioni, ma nessuno può essere rimosso. È il comando di aggiornamento più conservativo e quindi quello consigliato per tenere aggiornata la propria macchina periodicamente, ogni volta che quello completo (
full-upgrade
) non è richiesto.Per il funzionamento corretto è necessario che la lista dei pacchetti sia stata precedentemente aggiornata (
apt update
).Il comportamento di default del comando è quindi diverso da quello omonimo di apt-get, che senza aggiunta di opzioni non effettua nuove installazioni di pacchetti, mentre è simile al comportamento di aptitude con
safe-upgrade
. È invece equivalente a:# apt-get --with-new-pkgs upgrade
- full-upgrade
# apt full-upgradeSi occupa di aggiornare tutti i pacchetti alla versione più recente disponibile nei repository, installando nuovi pacchetti se necessario e rimuovendo quelli automatici non più richiesti, che potrebbero bloccare alcuni aggiornamenti con il comando precedente. Va prestata maggiore attenzione all'uso del comando, per via della rimozione dei pacchetti.
Per il funzionamento corretto è necessario che la lista dei pacchetti sia stata precedentemente aggiornata (
apt update
).L'uso di questo comando è richiesto per effettuare il passaggio di versione tra una stable e la successiva, quando avviene il nuovo rilascio, e può essere richiesto anche con le altre release, che sono molto meno conservative, in presenza di conflitti tra le dipendenze.
È equivalente a:
# apt-get dist-upgrade
Installazione e rimozione di un pacchetto
Le funzionalità trattate in questa sezione sono quasi equivalenti a quelle omonime per apt-get, sempre con privilegi di amministrazione.
- install
# apt install nomepacchettoInstalla il pacchetto scelto (nomepacchetto) e tutte le sue dipendenze in automatico, scaricando il tutto dai repository se necessario.
È possibile scegliere esplicitamente la release da cui installare il pacchetto, in presenza di più repository, con l'opzione
-t
. Per esempio per installare un pacchetto (nomepacchetto) e le sue dipendenze dai backports:# apt -t stretch-backports install nomepacchettoA partire da Stretch questo comando si comporta in modo leggermente diverso da quello omonimo di apt-get, in quanto di default il pacchetto viene anche rimosso in automatico dalla cache degli archivi di APT (situata in
/var/cache/apt/archives
), una volta scaricato e installato correttamente. Per cambiare questa impostazione è sufficiente aggiungere la rigaBinary::apt::APT::Keep-Downloaded-Packages "true";
al file/etc/apt/apt.conf
o in un nuovo file posto nella directory/etc/apt/apt.conf.d/
.
- remove
# apt remove nomepacchettoRimuove un pacchetto precedentemente installato (nomepacchetto). Di default le dipendenze installate in automatico non sono rimosse, salvo modifiche in
apt.conf
(si rimanda al manuale).Per rimuovere le dipendenze automatiche si può ricorrere ad apt-get:
# apt-get autoremoveOppure eseguire
remove
con un'opzione (la stessa perapt-get
):# apt -o "APT::Get::AutomaticRemove" remove nomepacchettoA partire da Debian Stretch è supportato anche il comando autoremove:
# apt autoremove
- purge
# apt purge nomepacchettoRimuove un pacchetto precedentemente installato (nomepacchetto), rimuovendone anche i file di configurazione di sistema. Come per remove di default le dipendenze installate in automatico non sono rimosse.
Questo comando è disponibile solo a partire da Debian Stretch.
Modifica dei repository
È una nuova funzionalità, prima non implementata da altri comandi, che riduce la possibilità di errori accidentali. La modifica ai file di configurazione del sistema richiede privilegi di amministrazione.
- edit-sources
# apt edit-sourcesModifica i repository con il proprio editor preferito (nano è il più semplice, e una volta modificato il file basta premere
Ctrl-o
per salvare eCtrl-x
per uscire), effettuando anche un controllo di sintassi. Non tutti gli errori possono essere rilevati, e ovviamente restano scoperti quelli logici, ma è un controllo in più che rende questo comando consigliabile rispetto all'uso di un editor.Per rendere effettive le modifiche è necessario aggiornare la lista dei pacchetti:
# apt update
Manpages
man apt
man apt.conf
man apt-get
Guida scritta da: HAL 9000 16:15, 6 apr 2015 (CEST) | Debianized 80% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |