Comando pacman: pacchetti e aggiornamenti completi su Arch Linux

pacman gestisce i pacchetti di Arch Linux: -S opera sui repository, -Q interroga il database locale e -R rimuove pacchetti. Per aggiornare Arch usa il flusso di aggiornamento completo con -Syu: sincronizzare soltanto i database con -Sy e poi installare alcuni pacchetti può creare un aggiornamento parziale, non supportato da Arch.

La distinzione è importante perché i pacchetti nei repository vengono mantenuti come un insieme compatibile. Una nuova libreria installata per un solo programma può rendere incompatibili altri programmi rimasti vecchi. Le distribuzioni derivate possono avere repository e procedure proprie: verifica sempre la documentazione della distribuzione effettivamente installata.

Sintassi e preparazione

pacman -operation[option] [package...]

La riga descrive uno schema: operation, option e package sono segnaposto. Le lettere distinguono operazioni e opzioni; maiuscole e minuscole contano. Controlla pacman --version, pacman --help e man pacman; per una singola operazione puoi consultare, per esempio, pacman -Q --help.

Le normali interrogazioni non richiedono sudo; installazione, aggiornamento e rimozione dei pacchetti di sistema richiedono privilegi amministrativi. Prima di un aggiornamento importante prepara backup verificati, spazio libero e una connessione stabile. Prevedi anche tempo per risolvere problemi e un mezzo di avvio di recupero per il sistema, soprattutto se è rimasto fermo a lungo.

Esempi: cercare, interrogare e aggiornare

Cercare nginx nei database dei repository

pacman -Ss nginx

Leggi i nomi e le descrizioni delle corrispondenze. La ricerca riguarda i database di sincronizzazione disponibili localmente e non prova che il pacchetto sia installato. Se sono vecchi, i risultati possono non rappresentare lo stato corrente dei mirror: non risolvere il problema con una sincronizzazione isolata seguita dall'installazione di un solo pacchetto.

Leggere le informazioni del pacchetto installato

pacman -Qi bash

-Q seleziona il database locale; -i mostra dettagli come versione, dipendenze e informazioni di installazione. Se bash non è registrato, il comando segnala che non lo trova. Per i metadati di un candidato nei repository si usa invece pacman -Si bash: non confondere disponibilità e installazione locale.

Aggiornare l'intero sistema

sudo pacman -Syu

-S seleziona la sincronizzazione, -y aggiorna i database dei repository e -u esamina gli aggiornamenti dei pacchetti installati. Leggi il riepilogo prima di confermare: controlla dipendenze, sostituzioni, dimensione dei download e spazio richiesto. Non aggiungere --noconfirm mentre stai verificando una procedura nuova.

Questo comando aggiorna ciò che è disponibile nei repository configurati; non ricompila automaticamente i pacchetti locali o quelli provenienti da Arch User Repository, abbreviato AUR. Dopo cambiamenti nelle librerie, questi pacchetti possono richiedere un aggiornamento o una ricompilazione separata secondo le loro istruzioni.

Per installare nginx insieme alla sincronizzazione e all'aggiornamento completo puoi usare sudo pacman -Syu nginx, dopo aver letto le indicazioni di manutenzione. Non usare la forma -Sy nginx come scorciatoia per risparmiare un aggiornamento. Se una sostituzione o un messaggio richiede un intervento manuale, chiarisci prima il passaggio necessario.

Interpretare una query locale

pacman -Q bash

Se bash è installato, un esempio del formato è:

bash 5.x.x-1

5.x.x-1 è un segnaposto per una versione e una release variabili, non una versione verificata o da cercare nei repository. La query riporta il pacchetto registrato localmente; non ne certifica l'integrità o il funzionamento.

Se il pacchetto non è installato, aspettati un messaggio diagnostico e uno stato di uscita diverso da zero. In uno script leggi echo $? subito dopo la query, prima di eseguire un comando che lo sostituisca. Non interpretare un errore di lettura del database come una normale risposta vuota.

Per controllare l'elenco dei percorsi registrati usa pacman -Ql bash; per una verifica della presenza dei file consulta pacman -Qk bash. Elenco dei file, presenza sul disco e verifica completa della sicurezza sono controlli diversi.

Operazioni e opzioni principali

Forma Funzione e attenzione
-S pacchetto Installa dai repository; evita di usarlo dopo una sincronizzazione isolata che lasci il sistema parzialmente aggiornato.
-Syu Sincronizza i database e avvia l'aggiornamento completo.
-Ss ricerca Cerca nei nomi e nelle descrizioni dei database dei repository.
-Qi pacchetto Mostra le informazioni di un pacchetto installato.
-R pacchetto Rimuove il pacchetto; valuta attentamente eventuali opzioni aggiuntive.

Le opzioni brevi dipendono dall'operazione: -s insieme a -S significa ricerca, mentre insieme a -R richiede la rimozione ricorsiva delle dipendenze ammissibili. Non trasferire una lettera da un comando a un altro presumendo che conservi il significato.

Aggiornamenti parziali, rimozione e recupero

Prima di aggiornare leggi le notizie ufficiali di Arch Linux per eventuali interventi manuali. L'aggiornamento non è il momento adatto per ignorare pacchetti casualmente o aggirare dipendenze. Se -Syu sincronizza i database ma non completa l'aggiornamento, risolvi l'errore e completa l'operazione prima di altre modifiche ai pacchetti.

Evita di riparare librerie incompatibili creando collegamenti simbolici fra versioni diverse. Conserva il messaggio e consulta /var/log/pacman.log, le notizie e le istruzioni ufficiali. Non disabilitare le firme o usare --overwrite e opzioni che saltano le dipendenze come rimedi generici; una procedura straordinaria va applicata soltanto al caso per cui è documentata.

-Rns combina rimozione, gestione ricorsiva delle dipendenze e mancata conservazione dei file di backup previsti dal pacchetto. Con un solo -s, le dipendenze vengono considerate per la rimozione se non sono richieste da altri pacchetti e non sono state installate esplicitamente. -n impedisce il normale salvataggio come .pacsave dei file interessati: esamina l'intero elenco e salva prima le configurazioni che servono.

Non interpretare -Rns come cancellazione di ogni dato dell'applicazione: i file creati nella directory personale possono rimanere. Durante gli aggiornamenti leggi inoltre gli avvisi sui file .pacnew e .pacsave e confronta le configurazioni prima di sostituirle. Una reinstallazione non ripristina automaticamente dati e impostazioni precedenti.

Un programma già in esecuzione può continuare a usare vecchie librerie dopo l'aggiornamento: pianifica il riavvio dei processi e, quando necessario, del sistema. Non interrompere una transazione a caso e non cancellare il blocco mentre pacman è attivo. I backup e una procedura di recupero verificata restano necessari anche se l'aggiornamento viene normalmente eseguito con un solo comando.

Domande frequenti

Qual è la differenza fra -Sy e -Syu?

-Sy sincronizza soltanto i database dei repository. -Syu aggiunge l'aggiornamento dei pacchetti installati. Su Arch evita il flusso -Sy seguito dall'installazione selettiva: gli aggiornamenti parziali non sono supportati.

-Syu aggiorna anche tutti i pacchetti AUR?

Non ricompila automaticamente i pacchetti AUR o locali. Devi gestirli separatamente e verificare se un cambiamento delle dipendenze richiede una ricompilazione.

Documentazione ufficiale

Il manuale di pacman descrive operazioni e opzioni. Le pagine ArchWiki su pacman e sulla manutenzione del sistema spiegano il flusso di aggiornamento completo, i rischi degli aggiornamenti parziali e i controlli successivi.