APT o Advanced Package Tool è l’utilità della riga di comando per la gestione dei pacchetti nelle distribuzioni basate su Debian/Ubuntu.
È uno dei gestori di pacchetti disponibili insieme a apt-get ma, come altri, consente di installare, modificare o rimuovere diversi pacchetti senza compilarli dal codice sorgente. Può eseguire molte più azioni relative alla gestione dei pacchetti che tratteremo nelle prossime sezioni.
La sintassi generale dell’uso del comando apt è la seguente:
$ apt [COMMAND] [PACKAGE]
Ricorda di usare sudo con apt, poiché molti dei suoi sottocomandi richiederebbero il privilegio di apportare modifiche a livello di sistema.
Qui tratteremo diversi sottocomandi che puoi usare con apt e il loro uso.
Sommario:
Aggiorna il database dei pacchetti
apt ha bisogno di un repository di pacchetti con un database di tutti i pacchetti disponibili che possono essere installati su un sistema Debian/Ubuntu. Questo database del repository dovrebbe essere aggiornato prima di iniziare a installare un pacchetto poiché apt dovrebbe conoscere i dettagli sul pacchetto, la sua versione, architettura e posizione remota.
L’aggiornamento del database del repository è semplice e può essere eseguito con:
$ sudo apt update
Esempio:
[email protected]:~$ sudo apt update Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] Hit:2 http://azure.archive.ubuntu.com/ubuntu focal InRelease Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:4 http://azure.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB] Get:5 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1086 kB] Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [841 kB] Fetched 2255 kB in 1s (2677 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 14 packages can be upgraded. Run 'apt list --upgradable' to see them. [email protected]:~$
Aggiorna i pacchetti installati
I pacchetti installati su un sistema possono essere aggiornati all’ultima versione disponibile utilizzando:
$ sudo apt upgrade
Con il comando upgrade, i pacchetti verranno installati se necessario per soddisfare le dipendenze, ma i pacchetti esistenti non verranno mai rimossi. Se un aggiornamento per un pacchetto richiede la rimozione di un pacchetto installato, l’aggiornamento per questo pacchetto non viene eseguito.
Esempio:
[email protected]:~$ sudo apt update Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] Hit:2 http://azure.archive.ubuntu.com/ubuntu focal InRelease Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:4 http://azure.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB] Get:5 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1086 kB] Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [841 kB] Fetched 2255 kB in 1s (2677 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 14 packages can be upgraded. Run 'apt list --upgradable' to see them. [email protected]:~$ sudo apt upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: apt apt-utils libapt-pkg6.0 libpython3.8 libpython3.8-minimal libpython3.8-stdlib libuv1 linux-base linux-base-sgx open-vm-tools python3-distupgrade python3.8 python3.8-minimal ubuntu-release-upgrader-core 14 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 9485 kB of archives. After this operation, 603 kB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libapt-pkg6.0 amd64 2.0.6 [835 kB] Get:2 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 apt amd64 2.0.6 [1296 kB] Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 apt-utils amd64 2.0.6 [216 kB] Get:4 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libpython3.8 amd64 3.8.10-0ubuntu1~20.04 [1625 kB] Get:5 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3.8 amd64 3.8.10-0ubuntu1~20.04 [387 kB] Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libpython3.8-stdlib amd64 3.8.10-0ubuntu1~20.04 [1675 kB] Get:7 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3.8-minimal amd64 3.8.10-0ubuntu1~20.04 [1898 kB] Get:8 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libpython3.8-minimal amd64 3.8.10-0ubuntu1~20.04 [717 kB] Get:9 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libuv1 amd64 1.34.2-1ubuntu1.3 [80.8 kB] Get:10 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 ubuntu-release-upgrader-core all 1:20.04.35 [23.9 kB] Get:11 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-distupgrade all 1:20.04.35 [104 kB] Get:12 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-base all 4.5ubuntu3.6 [17.8 kB] Get:13 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-base-sgx all 4.5ubuntu3.6 [4660 B] Get:14 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 open-vm-tools amd64 2:11.2.5-2ubuntu1~ubuntu20.04.1 [604 kB] Fetched 9485 kB in 0s (54.4 MB/s) Preconfiguring packages ... (Reading database ... 59511 files and directories currently installed.) Preparing to unpack .../libapt-pkg6.0_2.0.6_amd64.deb ... Unpacking libapt-pkg6.0:amd64 (2.0.6) over (2.0.5) ... Setting up libapt-pkg6.0:amd64 (2.0.6) ... (Reading database ... 59511 files and directories currently installed.) Preparing to unpack .../archives/apt_2.0.6_amd64.deb ... Unpacking apt (2.0.6) over (2.0.5) ... Setting up apt (2.0.6) ... (Reading database ... 59511 files and directories currently installed.) Preparing to unpack .../00-apt-utils_2.0.6_amd64.deb ... Unpacking apt-utils (2.0.6) over (2.0.5) ... Preparing to unpack .../01-libpython3.8_3.8.10-0ubuntu1~20.04_amd64.deb ... Unpacking libpython3.8:amd64 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ... Preparing to unpack .../02-python3.8_3.8.10-0ubuntu1~20.04_amd64.deb ... Unpacking python3.8 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ... Preparing to unpack .../03-libpython3.8-stdlib_3.8.10-0ubuntu1~20.04_amd64.deb ... Unpacking libpython3.8-stdlib:amd64 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ... Preparing to unpack .../04-python3.8-minimal_3.8.10-0ubuntu1~20.04_amd64.deb ... Unpacking python3.8-minimal (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ... Preparing to unpack .../05-libpython3.8-minimal_3.8.10-0ubuntu1~20.04_amd64.deb ... Unpacking libpython3.8-minimal:amd64 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ... Preparing to unpack .../06-libuv1_1.34.2-1ubuntu1.3_amd64.deb ... Unpacking libuv1:amd64 (1.34.2-1ubuntu1.3) over (1.34.2-1ubuntu1.1) ... Preparing to unpack .../07-ubuntu-release-upgrader-core_1%3a20.04.35_all.deb ... Unpacking ubuntu-release-upgrader-core (1:20.04.35) over (1:20.04.33) ... Preparing to unpack .../08-python3-distupgrade_1%3a20.04.35_all.deb ... Unpacking python3-distupgrade (1:20.04.35) over (1:20.04.33) ... Preparing to unpack .../09-linux-base_4.5ubuntu3.6_all.deb ... Unpacking linux-base (4.5ubuntu3.6) over (4.5ubuntu3.1) ... Preparing to unpack .../10-linux-base-sgx_4.5ubuntu3.6_all.deb ... Unpacking linux-base-sgx (4.5ubuntu3.6) over (4.5ubuntu3.1) ... Preparing to unpack .../11-open-vm-tools_2%3a11.2.5-2ubuntu1~ubuntu20.04.1_amd64.deb ... Unpacking open-vm-tools (2:11.2.5-2ubuntu1~ubuntu20.04.1) over (2:11.0.5-4) ... Setting up libpython3.8-minimal:amd64 (3.8.10-0ubuntu1~20.04) ... Setting up apt-utils (2.0.6) ... Setting up linux-base (4.5ubuntu3.6) ... Setting up python3-distupgrade (1:20.04.35) ... Setting up libuv1:amd64 (1.34.2-1ubuntu1.3) ... Setting up linux-base-sgx (4.5ubuntu3.6) ... Setting up ubuntu-release-upgrader-core (1:20.04.35) ... Setting up python3.8-minimal (3.8.10-0ubuntu1~20.04) ... Setting up open-vm-tools (2:11.2.5-2ubuntu1~ubuntu20.04.1) ... Installing new version of config file /etc/vmware-tools/tools.conf.example ... Installing new version of config file /etc/vmware-tools/vgauth.conf ... Setting up libpython3.8-stdlib:amd64 (3.8.10-0ubuntu1~20.04) ... Setting up python3.8 (3.8.10-0ubuntu1~20.04) ... Setting up libpython3.8:amd64 (3.8.10-0ubuntu1~20.04) ... Processing triggers for libc-bin (2.31-0ubuntu9.2) ... Processing triggers for systemd (245.4-4ubuntu3.7) ... Processing triggers for man-db (2.9.1-1) ... Processing triggers for mime-support (3.64ubuntu1) ... [email protected]:~$
Assicurati di aver eseguito sudo apt update prima di aggiornare i tuoi pacchetti per evitare problemi durante l’aggiornamento e per assicurarti di ottenere gli ultimi pacchetti disponibili dal repository. Se lo desideri, puoi eseguire questi comandi in una singola riga come:
$ sudo apt update && sudo apt upgrade -y
Pacchetti di aggiornamento completo
apt offre anche un comando di aggiornamento completo. Differisce dal comando upgrade in quanto rimuoverà i pacchetti attualmente installati se ciò è necessario per aggiornare il sistema nel suo insieme. Pertanto, fai attenzione con questo comando e, se possibile, vai invece con il comando di aggiornamento.
$ sudo apt full-upgrade
Installa pacchetto singolo
L’installazione di un nuovo pacchetto può essere eseguita con apt utilizzando la seguente sintassi:
$ sudo apt install [package-name]
Esempio:
[email protected]:~$ sudo apt install unzip Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: zip The following NEW packages will be installed: unzip 0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded. Need to get 169 kB of archives. After this operation, 593 kB of additional disk space will be used. Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB] Fetched 169 kB in 0s (4040 kB/s) Selecting previously unselected package unzip. (Reading database ... 59511 files and directories currently installed.) Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ... Unpacking unzip (6.0-25ubuntu1) ... Setting up unzip (6.0-25ubuntu1) ... Processing triggers for mime-support (3.64ubuntu1) ... Processing triggers for man-db (2.9.1-1) ... [email protected]:~$
Installa più pacchetti
Puoi installare più pacchetti su un sistema con apt. Segue una sintassi simile a quella dell’esempio precedente:
$ sudo apt install [package-name-1] [package-name-2] ... [package-name-n]
Esempio:
[email protected]:~$ sudo apt install zip unzip Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: unzip zip 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 336 kB of archives. After this operation, 1231 kB of additional disk space will be used. Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB] Get:2 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 zip amd64 3.0-11build1 [167 kB] Fetched 336 kB in 0s (7749 kB/s) Selecting previously unselected package unzip. (Reading database ... 59527 files and directories currently installed.) Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ... Unpacking unzip (6.0-25ubuntu1) ... Selecting previously unselected package zip. Preparing to unpack .../zip_3.0-11build1_amd64.deb ... Unpacking zip (3.0-11build1) ... Setting up unzip (6.0-25ubuntu1) ... Setting up zip (3.0-11build1) ... Processing triggers for man-db (2.9.1-1) ... Processing triggers for mime-support (3.64ubuntu1) ... [email protected]:~$
Se uno dei pacchetti specificati è già installato sul sistema, apt cercherà un aggiornamento in un repository e, se disponibile, aggiornerà il pacchetto oppure manterrà la versione installata così com’è.
Installa una versione specifica
Spesso è necessario installare una versione specifica di un pacchetto, specialmente su sistemi aziendali. apt ti consente di installare una determinata versione di un pacchetto assumendo che sia disponibile nel repository usando:
$ sudo apt install [package-name]=[version]
Esempio:
[email protected]:~$ sudo apt install unzip=6.0-25ubuntu1 Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: unzip 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 169 kB of archives. After this operation, 593 kB of additional disk space will be used. Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB] Fetched 169 kB in 0s (2767 kB/s) Selecting previously unselected package unzip. (Reading database ... 59541 files and directories currently installed.) Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ... Unpacking unzip (6.0-25ubuntu1) ... Setting up unzip (6.0-25ubuntu1) ... Processing triggers for mime-support (3.64ubuntu1) ... Processing triggers for man-db (2.9.1-1) ... [email protected]:~$
Rimuovere un pacchetto
Come l’installazione di un pacchetto, apt può essere utilizzato per rimuovere un pacchetto da un sistema con il seguente comando:
$ sudo apt remove [package-name]
Esempio:
[email protected]:~$ sudo apt remove unzip Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: unzip 0 upgraded, 0 newly installed, 1 to remove and 14 not upgraded. After this operation, 593 kB disk space will be freed. Do you want to continue? [Y/n] Y (Reading database ... 59529 files and directories currently installed.) Removing unzip (6.0-25ubuntu1) ... Processing triggers for man-db (2.9.1-1) ... Processing triggers for mime-support (3.64ubuntu1) ... [email protected]:~$
Elimina un pacchetto
Come la rimozione di un pacchetto, anche l’eliminazione di un pacchetto svolge la stessa operazione ma mentre con il comando remove apt rimuove solo i binari di un pacchetto lasciando i file di configurazione così come sono. D’altra parte, il comando purge garantisce che tutto ciò che riguarda il pacchetto, inclusi i suoi binari e file di configurazione, venga rimosso dal sistema. L’abbandono dei file di configurazione consente di riutilizzare nuovamente gli stessi file di configurazione se si prevede di reinstallare l’applicazione.
Per eliminare un pacchetto, utilizzare:
$ sudo apt purge [package-name]
Esempio:
[email protected]:~$ sudo apt purge unzip Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: unzip* 0 upgraded, 0 newly installed, 1 to remove and 14 not upgraded. After this operation, 593 kB disk space will be freed. Do you want to continue? [Y/n] Y (Reading database ... 59529 files and directories currently installed.) Removing unzip (6.0-25ubuntu1) ... Processing triggers for man-db (2.9.1-1) ... Processing triggers for mime-support (3.64ubuntu1) ... (Reading database ... 59511 files and directories currently installed.) Purging configuration files for unzip (6.0-25ubuntu1) ... [email protected]:~$
Cerca pacchetti
apt non può servire solo come utility per installare e rimuovere i pacchetti. Può anche cercare il pacchetto richiesto nel repository con il comando di ricerca come:
$ apt search [search-text]
Esempio:
[email protected]:~$ apt search netstat Sorting... Done Full Text Search... Done bwm-ng/focal 0.6.2-1 amd64 small and simple console-based bandwidth monitor gnome-nettool/focal 3.8.1-3 amd64 network information tool for GNOME golang-github-aelsabbahy-gonetstat-dev/focal 0.0~git20160428.0.edf89f7-3 all Netstat implementation in Go golang-github-mwitkow-go-conntrack-dev/focal 0.0~git20190716.2f06839-1 all Go middleware for net.Conn tracking libparse-netstat-perl/focal 0.14-1 all module to parse the output of the "netstat" command net-tools/focal 1.60+git20180626.aebd88e-1ubuntu1 amd64 NET-3 networking toolkit netstat-nat/focal 1.4.10-3build1 amd64 tool that display NAT connections nicstat/focal 1.95-1build1 amd64 print network traffic statistics qnetstatview/focal 1.5.6-1 amd64 Shows detailed listings of all TCP and UDP endpoints unhide/focal 20130526-4 amd64 Forensic tool to find hidden processes and ports whichman/focal 2.4-9 amd64 Fault tolerant search utilities: whichman, ftff, ftwhich [email protected]:~$
Visualizza il contenuto della confezione
Per ottenere dettagli su un pacchetto, se è installato o da installare, è possibile utilizzare il comando show come indicato di seguito:
$ apt show [package-name]
Esempio:
[email protected]:~$ apt show firefox Package: firefox Version: 90.0+build1-0ubuntu0.20.04.1 Priority: optional Section: web Origin: Ubuntu Maintainer: Ubuntu Mozilla Team <[email protected]> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 226 MB Provides: gnome-www-browser, iceweasel, www-browser Depends: lsb-release, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.30), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.10.0), libdbus-1-3 (>= 1.9.14), libdbus-glib-1-2 (>= 0.78), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.10.1), libgcc-s1 (>= 3.3), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.42), libgtk-3-0 (>= 3.14), libharfbuzz0b (>= 0.6.0), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.14.0), libstdc++6 (>= 9), libx11-6, libx11-xcb1 (>= 2:1.6.9), libxcb-shm0, libxcb1, libxcomposite1 (>= 1:0.4.5), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6, libxrender1, libxt6 Recommends: xul-ext-ubufox, libcanberra0, libdbusmenu-glib4, libdbusmenu-gtk3-4 Suggests: fonts-lyx Replaces: kubuntu-firefox-installer Task: ubuntu-desktop-minimal, ubuntu-desktop, kubuntu-desktop, kubuntu-full, xubuntu-desktop, lubuntu-desktop, ubuntustudio-desktop, ubuntukylin-desktop, ubuntu-mate-core, ubuntu-mate-desktop, ubuntu-budgie-desktop Xul-Appid: {ec8030f7-c20a-464f-9b0e-13a3a9e97384} Download-Size: 57.0 MB APT-Sources: http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages Description: Safe and easy web browser from Mozilla Firefox delivers safe, easy web browsing. A familiar user interface, enhanced security features including protection from online identity theft, and integrated search let you get the most out of the web. N: There is 1 additional record. Please use the '-a' switch to see it [email protected]:~$
Elenca i pacchetti installati
Spesso abbiamo bisogno di elencare i pacchetti installati su un sistema per scopi diversi. apt ti consente di ottenere l’elenco dei pacchetti installati semplicemente con:
$ apt list --installed
Elenca tutti i pacchetti
Per elencare tutti i pacchetti disponibili per il tuo sistema, usa il comando list con la parola chiave –all-versions come:
$ apt list --all-versions
Elenca i pacchetti aggiornabili
I pacchetti devono essere mantenuti aggiornati man mano che le nuove versioni continuano a essere rilasciate con funzionalità migliorate o aggiuntive e correzioni di bug, comprese scappatoie di sicurezza critiche. apt ti assicura di poter facilmente applicare patch al tuo sistema Debian/Ubuntu con il comando upgrade come suggerito in precedenza nell’articolo. Per elencare tutti gli aggiornamenti disponibili per i pacchetti installati sul tuo sistema, esegui:
$ apt list --upgradable
Esempio:
[email protected]:~$ apt list --upgradable Listing... Done apt-utils/focal-updates 2.0.6 amd64 [upgradable from: 2.0.5] apt/focal-updates 2.0.6 amd64 [upgradable from: 2.0.5] libapt-pkg6.0/focal-updates 2.0.6 amd64 [upgradable from: 2.0.5] libpython3.8-minimal/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3] libpython3.8-stdlib/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3] libpython3.8/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3] libuv1/focal-updates,focal-security 1.34.2-1ubuntu1.3 amd64 [upgradable from: 1.34.2-1ubuntu1.1] linux-base-sgx/focal-updates 4.5ubuntu3.6 all [upgradable from: 4.5ubuntu3.1] linux-base/focal-updates 4.5ubuntu3.6 all [upgradable from: 4.5ubuntu3.1] open-vm-tools/focal-updates 2:11.2.5-2ubuntu1~ubuntu20.04.1 amd64 [upgradable from: 2:11.0.5-4] python3-distupgrade/focal-updates 1:20.04.35 all [upgradable from: 1:20.04.33] python3.8-minimal/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3] python3.8/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3] ubuntu-release-upgrader-core/focal-updates 1:20.04.35 all [upgradable from: 1:20.04.33] [email protected]:~$
Pulisci i pacchetti inutilizzati
Con un utilizzo normale, a volte nel sistema potrebbero essere installati pacchetti che non sono più necessari. Può succedere che questi pacchetti siano stati installati come parte della dipendenza di un altro pacchetto che è già stato rimosso in seguito anche se le dipendenze sono rimaste nel sistema. Per pulire tali pacchetti e liberare spazio su disco è possibile utilizzare:
$ sudo apt autoremove
Esempio:
[email protected]:~$ sudo apt autoremove Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. [email protected]:~$
Il mio sistema non aveva pacchetti rimanenti, quindi l’output non ha riportato modifiche.
Controlla le dipendenze dei pacchetti
Un pacchetto può avere una o più dipendenze che devono essere installate su un sistema affinché il pacchetto funzioni correttamente. apt assicura che le dipendenze richieste siano installate come parte dell’installazione del pacchetto. Se vuoi controllare le dipendenze di un pacchetto, usa:
$ apt depends [package-name]
Esempio:
[email protected]:~$ apt depends zip zip Depends: libbz2-1.0 Depends: libc6 (>= 2.14) Recommends: unzip [email protected]:~$
Reinstallare un pacchetto
Un pacchetto potrebbe essere danneggiato o potrebbe essere necessario reinstallarlo per assicurarsi che tutti i file del pacchetto siano nell’ordine corretto. Per installare nuovamente un pacchetto senza prima rimuoverlo, puoi utilizzare:
$ sudo apt reinstall [package-name]
Esempio:
[email protected]:~$ sudo apt reinstall unzip Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded. Need to get 169 kB of archives. After this operation, 0 B of additional disk space will be used. Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB] Fetched 169 kB in 0s (5695 kB/s) (Reading database ... 59559 files and directories currently installed.) Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ... Unpacking unzip (6.0-25ubuntu1) over (6.0-25ubuntu1) ... Setting up unzip (6.0-25ubuntu1) ... Processing triggers for mime-support (3.64ubuntu1) ... Processing triggers for man-db (2.9.1-1) ... [email protected]:~$
Scarica un pacchetto
I file dei pacchetti possono essere scaricati nel filesystem locale senza installarli. Per scaricare un pacchetto con apt, utilizzare:
$ apt download [package-name]
Esempio:
[email protected]:~$ apt download unzip Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB] Fetched 169 kB in 0s (1405 kB/s) [email protected]:~$ [email protected]:~$ ls -l unzip_6.0-25ubuntu1_amd64.deb -rw-r--r-- 1 abhisheknair abhisheknair 168956 Aug 16 2019 unzip_6.0-25ubuntu1_amd64.deb [email protected]:~$
Controlla il registro delle modifiche del pacchetto
Possiamo facilmente controllare il registro delle modifiche su qualsiasi pacchetto con apt usando:
$ apt changelog [package-name]
Modifica fonti
Il comando edit-sources di apt ti consente di modificare i tuoi file sources.list fornendo anche controlli di integrità per garantire che le modifiche siano coerenti e valide. Questo è un comando work-in-progress e quindi dovrebbe essere usato con attenzione. Puoi modificare sources.list come:
$ sudo apt edit-sources
Ottieni assistenza APT
Per ottenere ulteriore assistenza sul comando apt, utilizzare:
$ apt help
Esempio:
[email protected]:~$ apt help apt 2.0.6 (amd64) Usage: apt [options] command apt is a commandline package manager and provides commands for searching and managing as well as querying information about packages. It provides the same functionality as the specialized APT tools, like apt-get and apt-cache, but enables options more suitable for interactive use by default. Most used commands: list - list packages based on package names search - search in package descriptions show - show package details install - install packages reinstall - reinstall packages remove - remove packages autoremove - Remove automatically all unused packages update - update list of available packages upgrade - upgrade the system by installing/upgrading packages full-upgrade - upgrade the system by removing/installing/upgrading packages edit-sources - edit the source information file satisfy - satisfy dependency strings See apt(8) for more information about the available commands. Configuration options and syntax is detailed in apt.conf(5). Information about how to configure sources can be found in sources.list(5). Package and version choices can be expressed via apt_preferences(5). Security details are available in apt-secure(8). This APT has Super Cow Powers. [email protected]:~$
Riepilogo
apt tool è una pratica e potente utility di gestione dei pacchetti basata su CLI per sistemi basati su Debian/Ubuntu. Il normale lavoro quotidiano di un amministratore di sistema implica la gestione dei pacchetti su un sistema e la conoscenza di apt e dei suoi comandi di uso comune rendono questo compito facile.
Per ulteriore assistenza su apt, fare riferimento alla sua pagina man.
$ man apt