Dimensione: 11536
Commento:
|
← Versione 66 del 14/07/2024 11.35.21 ⇥
Dimensione: 19898
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
## page was renamed from Apt | ## page was renamed from AmministrazioneSistema/Apt ## docs intrepid |
Linea 5: | Linea 6: |
[[BR]] [[Indice()]] |
<<BR>> <<Indice(depth=2)>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=431132"; rilasci="24.04 22.04 21.10 20.04 18.04 16.04")>> |
Linea 10: | 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).|| | In questa pagina viene schematicamente presentato '''APT''' (Advanced Package Tool), il sistema di gestione dei pacchetti predefinito in Ubuntu. <<BR>> Verranno descritti, fra gli altri, i comandi '''apt''' (predefinito da Ubuntu 16.04 LTS), '''apt-get''', '''apt-cache''' e '''apt-file'''. |
Linea 14: | Linea 16: |
[[BR]][[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 [[AmministrazioneSistema/InstallareProgrammi/DaSorgenti|compilare]] ogni programma che volevano usare sui loro sistemi [[https://it.wikipedia.org/wiki/Linux|GNU/Linux]]. Quando fu creata [[https://www.debian.org/|Debian]], fu ritenuto necessario che il sistema incorporasse un metodo di gestione dei pacchetti installati sulla macchina. A questo sistema fu dato il nome [[https://it.wikipedia.org/wiki/Dpkg|dpkg]]. Fu così che nacque il famoso "pacchetto" nel mondo GNU/Linux, poco prima che [[https://www.redhat.com|Red Hat]] decidesse di creare il proprio "[[https://it.wikipedia.org/wiki/RPM_Package_Manager|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 [[https://wiki.debian.org/it/Apt|APT (Advanced Packaging Tool)]], che poi è stato adattato da Conectiva per usarlo insieme a rpm e in seguito è stato adottato anche da altre distribuzioni. [...]'' ([[https://www.debian.org/doc/manuals/project-history/project-history.it.txt|Breve storia di Debian]]) ## documento non più online: http://www.debian.org/doc/manuals/apt-howto/index.it.html (Debian APT HOWTO); inserita provvisoriamente storia di Debian; |
Linea 20: | Linea 23: |
{{{#!wiki note Tutti i comandi di '''apt''' che prevedono modifiche al sistema (installazione, rimozione, aggiornamento di pacchetti ecc.) necessitano dei [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]]. }}} {{{#!wiki tip [[AmministrazioneSistema/InstallareProgrammi|Installando]] il pacchetto [[apt://apt-dpkg-ref|apt-dpkg-ref]] sarà disponibile nella cartella `/usr/share/doc/apt-dpkg-ref` una lista dei principali comandi e opzioni dei programmi '''apt''' e '''[[AmministrazioneSistema/InstallareProgrammi/Dpkg|dpkg]]'''.<<BR>> Questa lista è disponibile in vari formati, come ad esempio file `pdf.gz` o `.html` (che possono essere aperti rispettivamente con un visualizzatore di documenti o con un [[InternetRete/Navigazione|browser]]), e può essere [[AmministrazioneSistema/ComandiBase#cp|copiata]] nella propria '''Home''' per essere consultata e/o stampata più comodamente. }}} == Differenza fra apt e apt-get == A partire da Ubuntu 16.04 LTS è consigliato l'utilizzo del comando '''apt''' in luogo di '''apt-get'''. Infatti, anche se è sempre possibile utilizzare quest'ultimo comando, '''apt''' è considerato il metodo predefinito delle ultime versioni. Comporta inoltre diversi vantaggi, fra cui: * sintassi dei comandi semplificata; * integrazione in un unico comando di '''apt-get''', '''apt-cache''' e altre funzioni minori; * sono preattivate alcune utili opzioni (barra di avanzamento durante le operazioni, anteprima dei pacchetti aggiornabili, uso del colore per alcuni campi di interesse ecc.). <<Anchor(update)>> |
|
Linea 22: | Linea 43: |
Quello che segue è un breve elenco di comandi utili all'aggiornamento dei pacchetti installati nel sistema tramite '''apt-get'''. ||||<style="background-color:#FEB76D;":>'''Comandi'''|| ||<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. || 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 }}} |
Quello che segue è un breve elenco di comandi utili all'aggiornamento dei pacchetti installati nel sistema. ||<:-2>'''Comandi'''|| ||<27%> '''apt update''' ||<|2 (> Aggiorna la lista dei pacchetti disponibili dai [[Repository|repository]]. Va lanciato, ad esempio, dopo aver apportato delle modifiche a `/etc/apt/sources.list` o `/etc/apt/preferences` (se presente), oppure quando si aggiunge o modifica un file nella cartella `/etc/apt/sources.list.d`. Inoltre aggiorna le informazioni, sui pacchetti installati, archiviate nella directory `/var/lib/apt/lists`. Andrebbe eseguito periodicamente per verificare che la propria lista di pacchetti sia aggiornata. || || '''apt-get update''' || || '''apt upgrade''' ||<|2 (> Scarica e installa gli aggiornamenti per tutti i pacchetti installati. Non sarà rimosso alcun pacchetto installato: se l'aggiornamento di un pacchetto richiede la rimozione di un altro pacchetto, l'aggiornamento non sarà effettuato. || || '''apt-get upgrade''' || || '''apt full-upgrade''' || Aggiorna l'intero sistema ad una nuova versione. Delega APT a svolgere tutti i compiti necessari per l'aggiornamento dell'intera distribuzione. Provvede anche, se necessario, all'eventuale rimozione di pacchetti installati. || || '''apt-get dist-upgrade''' || Esegue le stesse funzioni di '''apt upgrade''', ma rimuove eventuali pacchetti attualmente installati, se richiesto dall'aggiornamento del sistema. || || '''apt-mark hold''' ''nome_pacchetto'' || Blocca un pacchetto alla versione installata impedendo l'aggiornamento. || || '''apt-mark unhold''' ''nome_pacchetto'' || Sblocca un pacchetto dalla versione installata permettendo l'aggiornamento. || || '''apt-mark showhold''' || Elenca i pacchetti bloccati. || |
Linea 36: | Linea 58: |
Per quanto riguarda l'installazione e la rimozione dei pacchetti dal sistema, di seguito vengono elencate i comandi più comuni: ||||<style="background-color:#FEB76D;":>'''Comandi'''|| ||<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. || La [:AmministrazioneSistema/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 quanto riguarda l'installazione e la rimozione dei pacchetti dal sistema, di seguito vengono elencati i comandi più comuni: ||<:-2>'''Comandi'''|| ||<27%> '''apt install ''' ''nome_pacchetto'' ||<|2 (> Installa un nuovo pacchetto. || || '''apt-get install''' ''nome_pacchetto'' || || '''apt remove''' ''nome_pacchetto'' ||<|2 (> Rimuove un pacchetto, senza rimuovere i file di configurazione. || || '''apt-get remove''' ''nome_pacchetto'' || || '''apt purge''' ''nome_pacchetto'' ||<|2 (> Rimuove un pacchetto, compresi tutti i file di configurazione. || || '''apt-get purge''' ''nome_pacchetto'' || || '''apt 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 e/o che si desidera mantenere.<<BR>>Utilizzato con l'opzione `--purge` elimina anche i file di configurazione dei pacchetti così rimossi. || || '''apt-get autoremove''' || || '''apt autopurge''' ||<|2 (> Rimuove tutti i pacchetti compresi i file di configurazione 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 e/o che si desidera mantenere. || || '''apt-get autopurge''' || || '''apt-get autoremove''' ''nome_pacchetto'' || Rimuove un pacchetto e tutte le dipendenze inutilizzate. || || '''apt -f install''' ||<|2 (> Tenta di di riparare le inconsistenze dei pacchetti con delle dipendenze non soddisfatte. || || '''apt-get -f install''' || || '''apt reinstall''' ''nome_pacchetto'' ||<|2 (> Reinstalla pacchetti che sono già installati e all'ultima versione. || || '''apt-get reinstall''' ''nome_pacchetto'' || Per un elenco completo dei comandi e delle opzioni disponibili per '''apt''' e '''apt-get''', digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ man apt }}} oppure: {{{ man apt-get }}} <<Anchor(puliziacache)>> == Pulizia della cache == Dopo aver aver aggiornato o installato uno o più pacchetti, '''apt''' e '''apt-get''' mantengono all'interno della propria cache una copia di sicurezza dei pacchetti scaricati all'interno della cartella `/var/cache/apt/archives/`.<<BR>> Così facendo vengono salvati tutti i file in formato `.deb` relativi ai i pacchetti installati o aggiornati, anche se rimossi in seguito. Per questo motivo, con il passare del tempo, questi file possono occupare spazio considerevole. Di seguito sono quindi elencati alcuni comandi per la pulizia della cache utili da eseguire periodicamente. ||<:-2>'''Comandi'''|| ||<27%> '''apt autoclean''' ||<|2 (> Cancella tutti i file `.deb` relativi ai pacchetti non più installati nel sistema. || || '''apt-get autoclean''' || || '''apt clean''' ||<|2 (> Rimuove dalla cache di '''APT''' ogni file `.deb`, anche quelli relativi ai pacchetti correntemente installati o aggiornati. Può liberare più spazio del comando precedente. || || '''apt-get clean''' || <<Anchor(downgrade)>> == Downgrade == Nel caso un pacchetto appena aggiornato causi dei problemi, è possibile installare una versione precedente. {{{#!wiki important Il downgrade di uno o più pacchetti potrebbe comportare problemi al sistema. Si raccomanda di effettuare l'operazione solo in casi di emergenza e/o di effettiva necessità. }}} {{{#!wiki note Il downgrade di un singolo pacchetto può comportare contestualmente la retrocessione di più pacchetti dipendenti.<<BR>> Nei comandi successivi è presente la dicitura «`nome_pacchetto`», da sostituire con il nome effettivo del pacchetto. }}} 0. Individuare la versione attualmente installata del pacchetto interessato digitando nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{ dpkg -l nome_pacchetto }}} 0. Per visualizzare le versioni disponibili del pacchetto digitare:{{{ apt-cache policy nome_pacchetto }}} A seconda dei casi la lista potrebbe essere poco o molto lunga. 0. Prendere nota delle due versioni (quella installata e quella precedente che di desidera installare). 0. Eseguire l'installazione del pacchetto alla versione desiderata con il seguente comando:{{{ sudo apt install nome_pacchetto=numero_versione_pacchetto }}} sostituendo «`numero_versione_pacchetto`» con la versione precedentemente appuntata (ad esempio «`libcool=41.4-gtk3-0ubuntu1.amd64.deb`»). 0. Premere il tasto '''Y''' o '''S''' per accettare e avviare il downgrade del pacchetto. 0. [[#update|Bloccare]] il pacchetto alla versione precedente, per evitarne l'aggiornamento. In un successivo momento, quando si desidererà aggiornare il pacchetto, sarà possibile sbloccarlo e aggiornare la lista dei pacchetti (consultare il relativo [[#update|paragrafo]]). == 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: ||<:-2>'''Comandi'''|| ||<20%> '''apt search''' ''stringa'' ||<|2 (> Cerca una stringa nella lista dei pacchetti conosciuti. || || '''apt-cache search''' ''stringa'' || || '''apt show''' ''pkgs'' ||<|2 (> Visualizza tutte le informazioni riguardanti un pacchetto, similmente a '''dpkg --print-avail''' || || '''apt-cache 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 rdepends''' ''pkgs'' || Visualizza i dipendenti 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''' ''nome_file'' || Cerca un pacchetto (anche non installato) che contenga i file individuati dalla stringa. Richiede l'[[AmministrazioneSistema/InstallareProgrammi|installazione]] del pacchetto [[apt://apt-file|apt-file]]. Una volta installato, aggiornare il database dei pacchetti con il comando '''apt-file update'''.<<BR>>Qualora venissero mostrate troppe informazioni da consultare, è possibile usare i seguenti comandi alternativi: <<BR>> • '''apt-file search ''nome_file'' | grep -w ''nome_file''''' che mostra solo i file che contengono la parola ricercata.<<BR>> • '''apt-file search ''nome_file'' | grep /bin/''' che mostra solo i file localizzati in directory come `/bin` o `/usr/bin`, utile in caso di ricerca di file eseguibili. || || '''apt-file list''' ''nome_file'' || Lista dei file presenti nel pacchetto, similmente a '''dpkg -L''' ''nome_pacchetto''. Richiede l'[[AmministrazioneSistema/InstallareProgrammi|installazione]] del pacchetto [[apt://apt-file|apt-file]]. || == Altri comandi diversi da APT == Di seguito sono elencati altri comandi non legati ad '''APT''' che possono risultare utili in alcune situazioni: ||<:-2>'''Comandi'''|| ||<20%> '''aptitude''' {update | upgrade}<<BR>> '''aptitude''' {install | remove} ''nome_pacchetto'' || Visualizzatore di tutti i pacchetti installati o disponibili. Il programma '''Aptitude''' tiene traccia di molte più informazioni rispetto ad '''apt''' o '''apt-get''' e può avere talvolta un maggiore grado di affidabilità. Per maggiori informazioni consultare la relativa '''[[AmministrazioneSistema/InstallareProgrammi/Aptitude|guida]]'''. || || '''dpkg -l''' ''nome_pacchetto_nel_pattern'' || Lista dei pacchetti individuati dalla stringa di ricerca. || || '''dpkg -S''' ''nome_file'' || Dato un file, mostra il pacchetto che ha provveduto alla sua installazione nel sistema. || || '''dpkg -L''' ''nome_pacchetto'' || Lista dei file presenti nel pacchetto. || = Esempio installazione = A titolo di esempio esplicativo, nella seguente immagine viene mostrato come cercare e installare il pacchetto ''elinks'' con '''apt''': {{attachment:Esempio2.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. {{{#!wiki note 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 [[AmministrazioneSistema/Terminale|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`. A tal fine: 0. Aprire il file `/etc/apt/apt.conf` con un [[Ufficio/EditorDiTesto|editor di testo]]. 0. 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 utilizzano tale strumento, scaricheranno i dati dalla rete attraverso il proxy desiderato. Per modificare le impostazioni di '''wget''': 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file nascosto `.bashrc`, presente all'interno della propria '''Home'''. 0. Aggiungere le seguenti righe alla fine di esso:{{{ http_proxy=http://indirizzodelproxy:porta export http_proxy }}} = Pacchetti aggiuntivi = Pacchetti come ''deborphan'', ''debfoster'' e ''kleansweep'', con le loro relative funzioni, 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). Per maggiori informazione consultare i manuali dei relativi programmi. {{{#!wiki important 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 = {{{#!wiki note In caso di presenza di pacchetti non presenti nei [[Repository|repository]] di Ubuntu adottare eventualmente la soluzione più adatta alla propria situazione (ad esempio eseguire un backup della cartella `/etc/apt/sources.list.d` oppure scaricare preventivamente i file `.deb` di proprio interesse da Internet ecc.). }}} Per eseguire il backup: 0. Se necessario, eseguire un backup del file `/etc/apt/sources.list`. 0. Come operazione preliminare è consigliato pulire il sistema da tutti i pacchetti non utilizzati. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando: {{{ sudo apt-get autoremove }}} 0. Digitare il comando:{{{ dpkg --get-selections > installed-software.log }}} Verrà quindi creato un file `installed-software.log` contenente la lista delle applicazioni installate sul sistema. Per eseguire il ripristino: 0. Se necessario, ripristinare il file `/etc/apt/sources.list` precedentemente salvato. 0. Copiare all'interno della propria '''Home''' il file contenente l'elenco delle applicazioni installate salvato in precedenza (nell'esempio precedente `installed-software.log`). 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{ sudo dpkg --set-selections < ./installed-software.log && apt-get dselect-upgrade }}} = Digitazione rapida dei comandi comuni = La [[AmministrazioneSistema/Terminale|riga di comando]] è uno strumento molto potente. Tuttavia per alcuni utenti potrebbe risultare scomodo digitare comandi anche lunghi oppure memorizzarli. Di seguito sono quindi descritti alcune semplici e utili funzioni di '''[[Programmazione/LinguaggioBash|Bash]]''', shell predefinita nella linea di comando di Ubuntu. * '''Cronologia''': digitando i tasti direzionali superiore e inferiore sarà possibile accedere ai comandi digitati di recente. Questa funzionalità risulterà pertanto utile, ad esempio, se si esegue di frequente l'aggiornamento del sistema da terminale. * '''Comandi rapidi''': è possibile rinominare i comandi più lunghi con altri più corti scelti dall'utente (ad esempio: `agu` invece di `sudo apt-get update`). A tale fine modificare con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.bashrc`, inserendo alla fine del testo delle righe come nel seguente esempio:{{{ |
Linea 54: | Linea 241: |
[[Anchor(puliziacache)]] == 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. ||||<style="background-color:#FEB76D;":>'''Comandi'''|| ||<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. || == Altre operazioni == In questa sezione vengono elencati alcuni comandi utili alla ricerca dei pacchetti all'interno del database e alle informazioni riguardanti il contenuto di essi: ||||<style="background-color:#FEB76D;":>'''Comandi'''|| ||<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 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à: ||||<style="background-color:#FEB76D;":>'''Comandi'''|| ||<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. || = Esempio installazione = In questo esempio viene mostrato come cercare ed installare il pacchetto ''deskbar'' con '''apt-get''': attachment: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. ||||<style="background-color:#FEB76D;":>'''Comandi'''|| ||<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.''|| == Configurazione manuale == È 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: {{{ 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 [:Ufficio/EditorDiTesto: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). ||<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.'''|| |
|
Linea 144: | Linea 243: |
* [:AmministrazioneSistema/AptProxy:Guida ad apt-proxy] * [:AmministrazioneSistema/Aptitude:Guida a aptitude] * [http://www.debian.org/doc/manuals/apt-howto/index.it.html Manuale Debian di Apt] * [:SourcesList:Buoni esempi di sources.list] * [:AmministrazioneSistema/ComandiBase:Guida all'uso dei comandi base] |
* [[http://manpages.ubuntu.com/manpages/bionic/en/man8/apt.8.html|Manpage di apt per Ubuntu 18.04 LTS]] * [[AmministrazioneSistema/AptProxy|Guida ad apt-proxy]] * [[AmministrazioneSistema/InstallareProgrammi/Aptitude|Guida a aptitude]] * [[AmministrazioneSistema/InstallareProgrammi/Dpkg|Guida a dpkg]] * [[https://www.debian.org/doc/manuals/apt-howto/index.it.html|Manuale Debian di APT]] * [[https://guide.debianizzati.org/index.php/APT| Apt]] (guida su Debianizzati) * [[Repository/SourcesList|Esempi di file sources.list ottimali]] * [[AmministrazioneSistema/ComandiBase|Guida all'uso dei comandi base]] |
Guida verificata con Ubuntu: 20.04 22.04 24.04
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.
Verranno descritti, fra gli altri, i comandi apt (predefinito da Ubuntu 16.04 LTS), apt-get, apt-cache e apt-file.
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. [...]
Comandi
Tutti i comandi di apt che prevedono modifiche al sistema (installazione, rimozione, aggiornamento di pacchetti ecc.) necessitano dei privilegi di amministrazione.
Installando il pacchetto apt-dpkg-ref sarà disponibile nella cartella /usr/share/doc/apt-dpkg-ref una lista dei principali comandi e opzioni dei programmi apt e dpkg.
Questa lista è disponibile in vari formati, come ad esempio file pdf.gz o .html (che possono essere aperti rispettivamente con un visualizzatore di documenti o con un browser), e può essere copiata nella propria Home per essere consultata e/o stampata più comodamente.
Differenza fra apt e apt-get
A partire da Ubuntu 16.04 LTS è consigliato l'utilizzo del comando apt in luogo di apt-get. Infatti, anche se è sempre possibile utilizzare quest'ultimo comando, apt è considerato il metodo predefinito delle ultime versioni. Comporta inoltre diversi vantaggi, fra cui:
- sintassi dei comandi semplificata;
integrazione in un unico comando di apt-get, apt-cache e altre funzioni minori;
- sono preattivate alcune utili opzioni (barra di avanzamento durante le operazioni, anteprima dei pacchetti aggiornabili, uso del colore per alcuni campi di interesse ecc.).
Aggiornamento del sistema
Quello che segue è un breve elenco di comandi utili all'aggiornamento dei pacchetti installati nel sistema.
Comandi |
|
apt update |
Aggiorna la lista dei pacchetti disponibili dai repository. Va lanciato, ad esempio, dopo aver apportato delle modifiche a /etc/apt/sources.list o /etc/apt/preferences (se presente), oppure quando si aggiunge o modifica un file nella cartella /etc/apt/sources.list.d. Inoltre aggiorna le informazioni, sui pacchetti installati, archiviate nella directory /var/lib/apt/lists. Andrebbe eseguito periodicamente per verificare che la propria lista di pacchetti sia aggiornata. |
apt-get update |
|
apt upgrade |
Scarica e installa gli aggiornamenti per tutti i pacchetti installati. Non sarà rimosso alcun pacchetto installato: se l'aggiornamento di un pacchetto richiede la rimozione di un altro pacchetto, l'aggiornamento non sarà effettuato. |
apt-get upgrade |
|
apt full-upgrade |
Aggiorna l'intero sistema ad una nuova versione. Delega APT a svolgere tutti i compiti necessari per l'aggiornamento dell'intera distribuzione. Provvede anche, se necessario, all'eventuale rimozione di pacchetti installati. |
apt-get dist-upgrade |
Esegue le stesse funzioni di apt upgrade, ma rimuove eventuali pacchetti attualmente installati, se richiesto dall'aggiornamento del sistema. |
apt-mark hold nome_pacchetto |
Blocca un pacchetto alla versione installata impedendo l'aggiornamento. |
apt-mark unhold nome_pacchetto |
Sblocca un pacchetto dalla versione installata permettendo l'aggiornamento. |
apt-mark showhold |
Elenca i pacchetti bloccati. |
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 install nome_pacchetto |
Installa un nuovo pacchetto. |
apt-get install nome_pacchetto |
|
apt remove nome_pacchetto |
Rimuove un pacchetto, senza rimuovere i file di configurazione. |
apt-get remove nome_pacchetto |
|
apt purge nome_pacchetto |
Rimuove un pacchetto, compresi tutti i file di configurazione. |
apt-get purge nome_pacchetto |
|
apt 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 e/o che si desidera mantenere. |
apt-get autoremove |
|
apt autopurge |
Rimuove tutti i pacchetti compresi i file di configurazione 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 e/o che si desidera mantenere. |
apt-get autopurge |
|
apt-get autoremove nome_pacchetto |
Rimuove un pacchetto e tutte le dipendenze inutilizzate. |
apt -f install |
Tenta di di riparare le inconsistenze dei pacchetti con delle dipendenze non soddisfatte. |
apt-get -f install |
|
apt reinstall nome_pacchetto |
Reinstalla pacchetti che sono già installati e all'ultima versione. |
apt-get reinstall nome_pacchetto |
Per un elenco completo dei comandi e delle opzioni disponibili per apt e apt-get, digitare nel terminale:
man apt
oppure:
man apt-get
Pulizia della cache
Dopo aver aver aggiornato o installato uno o più pacchetti, apt e apt-get mantengono all'interno della propria cache una copia di sicurezza dei pacchetti scaricati all'interno della cartella /var/cache/apt/archives/.
Così facendo vengono salvati tutti i file in formato .deb relativi ai i pacchetti installati o aggiornati, anche se rimossi in seguito. Per questo motivo, con il passare del tempo, questi file possono occupare spazio considerevole. Di seguito sono quindi elencati alcuni comandi per la pulizia della cache utili da eseguire periodicamente.
Comandi |
|
apt autoclean |
Cancella tutti i file .deb relativi ai pacchetti non più installati nel sistema. |
apt-get autoclean |
|
apt clean |
Rimuove dalla cache di APT ogni file .deb, anche quelli relativi ai pacchetti correntemente installati o aggiornati. Può liberare più spazio del comando precedente. |
apt-get clean |
Downgrade
Nel caso un pacchetto appena aggiornato causi dei problemi, è possibile installare una versione precedente.
Il downgrade di uno o più pacchetti potrebbe comportare problemi al sistema. Si raccomanda di effettuare l'operazione solo in casi di emergenza e/o di effettiva necessità.
Il downgrade di un singolo pacchetto può comportare contestualmente la retrocessione di più pacchetti dipendenti.
Nei comandi successivi è presente la dicitura «nome_pacchetto», da sostituire con il nome effettivo del pacchetto.
Individuare la versione attualmente installata del pacchetto interessato digitando nel terminale il comando:
dpkg -l nome_pacchetto
Per visualizzare le versioni disponibili del pacchetto digitare:
apt-cache policy nome_pacchetto
A seconda dei casi la lista potrebbe essere poco o molto lunga.- Prendere nota delle due versioni (quella installata e quella precedente che di desidera installare).
Eseguire l'installazione del pacchetto alla versione desiderata con il seguente comando:
sudo apt install nome_pacchetto=numero_versione_pacchetto
sostituendo «numero_versione_pacchetto» con la versione precedentemente appuntata (ad esempio «libcool=41.4-gtk3-0ubuntu1.amd64.deb»).
Premere il tasto Y o S per accettare e avviare il downgrade del pacchetto.
Bloccare il pacchetto alla versione precedente, per evitarne l'aggiornamento.
In un successivo momento, quando si desidererà aggiornare il pacchetto, sarà possibile sbloccarlo e aggiornare la lista dei pacchetti (consultare il relativo paragrafo).
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 search stringa |
Cerca una stringa nella lista dei pacchetti conosciuti. |
apt-cache search stringa |
|
apt show pkgs |
Visualizza tutte le informazioni riguardanti un pacchetto, similmente a dpkg --print-avail |
apt-cache 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 rdepends pkgs |
Visualizza i dipendenti 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 nome_file |
Cerca un pacchetto (anche non installato) che contenga i file individuati dalla stringa. Richiede l'installazione del pacchetto apt-file. Una volta installato, aggiornare il database dei pacchetti con il comando apt-file update. |
apt-file list nome_file |
Lista dei file presenti nel pacchetto, similmente a dpkg -L nome_pacchetto. Richiede l'installazione del pacchetto apt-file. |
Altri comandi diversi da APT
Di seguito sono elencati altri comandi non legati ad APT che possono risultare utili in alcune situazioni:
Comandi |
|
aptitude {update | upgrade} |
Visualizzatore di tutti i pacchetti installati o disponibili. Il programma Aptitude tiene traccia di molte più informazioni rispetto ad apt o apt-get e può avere talvolta un maggiore grado di affidabilità. Per maggiori informazioni consultare la relativa guida. |
dpkg -l nome_pacchetto_nel_pattern |
Lista dei pacchetti individuati dalla stringa di ricerca. |
dpkg -S nome_file |
Dato un file, mostra il pacchetto che ha provveduto alla sua installazione nel sistema. |
dpkg -L nome_pacchetto |
Lista dei file presenti nel pacchetto. |
Esempio installazione
A titolo di esempio esplicativo, nella seguente immagine viene mostrato come cercare e installare il pacchetto elinks con apt:
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. A tal fine:
Aprire il file /etc/apt/apt.conf con un editor di testo.
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 utilizzano tale strumento, scaricheranno i dati dalla rete attraverso il proxy desiderato.
Per modificare le impostazioni di wget:
Aprire con un editor di testo il file nascosto .bashrc, presente all'interno della propria Home.
Aggiungere le seguenti righe alla fine di esso:
http_proxy=http://indirizzodelproxy:porta export http_proxy
Pacchetti aggiuntivi
Pacchetti come deborphan, debfoster e kleansweep, con le loro relative funzioni, 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). Per maggiori informazione consultare i manuali dei relativi programmi.
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
In caso di presenza di pacchetti non presenti nei repository di Ubuntu adottare eventualmente la soluzione più adatta alla propria situazione (ad esempio eseguire un backup della cartella /etc/apt/sources.list.d oppure scaricare preventivamente i file .deb di proprio interesse da Internet ecc.).
Per eseguire il backup:
Se necessario, eseguire un backup del file /etc/apt/sources.list.
Come operazione preliminare è consigliato pulire il sistema da tutti i pacchetti non utilizzati. Digitare nel terminale il comando:
sudo apt-get autoremove
Digitare il comando:
dpkg --get-selections > installed-software.log
Verrà quindi creato un file installed-software.log contenente la lista delle applicazioni installate sul sistema.
Per eseguire il ripristino:
Se necessario, ripristinare il file /etc/apt/sources.list precedentemente salvato.
Copiare all'interno della propria Home il file contenente l'elenco delle applicazioni installate salvato in precedenza (nell'esempio precedente installed-software.log).
Digitare nel terminale il comando:
sudo dpkg --set-selections < ./installed-software.log && apt-get dselect-upgrade
Digitazione rapida dei comandi comuni
La riga di comando è uno strumento molto potente. Tuttavia per alcuni utenti potrebbe risultare scomodo digitare comandi anche lunghi oppure memorizzarli. Di seguito sono quindi descritti alcune semplici e utili funzioni di Bash, shell predefinita nella linea di comando di Ubuntu.
Cronologia: digitando i tasti direzionali superiore e inferiore sarà possibile accedere ai comandi digitati di recente. Questa funzionalità risulterà pertanto utile, ad esempio, se si esegue di frequente l'aggiornamento del sistema da terminale.
Comandi rapidi: è possibile rinominare i comandi più lunghi con altri più corti scelti dall'utente (ad esempio: agu invece di sudo apt-get update). A tale fine modificare con un editor di testo il file ~/.bashrc, inserendo alla fine del testo delle righe come nel seguente 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'
Ulteriori risorse
Apt (guida su Debianizzati)