Apt-get: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
Un'altra piccolezza grammaticale, scusate e avvisate se modifiche di cosi' poco conto devono essere evitate
(+ paragrafo "Direttive di configurazione")
m (Un'altra piccolezza grammaticale, scusate e avvisate se modifiche di cosi' poco conto devono essere evitate)
 
(32 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}{{Template:APT}}
{{Template:APT
|precedente=apt
|successivo=aptitude
}}
{{Versioni compatibili}}
== Introduzione ==
== Introduzione ==


'''apt-get''' è uno dei più noti e diffusi strumenti per la libreria APT, ovvero il sistema con cui si gestiscono i [[pacchetto|pacchetti]] (cioè i programmi) in Debian e derivate.
'''apt-get''' è uno dei più noti e diffusi strumenti per la libreria APT, ovvero il sistema con cui si gestiscono i [[pacchetto|pacchetti]] (cioè i programmi) in Debian e derivate. Si occupa principalmente dello scaricamento, dell'installazione, dell'aggiornamento e della rimozione dei pacchetti.


Questo strumento viene automaticamente installato all'atto dell'installazione del sistema operativo.
Fa parte del pacchetto '''apt''', assieme per esempio a:
* [[apt-cache]] per svolgere operazioni di ricerca sui pacchetti;
* [[apt-mark]] per listare e modificare gli stati dei pacchetti.


== Comandi principali ==
== Comandi principali ==
;update:
;update:
<blockquote>
<blockquote>
Riga 38: Riga 43:


''upgrade è usato per installare le versioni più recenti di tutti i pacchetti attualmente installati sul sistema, usando le fonti elencate in <code>/etc/apt/sources.list</code>. I pacchetti attualmente installati con nuove versioni disponibili sono recuperati e aggiornati; in nessun caso vengono rimossi pacchetti attualmente installati oppure recuperati e installati pacchetti che non lo sono già. I pacchetti attualmente installati che hanno una nuova versione, ma che non possono essere aggiornati senza cambiare lo stato di installazione di un altro pacchetto, vengono lasciati alla versione attuale. Deve essere prima effettuato un update in modo che apt-get sappia se sono disponibili nuove versioni dei pacchetti.''
''upgrade è usato per installare le versioni più recenti di tutti i pacchetti attualmente installati sul sistema, usando le fonti elencate in <code>/etc/apt/sources.list</code>. I pacchetti attualmente installati con nuove versioni disponibili sono recuperati e aggiornati; in nessun caso vengono rimossi pacchetti attualmente installati oppure recuperati e installati pacchetti che non lo sono già. I pacchetti attualmente installati che hanno una nuova versione, ma che non possono essere aggiornati senza cambiare lo stato di installazione di un altro pacchetto, vengono lasciati alla versione attuale. Deve essere prima effettuato un update in modo che apt-get sappia se sono disponibili nuove versioni dei pacchetti.''
Con l'opzione <code>--with-new-pkgs</code> il comando può installare nuovi pacchetti, se richiesti come dipendenze degli altri aggiornamenti:
<pre># apt-get --with-new-pkgs upgrade</pre>
Che è equivalente all'uso dei seguenti comandi, dove è il comportamento di default:
<pre># apt upgrade</pre>
<pre># aptitude safe-upgrade</pre>
ma solo <code>aptitude</code> può risolvere eventuali conflitti tra dipendenze, in modo automatico o interattivo.
</blockquote>
</blockquote>


Riga 86: Riga 98:
$ aptitude '~i ~g'
$ aptitude '~i ~g'
</pre>
</pre>
Questo comando può essere combinato con l'opzione "--purge" (vedere il paragrafo "Opzioni").
Specificando questo comando con il nome di uno o più pacchetti, si otterrà la loro rimozione e, contemporaneamente, la rimozione di tutti i pacchetti non più necessari. Vedere anche l'opzione "--auto-remove" e la direttiva "APT::Get::AutomaticRemove". Esempio:
<pre>
# apt-get autoremove pacchetto1, pacchetto2 ... pacchettoN
</pre>
<!-- feature attualmente non documentata https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548501 -->
</blockquote>
</blockquote>


Riga 115: Riga 134:


== Opzioni ==
== Opzioni ==
;--purge:
<blockquote>
Esegue il "purging" (rimozione completa del pacchetto, compresi i suoi file di configurazione) dei pacchetti che stanno per essere rimossi con i comandi "apt-get remove" o "apt-get autoremove". Quindi:<pre># apt-get --purge autoremove</pre>oppure:<pre># apt-get --purge remove nomepacchetto</pre>Notare che quest'ultimo comando è equivalente a:<pre># apt-get purge nomepacchetto</pre>
Questa opzione può essere abilitata di default per la rimozione dei pacchetti agendo sulla direttiva APT::Get::Purge (vedere il paragrafo "Direttive di configurazione").
</blockquote>
;--auto-remove:
<blockquote>
Si applica ai comandi "remove" e "install". Permette l'esecuzione dell'autoremove contemporaneamente alla rimozione o alla installazione di un pacchetto. Vedere anche il comando "autoremove" e la direttiva "APT::Get::AutomaticRemove". Ad esempio:
<pre>
# apt-get --auto-remove remove pacchetto1, pacchetto2 ... pacchettoN
</pre>
</blockquote>
;--allow-unauthenticated:
;--allow-unauthenticated:
<blockquote>
<blockquote>
Riga 137: Riga 170:
# apt-get install pacchetto -t unstable
# apt-get install pacchetto -t unstable
</pre>
</pre>
Si veda la guida dedicata al [[pinning]] per maggiori, ma soprattutto fondamentali, informazioni. Non usare questa opzione se non si a chiaro in cosa consiste.
Si veda la guida dedicata al [[pinning]] per maggiori, ma soprattutto fondamentali, informazioni. Non usare questa opzione se non si ha chiaro in cosa consiste.
</blockquote>
</blockquote>


Riga 198: Riga 231:
== File di configurazione ==
== File di configurazione ==


È possibile definire le opzioni di ''apt-get'' non solo da riga di comando, ma anche specificando i corrispondenti parametri in appositi file di configurazione, ad esempio in un unico file <code>/etc/apt/apt.conf</code> oppure in più file dal nome arbitrario in <code>/etc/apt/apt.conf.d/</code>.<br/>
È possibile definire le opzioni di ''apt-get'' non solo da riga di comando, ma anche specificando i corrispondenti parametri in appositi file di configurazione, ad esempio in un unico file <code>/etc/apt/apt.conf</code> oppure in uno o più file contenuti nella directory <code>/etc/apt/apt.conf.d/</code>. Il nome di questi file deve:
* Contenere solo trattini "-", undescore "_", punti "." o caratteri alfanumerici
* Essere privo di estensione (l'unica estensione ammessa è ".conf")
I file che non soddisfano queste condizioni saranno ignorati.
 
Tutte le opzioni disponibili sono visibili nel file <code>/usr/share/doc/apt/examples/configure-index.gz</code>
Tutte le opzioni disponibili sono visibili nel file <code>/usr/share/doc/apt/examples/configure-index.gz</code>


Riga 226: Riga 263:
</pre>
</pre>
Questa configurazione definisce quanto segue:
Questa configurazione definisce quanto segue:
* La target relase è ''testing''. Questo significa che tutti i pacchetti appartenenti a tale rilascio hanno priorità 990 (si veda la pagina dedicata al [[Repository & pinning| pinning]] per maggiori informazioni su come APT decide la priorità dei pacchetti da installare). Si noti che l'uso è soltanto a titolo di esempio, non è necessario definire una Default Release in condizioni normali e consigliate, ossia senza mescolare repository di release diverse.
* La target release è ''testing''. Questo significa che tutti i pacchetti appartenenti a tale rilascio hanno priorità 990 (si veda la pagina dedicata al [[Repository & pinning| pinning]] per maggiori informazioni su come APT decide la priorità dei pacchetti da installare). Si noti che l'uso è soltanto a titolo di esempio, non è necessario definire una Default Release in condizioni normali e consigliate, ossia senza mescolare repository di release diverse, ed è anzi sconsigliato.
* La massima dimensione in byte per memorizzare le informazioni dei pacchetti disponibili nei vari sorgenti; maggiore il numero di repository specificato in <code>sources.list</code> maggiore sarà lo spazio occupato (questo parametro NON definisce lo spazio riservato alla memorizzazione dei pacchetti installati e/o scaricati).
* La massima dimensione in byte per memorizzare le informazioni dei pacchetti disponibili nei vari sorgenti; maggiore il numero di repository specificato in <code>sources.list</code> maggiore sarà lo spazio occupato (questo parametro NON definisce lo spazio riservato alla memorizzazione dei pacchetti installati e/o scaricati). Di default è ora impostato a 0, corrispondente a un valore illimitato, e pertanto non è più necessario definire tale limite come in passato.
* Le opzioni figlie di ''Get'' sono utilizzate da ''apt-get'' e basta, salvo alcune eccezioni come ''AllowUnauthenticated'' che viene riconosciuto anche da aptitude (è considerato un sinonimo di <code>Aptitude::CmdLine::Ignore-Trust-Violations</code>).
* Le opzioni figlie di ''Get'' sono utilizzate da ''apt-get'' e basta, salvo alcune eccezioni come ''AllowUnauthenticated'' che viene riconosciuto anche da aptitude (è considerato un sinonimo di <code>Aptitude::CmdLine::Ignore-Trust-Violations</code>).
** Rimuove i pacchetti che sono stati installati automaticamente per soddisfare delle dipendenze per altri pacchetti e che non sono più necessari.
** Rimuove i pacchetti che sono stati installati automaticamente per soddisfare delle dipendenze per altri pacchetti e che non sono più necessari, come se fosse usato il comando <code>apt-get autoremove</code>.
** Corregge se possibile le dipendenze non soddisfatte.
** Corregge se possibile le dipendenze non soddisfatte, come se fosse usata l'opzione <code>--fix-broken</code>.
** Quando un pacchetto viene rimosso questo viene completamente eliminato, come se si fosse usato il comando <code>apt-get purge</code>.
** Quando un pacchetto viene rimosso questo viene completamente eliminato, come se si fosse usato il comando <code>apt-get purge</code>.
** Mostra i pacchetti aggiornati; stampa un elenco di tutti i pacchetti che devono essere aggiornati.
** Mostra i pacchetti aggiornati; stampa un elenco di tutti i pacchetti che devono essere aggiornati.
* Da specificare SOLO e soltanto se si è installato e configurato correttamente un proxy per la gestione dei pacchetti, come <code>apt-cacher</code> per esempio.
* Da specificare SOLO e soltanto se si è installato e configurato correttamente un proxy per la gestione dei pacchetti, come <code>apt-cacher</code> per esempio.
{{Box|Nota|Nello stesso file <code>apt.conf</code> è possibile specificare sia le opzioni specifiche di apt-get che quelle di [[aptitude]], ciascun strumento ignorerà automaticamente le opzioni che non gli competono.}}


== Direttive di configurazione ==
== Direttive di configurazione ==
Riga 240: Riga 279:


Si ricordi che queste direttive hanno effetto solo se, da linea di comando, non viene specificata un'opzione che determini un comportamento opposto o comunque diverso.
Si ricordi che queste direttive hanno effetto solo se, da linea di comando, non viene specificata un'opzione che determini un comportamento opposto o comunque diverso.
'''APT::Get::Purge'''
<blockquote>
Abilita o disabilita la rimozione completa di un pacchetto compresi i suoi file di configurazione (vedere l'opzione "--purge" e il comando "apt-get purge"). Il valore di default è "false". Per impostare l'opzione "--purge" di default per la rimozione dei pacchetti:
<pre>
APT::Get::Purge "true";
</pre>
Abilitando questa opzione, si otterrà che:
<pre>
# apt-get remove nomepacchetto1 nomepacchetto2 ...
</pre>
avrà lo stesso effetto di:
<pre>
# apt-get purge nomepacchetto1 nomepacchetto2 ...
</pre>
e, allo stesso modo:
<pre>
# apt-get autoremove
</pre>
sarà uguale a:
<pre>
# apt-get --purge autoremove
</pre>
</blockquote>


'''APT::Get::Show-Upgraded'''
'''APT::Get::Show-Upgraded'''
Riga 261: Riga 324:
3 aggiornati, 0 installati, 0 da rimuovere.
3 aggiornati, 0 installati, 0 da rimuovere.
...
...
</pre>
</blockquote>
'''APT::Get::AutomaticRemove'''
<blockquote>
Se impostata, i pacchetti visualizzati da "apt-get autoremove" come rimovibili perché non più necessari saranno rimossi immediatamente se un comando di "remove" o di "install" di un pacchetto ne modifica lo stato. Vedere anche il comando "autoremove" e l'opzione "--auto-remove".
<pre>
APT::Get::AutomaticRemove "true";
</pre>
</pre>
</blockquote>
</blockquote>
Riga 266: Riga 337:
'''APT::Install-Recommends'''
'''APT::Install-Recommends'''
<blockquote>
<blockquote>
Installa automaticamente, o meno, i pacchetti raccomandati, valore di default: "true".<br/>
Installa automaticamente, o meno, i pacchetti raccomandati visti come dipendenze. Valore di default: "true".<br/>
Per evitare di scaricare automaticamente i pacchetti raccomandati:
Per evitare di scaricare automaticamente i pacchetti raccomandati:
<pre>
<pre>
Riga 274: Riga 345:




'''APT::Install-Suggests'''
<blockquote>
Installa automaticamente, o meno, i pacchetti suggeriti visti come dipendenze. Valore di default: "false".<br/>
Per scaricare automaticamente i pacchetti suggeriti:
<pre>
APT::Install-Suggests "true";
</pre>
</blockquote>


'''Acquire::PDiffs'''
<blockquote>
Consente o meno il download dei file [[pdiff]] della lista dei pacchetti. L'opzione di default è "true".<br/>
Per scaricare l'intero file <code>Packages.xz</code> (o <code>Packages.{bz2,lzma,gz}</code> in base al valore, se presente, di "Acquire::CompressionTypes") in caso di connessione veloce o se si hanno problemi con i "pdiff":
<pre>
Acquire::PDiffs "false";
</pre>
</blockquote>


{{Box|Nota|Nello stesso file <code>apt.conf</code> è possibile specificare sia le opzioni specifiche di apt-get che quelle di [[aptitude]], ciascun strumento ignorerà automaticamente le opzioni che non gli competono.}}
'''Acquire::CompressionTypes'''
<blockquote>
Questa direttiva permette di scegliere il formato di compressione tra "gz" (gzip), "bz2" (bzip2) o "lzma" (lzma). Il valore di default abilita il formato "xz" che consente un'ottima compressione dei file scaricati e si può tranquillamente lasciare inalterato.<br/>
Nel caso si voglia utilizzare un altro tipo di compressione, si può ricorrere ad una delle seguenti righe di configurazione:
<pre>
Acquire::CompressionTypes::gz "gzip";
Acquire::CompressionTypes::bz2 "bzip2";
Acquire::CompressionTypes::lzma "lzma";
</pre>
</blockquote>


== Approfondimenti ==
== Approfondimenti ==
=== Manpages ===
* <code>man apt-get</code>
* <code>man apt.conf</code>


== Manpages ==
=== Altre guide ===
 
* [[Aggiornamento via APT con scaricamento dei delta dei pacchetti]]
<code>man apt-get</code>


{{Autori
{{Autori
|Autore = [[Utente:Keltik|Keltik]]
|Autore = [[Utente:Keltik|Keltik]]
|Estesa_da = [[Utente:Wtf|Wtf]]
|Estesa_da =
: [[Utente:Wtf|Wtf]]
:[[Utente:S3v|S3v]] 13:57, 8 nov 2014 (CET)
|Verificata_da =
|Verificata_da =
: [[Utente:Wtf|Wtf]]
: [[Utente:Wtf|Wtf]]
: [[Utente:HAL 9000|HAL 9000]] 11:25, 24 ago 2014 (CEST)
: [[Utente:HAL 9000|HAL 9000]] 11:25, 24 ago 2014 (CEST)
|Numero_revisori = 2
:[[Utente:S3v|S3v]] 13:57, 8 nov 2014 (CET)
|Numero_revisori = 3
}}
}}


[[Categoria:Apt]]
[[Categoria:Apt]]
2

contributi

Menu di navigazione