Jump to content

# System maintenance (Italiano)

From ArchWiki

Articoli correlati

- Raccomandazioni Generali

La manutenzione regolare del sistema è necessaria per il corretto funzionamento di Arch nel tempo. La manutenzione periodica é una pratica alla quale molti utenti si abituano.

## Ricerca degli errori

### Servizi di systemd che hanno fallito

Controlla se qualche servizio di systemd ha fallito:

    $ systemctl --failed

Vedere systemd#Using units per avere maggiori informazioni.

### File di log

Cercare gli errori nei file di log situati in `/var/log/`, così come i messaggi registrati nel journal di systemd:

    # journalctl -b

Vedere systemd/Journal per ulteriori informazioni e opzioni di filtraggio.

Vedere Xorg#Troubleshooting per informazioni su dove e come Xorg registra gli errori.

## Backup

Avere dei backup dei dati importanti è una misura necessaria, poiché è molto probabile che gli errori umani e di elaborazione, con il passare del tempo, generino danni e anche il supporto fisico in cui i dati sono memorizzati è inevitabilmente destinato a guastarsi.

Vedere Synchronization and backup programs per un elenco di applicazioni alternative che possono fare al caso vostro. Vedere Category:System recovery per altri articoli di interesse.

È consigliabile automatizzare i backup, vedere Autostarting#On time events.

### File di configurazione

Prima di modificare qualsiasi file di configurazione, createne una copia di backup in modo da poter tornare a una versione funzionante in caso di problemi. Editor come vim ed emacs possono farlo automaticamente. Su scala più ampia, si può prendere in considerazione l'utilizzo di un configuration manager.

Per i dotfiles (i file di configurazione nella home directory), vedere dotfiles#Tracking dotfiles directly with Git.

### Elenco dei pacchetti installati

Mantenere un elenco di tutti i pacchetti installati, in modo che se una reinstallazione completa fosse inevitabile, sia più facile ricreare l'ambiente originale.

Vedere pacman tips#List of installed packages per i dettagli.

### Database di Pacman

Vedere pacman/Tips and tricks#Back up the pacman database.

### Metadati di crittografia

Vedere Data-at-rest encryption#Backup for disk encryption scenarios.

### Dati del sistema e dell'utente

Vedere System backup.

## Aggiornamento del sistema

Si raccomanda di eseguire regolarmente gli aggiornamenti completi del sistema tramite pacman#Upgrading packages, per godere delle ultime correzioni di bug e degli aggiornamenti di sicurezza, e anche per evitare di dover gestire, in una volta sola, troppi aggiornamenti di pacchetti che richiedono un intervento manuale. Quando si richiede supporto alla comunità, si presume che il sistema sia aggiornato.

Assicuratevi di avere a disposizione il supporto di installazione di Arch o un altro CD/USB “live” di Linux, in modo da poter facilmente ripristinare il sistema in caso di problemi dopo l'aggiornamento. Se si utilizza Arch in un ambiente di produzione o se non ci si può permettere tempi di inattività, testare prima le modifiche ai file di configurazione e gli aggiornamenti dei pacchetti software su un sistema duplicato non critico. Quindi, se non si verificano problemi, applicare le modifiche al sistema di produzione.

Se il sistema ha pacchetti provenienti da AUR, aggiornateli tutti con attenzione.

pacman è un potente strumento di gestione dei pacchetti, ma non cerca di gestire tutti i casi. Gli utenti devono essere vigili e assumersi la responsabilità della manutenzione del proprio sistema.

### Leggere prima di aggiornare il sistema

Prima di effettuare l'aggiornamento, gli utenti devono visitare la home page di Arch Linux per controllare le ultime notizie, o in alternativa iscriversi al RSS feed o alla arch-announce mailing list. Quando gli aggiornamenti richiedono un intervento fuori dall'ordinario da parte dell'utente (più di quello che può essere gestito semplicemente seguendo le istruzioni fornite da pacman), verrà pubblicato un apposito post.

Prima di aggiornare software fondamentale (come il kernel, xorg, systemd o glibc) a una nuova versione, si consiglia di consultare l'apposito forum per vedere se sono stati segnalati problemi.

Gli utenti devono anche essere consapevoli che l'aggiornamento dei pacchetti può sollevare problemi inaspettati che potrebbero richiedere un intervento immediato; pertanto, è sconsigliato aggiornare un sistema stabile poco prima che sia necessario per svolgere un compito importante. Si consiglia invece di attendere, ad aggiornare, fino a quando non si avrà abbastanza tempo a disposizione per risolvere eventuali problemi successivi all'aggiornamento.

Suggerimento Si può usare un hook di pacman come informantAUR che impedisce l'aggiornamento se ci sono notizie fresche, in Arch News, che non sono state lette da quando si é eseguito l'ultimo aggiornamento.

### Evitate alcuni comandi di pacman

Evitare di eseguire aggiornamenti parziali. In altre parole, non eseguite mai `pacman -Sy`; usate invece sempre `pacman -Syu`.

In generale, evitare di usare l'opzione `--overwrite` con pacman. L'opzione `--overwrite` accetta un argomento contenente un glob. Quando viene usata, pacman bypassa i controlli sui conflitti di file per i file che corrispondono al glob. In un sistema correttamente mantenuto, dovrebbe essere usata solo se esplicitamente raccomandata dagli sviluppatori di Arch. Vedere la sezione #Leggere prima di aggiornare il sistema.

Evitare di usare l'opzione `-d` con pacman. `pacman -Rdd pacchetto` salta i controlli sulle dipendenze durante la rimozione dei pacchetti. Di conseguenza, un pacchetto che fornisce una dipendenza critica potrebbe essere rimosso, con conseguente rottura del sistema.

### Gli aggiornamenti parziali non sono supportati

Arch Linux è una distribuzione rolling release. Ciò significa che quando nuove versioni delle librerie vengono inviate ai repository, gli sviluppatori e i Package Maintainers ricostruiscono tutti i pacchetti nei repository che devono essere ricostruiti rispetto alle librerie. Per esempio, se due pacchetti dipendono dalla stessa libreria, l'aggiornamento di uno solo dei due pacchetti potrebbe aggiornare anche la libreria (come dipendenza), il che potrebbe rompere l'altro pacchetto che continuerebbe a dipendere da una versione più vecchia della libreria.

Per questo motivo gli aggiornamenti parziali non sono supportati. Non usare:

- `pacman -Sy package`
- `pacman -Sy` seguito da `pacman -S package` (Notare l'assenza di `-Su` nell'aggiornamento del database.)
- `pacman -Syuw` (Notare che `pacman -Syuw` implica gli stessi rischi di `pacman -Sy`, perché aggiorna il database di pacman senza installare i pacchetti nuovi.)

Quando si aggiorna il database dei pacchetti, si deve sempre eseguire un aggiornamento completo con `pacman -Syu`. Si noti che se `pacman -Syu` non esegue l'aggiornamento a causa di un errore, il risultato finale è lo stesso dell'esecuzione di `pacman -Sy`. Pertanto, è necessario risolvere l'errore e completare l'operazione di aggiornamento il prima possibile.

Fate molta attenzione quando usate `IgnorePkg` e `IgnoreGroup` per lo stesso motivo. Se il sistema ha pacchetti compilati localmente (come i pacchetti AUR), gli utenti dovranno ricompilarli quando le loro dipendenze riceveranno un soname.

Se è stato creato uno scenario di aggiornamento parziale e i binari sono interrotti perché non riescono a trovare le librerie a cui sono collegati, non “risolvete” il problema semplicemente con un collegamento simbolico. Le librerie ricevono soname quando non sono retrocompatibili. Un semplice `pacman -Syu` a un mirror correttamente sincronizzato risolverà il problema, a patto che pacman non sia rotto.

Lo script bash checkupdates, incluso nel pacchetto pacman-contrib, fornisce un modo sicuro per verificare la presenza di aggiornamenti ai pacchetti installati senza eseguire contemporaneamente un aggiornamento del sistema e fornisce un'opzione per scaricare gli aggiornamenti in attesa nella cache di pacman senza toccare il database di sincronizzazione.

### Agire riguardo gli avvisi durante l'aggiornamento

Quando si aggiorna il sistema, è bene prestare attenzione agli avvisi forniti da pacman. Se l'utente deve compiere delle azioni aggiuntive, è bene che se ne occupi subito. Se un avviso di pacman vi confonde, cercate nei forum e nei post delle notizie recenti per avere istruzioni più dettagliate.

### Gestire tempestivamente i nuovi file di configurazione

Quando viene invocato pacman, possono essere creati dei file pacnew e pacsave. Pacman fornisce un avviso quando ciò accade e gli utenti devono occuparsi di questi file tempestivamente. Per istruzioni dettagliate si rimanda alla pagina wiki pacman/Pacnew e Pacsave.

Pensate anche ad altri file di configurazione che potreste aver copiato o creato. Se un pacchetto aveva un esempio di configurazione che è stato copiato nella propria directory, si può verificare se ne è stato creato uno nuovo.

### Riavviare il sistema dopo gli aggiornamenti

In genere gli aggiornamenti non vengono applicati ai processi esistenti. È necessario riavviare i processi per applicare completamente l'aggiornamento.

Il pacchetto archlinux-contrib fornisce uno script chiamato checkservices che esegue pacdiff per fare il merge dei file .pacnew, quindi controlla i processi in esecuzione con librerie non aggiornate e chiede all'utente se desidera riavviarli.

Il kernel è particolarmente difficile da patchare senza un riavvio. Il riavvio è sempre l'opzione più sicura, ma se questo è molto scomodo si può usare il kernel live patching per applicare gli aggiornamenti senza riavviare.

### Fare il revert degli aggiornamenti non funzionanti

Se l'aggiornamento di un pacchetto è risaputo causare problemi, i pacchettizzatori faranno in modo che pacman visualizzi un messaggio appropriato quando il pacchetto viene aggiornato. Se si riscontrano problemi dopo un aggiornamento, controllare due volte l'output di pacman guardando `/var/log/pacman.log`.

Suggerimento È possibile utilizzare un visualizzatore di log come wat-gitAUR per cercare i log di pacman.

A questo punto, solo dopo essersi assicurati che non ci siano informazioni disponibili attraverso pacman, che non ci siano notizie rilevanti sulla homepage e che non ci siano post sul forum riguardanti l'aggiornamento, si può considerare di cercare aiuto sul forum, su IRC o di fare downgrading del pacchetto incriminato.

### Verificare la presenza di pacchetti orfani e abbandonati

Dopo l'aggiornamento è possibile che ci siano pacchetti non più necessari o non più presenti nei repository ufficiali.

Usare `pacman -Qtd` per controllare la presenza di pacchetti installati come dipendenza, che ora non sono più richiesti da altri pacchetti. Se un pacchetto orfano è ancora necessario, si raccomanda di cambiare il motivo dell'installazione (installation reason) in esplicito. Altrimenti, se il pacchetto non è più necessario, può essere rimosso. Si veda pacman/Tips and tricks#Removing unused packages (orphans) per i dettagli.

Inoltre, alcuni pacchetti potrebbero non essere più presenti nei repository remoti, ma potrebbero essere ancora presenti sul sistema locale. Per elencare tutti i pacchetti estranei usare `pacman -Qm`. Si noti che questo elenco includerà i pacchetti che sono stati installati manualmente (ad esempio, da AUR). Per escludere i pacchetti che sono (ancora) disponibili su AUR, usare lo script BBS#288205 o provare lo strumento ancient-packagesAUR.

## Usare il gestore dei pacchetti per installare il software

Pacman mantiene traccia dei file molto meglio di voi. Se installate le cose manualmente, prima o poi, dimenticherete ciò che avete fatto, dove avete installato qualcosa, installerete software in conflitto, installerete nella posizione sbagliata, ecc.

- Installare pacchetti dai repositori ufficiali usando il metodo descritto nella sezione pacman#Installing packages.
- Se il programma che desiderate non é disponibile, controllate se qualcuno ha creato un pacchetto in AUR. Seguite il metodo nell'articolo per l'installazione.
- Infine, se il programma che volete non é nei repo ufficiali o in AUR, imparate a creare un pacchetto (create a package) per installarlo.

Per ripulire dai file installati impropriamente, vedere pacman/Tips and tricks#Identify files not owned by any package.

### Scegliere i driver open-source

Provate sempre i driver open source prima di ricorrere a quelli proprietari. Nella maggior parte dei casi, i driver open source sono più stabili e affidabili di quelli proprietari. I bug dei driver open source vengono corretti più facilmente e rapidamente. Sebbene i driver proprietari possano offrire un maggior numero di funzioni e capacità, ciò può avvenire a scapito della stabilità. Per evitare questo dilemma, cercate di scegliere componenti hardware noti per avere un supporto maturo di driver open source con funzionalità complete. Informazioni sull'hardware con driver Linux open source sono disponibili su linux-drivers.org.

### Fare attenzione ai pacchetti non ufficiali

Usate le dovute precauzioni quando utilizzate pacchetti provenienti da AUR o da un repository non ufficiale (unofficial user repository). La maggior parte di questi sono forniti da utenti normali e quindi potrebbero non avere gli stessi standard di quelli presenti nei repository ufficiali. Evitare gli AUR helpers che automatizzano l'installazione dei pacchetti AUR. Controllare sempre i PKGBUILD per verificare la correttezza e la presenza di errori o di codice dannoso prima di creare e/o installare il pacchetto.

Per semplificare la manutenzione, limitare la quantità di pacchetti non ufficiali utilizzati. Controllate periodicamente quali sono effettivamente in uso e rimuovete (o sostituite con le loro controparti ufficiali) tutti gli altri. Vedere pacman/Tips and tricks#Maintenance per i comandi da usare. Dopo l'aggiornamento del sistema, usare rebuild-detector per identificare eventuali pacchetti non ufficiali che potrebbero dover essere ricompilati.

### Aggiornare la mirrorlist

Aggiornare la mirrorlist di pacman, perché la qualità dei mirror può variare nel tempo e alcuni possono andare offline, o può diminuire la loro velocità di download.

Vedere mirrors per i dettagli.

## Pulire il filesystem

Quando si cercano i file da rimuovere é importante trovare quelli che occupano più spazio sul disco. Dei programmi che aiutano in questo si trovano in:

- List of applications/Utilities#Disk usage display.
- List of applications/Utilities#Disk cleaning.

### La cache dei pacchetti

Rimuovere file .pkg indesiderati da `/var/cache/pacman/pkg/` per liberare spazio sul disco.

Vedere pacman#Cleaning the package cache per avere maggiori informazioni.

### Pacchetti inutilizzati (orfani)

Rimuovere i pacchetti inutilizzati dal sistema per liberare spazio sul disco e semplificare la manutenzione.

Vedere pacman/Tips and tricks#Removing unused packages (orphans) per i dettagli.

### Vecchi file di configurazione

I vecchi file di configurazione possono confliggere con le nuove versioni dei software, o creare danni col tempo. Rimuovere configurazioni inutili periodicamente, particolarmente nella propria cartella home e in `~/.config`. per ragioni simili, fare attenzione quando si condivide la cartella home tra più installazioni.

Cercare nelle cartelle seguenti:

- `~/.config/` -- dove le applicazioni salvano la loro configurazione
- `~/.cache/` -- la cache di alcuni programmi può crescere in dimensione
- `~/.local/share/` -- vecchi file possono trovarsi qui.

Vedere XDG Base Directory support per avere più informazioni.

Per mantenere la home directory pulita dai file temporanei creati nel posto sbagliato, una buona idea é mantenere una lista di file indesiderati e rimuoverli regoalrmente, per esempio con rmshit.py.

rmlint-gitAUR può essere usato per trovare e opzionalmente rimuovere file duplicati, file vuoti, cartelle vuote e symlinks rotti.

### Symlink rotti

Vecchi link simbolici rotti potrebbero essere dispersi nel sistema; bisognerebbe rimuoverli. Esempi di come lo si possa fare li si può trovare in here e here. Comunque, non si dovrebbero cancellare cecamente tutti i link simbolici rotti, perché alcuni hanno uno scopo [1].

Per elencare rapidamente tutti i symlink rotti dei file permanenti del tuo sistema esegui:

    # find / -type d \( -path "/dev" -o -path "/proc" -o -path "/run" -o -path "/sys" \) -prune -o -xtype l -print

Poi, esaminare e rimuovere le voci inutili da questo elenco.

## Suggerimenti e trucchi

I consigli seguenti sono generalmente non richiesti, ma alcuni utenti potrebbero trovarli utili.

### Usare pacchetti software certificati

I rilasci "circolari" di Arch possono essere un vantaggio per gli utenti che vogliono provare le ultime caratteristiche ed ottenere gli aggiornamenti più recenti appena possibile, ma possono anche rendere più complicata la manutenzione del sistema. Per semplificarla e migliorare la stabilità, provare ad evitare il software più all'avanguardia e installare solo software maturi e certificati. Tali pacchetti sono meno soggetti a ricevere aggiornamenti difficoltosi con rilevanti cambiamenti di configurazioni o rimozioni di caratteristiche. Preferire software sviluppato da comunità forti e attive, con un alto numero di utenti competenti, al fine di ricevere supporto semplicemente in caso di problemi.

Evitare l'uso di repository di testing, perfino pacchetti individuali di testing. Questi pacchetti sono sperimentali e non adatti all'uso in un sistema stabile. Similmente, evitare pacchetti costruiti direttamente dai sorgenti dei rami di sviluppo upstream. Questi si trovano generalmente in AUR con nomi che includono cose come: "dev", "devel", "svn", "cvs", "git", etc.

### Installare il pacchetto linux-lts

Il pacchetto linux-lts é un kernel ufficiale Arch alternativo, disponibile nel repository core. Questa versione particolare del kernel ha un supporto a lungo termine (LTS) che include aggiornamenti di sicurezza e correzioni di bug. È utile nel caso che si usino moduli del kernel out-of-tree e si voglia essere sicuri della compatibilità, o se si vuole un kernel di ripiego nel caso che una nuova versione del kernel crei problemi.

Per renderlo disponibile come opzione di avvio del sistema si dovrà aggiornare la configurazione del boot loader per l'uso del kernel `vmlinuz-linux-lts` e dell'initramfs `initramfs-linux-lts.img`.

## Vedere anche

- Arch News Bash Script
- fwupd

Category:

- System administration (Italiano)

System maintenance (Italiano)
Add topic