Apt: differenze tra le versioni
S3v (discussione | contributi) (+ rdepends) |
(verificata per Buster, guida ora compatibile per tutte le versioni (essendo ora Jessie LTS)) |
||
(2 versioni intermedie di un altro utente non mostrate) | |||
Riga 2: | Riga 2: | ||
|successivo=apt-get | |successivo=apt-get | ||
}} | }} | ||
{{Versioni compatibili | {{Versioni compatibili}} | ||
== Introduzione == | == 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. | 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. | ||
Riga 62: | Riga 62: | ||
<pre>$ apt rdepends nomepacchetto</pre> | <pre>$ apt rdepends nomepacchetto</pre> | ||
Mostra la lista dei pacchetti che dipendono dal pacchetto specificato ([[Dipendenze|dipendenze]] inverse).<br/> | Mostra la lista dei pacchetti che dipendono dal pacchetto specificato ([[Dipendenze|dipendenze]] inverse).<br/> | ||
Se si desidera conoscere solo le dipendenze inverse installate sul sistema per un particolare pacchetto: | |||
<pre>$ apt --installed rdepends nomepacchetto</pre> | <pre>$ apt --installed rdepends nomepacchetto</pre> | ||
</blockquote> | </blockquote> | ||
{{Box | Shell pattern ed espressioni regolari | '''<code>apt</code>''' supporta le espressioni regolari estese per i comandi <code>search</code> e <code>show</code>, mentre i soli ''shell pattern'' per <code>list</code>. Per la ricerca però sono meno utili, dato che '''<code>apt</code>''' dispone di meno opzioni da linea di comando rispetto ad '''<code>apt-cache</code>''' e si è preferito tralasciarle per non creare confusione con il funzionamento del più utile comando <code>list</code>. Per maggiori informazioni si rimanda alla [[apt-cache|Guida su apt-cache]], dove vengono trattate brevemente per gli omonimi comandi <code>search</code> e <code>show</code>. | {{Box | Shell pattern ed espressioni regolari | '''<code>apt</code>''' supporta le espressioni regolari estese per i comandi <code>search</code> e <code>show</code>, mentre i soli ''shell pattern'' per <code>list</code> (proprio come [[dpkg]]). Per la ricerca però sono meno utili, dato che '''<code>apt</code>''' dispone di meno opzioni da linea di comando rispetto ad '''<code>apt-cache</code>''' e si è preferito tralasciarle per non creare confusione con il funzionamento del più utile comando <code>list</code>. Per maggiori informazioni si rimanda alla [[apt-cache|Guida su apt-cache]], dove vengono trattate brevemente per gli omonimi comandi <code>search</code> e <code>show</code>. | ||
Per una spiegazione completa dei ''shell pattern'' disponibili per <code>list</code> si rimanda invece al manuale di <code>dash</code> nella sezione corrispondente (<code>man dash</code>).}} | Per una spiegazione completa dei ''shell pattern'' disponibili per <code>list</code> si rimanda invece al manuale di <code>dash</code> nella sezione corrispondente (<code>man dash</code>).}} | ||
=== Aggiornamento del sistema === | === Aggiornamento del sistema === | ||
È consigliabile utilizzare <code>apt</code> in luogo di [[apt-get]] per effettuare gli aggiornamenti periodici, perché <code>upgrade</code> dispone di una migliore configurazione di default, | È consigliabile utilizzare <code>apt</code> in luogo di [[apt-get]] per effettuare gli aggiornamenti periodici, perché <code>upgrade</code> dispone di una migliore configurazione di default, e attualmente è anche lo strumento indicato nelle note di rilascio per un [[avanzamento di versione]] quando avviene un nuovo [[release|rilascio]] di Debian [[stable]]. Sono richiesti i [[privilegi di amministrazione]]. | ||
;update: | ;update: | ||
Riga 119: | Riga 119: | ||
<pre># apt -t stretch-backports install nomepacchetto</pre> | <pre># apt -t stretch-backports install nomepacchetto</pre> | ||
A partire da [[Stretch]] questo comando si comporta in modo leggermente diverso da quello omonimo di [[apt-get]], in quanto di default il [[pacchetto|pacchetto]] viene anche rimosso in automatico dalla cache degli archivi di [[APT]] (situata in <code>/var/cache/apt/archives</code>), una volta scaricato e installato correttamente. Per cambiare questa impostazione è sufficiente aggiungere la riga <code>Binary::apt::APT::Keep-Downloaded-Packages "true";</code> al file <code>/etc/apt/apt.conf</code> o in un nuovo file posto nella directory <code>/etc/apt/apt.conf.d/</code> . | A partire da Debian 9 ([[Stretch]]) questo comando si comporta in modo leggermente diverso da quello omonimo di [[apt-get]], in quanto di default il [[pacchetto|pacchetto]] viene anche rimosso in automatico dalla cache degli archivi di [[APT]] (situata in <code>/var/cache/apt/archives</code>), una volta scaricato e installato correttamente. Per cambiare questa impostazione è sufficiente aggiungere la riga <code>Binary::apt::APT::Keep-Downloaded-Packages "true";</code> al file <code>/etc/apt/apt.conf</code> o in un nuovo file posto nella directory <code>/etc/apt/apt.conf.d/</code> . | ||
Il medesimo comando può essere utilizzato per installare un [[pacchetto]] .deb locale in sostituzione di altri programmi come [[dpkg]] o [[gdebi]]: | |||
<pre> | |||
# apt install ./nome_pacchetto.deb | |||
</pre> | |||
eseguito nella stessa directory in cui si trova il pacchetto. | |||
</blockquote> | </blockquote> | ||
Riga 126: | Riga 132: | ||
<pre># apt remove nomepacchetto</pre> | <pre># apt remove nomepacchetto</pre> | ||
Rimuove un pacchetto precedentemente installato (''nomepacchetto''). Di default le dipendenze installate in automatico non sono rimosse, salvo modifiche in <code>apt.conf</code> (si rimanda al manuale). | Rimuove un pacchetto precedentemente installato (''nomepacchetto''). Di default le dipendenze installate in automatico non sono rimosse, salvo modifiche in <code>apt.conf</code> (si rimanda al manuale). | ||
</blockquote> | |||
;autoremove: | |||
<blockquote> | |||
<pre># apt autoremove</pre> | |||
Rimuove le dipendenze installate automaticamente e non più necessarie. È supportato a partire da Debian 9 ([[Stretch]]). | |||
Per rimuovere le dipendenze automatiche si | Per rimuovere le dipendenze automatiche con [[Jessie]] si deve invece ricorrere ad [[apt-get]]: | ||
<pre># apt-get autoremove</pre> | <pre># apt-get autoremove</pre> | ||
Oppure ancora eseguire <code>remove</code> con un'opzione (la stessa per <code>apt-get</code>): | |||
Oppure eseguire <code>remove</code> con un'opzione (la stessa per <code>apt-get</code>): | |||
<pre># apt -o "APT::Get::AutomaticRemove" remove nomepacchetto</pre> | <pre># apt -o "APT::Get::AutomaticRemove" remove nomepacchetto</pre> | ||
</blockquote> | </blockquote> | ||
Riga 142: | Riga 150: | ||
Rimuove 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. | Rimuove 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]]. | Questo comando è disponibile solo a partire da Debian 9 ([[Stretch]]). | ||
</blockquote> | |||
;reinstall: | |||
<blockquote> | |||
<pre># apt reinstall nomepacchetto</pre> | |||
Ripete l'installazione di un pacchetto già installato nel sistema. Può essere utile in caso di mancate configurazioni o per risolvere problemi in seguito a un'installazione. | |||
Questo comando è disponibile a partire da Debian 10 ([[Buster]]). | |||
</blockquote> | </blockquote> | ||
Riga 168: | Riga 184: | ||
: [[Utente:S3v|S3v]] 07:54, 12 apr 2015 (CEST) | : [[Utente:S3v|S3v]] 07:54, 12 apr 2015 (CEST) | ||
: [[Utente:Wtf|Wtf]] 21:12, 11 mag 2015 (CEST) | : [[Utente:Wtf|Wtf]] 21:12, 11 mag 2015 (CEST) | ||
: [[Utente:HAL 9000|HAL 9000]] | : [[Utente:HAL 9000|HAL 9000]] 11:04, 14 lug 2019 (CEST) | ||
|Numero_revisori = 2 | |Numero_revisori = 2 | ||
}} | }} | ||
[[Categoria:Apt]] | [[Categoria:Apt]] |
Versione attuale delle 09:04, 14 lug 2019
|
Versioni Compatibili Tutte le versioni supportate di Debian |
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
- rdepends
$ apt rdepends nomepacchettoMostra la lista dei pacchetti che dipendono dal pacchetto specificato (dipendenze inverse).
Se si desidera conoscere solo le dipendenze inverse installate sul sistema per un particolare pacchetto:$ apt --installed rdepends 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 (proprio come dpkg). 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, e attualmente è anche lo strumento indicato nelle note di rilascio per un avanzamento di versione quando avviene un nuovo rilascio di Debian stable. 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 Debian 9 (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/
.Il medesimo comando può essere utilizzato per installare un pacchetto .deb locale in sostituzione di altri programmi come dpkg o gdebi:
# apt install ./nome_pacchetto.debeseguito nella stessa directory in cui si trova il pacchetto.
- 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).
- autoremove
# apt autoremoveRimuove le dipendenze installate automaticamente e non più necessarie. È supportato a partire da Debian 9 (Stretch).
Per rimuovere le dipendenze automatiche con Jessie si deve invece ricorrere ad apt-get:
# apt-get autoremoveOppure ancora eseguire
remove
con un'opzione (la stessa perapt-get
):# apt -o "APT::Get::AutomaticRemove" remove nomepacchetto
- 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 9 (Stretch).
- reinstall
# apt reinstall nomepacchettoRipete l'installazione di un pacchetto già installato nel sistema. Può essere utile in caso di mancate configurazioni o per risolvere problemi in seguito a un'installazione.
Questo comando è disponibile a partire da Debian 10 (Buster).
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 |