La guida definitiva ai comandi Apt e Apt-Get

Linuxapt Packages
⏱️ 16 min read

Per molte persone che entrano per la prima volta in distribuzioni Linux basate su Debian, la gestione dei pacchetti può sembrare contorta. Alcuni tutorial ti dicono di usare “apt”, altri “apt-get” e alcuni davvero vecchi o specifici usano “aptitude”. È giunto il momento di scendere alle minuzie assolute e spiegare il “perché, dove, cosa e come” del mondo strano e alquanto diviso in questo piccolo angolo dell’universo Linux.

Cancellare la confusione appropriata

A prescindere da tutti i piccoli dettagli che li contraddistinguono, apt, apt-gete aptitude sono solo biglietti da visita diversi per il sistema di gestione dei pacchetti di Debian che interagisce con i repository online. Come se non ce ne fossero già abbastanza, c’è anche un altro strumento di gestione dei pacchetti in Debian di cui potresti aver sentito parlare che riguarda le installazioni su disco: dpkg.

Quest’ultimo è uno strumento che usi ogni volta che scarichi un pacchetto .deb dal Web e fai doppio clic su di esso per installarlo, proprio come faresti con un pacchetto MSI in Windows. Solus ha EOPKG, Fedora ha RPM e Arch ha AUR. Anche Android ha pacchetti noti come APK e l’unico repository più grande per i suoi pacchetti è il Google Play Store. Si spera ora che tu possa vedere quanto sia familiare la struttura di Linux ad altri sistemi operativi, anche quelli che non funzionano specificamente su computer desktop o laptop.

Cos’è l’attitudine?

Aptitude è il centro nevralgico dell’APT, fungendo da front-end che puoi utilizzare se vuoi dare uno sguardo dettagliato a tutti i pacchetti che la tua distribuzione offre nei suoi repository e quelli che hai aggiunto. È anche una delle poche GUI cliccabili della vecchia scuola che funzionano direttamente all’interno del terminale.

Attitudine Linuxapt

Che cos’è APT?

Conosciuto come Advanced Packaging Tool, APT è la soluzione di Debian per integrare il processo di rimozione, installazione, ricerca e gestione delle varie applicazioni installate nel sistema operativo. Ogni distribuzione basata su di essa utilizza APT, sebbene non tutte le applicazioni di APT siano uguali. Ci arriveremo tra un po’.

Per ora, è importante notare che APT come gestore di pacchetti lo è non il apt comando. Comprende invece una varietà di comandi relativi ad APT come apt-get, apt-mark e apt-cache.

Quali distribuzioni utilizzano APT?

Se la tua distribuzione è descritta come “basata su Debian”, utilizza lo strumento APT in un modo o nell’altro. Questo include ma non è limitato a:

  • Debian
  • Ubuntu
  • Menta Linux
  • MX Linux
  • grml
  • Kalì Linux
  • Code
  • PureOS
  • Sistema operativo Raspberry Pi
  • Sistema operativo elementare
  • SteamOS (non più Debian; spostato su Arch nel 2021 per Steam 3.0)

Ci sono molte, molte più distribuzioni basate su Debian, quindi se stai usando qualcosa che non è elencato qui, controlla se il apt-get il comando funziona semplicemente digitandolo nel terminale. Se il tuo terminale ti ritorna con un messaggio confuso sul comando che non esiste, allora sicuramente non sei su nulla che sia toccato da Debian.

Apt-get vs. Apt

In molti tutorial online che coinvolgono l’installazione di un pacchetto, vedrai apt-get e apt essere usato in modo intercambiabile come comandi su qualsiasi sistema basato su Debian. Quando si tratta di installare e rimuovere materiale, non c’è davvero alcuna differenza quale comando usi. Basta non confondere questo per le due versioni l’una dell’altra.

Ricorda come ho detto apt-get è semplicemente uno dei pochi altri comandi in Advanced Packaging Tool? Per qualcuno che è nuovo in APT, può essere un po’ disorientante dover memorizzare quali comandi sono validi per apt-get, apt-marke apt-cache. Ad esempio, lo sapevi che il comando per cercare un pacchetto è apt-cache search?

Linuxapt Cachesearch

E se tutte e tre le funzioni più utili di questi comandi per la vita quotidiana fossero unificate?

Questo è Esattamente che cosa apt il comando fa da solo. Queste tre lettere, quando vengono digitate nel tuo terminale, fungono da “involucro” per l’ecosistema APT, semplificando il processo per le persone che trascorrono gran parte del loro tempo a scarabocchiare sui loro terminali.

Durante la ricerca di un pacchetto, apt search dovrebbe per lo più restituire gli stessi risultati di apt-cache search.

Linuxapt Cerca 1

Una parola sulle bandiere APT

Se hai prestato molta attenzione alle immagini che mostrano gli output di entrambi i comandi di ricerca, mostrano informazioni leggermente diverse. Questo perché il apt command prende informazioni sullo stato dell’applicazione nel tuo sistema oltre a qualsiasi altra cosa apt-cache search Tira fuori.

Ora è probabilmente un buon momento per spiegare cosa significava quella “i” accanto al nome del pacchetto nell’output di apt search. È un flag posizionato da aptitude, il front-end dello strumento per i pacchetti Debian.

Ecco un elenco di flag che vedrai nel tuo terminale e cosa significano:

  • A – Installato automaticamente, magari come parte di un metapacchetto più grande o l’installazione del sistema operativo stesso.
  • B – Il pacchetto è contrassegnato come danneggiato e deve essere reinstallato.
  • H – Installato a metà. Il pacchetto deve completare l’installazione.
  • c – Il pacchetto è stato rimosso, ma il suo “fantasma” persiste sotto forma di file di configurazione. Puoi risolverlo usando apt-get purge o apt purgeseguito dal nome del pacchetto con questo flag.
  • p – Pacchetto eliminato o mai installato.
  • v – Il pacchetto viene utilizzato genericamente da altri per fornire una funzione. Ad esempio, Firefox fornisce funzionalità di navigazione che possono essere utilizzate da altre applicazioni, rendendolo un pacchetto virtuale.
  • i – Questo pacchetto è installato nel tuo sistema.
  • h – C’è un blocco su questo pacchetto, che ne impedisce l’aggiornamento a versioni più recenti.

Non tutti gli appartamenti sono uguali!

Prima di andare qualunque ulteriormente nell’argomento della gestione dei pacchetti, è estremamente importante notare che il apt comando può avere più argomenti disponibili in una distribuzione rispetto a un’altra. Ad esempio, Ubuntu non ha “hold” mentre Mint ce l’ha.

Per comprendere appieno ciò che sto dicendo qui, dobbiamo dare un’occhiata agli elenchi di Ubuntu e Mint per quali argomenti puoi passare apt e vedere l’abisso tra i due.

Questo è Ubuntu sul mio banco di prova appena coniato (gioco di parole) per i tutorial.

Linux adatto a Ubuntu

Ed ecco Linux Mint.

Linuxapt Mint

Mint ha di gran lunga il wrapper più completo di tutte le distribuzioni basate su Debian che ho visto fino ad ora. Questo non sorprende quando ti rendi conto che è stato creato su misura dalla community che mantiene Mint per soddisfare sia i principianti che vogliono solo installare le loro app in pace con un breve comando sia i turbo-smanettoni che vogliono mettere a punto tutto solo il come vogliono con una precisione millimetrica.

La guida definitiva ai comandi APT

Non c’è modo migliore per comprendere la potenza del sistema di pacchetti APT che affondare i denti in alcuni comandi importanti. L’elenco sarà composto da comandi APT seguiti da apt semplificazione, ove applicabile, tra parentesi. Se la semplificazione non funziona nella tua distribuzione particolare, è perché la tua non l’ha inclusa per qualche motivo o non stai eseguendo il colosso di Mint di un wrapper. In tal caso, puoi tranquillamente ricorrere al comando vanilla senza perdere troppo.

  • add-apt-repository (apt add-repository) – Aggiunge un nuovo repository all’elenco di sorgenti software da un gestore di pacchetti.

Ad esempio, se voglio aggiungere l’attuale repository di Lutris per Mint 20, posso digitare entrambi sudo add-apt-repository o sudo apt add-repositoryseguito da ppa:lutris-team/lutris. Ogni repository è unico e la maggior parte degli sviluppatori di applicazioni che non hanno pacchetti trovati in quelli ufficiali per la tua distribuzione includeranno istruzioni che ti indicheranno la giusta direzione.

  • apt-get clean & apt-get autoremove (apt clean & apt autoremove) – Spesso usati insieme, questi due comandi spazzano via la polvere nel tuo sistema sotto forma di script di installazione persistenti e supporti di installazione che non ti servono più (clean), oltre a liberare automaticamente lo spazio di archiviazione dei pacchetti che nessuno utilizza o da cui dipende (autoremove).

Esempio: sudo apt autoremove && sudo apt clean aspirapolvere tutte le ragnatele dall’unità principale in un’unica riga nel tuo terminale.

  • apt-get changelog (apt changelog) – Individua le ultime modifiche in un pacchetto.

Esempio: apt-get changelog brave-browser mi dirà cosa include l’ultima versione del browser Brave rispetto alla sua ultima revisione.

  • apt contains – Trovato solo in Linux Mint e forse in alcune altre distribuzioni derivate da Ubuntu, questo comando è quello che usi quando incontri un tipo di errore “file non trovato” in un programma. Con un po’ di fortuna, apt contains troverà quel file per te in una cartella lontana da un’applicazione che hai installato!

Esempio: apt contains gettext.sh cercherà l’applicazione che contiene lo script della shell per gettext. Se hai gettext-base installato nella tua distribuzione Mint, dovresti trovarlo immediatamente!

  • apt-get install (apt install) – Come suggerisce il nome, installa un pacchetto. Passando il --reinstall bandiera sul apt-get comando reinstallerà immediatamente il pacchetto.

Esempio di installazione: sudo apt-get install firefox. Esempio di reinstallazione di Firefox: sudo apt-get install --reinstall firefox. Una variante più semplice attraverso il apt l’involucro è sudo apt reinstall firefox.

  • apt-get remove (apt remove) – Un altro strumento di uso frequente nell’arsenale del speleologo terminale. Questo comando disinstallerà tutto ciò che è stato installato dall’ecosistema APT o dal gestore di pacchetti DPKG.

Esempio: sudo apt remove grub-customizer.

  • apt-get update (apt update) – questo comando lo fa non aggiorna le applicazioni nel tuo sistema. Aggiorna semplicemente la cache APT in modo che il tuo sistema possa confrontare le versioni disponibili nei tuoi repository con quelle attualmente installate sul tuo sistema. È controllo per gli aggiornamenti ma non eseguirli.
  • apt-get upgrade (apt upgrade) – Questo scaricherà gli aggiornamenti ai tuoi pacchetti che il tuo sistema ha trovato se sono disponibili. In genere non è necessario chiudere tutto ciò che è in esecuzione per eseguire questa operazione.
  • apt-mark hold/unhold/showhold (apt hold/unhold/showhold) – Questa serie di comandi gestisce le applicazioni in attesa. Tenere un pacchetto indica al tuo sistema operativo di non aggiornarlo in futuro. Insieme a hold e unhold, puoi avviare o annullare una sospensione degli aggiornamenti su un’applicazione. Il showhold argomento elencherà ciò che hai attualmente in attesa.

Esempio: sudo apt hold pulseaudio. Una parola per il saggio: mantenere gli aggiornamenti sui pacchetti da cui dipendono altri potrebbe danneggiare il tuo sistema a lungo termine se non sei sicuro di quello che stai facendo.

  • apt-cache search/show (apt search/show) – Questa adorabile coppia di comandi si lega bene insieme. Usa il primo per trovare un pacchetto, quindi usa show seguito dal nome completo del pacchetto per scoprire maggiori dettagli a riguardo.

Esempio: sudo apt search gimp.

Se desideri saperne di più sulle complessità di APT per la tua particolare distribuzione che potrebbero non essere state trattate qui, i loro manuali sono proprio nel terminale. Basta digitare man prima del comando senza ulteriori argomenti, premere accederee presto!

Il temuto problema “comando apt-get non trovato”.

Se non riesci a installare nulla sul tuo terminale perché APT è appena andato in fumo ed è scomparso, questa non è la fine del mondo. Con un po’ di olio di gomito, avrai il tuo gestore di pacchetti preferito attivo e funzionante.

Prima di tutto, se si tratta di un nuovo sistema, ricontrolla che lo sia ipotetico utilizzare APT come gestore di pacchetti. Fedora usa DNF/yum, Arch usa Pacman, Solus usa EOPKG, openSUSE usa zypper, Mandriva usa urpmi e puoi trovarne un sacco di altri in questo pratico cheat sheet. Basta digitare quelle lettere in un terminale per essere assolutamente sicuri.

Una volta che siamo sicuri che ti trovi in ​​un sistema basato su Debian e che APT sia effettivamente mancante, è tempo di passare al passaggio successivo.

Per guidarti attraverso questo con un piccolo interesse in più nella questione, ora paralizzerò il mio sistema Ubuntu e non mi permetterò la facile scappatoia di reinstallare il sistema operativo!

Linuxapt storpio

Il risultato è ora un errore “comando non trovato” o l’impossibilità di elaborare il comando.

Errore Linuxapt

Ora è il momento di andare a trovare il pacchetto APT appropriato per il nostro sistema e installarlo. Dal momento che non abbiamo APT con cui lavorare, non possiamo nemmeno scaricare automaticamente le dipendenze.

Fortunatamente, il gestore di pacchetti su disco di Debian (dpkg) è qui per salvare la situazione! Ho scaricato l’ultima versione del pacchetto apt corrispondente alla mia architettura della CPU da Il repository principale di Ubuntu e corse dpkg -I su di esso per elencare le dipendenze che dovevo installare.

Dipendenze Linuxapt

Nel mio caso, durante il tentativo di installare l’ultima versione di APT, le dipendenze erano tutte presenti ma non abbastanza recenti.

Scopri queste cose quando digiti dpkg -i /path/to/your/apt/deb/file. Ovviamente, devi sostituire quel percorso fasullo che ho digitato con qualsiasi percorso corrisponda al file .deb che hai scaricato dal sito web.

Problemi con la versione Linuxapt

Invece della versione 2.3.11, ho scelto la versione 2.0.6, che è quella installata in Mint al momento della stesura.

Linuxapt successo

Dopo aver armeggiato con le versioni qua e là, alla fine ti imbatterai in una che funziona con la tua configurazione attuale. Questo è esattamente quello che è successo a me. Dopo aver digitato sudo dpkg -i seguito dal pacchetto, si è installato magicamente senza intoppi.

In generale, le dipendenze più gravi di APT sono cose che il tuo sistema non mancherebbe. Tuttavia, dal momento che ti manca APT, tutto è possibile. In ogni caso, se scopri che ti manca una delle dipendenze elencate dopo aver esaminato dpkg -I come abbiamo discusso in precedenza, dai un’occhiata alle cartelle principali nel repository che ho collegato. Dovrebbero trovarsi nelle cartelle alfabetiche corrispondenti.

Domande frequenti

1. Ci sono comandi APT non sicuri?

In genere, se digiti qualcosa relativo ad APT nel tuo terminale, dovresti essere consapevole di cosa sta per fare quel comando. Prima di aggiornamenti importanti, in particolare quelli in cui installi un nuovo kernel, esegui un backup completo del tuo sistema solo per sicurezza.

A parte questo, i comandi con cui devi stare davvero attento lo sono apt hold e apt full-upgrade/dist-upgrade. Il primo potrebbe rompere il tuo sistema fino a quando non sollevi le tue prese come menzionato in precedenza in modo più dettagliato. Quest’ultimo è utile solo quando la tua distribuzione rilascia una nuova versione a lungo termine a cui desideri migrare, ma potenzialmente rimuoverà anche i pacchetti installati che eri abituato a utilizzare. Sei in un territorio molto più sicuro eseguendo un normale apt upgradequindi eseguire un apt autoremove per ripulire i pacchi davvero raccogliendo polvere.

2. Apt è meglio di Apt-get?

So che questa è un’affermazione stancante, ma dipende davvero da quello che stai facendo. Le tue dita si bruciano sul tappeto digitando così tanti comandi? Potresti voler usare apt come scorciatoia se non hai bisogno di qualcosa di specifico apt-get sarebbe più adatto per. In molti modi, apt non solo semplifica il processo di gestione dei pacchetti, ma fornisce anche informazioni aggiuntive come abbiamo visto in precedenza durante il confronto apt-get search a apt search.

Tuttavia, se non sei su Mint con la sua gigantesca lista di argomenti per apt che rende quasi interamente apt-get superfluo, potresti sentirti bene ad avere qualcosa di più vecchio stile su cui fare affidamento.

3. Qual è la differenza tra un repository e un app store?

Per l’utente quotidiano, le differenze non sono affatto sconcertanti. In effetti, possono essere straordinariamente comparabili. Il punto in cui iniziano a separarsi è nella “fungibilità” del software. Linux ha un mercato del software molto fluido in cui agli utenti viene presentata una quantità di scelta a volte schiacciante. Gli app store per smartphone sono praticamente scolpiti nella pietra ed è difficile immaginare che gli utenti cerchino alternative.

Allo stesso tempo, in teoria, gli archivi di pacchetti personali (PPA) che le persone amano usare in Ubuntu possono essere compromessi e portare alla proliferazione di software dannoso da parte di malintenzionati.

Se c’è una cosa da togliere a questo, è che il decentramento comporta una certa responsabilità da parte dell’utente. Assicurati che i repository che aggiungi alla tua distribuzione provengano da fonti di cui ti puoi fidare e progetti che durano da molto tempo.

Conclusione

Si spera che a questo punto tu sia stato in grado di osservare quanta potenza ti viene offerta quando capisci cosa può offrire la suite completa di comandi e strumenti di APT. È più di un semplice modo per aggiungere e rimuovere software dal tuo computer; è un quadro completo e complesso che ti consente di scoprire e fare scelte più informate su ciò che metti lì.

Continua a leggere per scoprire come eseguire i comandi Bash in background su Linux e 15 comandi Linux LS che devi conoscere.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar di Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Potrebbero interessarti anche...

Subscribe
Notificami
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x