apt vs apt-get: un po’ di chiarezza

apt_apt-getLo scorso anno una delle novità di Ubuntu 16.04 LTS è stata l’introduzione del comando apt. In realtà una versione precedente di apt è stata rilasciata nel 2014, ma ce ne siamo accorti tutti solo quando ci è stato detto di usare apt install nome-pacchetto al posto di apt-get install nome-pacchetto, modus operandi a cui eravamo abituati. Vi potreste chiedere qual è la differenza fra i comandi apt-get e apt. O anche: che necessità c’era di introdurre apt, visto che viene usato praticamente in modo identico (con le opzioni install, remove, update, upgrade ecc.)? apt è forse migliore di apt-get? Bisogna usare adesso apt, oppure possiamo continuare il buon vecchio apt-get?

Vediamo di affrontare la questione e di chiarire un po’ le cose. 

Perché è stato introdotto apt?

Cerco di non entrare troppo in dettagli e aspetti tecnici. Debian (la “mamma” delle tantissime distribuzioni GNU/Linux basate su Ubuntu e sulla stessa Debian), per gestire il proprio sistema di pacchettizzazione dpkg, ha adottato un set di strumenti chiamato Advanced Packaging Tool (APT) (da non confondere con il comando apt, che non è esattamente la stessa cosa). Come forse già saprete, esistono vari tool per gestire i pacchetti, sia con interfaccia grafica che a riga di comando: Ubuntu/GNOME Software, SynapticAptitude, apt-get. All’omonimo comando di quest’ultimo si affianca però anche apt-cache (per la cronaca, ce ne sono pure altri usati poco di frequente, come  apt-mark, più altri ancora installabili a parte). Mentre apt-get è usato principalmente per installare, aggiornare e pulire i pacchetti, apt-cache serve per cercare nuovi pacchetti. Quindi il comando apt è stato introdotto soprattutto per uniformare e fare ordine fra le funzioni di apt-get e apt-cache.

La differenza fra apt e apt-get

Come abbiamo visto, con apt è possibile trovare in un solo posto tutte le funzionalità necessarie, senza perdersi in lunghi elenchi di opzioni e parametri. apt ha meno opzioni ma organizzate in maniera più funzionale. Inoltre ha introdotto di default alcune features molto utili per l’utente finale. Ad esempio:

  • la progress bar che compare in basso con la percentuale delle operazioni in corso
  • il numero dei pacchetti aggiornabili come output al termine di alcune operazioni

Le differenze tra i comandi

Anche se apt ha molti comandi identici o simili ad apt-get, sono comunque due programmi diversi. Il che vuol dire che non sempre basta sostituire apt-get con apt nel comando che eravamo soliti usare. Vediamo nel dettaglio la seguente tabella:

Comando di apt Corrispettivo di apt-get Funzione
apt install
apt-get install
Installare un pacchetto
apt remove
apt-get remove
Rimuovere un pacchetto
apt purge
apt-get purge
Rimuovere un pacchetto e la sua configurazione
apt update
apt-get update
Aggiornare l’indice dei pacchetti nei repository
apt upgrade
apt-get upgrade
Aggiornare tutti i pacchetti aggiornabili
apt autoremove
apt-get autoremove
Rimuovere pacchetti non desiderati
apt full-upgrade
apt-get dist-upgrade
Aggiornare i pacchetti con risoluzione delle dipendenze
apt search
apt-cache search
Cercare un pacchetto
apt show
apt-cache show
Mostrare i dettagli dei pacchetti

Inoltre apt ha alcuni propri comandi nuovi di zecca:

comando di apt funzione
apt list
Lista dei pacchetti in categorie (installati, aggiornabili ecc.)
apt edit-sources
Modificare sources.list

C’è anche da dire che apt è in continuo sviluppo, quindi nuove opzioni e funzionalità potrebbero essere introdotte nelle nuove versioni.

apt-get è deprecato?

Seppur le documentazioni ufficiali di Debian e Ubuntu consiglino apt, al momento non ho trovato informazioni relative a problemi veri e propri derivati dall’uso del “buon vecchio” apt-get (qualora ne avrò notizia, cercherò di aggiornare questo articolo). Quindi mi risulta che, ai fini pratici, può benissimo essere ancora utilizzato (almeno per le operazioni più “low-level”).

Quindi, alla fine, devo usare apt o apt-get?

Attualmente apt è il comando che viene raccomandato dalle distribuzioni Linux, che fornisce un numero sufficiente di operazioni per svolgere parecchi compiti, anche di uso quotidiano. Pertanto, salvo casi particolari, non esiste alcuna ragione per la quale non dovrebbe essere usato. Volendo quindi riassumere:

  • apt integra un insieme di funzioni che hanno sostituito in gran parte quelle di apt-get e apt-cache, fornendo i comandi necessari per la gestione dei pacchetti
  • anche se apt-get è ancora funzionante e non è stato abbandonato, come utenti dovremmo ormai abituarci ad usare apt più regolarmente

Enjoy!

fonte

 

Annunci

2 thoughts on “apt vs apt-get: un po’ di chiarezza

  1. Salvo sviste (le abitudini sono dure a morire) uso apt al posto di apt-get già da un paio d’anni ma non avevo ben capito perché mai questo cambiamento, quindi grazie. Però una domanda: mi risulta che Synaptic (almeno quello su Debian stabile) utilizzi ancora apt-get; ci sono notizie sulla migrazione di Synaptic e degli altri front-end grafici?
    Ancora grazie e ciao

    Mi piace

  2. Preferisco ancora aptitude per gestire conflitti e operazioni più complicate degli aggiornamenti periodici. Altrimenti un paio di alias con apt mi bastano e mi avanzano. Ho usato di recente dopo tanto tempo Synaptic e l’ho trovato lentissimo (forse era anche l’HW a non essere proprio nuovo di zecca…): non vedo un grosso vantaggio rispetto a aptitude, se proprio si vuole un minimo di interfaccia “grafica”. Anzi, non dimentichiamoci che se qualcosa si incricca tutto quello che ti resta è il terminale e Synaptic non ci va d’accordo!

    Mi piace

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...