System maintenance (Italiano)
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
Controllare se qualche servizio di systemd ha fallito:
$ systemctl --failed
Vedere systemd (Italiano)#Utilizzo delle unità per ulteriori 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 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 proprio caso. Vedere Category:System recovery per altri articoli di interesse.
È consigliabile automatizzare i backup e provare il processo di recupero in modo da essere certi che tutto funzioni come dovrebbe. Per l'automazione si veda System backup (Italiano)#Automazione.
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 di testo 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), si veda 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.
Si veda pacman/Tips and tricks#List of installed packages per i dettagli.
Database di Pacman
Si veda pacman/Tips and tricks#Back up the pacman database.
Metadati di crittografia
Si veda Data-at-rest encryption#Backup for disk encryption scenarios.
Dati del sistema e dell'utente
Si veda System backup.
Aggiornamento del sistema
Si raccomanda di eseguire regolarmente gli aggiornamenti completi del sistema tramite pacman (Italiano)#Aggiornamento dei pacchetti, 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 richiedano un intervento manuale tutti insieme. Quando si chiede supporto alla comunità, si presume che il sistema sia aggiornato.
Assicurarsi 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, aggiornarli tutti con attenzione.
pacman è un potente strumento di gestione dei pacchetti, ma non cerca di gestire tutti i casi limite. 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 feed RSS 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 si debba svolgere un lavoro importante. Si consiglia invece di rimandare l'aggiornamento fino a quando non si avrà abbastanza tempo a disposizione per risolvere eventuali problemi successivi all'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 usato, pacman ignora 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 -Syseguito dapacman -S package(invece, si deve usare-Super l'installazione del pacchetto.)
-
pacman -Syuwimplica gli stessi rischi dipacman -Sy, perché aggiorna il database di pacman senza installare i pacchetti nuovi. - Lo script bash checkupdates, incluso nel pacchetto pacman-contrib, fornisce un modo sicuro per verificare la presenza di aggiornamenti per i pacchetti installati senza eseguire contemporaneamente un aggiornamento del sistema e fornisce l'opzione
-dper scaricare gli aggiornamenti in attesa nella cache di pacman senza sincronizzare il database. Si scongiurano così problemi di disallineamento quando si tenta successivamente di installare pacchetti conpacman -S pacchetto.
Quando si aggiorna il database dei pacchetti, si deve sempre eseguire un aggiornamento completo con pacman -Syu.
pacman -Syu non riesce a completare l'aggiornamento (ovvero la parte -Su), l'errore deve essere risolto e l'operazione di aggiornamento va completata prima di altre operazioni di gestione dei pacchetti, poiché la sincronizzazione del database (la parte -Sy) è già avvenuta con successo.Si ponga molta attenzione quando si usa 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 corrotti perché non riescono a trovare le librerie a cui sono collegati, non "risolvere" il problema semplicemente con un collegamento simbolico. Le librerie ricevono incrementi nel soname quando non sono retrocompatibili. Un semplice pacman -Syu a un mirror correttamente sincronizzato risolverà il problema, a patto che pacman stesso non sia danneggiato.
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 non è chiaro, si cerchi nei forum e si controllino le notizie recenti nella homepage di Arch Linux (si veda #Leggere prima di aggiornare il sistema) 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 and Pacsave.
Si pensi anche ad altri file di configurazione che potrebbero esser stati copiati o creati. Se un pacchetto aveva un esempio di configurazione che è stato copiato nella propria home directory, si può verificare se ne è stato creato uno nuovo.
Riavviare i servizi o 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 aggiornare 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 si sa che l'aggiornamento di un pacchetto causa 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 accuratamente l'output di pacman leggendo /var/log/pacman.log.
A questo punto, solo dopo essersi assicurati che non ci siano informazioni disponibili attraverso pacman, che non ci siano notizie rilevanti su https://archlinux.org/ e che non ci siano post sul forum riguardanti l'aggiornamento, si può considerare di cercare aiuto sul forum o su IRC. Fare il downgrading del pacchetto incriminato per ripristinare gli aggiornamenti corrotti deve essere considerata come l'ultima possibilità.
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 che furono installati come dipendenza e che ora non sono più richiesti da altri pacchetti. Se un pacchetto orfano è ancora necessario, si raccomanda di cambiare il motivo dell'installazione a 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 dell'utente. Se si installano le cose manualmente, si dimenticherà prima o poi ciò che è stato fatto, dove è stata installata qualcosa e si installerà software in conflitto, nella posizione sbagliata, ecc.
- Installare pacchetti dai repositori ufficiali usando il metodo descritto nella sezione pacman#Installazione di pacchetti.
- 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 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
Si usino le dovute precauzioni con i pacchetti provenienti da AUR o da un repository non ufficiale. La maggior parte di questi sono forniti da utenti normali e quindi potrebbero non avere gli stessi standard di quelli presenti nei repository ufficiali. Controllare sempre i PKGBUILD per verificare la correttezza e la presenza di errori o di codice dannoso prima di creare o installare il pacchetto.
Per semplificare la manutenzione, limitare la quantità di pacchetti non ufficiali utilizzati. Si controllino 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
Programmi che aiutano in questo compito si possono trovare in List of applications/Utilities#Disk cleaning.
File grandi non usati
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:
La cache dei pacchetti
Rimuovere file .pkg indesiderati da /var/cache/pacman/pkg/ per liberare spazio sul disco.
Vedere pacman#Ripulire la cache dei pacchetti per avere maggiori informazioni.
Pacchetti inutilizzati
Rimuovere i pacchetti inutilizzati dal sistema per liberare spazio sul disco e semplificare la manutenzione.
Vedere #Verificare la presenza di pacchetti orfani e abbandonati per i dettagli.
Vecchi file di configurazione
I vecchi file di configurazione possono andare in conflitto con le nuove versioni dei software o corrompersi 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 collegamenti simbolici interrotti.
Collegamenti simbolici interrotti
Potrebbero esserci nel sistema vecchi collegamenti simbolici interrotti; bisognerebbe rimuoverli. Esempi di come lo si possa fare si trovano in qui e qui. Comunque, non si dovrebbero cancellare ciecamente tutti i collegamenti simbolici interrotti, perché alcuni hanno uno scopo [1].
Per elencare rapidamente tutti i collegamenti simbolici interrotti dei file permanenti del proprio sistema eseguire:
# 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 maturo e sicuro. 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 semplificare il supporto 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", ecc.
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) da upstream, che include aggiornamenti di sicurezza e correzioni di bug. È utile nel caso 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-linux-lts.img.