apt vs. apt-get: qual è la differenza su Linux?

Pubblicato: 2022-06-16
Terminale Linux su un laptop su uno sfondo rosso.
fatmawati achmad zaenuri/Shutterstock

Perché le distribuzioni Linux basate su Debian hanno apt e apt-get ? apt ha sostituito apt-get o hanno scopi diversi? Spieghiamo la relazione tra questi due comandi.

Il sistema di gestione dei pacchetti Debian

Uno sforzo importante nella creazione di una distribuzione Linux è la progettazione e la creazione di un sistema di gestione dei pacchetti. Gli utenti devono disporre di un modo per installare e disinstallare i pacchetti software. Ciò richiede che il software recuperi i file del pacchetto dal repository del software e li installi correttamente sui computer degli utenti.

Come funzionano l'installazione del software e i gestori di pacchetti su Linux
CORRELATI Come funzionano l'installazione del software e i gestori di pacchetti su Linux

Questa non è una piccola impresa. Anche mettendo da parte l'ingegneria del software, l'hosting dei repository software richiede tempo, fatica e denaro. Questo è uno dei motivi per cui così tante "nuove" distribuzioni Linux sono derivazioni di una distribuzione Linux esistente.

Questo porta a famiglie o genealogie di distribuzioni Linux, come le distribuzioni basate su Debian, le distribuzioni basate su Red Hat, le distribuzioni basate su Arch e così via.

La famiglia di distribuzioni Debian, inclusa Ubuntu e tutte le distribuzioni derivate da Ubuntu, utilizza Debian Package Manager. Questo utilizza file di pacchetto con estensione ".deb", denominati file DEB. I file DEB sono file compressi contenenti altri file di archivio. I file di archivio contengono i file eseguibili dell'applicazione, le pagine man, le librerie e così via.

Come installare un file DEB in Linux
CORRELATI Come installare un file DEB in Linux

Installare il software da un file DEB significa decomprimere tutti questi file componenti e posizionarli nelle posizioni corrette sul computer. Richiede inoltre l'interazione con il sistema operativo e l'ambiente desktop in modo che l'applicazione venga visualizzata nelle ricerche di applicazioni e la sua icona possa essere aggiunta ai dock o ai menu di sistema.

Annuncio

I comandi apt-get e apt lo fanno entrambi. Ma perché abbiamo due comandi per la stessa cosa?

La catena di comando

Il pacchetto che esegue realmente l'installazione si chiama dpkg . In realtà è una famiglia di comandi che include dpkg-split , dpkg-trigger e dpkg-divert . Questi sono chiamati, se e come richiesto, dagli strumenti della suite Advanced Package Tool o APT. APT è un'altra raccolta di strumenti, inclusi apt-get , apt-cache e apt .

Il comando dpkg è considerato un comando di basso livello. Al di là delle interazioni più semplici, diventa molto complicato con un gran numero di opzioni. Il comando apt-get funge da front-end per la suite di comandi dpkg . Questo semplifica notevolmente le cose. apt-get è progettato come comando rivolto all'utente e non come comando in background di basso livello. Anche così, nonostante il suo ruolo di fronte all'uomo, un altro comando chiamato apt-cache è stato utilizzato per mostrare le informazioni all'utente.

Il comando apt fornisce un altro modo per "parlare" con dpkg attraverso uno strumento da riga di comando più accessibile e intuitivo. Fornisce un sottoinsieme delle funzionalità di apt-get , ma è un grande sottoinsieme e fornisce tutte le funzionalità comunemente utilizzate e include anche le funzionalità di apt-cache .

Annuncio

Linux Mint ha bisogno di una menzione speciale qui. I manutentori di Linux Mint hanno sviluppato la propria versione di apt , che è un wrapper Python per apt-get . Non è l' apt di cui stiamo parlando qui. Ci riferiamo al mainstream Debian apt , che è stato rilasciato nel 2014 e ha guadagnato attenzione e trazione nel verso utente quando è stato incluso in Ubuntu 16.04 nel 2016.

Le differenze tra apt e apt-get

Quindi, dpkg è l'applicazione in background di basso livello. Il comando apt-get è un'interfaccia completa ma semplificata per dpkg , e apt è una versione più intuitiva ma leggermente ridotta di apt-get .

Come risolvere le dipendenze durante la compilazione di software su Ubuntu
CORRELATI Come risolvere le dipendenze durante la compilazione di software su Ubuntu

Ma apt-get e apt forniscono più di una semplice interfaccia per dpkg . Fanno cose che dpkg non fa. Recupereranno i file dai repository e cercheranno di aiutare con dipendenze e conflitti mancanti.

A sua volta, il comando apt fa alcune cose che apt-get non fa. Fornisce più informazioni del tipo che l'utente medio desidera vedere durante un'installazione e sopprime alcune delle informazioni più oscure visualizzate da apt-get . apt fornisce un feedback visivo superiore e utilizza le luci colorate e le barre di avanzamento nella finestra del terminale.

Ci sono alcuni comandi comuni tra apt e apt-get . Tutti questi comandi possono essere preceduti da apt o apt-get e si comporteranno allo stesso modo:

  • install packagename : installa un pacchetto.
  • remove packagename : rimuove (disinstalla) un pacchetto.
  • purge nomepacchetto : rimuove un pacchetto e i suoi file di configurazione.
  • update packagename : aggiorna le informazioni sul repository.
  • upgrade : aggiorna tutti i pacchetti.
  • autoremove : rimuove le librerie e altri pacchetti che non sono più necessari.

L'opzione apt full-upgrade sostituisce l'opzione apt-get dist-upgrade .

Questi sono i nuovi comandi per apt :

  • apt search : cerca il nome di un pacchetto nei repository. Questo è lo stesso apt-cache search
  • apt show : mostra le informazioni su un pacchetto. Questo è lo stesso di apt-cache show .
  • apt list option : mostra gli elenchi dei pacchetti installati o aggiornabili.
  • apt edit-sources : modifica direttamente l'elenco dei repository in cui apt cerca i pacchetti.

Installazione di un'applicazione

Puoi usare apt search per vedere se esiste un pacchetto nei repository o per verificare di avere il nome giusto per il pacchetto. Diciamo che vuoi installare Scribus ma non conosci il nome del pacchetto. Potresti provare a cercare scribus-desktop .

 apt cerca scribus-desktop 

Ricerca nei repository per un pacchetto chiamato scribus-desktop

Quella ricerca non ha trovato nulla. Riproveremo con un indizio di ricerca più breve e più generico.

 apt cerca scribus 

Ricerca nei repository per un pacchetto chiamato scribus

Annuncio

Questo restituisce diversi risultati e possiamo vedere che ce n'è uno chiamato "scribus" e che sembra sicuramente il pacchetto principale per l'applicazione di desktop publishing Scribus. Il comando apt show ci darà maggiori dettagli.

 apt mostra scribus 

Utilizzo di apt show per saperne di più sul pacchetto scribus

Otteniamo un dump di informazioni sul pacchetto, incluso ciò che verrà installato e una descrizione del software.

Informazioni sul pacchetto scribus

Suggerisce anche altri pacchetti che potrebbero essere necessari, a seconda delle nostre esigenze.

Per installare il pacchetto dobbiamo usare sudo .

 sudo apt installa scribus 

Installazione del pacchetto scribus

I file vengono recuperati dai repository. Il file attualmente in fase di recupero è evidenziato in marrone.

Recupero di file come parte dell'installazione di un pacchetto

Quando i file sono stati recuperati, vengono installati. L'avanzamento dell'installazione viene visualizzato come percentuale visualizzata in cifre e come barra di avanzamento.

L'installazione del pacchetto con una percentuale e una barra di avanzamento

Altri comandi

I comandi apt list e apt edit-sources sono opzioni in apt che non esistono in apt-get .

Annuncio

Il comando apt list può essere utilizzato con le opzioni --installed o --upgradeable per vedere i pacchetti installati sul tuo computer e quali potrebbero essere aggiornati.

Per vedere l'elenco delle applicazioni installate sul tuo computer usa:

 apt list --installed 

Usa apt per elencare le applicazioni installate

Scorrendo l'output, possiamo vedere due voci per la nostra applicazione Scribus appena installata.

Un elenco delle applicazioni installate

Per vedere se è possibile aggiornare una qualsiasi delle applicazioni installate, utilizzare l'opzione --upgradeable .

 elenco apt --aggiornabile 

Un elenco delle applicazioni che possono essere aggiornate

Il comando apt fornisce anche un modo per modificare le informazioni memorizzate sui repository apt cerca i pacchetti. Fallo solo se sai cosa stai facendo.

 sudo apt edit-sources 

Modifica le informazioni sul repository con apt

Annuncio

Questo comando apre l'editor predefinito e carica il file contenente le informazioni sul repository.

File di dati del repository aperto nell'editor nano

Dovrei usare apt o apt-get?

Il comando apt-get non viene aggiornato spesso e questa è una buona cosa. Deve mantenere la compatibilità con le versioni precedenti. La compatibilità con le versioni precedenti non è un problema per apt . È considerato e trattato come un comando rivolto all'utente.

Per l'uso quotidiano, utilizzare apt .

Se esegui uno script che ha a che fare con l'installazione del pacchetto, usa apt-get . Ciò ti offre le maggiori possibilità di portabilità e compatibilità nei tuoi script.

CORRELATI: La guida per principianti allo scripting della shell: le basi