Lo 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, Synaptic, Aptitude, 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!
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""Mi piace"
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""Mi piace"