Come usare apt-get: gestore di pacchetti in Ubuntu, LinuxMint, Debian

Sommario

Cos'è apt-get?
Il comando apt-get è uno strumento molto potente che arriva di default nelle distribuzioni come Debian, LinuxMint, Ubuntu si occupa della gestione della libreria dei pacchetti e come tale di installare, rimuovere, aggiornare e cercare i pacchetti per il sistema operativo dal comando di linea.
Cos'è apt-cache?
È un derivato di apt-get, la sua funzione principale è cercare i pacchetti che vogliamo installare usando la cache dopo aver aggiornato il nostro repository. Ma non possiamo solo cercare per installare, possiamo verificare quali pacchetti sono installati o informazioni sui pacchetti come la versione installata o se è disponibile un aggiornamento. È incluso come apt-get in molte distribuzioni con pacchetti deb.

Come visualizzare l'elenco dei pacchetti?


Possiamo elencare tutti i pacchetti disponibili per il sistema (E' una lista molto lunga).
 apt-cache pkgnames esseract-ocr-epo pipenightdreams mumudvb tbb-examples libsvm-java libmrpt-hmtslam0.9 libboost-timer1.50-dev kcm-touchpad g++ - 4.5-multilib… 

Come filtrare le ricerche per nome?


Per cercare un pacchetto che mostri una breve descrizione senza doverlo installare, usiamo il comando apt-cache insieme all'opzione di ricerca. Elencherà tutti i pacchetti che corrispondono alla tua ricerca, ad esempio se vogliamo installare un server FTP abbiamo bisogno del pacchetto vsftpd.
 apt-cache search vsftpd
Ma nel caso in cui vogliamo solo il nome senza descrizione che usiamo
 apt-cache pkgnames vsftpd

Vuoi maggiori informazioni sul Pacchetto?


Se vogliamo ottenere maggiori informazioni sul pacchetto come la sua versione o la dimensione in KB che usiamo
 apt-cache mostra netcat 
 Pacchetto: netcat Priorità: opzionale Sezione: universo / net Dimensioni installate: 30 Manutentore: Sviluppatori Ubuntu Mantainer originale: Ruben Molina Architettura: tutte Versione: 1.10-40 Dipende: netcat-traditional (> = 1.10-39) Nome file: pool / universo / n / netcat / netcat_1.10-40_all.deb Dimensione: 3340 MD5sum: 37c303f02b260481fa4fc9fb8b2c1004 SHA1: 0371a3950d6967480985aa014fbb6fb898bcea3a SHA256: eeecb4c93f03f455d2c3f57b0a1e83b54dbeced0918ae563784e86a37bcc16c9 Descrizione-in: coltellino svizzero TCP / IP - pacchetto di transizione Questo è un pacchetto "fittizio" dipende da Lenny Quella di default versione di netcat, per facilitare gli aggiornamenti. Può essere rimosso in sicurezza. Description-md5: 1353f8c1d079348417c2180319bdde09 Bug: https://bugs.launchpad.net/ubuntu/+filebug Origine: Ubuntu

Controlla le dipendenze richieste per i pacchetti


In tal caso usiamo showpkg e elencherà tutte le dipendenze necessarie per funzionare correttamente, installate o meno.
 apt-cache showpkg vsftpd
 Pacchetto: vsftpd Versioni: 2.3.5-3ubuntu1 (/var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages) Linguaggio di descrizione: File: /var/lib/apt/lists/in.archive.ubuntu. com_ubuntu_dists_quantal_main_binary-i386_Packages MD5: 81386f72ac91a5ea48f8db0b023f3f9b Descrizione Lingua: it File: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_i18n_Translation-en MD5: 81386f72ac91a5ea48f8db0b023f3f9b inversione Depends: ubumirror, vsftpd-server indurire, vsftpd dipendenze: 2.3.5- 3ubuntu1 - debconf (18 0.5) debconf-2.0 (0 (null)) upstart-job (0 (null)) libc6 (2 2.15) libcap2 (2 2.10) libpam0g (2 0.99.7.1) libssl1.0.0 (2 1.0.0 ) libwrap0 (2 7.6-4 ~) adduser (0 (null)) libpam-modules (0 (null)) netbase (0 (null)) logrotate (0 (null)) ftp-server (0 (null)) ftp- server (0 (null)) Fornisce: 2.3.5-3ubuntu1 - ftp-server
Nella sezione dipendenze verranno elencate in caso di averle ci dirà la versione altrimenti dirà null.

Controlla le statistiche della cache


Sappiamo che il comando apt-cache dipende dalla cache che abbiamo caricato, è utile sapere cosa abbiamo nella nostra cache perché usiamo le statistiche.
 statistiche apt-cache
 Nomi totali dei pacchetti: 51868 (1.037 k) Strutture totali dei pacchetti: 51868 (2.490 k) Pacchetti normali: 39505 Pacchetti virtuali puri: 602 Pacchetti virtuali singoli: 3819 Pacchetti virtuali misti: 1052 Mancanti: 6890 Totale versioni distinte: 43015 (2.753 k) Totale descrizioni distinte: 81048 (1.945 k) Totale dipendenze: 252299 (7.064 k) Totale relazioni vista/file: 45567 (729 k) Totale relazioni desc/file: 81048 (1.297 k) Totale Fornisce mappature: 8228 (165 k) Totale stringhe globbed : 286 (3.518) Spazio versione totale delle dipendenze: 1.145 k Spazio totale slack: 62,6 k Spazio totale preso in considerazione: 13,3 M
Vediamo lo spazio occupato e il numero di pacchetti disponibili filtrati per pieni o misti.

Aggiorna il sistema dei pacchetti


Usando update sincronizziamo la nostra lista di pacchetti con quelli del repository ufficiale così se è disponibile una nuova versione di ssh possiamo aggiornarla.
 sudo apt-get update
 Ign http://security.ubuntu.com quantal-security InRelease Ottieni: 1 http://security.ubuntu.com quantal-security Release.gpg [933 B] Ottieni: 2 http://security.ubuntu.com quantal- Security Release [49.6 kB] Ign http://in.archive.ubuntu.com quantal InRelease Ign http://in.archive.ubuntu.com quantal-updates InRelease Get: 3 http://repo.varnish-cache.org preciso InRelease [13.7 kB] Ign http://in.archive.ubuntu.com quantal-backports InRelease Hit http://in.archive.ubuntu.com quantal Release.gpg Ottieni: 4 http://security.ubuntu.com quantal-security/main Sources [34.8 kB] Ottieni: 5 http://in.archive.ubuntu.com quantal-updates Release.gpg [933 B] 

Aggiorna il sistema operativo con l'ultima versione dei pacchetti.


SE con apt-update aggiorniamo la lista dei pacchetti disponibili con apt-get upgrade installiamo tutti gli aggiornamenti che sono disponibili per il sistema.
 apt-get upgrade
 Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto I seguenti pacchetti sono stati mantenuti: linux-headers-generic linux-image-generic wine1.5 wine1.5-i386 I seguenti pacchetti verranno aggiornati: activity-log- manager-common attività-log-manager-control-center adium-theme-ubuntu alacarte alsa-base installazione-app-data-partner appmenu-gtk appmenu-gtk3 apport apport-gtk apt apt-transport-https apt-utils aptdaemon aptdaemon- data at-spi2-core bamfdaemon file di base bind9-host … 
Si consiglia di utilizzare i 2 comandi insieme aggiorniamo l'elenco e i pacchetti utilizzando
 sudo apt-get update && sudo apt-get upgrade

Aggiorna il sistema e installa nuovi pacchetti se necessario.


Quando usiamo upgrade, vengono installate le nuove versioni dei pacchetti e le loro dipendenze, in alcuni casi non verrà installato un pacchetto che richiede una nuova dipendenza, in questo caso usiamo dist-upgrade per aggiornare e installare nuove dipendenze se necessario, essere attenzione con questa opzione in un ambiente di produzione.
 sudo apt-get dist-upgrade

Come installare o aggiornare un pacchetto specifico?


Con questo evitiamo di aggiornare l'intero sistema e risparmiamo un po' di banda se vogliamo installare un solo pacchetto.
 sudo apt-get install netcat
 Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto Verranno installati i seguenti pacchetti aggiuntivi: netcat-traditional Verranno installati i seguenti NUOVI pacchetti: netcat netcat-traditional 0 aggiornati, 2 installati di recente, 0 da rimuovere e 328 non aggiornati . È necessario ottenere 67,1 kB di archivi. Dopo questa operazione verranno utilizzati 186 kB di spazio su disco aggiuntivo. Vuoi continuare [S / n]? y Ottieni: 1 http://in.archive.ubuntu.com/ubuntu/quantal / universo netcat-traditional i386 1.10-40 [63.8 kB] Ottieni: 2 http://in.archive.ubuntu.com/ubuntu/quantal / universo netcat all 1.10-40 [3.340 B] Recuperato 67,1 kB in 1s (37,5 kB / s) Selezione del pacchetto netcat-traditional precedentemente non selezionato. (Lettura del database… 216118 file e directory attualmente installati.) Decompressione di netcat-traditional (da… /netcat-traditional_1.10-40_i386.deb)… Selezione del pacchetto netcat precedentemente deselezionato. Disimballaggio di netcat (da… /netcat_1.10-40_all.deb)… Elaborazione dei trigger per man-db… Configurazione di netcat-traditional (1.10-40)… Configurazione di netcat (1.10-40)… 

Installa più pacchetti contemporaneamente


Dobbiamo continuare a usare apt-get install ma usando i pacchetti da installare come argomento.
 sudo apt-get install nehogs goaccess
 Lettura degli elenchi dei pacchetti… Fine Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fine goaccess è già la versione più recente. nethogs è già la versione più recente. 0 aggiornati, 0 installati di recente, 0 da rimuovere e 328 non aggiornati.

Installa i pacchetti usando un carattere jolly


Usando le espressioni regolari possiamo installare diversi pacchetti che contengono la stessa parola ad esempio * ssh * install client, server e add-on.
 sudo apt-get install '* ssh *' 

Installa i pacchetti senza aggiornare.


Usando l'opzione -no-upgrade installeremo la versione base del pacchetto ma non il suo aggiornamento.
 sudo apt-get install nomepacchetto --no-upgrade
 Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto Salta vsftpd, è già installato e l'aggiornamento non è impostato. 0 aggiornati, 0 installati di recente, 0 da rimuovere e 328 non aggiornati. Aggiorna un pacchetto solo se è installato. Usiamo -only-upgrade per aggiornare un pacchetto solo se è installato altrimenti non lo installa molto utile negli script. sudo apt-get install nomepacchetto --only-upgrade Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto vsftpd è già la versione più recente. 0 aggiornati, 0 installati di recente, 0 da rimuovere e 328 non aggiornati. 

Aggiorna un pacchetto solo se è installato.


Usiamo -only-upgrade per aggiornare un pacchetto solo se è installato altrimenti non lo installa molto utile negli script.
 sudo apt-get install nomepacchetto --only-upgrade
 Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto vsftpd è già la versione più recente. 0 aggiornati, 0 installati di recente, 0 da rimuovere e 328 non aggiornati.

Installa una versione specifica di un pacchetto


Possiamo anche installare una versione specifica di un pacchetto, è una pratica comune ad esempio per java o NGINX.
 sudo apt-get install vsftpd = 2.3.5-3ubuntu1
 Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto vsftpd è già la versione più recente. 0 aggiornati, 0 installati di recente, 0 da rimuovere e 328 non aggiornati. 

Elimina un pacchetto ma senza toccarne la configurazione


Possiamo eliminarlo ma mantenendo tutti i suoi file di configurazione nel caso in cui dovessimo installarlo in futuro.
 sudo apt-get remove vsftpd
 Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto I seguenti pacchetti verranno RIMOSSI: vsftpd 0 aggiornato, 0 appena installato, 1 da rimuovere e 328 non aggiornato. Dopo questa operazione verranno liberati 364 kB di spazio su disco. Vuoi continuare [S / n]? y (Lettura del database… 216156 file e directory attualmente installati.) Rimozione di vsftpd… vsftpd stop / attesa Elaborazione dei trigger per ureadahead… Elaborazione dei trigger per man-db… 

Rimuovere completamente un pacchetto


Per rimuovere un pacchetto con tutti i suoi file e dipendenze utilizziamo l'opzione di eliminazione.
 sudo apt-get purge vsftpd
 Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto I seguenti pacchetti verranno RIMOSSI: vsftpd * 0 aggiornati, 0 installati di recente, 1 da rimuovere e 328 non aggiornati. Dopo questa operazione, verranno utilizzati 0 B di spazio su disco aggiuntivo. Vuoi continuare [S / n]? y (Lettura del database… 216107 file e directory attualmente installati.) Rimozione di vsftpd… Eliminazione dei file di configurazione per vsftpd… Elaborazione dei trigger per ureadahead… 
Possiamo combinarlo con rimuovi Consigliamo sempre questa opzione per la pulizia.
 sudo apt-get remove --purge vsftpd
 Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto I seguenti pacchetti verranno RIMOSSI: vsftpd * 0 aggiornati, 0 installati di recente, 1 da rimuovere e 328 non aggiornati. Dopo questa operazione verranno liberati 364 kB di spazio su disco. Vuoi continuare [S / n]? y (Lettura database… 216156 file e directory attualmente installati.) Rimozione vsftpd… vsftpd stop / attesa Eliminazione file di configurazione per vsftpd… Elaborazione trigger per ureadahead… Elaborazione trigger per man-db… 

Pulisci il gestore pacchetti per liberare spazio su disco


Quando scarichiamo un pacchetto, il file .deb viene archiviato come cache, possiamo rimuovere tutti quei pacchetti con l'opzione clean.
 sudo apt-get clean

Come scaricare il codice sorgente di un pacchetto?


In alcuni casi non possiamo installare da deb e dobbiamo installarlo compilando direttamente possiamo farlo usando -download-only source
 sudo apt-get --download-only source vsftpd
 Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto È necessario ottenere 220 kB di archivi sorgenti. Ottieni: 1 http://in.archive.ubuntu.com/ubuntu/quantal/main vsftpd 2.3.5-3ubuntu1 (dsc) [1.883 B] Ottieni: 2 http://in.archive.ubuntu.com/ubuntu/ quantal / main vsftpd 2.3.5-3ubuntu1 (tar) [188 kB] Ottieni: 3 http://in.archive.ubuntu.com/ubuntu/ quantal / main vsftpd 2.3.5-3ubuntu1 (diff) [30.5 kB] Recuperato 220 kB in 4s (49,1 kB/s) Download completato e in modalità solo download
Nel caso in cui vogliamo scaricare e compilare dallo stesso apt-get che usiamo
 sudo apt-get --compile source goaccess
 Lettura degli elenchi dei pacchetti… Fatto Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fatto È necessario ottenere 130 kB di archivi sorgente. Ottieni: 1 http://in.archive.ubuntu.com/ubuntu/quantal/universe goaccess 1: 0,5-1 (dsc) [1,120 B] Ottieni: 2 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1: 0.5-1 (tar) [127 kB] Get: 3 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1: 0.5-1 (diff) [2.075 B] Recuperato 130 kB in 1s (68.0 kB/s) gpgv: Firma effettuata martedì 26 giugno 2012 09:38:24 AM IST utilizzando l'ID chiave DSA A9FD4821 gpgv: impossibile controllare la firma: chiave pubblica non trovata dpkg-source: avviso: impossibile verificare la firma su ./goaccess_0.5-1.dsc dpkg-source: info: estrarre goaccess in goaccess-0.5 dpkg-source: info: decomprimere goaccess_0.5.orig.tar.gz dpkg-source: info: decomprimere goaccess_0.5 -1.debian.tar.gz dpkg-buildpackage: pacchetto sorgente goaccess dpkg-buildpackage: versione sorgente 1: 0.5-1 dpkg-buildpackage: sorgente modificato da Chris Taylor dpkg-buildpackage: architettura host i386 dpkg-source --before-build goaccess-0.5 dpkg-checkbuilddeps: dipendenze di compilazione non soddisfatte: debhelper (> = 9) autotools-dev libncurses5-dev lib glib2.0-dev libgeoip-dev autoconf dpkg-buildpackage: avvertenza: dipendenze/conflitti di compilazione insoddisfatti; interruzione di dpkg-buildpackage: avviso: (Usa il flag -d per sovrascrivere.)… 

Come posso scaricare un pacchetto senza installarlo?


Molte volte vogliamo impostare un REPO locale per distribuirli ad altri client localmente e risparmiare larghezza di banda, questa opzione è molto utile.
 sudo apt-get download nethogs
 Ottieni: 1 Download di nethog 0.8.0-1 [27,1 kB] Recupero 27,1 kB in 3s (7.506 B/s)

Come verificare le dipendenze interrotte?


Questo comando è molto utile se dobbiamo compilare ma ci mancano le librerie con questo possiamo verificare e installare quelle mancanti.
 sudo apt-get check
 Lettura degli elenchi dei pacchetti… Fine Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato… Fine 
Conclusioni
Abbiamo parlato delle opzioni più utili con apt-get e apt-cache, ne mancano alcune che si possono vedere usando man apt-get, man apt-cache. Non è necessario memorizzarli ma è bene avere a portata di mano questa lista. Se tralascio un comando o hai un suggerimento, non esitare a lasciarlo nei commenti.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave