Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/InstallareProgrammi/Apt"
Differenze tra le versioni 1 e 40 (in 39 versioni)
Versione 1 del 12/04/2007 16.05.43
Dimensione: 11587
Commento: creazione della pagina
Versione 40 del 08/07/2017 12.21.23
Dimensione: 14889
Commento: corretto stile tabelle
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from AmministrazioneSistema/Apt
## docs intrepid
## pagina reindirizzata da AptGetHowTo
Linea 3: Linea 6:
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[TableOfContents(1)]]||
<<BR>>
<<Indice>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=431132")>>
Linea 7: Linea 12:
||<tablestyle="text-align: justify; width:65%; " style="border:none;" 5%>[[Immagine(Icone/Grandi/package.png,90,center)]] ||<style="border:none">In questa pagina viene schematicamente presentato '''APT''' (Advanced Package Tool), il sistema di gestione dei pacchetti predefinito in Ubuntu. Oltre al programma più utilizzato di questo sistema, ovvero, '''apt-get''', nelle tabelle sottostanti sono riportati altri utili programmi appartenenti al sistema APT (apt-cache, apt-file).|| ||<tablestyle="text-align: justify; width:63%; " style="border:none;" 5%><<Immagine(Icone/Grandi/package.png,90,center)>> ||<style="border:none;">In questa pagina viene schematicamente presentato '''APT''' (Advanced Package Tool), il sistema di gestione dei pacchetti predefinito in Ubuntu. Oltre al programma più utilizzato di questo sistema, ovvero, '''apt-get''', nelle tabelle sottostanti sono riportati altri utili programmi appartenenti al sistema APT (apt-cache, apt-file).||

||<tablestyle="text-align: justify; width:62%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Da Ubuntu 16.04 LTS, il programma predefinito per la gestione dei pacchetti è '''apt''', di cui se ne consiglia l'utilizzo in alternativa ad '''apt-get''' (che rimane comunque disponibile).'' ||
Linea 11: Linea 18:
[[BR]][[BR]]
 ||<tablestyle="text-align: justify; width:95%; " style="border-width:0px;" 5%>
''In principio esistevano i .tar.gz. Gli utenti dovevano compilare ogni programma che volevano usare sui loro sistemi GNU/Linux. Quando fu creata Debian, fu ritenuto necessario che il sistema incorporasse un metodo di gestione dei pacchetti installati sulla macchina. A questo sistema fu dato il nome dpkg. Fu così che nacque il famoso "pacchetto" nel mondo GNU/Linux, poco prima che Red Hat decidesse di creare il proprio "rpm".''[[BR]] ''Rapidamente un nuovo dilemma si fece strada nelle menti degli sviluppatori di GNU/Linux. A loro serviva un modo rapido, pratico ed efficiente per installare i programmi, che gestisse automaticamente le dipendenze e che avesse cura di mantenere i file di configurazione esistenti mentre si effettuavano i vari aggiornamenti. Ancora una volta Debian ha aperto la strada dando vita a APT (Advanced Packaging Tool), che poi è stato adattato da Conectiva per usarlo insieme a rpm e in seguito è stato adottato anche da altre distribuzioni. [...]''||
||<tablestyle="text-align: right; width:95%; " style="border-width:0px;" 5%> (Estratto dal [http://www.debian.org/doc/manuals/apt-howto/index.it.html Debian APT HOWTO])||
''In principio esistevano i .tar.gz. Gli utenti dovevano compilare ogni programma che volevano usare sui loro sistemi GNU/Linux. Quando fu creata Debian, fu ritenuto necessario che il sistema incorporasse un metodo di gestione dei pacchetti installati sulla macchina. A questo sistema fu dato il nome dpkg. Fu così che nacque il famoso "pacchetto" nel mondo GNU/Linux, poco prima che Red Hat decidesse di creare il proprio "rpm".''<<BR>> ''Rapidamente un nuovo dilemma si fece strada nelle menti degli sviluppatori di GNU/Linux. A loro serviva un modo rapido, pratico ed efficiente per installare i programmi, che gestisse automaticamente le dipendenze e che avesse cura di mantenere i file di configurazione esistenti mentre si effettuavano i vari aggiornamenti. Ancora una volta Debian ha aperto la strada dando vita a APT (Advanced Packaging Tool), che poi è stato adattato da Conectiva per usarlo insieme a rpm e in seguito è stato adottato anche da altre distribuzioni. [...]''

(Estratto dal [[http://www.debian.org/doc/manuals/apt-howto/index.it.html|Debian APT HOWTO]])
Linea 17: Linea 24:
A seconda della versione di Ubuntu, i comandi per eseguire determinate azioni da [[AmministrazioneSistema/Terminale|terminale]] possono essere differenti. Nel consultare i paragrafi seguenti, è necessario tenere a mente che il comando '''apt''' funziona unicamente in Ubuntu 16.04 LTS.

<<Anchor(update)>>
Linea 19: Linea 29:
Quello che segue è un breve elenco di comandi utili all'aggiornamento dei pacchetti installati nel sistema tramite '''apt-get'''. Quello che segue è un breve elenco di comandi utili all'aggiornamento dei pacchetti installati nel sistema.
Linea 21: Linea 31:
||<20%> '''apt-get update''' || Aggiorna la lista dei pacchetti disponibili dai [:Repository:repository]. Va lanciato dopo aver apportato delle modifiche a {{{/etc/apt/sources.list}}} o {{{/etc/apt/preferences}}}. Da eseguire periodicamente per essere sicuri che la propria lista dei pacchetti sia sempre aggiornata. ||
|| '''apt-get upgrade''' || Scarica e installa gli aggiornamenti per tutti i pacchetti installati ||
|| '''apt-get dist-upgrade''' || Aggiorna l'intero sistema ad una nuova versione. Delega APT a svolgere tutti i compiti necessari all'aggiornamento dell'intera distribuzione, anche l'eventuale cancellazione di pacchetti. ||

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Ogni volta che viene effettuata una modifica al file `/etc/sources.list` è necessario aggiornare la lista dei pacchetti disponibili con il seguente comando:''||
 {{{
sudo apt-get update
}}}
||<:-2 #cccccc>'''Comandi'''||
||<20% #f7f7f7> '''apt-get update''' ||<|2 (> Aggiorna la lista dei pacchetti disponibili dai [[Repository|repository]]. Va lanciato dopo aver apportato delle modifiche a `/etc/apt/sources.list`, `/etc/sources.list` o `/etc/apt/preferences`. Può essere eseguito periodicamente per verificare che la propria lista di pacchetti sia aggiornata. ||
||<#f7f7f7> '''apt update''' ||
||<-2 style="border:none;">||
||<#f7f7f7> '''apt-get upgrade''' ||<|2 (> Scarica e installa gli aggiornamenti per tutti i pacchetti installati. Non sarà rimosso alcun pacchetto installato: se un aggiornamento di un pacchetto richiede la rimozione di un altro pacchetto, l'aggiornamento non sarà effettuato. ||
||<#f7f7f7> '''apt upgrade''' ||
||<-2 style="border:none;">||
||<#f7f7f7> '''apt-get dist-upgrade''' || Aggiorna l'intero sistema ad una nuova versione. Delega APT a svolgere tutti i compiti necessari all'aggiornamento dell'intera distribuzione, se necessario, anche l'eventuale rimozione di pacchetti installati. ||
||<#f7f7f7> '''apt full-upgrade''' || Esegue le stesse funzioni di '''apt upgrade''', ma rimuove i pacchetti attualmente installati se richiesto per aggiornare il sistema. ||
Linea 32: Linea 43:
Per quanto riguarda l'installazione e la rimozione dei pacchetti dal sistema, di seguito vengono elencate i comandi più comuni: Per quanto riguarda l'installazione e la rimozione dei pacchetti dal sistema, di seguito vengono elencati i comandi più comuni:
Linea 34: Linea 45:
||<20%> '''apt-get install ''' ''packagename'' || Installa un nuovo pacchetto. ||
|| '''apt-get remove''' ''packagename'' || Rimuove un pacchetto. ||
|| '''apt-get --purge remove''' ''packagename'' || Rimuove un pacchetto, compresi tutti i file di configurazione. ||
|| '''apt-get autoremove''' ''packagename'' || Rimuove un pacchetto e tutte le dipendendenze inutilizzate. ||
|| '''apt-get -f install''' || Tenta di di riparare i pacchetti con delle dipendenze non soddisfatte. ||
||<:-2 #cccccc>'''Comandi'''||
||<27% #f7f7f7> '''apt-get install ''' ''packagename'' ||<|2 (> Installa un nuovo pacchetto. ||
||<#f7f7f7> '''apt install''' ''packagename'' ||
||<-2 style="border:none;">||
||<#f7f7f7> '''apt-get remove''' ''packagename'' ||<|2 (> Rimuove un pacchetto, senza rimuovere i file di configurazione. ||
||<#f7f7f7> '''apt remove''' ''packagename'' ||
||<-2 style="border:none;">||
||<#f7f7f7> '''apt-get purge''' ''packagename'' ||<|2 (> Rimuove un pacchetto, compresi tutti i file di configurazione. ||
||<#f7f7f7> '''apt purge''' ''packagename'' ||
||<-2 style="border:none;">||
||<#f7f7f7> '''apt-get autoremove''' ||<|2 (> Rimuove tutti i pacchetti che sono stati automaticamente installati per soddisfare le dipendenze di altri pacchetti, ma che ora non sono più richiesti. Questo può essere dovuto ad un cambio di dipendenze, oppure perché i pacchetti che li richiedevano sono stati rimossi. Prima di procedere con le modifiche, controllare che la lista di pacchetti indicata per la rimozione non contenga applicazioni importanti. ||
||<#f7f7f7> '''apt autoremove''' ||
||<-2 style="border:none;">||
||<#f7f7f7> '''apt-get autoremove''' ''packagename'' || Rimuove un pacchetto e tutte le dipendenze inutilizzate. ||
||<#f7f7f7> '''apt-get -f install''' || Tenta di di riparare i pacchetti con delle dipendenze non soddisfatte. ||
||<#f7f7f7> '''apt-get --reinstall install''' ''packagename'' || Reinstalla pacchetti che sono già installati e all'ultima versione. ||
Linea 40: Linea 62:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''La [:RigaDiComando:riga di comando] è potente, ma la digitazione è una prassi lenta, è però possibile rinominare i comandi più lunghi con altri più corti, inserendoli alla fine del file {{{~/.bashrc}}}. Di seguito ne viene presentato un esempio:''||
 {{{
Per un elenco completo dei comandi e delle opzioni disponibili per '''apt-get''', digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando seguente:{{{
man apt-get
}}}

La [[AmministrazioneSistema/Terminale|riga di comando]] è potente, ma la digitazione è una prassi lenta. È tuttavia possibile rinominare i comandi più lunghi con altri più corti, inserendoli alla fine del file `~/.bashrc`. Di seguito ne viene presentato un esempio:
{{{
Linea 49: Linea 75:
<<Anchor(puliziacache)>>
Linea 52: Linea 78:
Dopo aver scaricato ed installato nel sistema un pacchetto, '''apt-get''' ne mantiene una copia (in formato {{{*.deb}}}) all'interno della propria cache, localizzabile in {{{/var/cache/apt/archives/}}}. L'applicazione memorizza nella cache i file {{{.deb}}} di tutti i pacchetti, sia di quelli tuttora installati che di quelli in seguito rimossi. Con il passare del tempo, questa sorta di archivio di sicurezza può assumere dimensioni irragionevoli. Di seguito sono elencati alcuni comandi utili alla pulizia della cache. Dopo aver scaricato ed installato nel sistema un pacchetto, '''apt-get''' ne mantiene una copia (in formato `*.deb`) all'interno della propria cache, localizzabile in `/var/cache/apt/archives/`. L'applicazione memorizza nella cache i file `.deb` di tutti i pacchetti, sia di quelli tuttora installati che di quelli in seguito rimossi. Con il passare del tempo, questa sorta di archivio di sicurezza può assumere dimensioni irragionevoli. Di seguito sono elencati alcuni comandi utili alla pulizia della cache.
Linea 54: Linea 80:
||<20%> '''apt-get autoclean''' || Eseguito periodicamente, cancella tutti gli archivi {{{.deb}}} dei pacchetti che non sono più installati nel sistema. È utile per liberare spazio su disco. ||
||<20%> '''apt-get clean''' || È molto più radicale, poiché rimuove dalla cache di '''apt''' ogni file {{{.deb}}}, anche quelli relativi ai pacchetti correntemente installati. Generalmente, una volta installato un pacchetto, non si necessiterà più del dei file {{{.deb}}}, quindi potrebbe essere una buona soluzione per risolvere problemi di spazio. ||
||<:-2 #cccccc>'''Comandi'''||
||<20% #f7f7f7> '''apt-get autoclean''' || Eseguito periodicamente, cancella tutti gli archivi `.deb` dei pacchetti che non sono più installati nel sistema. È utile per liberare spazio su disco. ||
||<#f7f7f7> '''apt-get clean''' || È molto più radicale, poiché rimuove dalla cache di '''APT''' ogni file `.deb`, anche quelli relativi ai pacchetti correntemente installati. Generalmente, una volta installato un pacchetto, non si necessiterà più del dei file `.deb`, quindi potrebbe essere una buona soluzione per risolvere problemi di spazio. ||
Linea 59: Linea 86:
In questa sezione vengono elencati alcuni comandi utili alla ricerca dei pacchetti all'interno del database e alle informazioni riguardanti il contenuto di essi: In questa sezione vengono elencati alcuni comandi utili alla ricerca dei pacchetti all'interno del database e delle informazioni riguardanti il contenuto di essi:
Linea 61: Linea 88:
||<20%> '''apt-cache search''' ''string'' || Cerca una stringa nella lista dei pacchetti conosciuti. ||
|| '''apt-cache showpkg''' ''pkgs'' || Mostra alcune informazioni riguardo ai pacchetti. ||
|| '''apt-cache dumpavail''' || Stampa una lista di tutti i pacchetti disponibili. ||
|| '''apt-cache show''' ''pkgs'' ||
Visualizza tutte le informazioni riguardo un pacchetto, similmente a '''dpkg --print-avail''' ||
|| '''apt-cache pkgnames''' || Lista veloce di ogni pacchetto del sistema. ||
|| '''apt-file search''' ''filename'' || Cerca un pacchetto (anche non installato) che contenga i file individuati dalla stringa. '''Apt-file''' è un pacchetto indipendente, e deve essere installato tramite il comando sopra citato. Una volta installato, è utile aggiornare il database dei pacchetti con il comando '''apt-file update'''. Se '''apt-file search''' ''filename'' mostra troppe informazioni, si può provare con il comando '''apt-file search ''filename'' | grep -w ''filename''''' (che mostra solo i file che contengono suddetta parola) o una variante come '''apt-file search ''filename'' | grep /bin/''' che mostra solo i file localizzati nelle directory come {{{/bin}}} o {{{/usr/bin}}}, utile nel caso che l'obiettivo della ricerca sia un particolare eseguibile. ||
||<:-2 #cccccc>'''Comandi'''||
||<20% #f7f7f7> '''apt-cache search''' ''string'' ||<|2 (> Cerca una stringa nella lista dei pacchetti conosciuti. ||
||<#f7f7f7> '''apt search''' ''string'' ||
||<-2 style="border:none;">||
||<#f7f7f7>
'''apt-cache show''' ''pkgs'' ||<|2 (> Visualizza tutte le informazioni riguardanti un pacchetto, similmente a '''dpkg --print-avail''' ||
||<#f7f7f7> '''apt show''' ''pkgs'' ||
||<-2 style="border:none;">||
||<#f7f7f7> '''apt-cache showpkg''' ''pkgs'' || Mostra alcune informazioni riguardo ai pacchetti. ||
||<#f7f7f7> '''apt-cache dumpavail''' || Stampa una lista di tutti i pacchetti disponibili. ||
||<#f7f7f7> '''apt-cache depends''' ''pkgs'' || Visualizza le dipendenze e i conflitti dei pacchetti selezionati. ||
||<#f7f7f7> '''apt-cache policy''' ''pkgs'' || Nel caso siano disponibili numerose versioni dei pacchetti selezionati, visualizza la versione attualmente installata e il repository di origine. ||
||<#f7f7f7> '''apt-cache pkg
names''' || Lista veloce di ogni pacchetto del sistema. ||
||<#f7f7f7> '''apt-file search''' ''filename'' || Cerca un pacchetto (anche non installato) che contenga i file individuati dalla stringa. '''Apt-file''' è un pacchetto indipendente, e deve essere installato tramite il comando sopra citato. Una volta installato, è utile aggiornare il database dei pacchetti con il comando '''apt-file update'''. Se '''apt-file search''' ''filename'' mostra troppe informazioni, si può provare con il comando '''apt-file search ''filename'' | grep -w ''filename''''' (che mostra solo i file che contengono suddetta parola) o una variante come '''apt-file search ''filename'' | grep /bin/''' che mostra solo i file localizzati nelle directory come `/bin` o `/usr/bin`, utile nel caso che l'obiettivo della ricerca sia un particolare eseguibile. ||
Linea 70: Linea 104:
Di seguito sono elencati alcuni comandi, diversi da quelli già discussi di '''Apt''', ma di una certa utilità: Di seguito sono elencati alcuni comandi, diversi da quelli già discussi di '''APT''', ma di una certa utilità:
Linea 72: Linea 106:
||<20%> '''aptitude''' {update | upgrade}[[BR]] '''aptitude''' {install | remove} <pacchetto> || Visualizzatore di tutti i pacchetti installati o disponibili. '''Aptitude''' può essere usato da linea di comando nello stesso modo di '''apt-get''', ma solo per alcuni comandi, i più usati sono '''install''' e '''remove'''. Poichè tiene traccia di molte più informazioni di '''apt-get''', aptitude ha, in certe situazioni, un maggiore grado di affidabilità. ||
|| '''dpkg -l''' ''package-name-pattern'' || Lista dei pacchetti individuati dalla stringa di ricerca. ||
|| '''dpkg -S''' ''file'' || Dato un file, mostra il pacchetto che ha provveduto alla sua installazione nel sistema. ||
|| '''dpkg -L''' ''package'' || Lista dei file presenti nel pacchetto. ||

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]]||<style="padding:0.5em; border:none;">''Se si desidera usare '''aptitude''', si può in modo analogo a quanto visto sopra con apt-get, assegnare un '''alias''' con il seguente comando:'' ||
 {{{
alias agi='sudo aptitude install'
}}}
||<:-2 #cccccc>'''Comandi'''||
||<20% #f7f7f7> '''aptitude''' {update | upgrade}<<BR>> '''aptitude''' {install | remove} <pacchetto> || Visualizzatore di tutti i pacchetti installati o disponibili. '''Aptitude''' può essere usato da linea di comando nello stesso modo di '''apt-get''', ma solo per alcuni comandi, i più usati sono '''install''' e '''remove'''. Poichè tiene traccia di molte più informazioni di '''apt-get''', aptitude ha, in certe situazioni, un maggiore grado di affidabilità. ||
||<#f7f7f7> '''dpkg -l''' ''package-name-pattern'' || Lista dei pacchetti individuati dalla stringa di ricerca. ||
||<#f7f7f7> '''dpkg -S''' ''file'' || Dato un file, mostra il pacchetto che ha provveduto alla sua installazione nel sistema. ||
||<#f7f7f7> '''dpkg -L''' ''package'' || Lista dei file presenti nel pacchetto. ||
Linea 86: Linea 116:
attachment:Esempio.gif {{attachment:Esempio.gif}}
Linea 92: Linea 122:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''All'interno di questa sezione, con la dicitura'' http://indirizzodelproxy:porta'' si vuole indicare l'indirizzo web del proxy che si desidera usare. Sostituire tale espressione con l'indirizzo reale del proprio proxy.''|| ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''All'interno di questa sezione, con la dicitura'' http://indirizzodelproxy:porta'' si vuole indicare l'indirizzo web del proxy che si desidera usare. Sostituire tale espressione con l'indirizzo reale del proprio proxy.''||
Linea 96: Linea 126:
È possibile abilitare manualmente un proxy, ogni qual volta lo si ritenga necessario. Per far ciò, aprire una finestra di terminale e digitare il seguente comando:
{{{
È possibile abilitare manualmente un proxy, ogni qual volta lo si ritenga necessario. Per far ciò, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 105: Linea 134:
Per configurare '''apt-get''' affinchè scarichi i pacchetti sempre tramite un proxy, è necessario creare e modificare, secondo le proprie esigenze, il file {{{/etc/apt/apt.conf}}}. Per far ciò, è utile aprire suddetto file con un [:EditorDiTesto:editor di testo], i.e: Per configurare '''apt-get''' affinché scarichi i pacchetti sempre tramite un proxy, è necessario creare e modificare, secondo le proprie esigenze, il file `/etc/apt/apt.conf`. Per far ciò, è utile aprire suddetto file con un [[Ufficio/EditorDiTesto|editor di testo]], i.e:
Linea 119: Linea 148:
Per modificare le impostazioni di '''wget''' è utile aprire con un editor il file nascosto {{{.bashrc}}}, presente all'interno della propria '''Home'''. Un utente di '''Gnome''', ad esempio, potrà digitare il seguente comando: Per modificare le impostazioni di '''wget''' è utile aprire con un editor il file nascosto `.bashrc`, presente all'interno della propria '''Home'''. Un utente di '''Gnome''', ad esempio, potrà digitare il seguente comando:
Linea 134: Linea 163:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''Attenzione! L'uso di queste applicazioni è sconsigliato agli utenti meno esperti. Un uso non corretto potrebbe causare dei danni irrimediabili al sistema.'''|| ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''L'uso di queste applicazioni è sconsigliato agli utenti meno esperti. Un uso non corretto potrebbe causare dei danni irrimediabili al sistema.'''||

= Backup e ripristino delle applicazioni installate =

Come operazione preliminare è consigliato pulire il sistema da tutti i pacchetti non utilizzati. Digitare il seguente comando: {{{
sudo apt-get autoremove
}}} e infine digitare il seguente comando: {{{
dpkg --get-selections > installed-software.log
}}}
Verrà creato un file `installed-software.log` contenente la lista delle applicazioni installate sul sistema.

Per eseguire il ripristino, copiare all'interno della propria '''Home''' il file contenente l'elenco delle applicazioni installate (nell'esempio di sopra `installed-software.log`), aprire una finestra di terminale e digitare i seguenti comandi: {{{
sudo dpkg --set-selections < ./installed-software.log && apt-get dselect-upgrade}}}

Prima di effettuare questa operazione, è consigliato ripristinare il file `/etc/apt/sources.list` come nella precedente installazione, in modo tale da consentire a '''apt-get''' di ritrovare tutti i pacchetti precedentemente installati.
Linea 138: Linea 181:
 * [http://www.debian.org/doc/manuals/apt-howto/index.it.html Debian APT HOWTO]
 * [:Repository:Guida ai repository]
 * [:SynapticHowto:Guida all'uso del package manager Synaptic]
 * [:AdeptHowTo:Guida all'uso di Adept manager]
 * [:SourcesList:Buoni esempi di sources.list]
 * [:ComandiBase:Guida all'uso dei comandi base]
 * [[http://manpages.ubuntu.com/manpages/xenial/en/man8/apt.8.html|Manpage di apt per Ubuntu 16.04 LTS]]
 * [[AmministrazioneSistema/AptProxy|Guida ad apt-proxy]]
 * [[AmministrazioneSistema/InstallareProgrammi/Aptitude|Guida a aptitude]]
 * [[http://www.debian.org/doc/manuals/apt-howto/index.it.html|Manuale Debian di APT]]
 * [[Repository/SourcesList|Buoni esempi di sources.list]]
 * [[AmministrazioneSistema/ComandiBase|Guida all'uso dei comandi base]]

----
CategoryAmministrazione


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

In questa pagina viene schematicamente presentato APT (Advanced Package Tool), il sistema di gestione dei pacchetti predefinito in Ubuntu. Oltre al programma più utilizzato di questo sistema, ovvero, apt-get, nelle tabelle sottostanti sono riportati altri utili programmi appartenenti al sistema APT (apt-cache, apt-file).

Da Ubuntu 16.04 LTS, il programma predefinito per la gestione dei pacchetti è apt, di cui se ne consiglia l'utilizzo in alternativa ad apt-get (che rimane comunque disponibile).

Cenni storici

In principio esistevano i .tar.gz. Gli utenti dovevano compilare ogni programma che volevano usare sui loro sistemi GNU/Linux. Quando fu creata Debian, fu ritenuto necessario che il sistema incorporasse un metodo di gestione dei pacchetti installati sulla macchina. A questo sistema fu dato il nome dpkg. Fu così che nacque il famoso "pacchetto" nel mondo GNU/Linux, poco prima che Red Hat decidesse di creare il proprio "rpm".
Rapidamente un nuovo dilemma si fece strada nelle menti degli sviluppatori di GNU/Linux. A loro serviva un modo rapido, pratico ed efficiente per installare i programmi, che gestisse automaticamente le dipendenze e che avesse cura di mantenere i file di configurazione esistenti mentre si effettuavano i vari aggiornamenti. Ancora una volta Debian ha aperto la strada dando vita a APT (Advanced Packaging Tool), che poi è stato adattato da Conectiva per usarlo insieme a rpm e in seguito è stato adottato anche da altre distribuzioni. [...]

(Estratto dal Debian APT HOWTO)

Comandi

A seconda della versione di Ubuntu, i comandi per eseguire determinate azioni da terminale possono essere differenti. Nel consultare i paragrafi seguenti, è necessario tenere a mente che il comando apt funziona unicamente in Ubuntu 16.04 LTS.

Aggiornamento del sistema

Quello che segue è un breve elenco di comandi utili all'aggiornamento dei pacchetti installati nel sistema.

Comandi

apt-get update

Aggiorna la lista dei pacchetti disponibili dai repository. Va lanciato dopo aver apportato delle modifiche a /etc/apt/sources.list, /etc/sources.list o /etc/apt/preferences. Può essere eseguito periodicamente per verificare che la propria lista di pacchetti sia aggiornata.

apt update

apt-get upgrade

Scarica e installa gli aggiornamenti per tutti i pacchetti installati. Non sarà rimosso alcun pacchetto installato: se un aggiornamento di un pacchetto richiede la rimozione di un altro pacchetto, l'aggiornamento non sarà effettuato.

apt upgrade

apt-get dist-upgrade

Aggiorna l'intero sistema ad una nuova versione. Delega APT a svolgere tutti i compiti necessari all'aggiornamento dell'intera distribuzione, se necessario, anche l'eventuale rimozione di pacchetti installati.

apt full-upgrade

Esegue le stesse funzioni di apt upgrade, ma rimuove i pacchetti attualmente installati se richiesto per aggiornare il sistema.

Installazione e rimozione pacchetti

Per quanto riguarda l'installazione e la rimozione dei pacchetti dal sistema, di seguito vengono elencati i comandi più comuni:

Comandi

apt-get install packagename

Installa un nuovo pacchetto.

apt install packagename

apt-get remove packagename

Rimuove un pacchetto, senza rimuovere i file di configurazione.

apt remove packagename

apt-get purge packagename

Rimuove un pacchetto, compresi tutti i file di configurazione.

apt purge packagename

apt-get autoremove

Rimuove tutti i pacchetti che sono stati automaticamente installati per soddisfare le dipendenze di altri pacchetti, ma che ora non sono più richiesti. Questo può essere dovuto ad un cambio di dipendenze, oppure perché i pacchetti che li richiedevano sono stati rimossi. Prima di procedere con le modifiche, controllare che la lista di pacchetti indicata per la rimozione non contenga applicazioni importanti.

apt autoremove

apt-get autoremove packagename

Rimuove un pacchetto e tutte le dipendenze inutilizzate.

apt-get -f install

Tenta di di riparare i pacchetti con delle dipendenze non soddisfatte.

apt-get --reinstall install packagename

Reinstalla pacchetti che sono già installati e all'ultima versione.

Per un elenco completo dei comandi e delle opzioni disponibili per apt-get, digitare nel terminale il comando seguente:

man apt-get

La riga di comando è potente, ma la digitazione è una prassi lenta. È tuttavia possibile rinominare i comandi più lunghi con altri più corti, inserendoli alla fine del file ~/.bashrc. Di seguito ne viene presentato un esempio:

alias acs='apt-cache search'
alias agu='sudo apt-get update'
alias agg='sudo apt-get upgrade'
alias agd='sudo apt-get dist-upgrade'
alias agi='sudo apt-get install'
alias agr='sudo apt-get remove'

Pulizia della cache

Dopo aver scaricato ed installato nel sistema un pacchetto, apt-get ne mantiene una copia (in formato *.deb) all'interno della propria cache, localizzabile in /var/cache/apt/archives/. L'applicazione memorizza nella cache i file .deb di tutti i pacchetti, sia di quelli tuttora installati che di quelli in seguito rimossi. Con il passare del tempo, questa sorta di archivio di sicurezza può assumere dimensioni irragionevoli. Di seguito sono elencati alcuni comandi utili alla pulizia della cache.

Comandi

apt-get autoclean

Eseguito periodicamente, cancella tutti gli archivi .deb dei pacchetti che non sono più installati nel sistema. È utile per liberare spazio su disco.

apt-get clean

È molto più radicale, poiché rimuove dalla cache di APT ogni file .deb, anche quelli relativi ai pacchetti correntemente installati. Generalmente, una volta installato un pacchetto, non si necessiterà più del dei file .deb, quindi potrebbe essere una buona soluzione per risolvere problemi di spazio.

Altre operazioni

In questa sezione vengono elencati alcuni comandi utili alla ricerca dei pacchetti all'interno del database e delle informazioni riguardanti il contenuto di essi:

Comandi

apt-cache search string

Cerca una stringa nella lista dei pacchetti conosciuti.

apt search string

apt-cache show pkgs

Visualizza tutte le informazioni riguardanti un pacchetto, similmente a dpkg --print-avail

apt show pkgs

apt-cache showpkg pkgs

Mostra alcune informazioni riguardo ai pacchetti.

apt-cache dumpavail

Stampa una lista di tutti i pacchetti disponibili.

apt-cache depends pkgs

Visualizza le dipendenze e i conflitti dei pacchetti selezionati.

apt-cache policy pkgs

Nel caso siano disponibili numerose versioni dei pacchetti selezionati, visualizza la versione attualmente installata e il repository di origine.

apt-cache pkgnames

Lista veloce di ogni pacchetto del sistema.

apt-file search filename

Cerca un pacchetto (anche non installato) che contenga i file individuati dalla stringa. Apt-file è un pacchetto indipendente, e deve essere installato tramite il comando sopra citato. Una volta installato, è utile aggiornare il database dei pacchetti con il comando apt-file update. Se apt-file search filename mostra troppe informazioni, si può provare con il comando apt-file search filename | grep -w filename (che mostra solo i file che contengono suddetta parola) o una variante come apt-file search filename | grep /bin/ che mostra solo i file localizzati nelle directory come /bin o /usr/bin, utile nel caso che l'obiettivo della ricerca sia un particolare eseguibile.

Altri comandi diversi da APT

Di seguito sono elencati alcuni comandi, diversi da quelli già discussi di APT, ma di una certa utilità:

Comandi

aptitude {update | upgrade}
aptitude {install | remove} <pacchetto>

Visualizzatore di tutti i pacchetti installati o disponibili. Aptitude può essere usato da linea di comando nello stesso modo di apt-get, ma solo per alcuni comandi, i più usati sono install e remove. Poichè tiene traccia di molte più informazioni di apt-get, aptitude ha, in certe situazioni, un maggiore grado di affidabilità.

dpkg -l package-name-pattern

Lista dei pacchetti individuati dalla stringa di ricerca.

dpkg -S file

Dato un file, mostra il pacchetto che ha provveduto alla sua installazione nel sistema.

dpkg -L package

Lista dei file presenti nel pacchetto.

Esempio installazione

In questo esempio viene mostrato come cercare ed installare il pacchetto deskbar con apt-get:

Esempio.gif

Impostare un proxy per il download dei pacchetti

È possibile scaricare i pacchetti attraverso un proxy. A tale scopo, ci sono tre metodi da poter seguire.

All'interno di questa sezione, con la dicitura http://indirizzodelproxy:porta si vuole indicare l'indirizzo web del proxy che si desidera usare. Sostituire tale espressione con l'indirizzo reale del proprio proxy.

Configurazione manuale

È possibile abilitare manualmente un proxy, ogni qual volta lo si ritenga necessario. Per far ciò, digitare nel terminale il seguente comando:

export http_proxy=http://indirizzodelproxy:porta

La configurazione risultante avrà una validità temporanea, una volta riavviato il sistema le precedenti impostazioni andranno perse.

Impostazioni automatiche per apt-get

Per configurare apt-get affinché scarichi i pacchetti sempre tramite un proxy, è necessario creare e modificare, secondo le proprie esigenze, il file /etc/apt/apt.conf. Per far ciò, è utile aprire suddetto file con un editor di testo, i.e:

sudo nano /etc/apt/apt.conf

Una volta aperto l'editor, inserire queste righe all'interno del file:

Acquire::http::Proxy "http://indirizzodelproxy:porta";

Impostazioni automatiche per wget

È inoltre possibile configurare un proxy per il programma wget: in questo modo sia apt-get che tutte le altre applicazioni che si appoggiano a tale strumento, scaricheranno i dati dalla rete attraverso il proxy desiderato.

Per modificare le impostazioni di wget è utile aprire con un editor il file nascosto .bashrc, presente all'interno della propria Home. Un utente di Gnome, ad esempio, potrà digitare il seguente comando:

gedit ./.bashrc

Una volta aperto il file, aggiungere le seguenti righe alla fine di esso:

http_proxy=http://indirizzodelproxy:porta
export http_proxy

Pacchetti aggiuntivi

Pacchetti come deborphan, debfoster e kleansweep possono risultare utili alla scopo di mantenere il sistema pulito e a rimuovere i pacchetti orfani (cioè, non più utili a soddisfare dipendenze di altri pacchetti).

L'uso di queste applicazioni è sconsigliato agli utenti meno esperti. Un uso non corretto potrebbe causare dei danni irrimediabili al sistema.

Backup e ripristino delle applicazioni installate

Come operazione preliminare è consigliato pulire il sistema da tutti i pacchetti non utilizzati. Digitare il seguente comando:

sudo apt-get autoremove

e infine digitare il seguente comando:

dpkg --get-selections > installed-software.log

Verrà creato un file installed-software.log contenente la lista delle applicazioni installate sul sistema.

Per eseguire il ripristino, copiare all'interno della propria Home il file contenente l'elenco delle applicazioni installate (nell'esempio di sopra installed-software.log), aprire una finestra di terminale e digitare i seguenti comandi:

sudo dpkg --set-selections < ./installed-software.log && apt-get dselect-upgrade

Prima di effettuare questa operazione, è consigliato ripristinare il file /etc/apt/sources.list come nella precedente installazione, in modo tale da consentire a apt-get di ritrovare tutti i pacchetti precedentemente installati.

Ulteriori risorse


CategoryAmministrazione