Su Windows si scarica un installatore da un sito; su Linux, nella maggior parte dei casi, si chiede il programma al gestore di pacchetti. È uno dei punti in cui Linux ha anticipato di anni ciò che oggi chiamiamo «app store»: un unico strumento installa, aggiorna e rimuove tutto il software del sistema, dal kernel al lettore musicale, verificandone la provenienza.
Pacchetti, repository e dipendenze
Un pacchetto è un archivio che contiene i file di un programma, le informazioni su dove copiarli e l'elenco delle dipendenze, cioè delle librerie e degli altri pacchetti necessari. Un repository è un archivio online di pacchetti curato dalla distribuzione, firmato digitalmente: il gestore verifica la firma prima di installare, così un pacchetto alterato lungo la strada viene rifiutato.
Quando installi un programma, il gestore calcola quali dipendenze mancano e le installa insieme. Quando aggiorni, aggiorna tutto il sistema in un colpo, librerie comprese. È il motivo per cui su Linux non esiste un programma che si aggiorna da solo in un angolo dello schermo mentre un altro resta vulnerabile.
Le famiglie principali
- Debian, Ubuntu, Linux Mint usano pacchetti
.debe lo strumentoapt. - Fedora, Red Hat Enterprise Linux, AlmaLinux, Rocky Linux usano pacchetti
.rpme lo strumentodnf. - Arch Linux e derivate come Manjaro usano
pacman. - openSUSE usa pacchetti
.rpmcon lo strumentozypper.
I comandi equivalenti
| Operazione | apt | dnf | pacman |
|---|---|---|---|
| aggiornare l'elenco dei pacchetti | apt update |
automatico | pacman -Sy |
| aggiornare il sistema | apt upgrade |
dnf upgrade |
pacman -Syu |
| cercare | apt search nome |
dnf search nome |
pacman -Ss nome |
| installare | apt install nome |
dnf install nome |
pacman -S nome |
| rimuovere | apt remove nome |
dnf remove nome |
pacman -R nome |
| informazioni | apt show nome |
dnf info nome |
pacman -Si nome |
| quale pacchetto ha questo file | dpkg -S /percorso |
dnf provides /percorso |
pacman -Qo /percorso |
Tutte le operazioni che modificano il sistema richiedono sudo. Con apt, update scarica solo l'elenco aggiornato dei pacchetti disponibili; è upgrade a installare effettivamente le nuove versioni. Dimenticare update porta a installare versioni vecchie o a errori di file non trovati.
Su Arch c'è una regola importante: non eseguire mai pacman -Sy nome per installare un singolo pacchetto senza aggiornare il resto. Il cosiddetto aggiornamento parziale può lasciare librerie incompatibili; la forma corretta è pacman -Syu nome.
Pulizia e pacchetti orfani
Rimuovendo un programma, le sue dipendenze possono restare installate senza più servire a nulla. apt autoremove, dnf autoremove e, su Arch, pacman -Rns $(pacman -Qdtq) le eliminano. Prima di confermare conviene leggere l'elenco: a volte figura un pacchetto che si usa direttamente ma che era stato installato come dipendenza. In quel caso basta marcarlo come installato manualmente, con apt-mark manual nome su Debian e Ubuntu.
Anche la cache dei pacchetti scaricati occupa spazio: apt clean la svuota, paccache su Arch mantiene solo le ultime versioni.
Repository aggiuntivi: con giudizio
A volte un programma non è nei repository ufficiali o vi compare in una versione datata. Le soluzioni sono repository aggiuntivi: i PPA su Ubuntu, COPR su Fedora, l'AUR su Arch, oppure repository gestiti direttamente dal produttore del software. Funzionano, ma ognuno è una fonte di fiducia in più: chi lo gestisce può installare qualsiasi cosa sul tuo sistema a ogni aggiornamento. Regole pratiche:
- Aggiungi solo repository di chi conosci, come il produttore del programma.
- Tienine pochi e rimuovi quelli che non usi più.
- Sull'AUR leggi il file
PKGBUILDprima di compilare: è uno script e viene eseguito sulla tua macchina. - Evita di installare file
.debo.rpmscaricati da siti sconosciuti.
Flatpak, Snap e AppImage
Accanto ai pacchetti tradizionali esistono formati che includono il programma e le sue librerie in un unico contenitore, indipendente dalla distribuzione.
- Flatpak, con il catalogo Flathub, è molto diffuso per le applicazioni desktop e le esegue in un ambiente isolato con permessi configurabili.
- Snap, sviluppato da Canonical, è integrato in Ubuntu e si usa anche per servizi e strumenti da riga di comando.
- AppImage è un singolo file eseguibile da scaricare e avviare, senza installazione e senza aggiornamenti automatici.
Il vantaggio è avere versioni recenti su una distribuzione stabile; il prezzo è un maggiore uso di spazio e, a volte, un'integrazione meno curata con il resto del desktop. Una buona divisione dei compiti: sistema e strumenti dal gestore di pacchetti, applicazioni desktop recenti da Flatpak.
Non mescolare le fonti
L'errore che più spesso rompe un sistema Linux è installare lo stesso software da fonti diverse, per esempio una libreria dal repository e una versione più nuova compilata a mano sopra la stessa cartella. Il gestore di pacchetti non sa più cosa c'è sul disco, e il successivo aggiornamento sovrascrive o lascia file incoerenti. Se devi installare qualcosa a mano, usa /usr/local o /opt, che il gestore non tocca.
In sintesi
- Il gestore di pacchetti installa, aggiorna e rimuove tutto il software verificandone la firma.
- apt, dnf e pacman fanno le stesse cose con sintassi diverse; su Arch evita gli aggiornamenti parziali.
autoremoveelimina le dipendenze orfane, ma leggi l'elenco prima di confermare.- Ogni repository aggiuntivo è una fonte di fiducia in più: aggiungine pochi e affidabili.
- Flatpak è comodo per le applicazioni desktop; non mescolare pacchetti e installazioni manuali nelle stesse cartelle.