Come si può rendere l'avvio di Linux rapido? Seppur questo sistema operativo abbia generalmente la rapidità come uno dei principali pregi, non è detto che questo fattore si possa incrementare. Naturalmente appare evidente come i metodi utilizzati per rendere l'avvio più rapido con Windows 10 non siano applicabili anche in questo ambiente: nonostante ciò, il principio alla base resta lo stesso.
Impedendo l'avvio di software inutili che "intasano" il sistema operativo in fase di apertura, possiamo ottenere dei grandi vantaggi per quanto riguarda la velocità di avvio. Nello specifico, RAM e CPU sono la componentistica hardware che patisce maggiormente il sovraccarico: quando si sta avviando Linux (come qualunque altro sistema operativo) un po' tutti i software meno importanti fanno a "spallate" per potersi avviare prima degli altri. Ciò si riflette con un sistema operativo che fatica ad avviarsi.
Rendere l'avvio di Linux rapido impedendo l'apertura di software superflui
Nonostante alcune distribuzioni di Linux abbiano un occhio di riguardo in tal senso, spesso il sovraccarico all'avvio è un problema che diventa tangibile dopo qualche mese di utilizzo del sistema operativo.
Fortunatamente, i sistemi operativi open source ti concedono la libertà di avere maggior scelta su cosa avviare con il sistema operativo e cosa lasciare da parte. Ciò significa che puoi disabilitare o rimuovere praticamente tutto ciò che non ti serve. Naturalmente vi è il rovescio della medaglia: se dopo aver disattivato l'avvio di un programma noti che qualcosa non funziona a dovere, dovrai riattivare il tutto immediatamente.
Analizza il tempo impiegato per ogni servizio da caricare
La maggior parte dei sistemi operativi basati su Linux sono migrati a Systemd. Tra la suite di utility che include, c'è un programma che ti permette di analizzare la velocità di avvio del tuo sistema. In particolare, ti mostra il tempo totale necessario per l'avvio e il tempo necessario per caricare ciascun servizio. Nota bene: alcuni servizi vengono caricati in parallelo. Quindi, per esempio, se uno richiede due secondi per caricare e gli altri tre secondi, non significa necessariamente che siano necessari cinque secondi in totale, visto che il tempo impiegato potrebbe essere inferiore.
Per dare uno sguardo alla velocità di avvio, prova a inserire nel terminale il seguente comando:
systemd-analyze
Questo mostra quanto tempo ci vuole per caricare il kernel Linux e i servizi di sistema di base, il che significa che non tiene conto del tempo richiesto dall'interfaccia grafica per l'avvio. Per dirla in un altro modo, questo ti mostra quanto tempo è richiesto, dal momento in cui il kernel viene caricato fino a quando non viene rilasciato sulla console Linux.
Generalmente i valori mostrati dovrebbero riguardare il kernel e l'userspace. Ma una volta sapute queste pur interessanti informazioni, cosa è possibile fare? In realtà per i nostri fini è bene optare per un comando diverso, ovvero:
systemd-analyze critical-chain graphical.target
In questo modo sarà possibile avere una visione più dettagliata di cosa viene avviato in fase di avvio e quanto tempo richiede. È possibile navigare l'elenco con i tasti freccia o PAGINA SU e PAGINA GIÙ, mentre con il tasto Q è possibile uscire.
Usare systemctl per disabilitare i servizi non necessari
A questo punto vanno fatti alcuni ragionamenti: se con una memoria SSD puoi avere più tolleranza, per quanto riguarda gli hard disk tradizionali bisogna essere un filo più restrittivi per quanto riguarda i tempi di caricamento.
Supponiamo che non sia necessario un ipotetico servizio denominato APP 1. Una volta che si sei informato sulle sue funzionalità e hai deciso che puoi farne a meno in fase di avvio, puoi disabilitarlo con questo comando:
sudo systemctl disabilita APP1.service
Nota bene: talvolta questa operazione può non essere sufficiente. Questo perché altre dipendenze potrebbero avviare APP1, anche se è disabilitata. In tal caso, prova a capire cosa fa comunque avviare l'app in questione:
systemd-analyze blame | grep APP1
Qui puoi defintivamente vedere quali servizi sono collegati con APP1 e ne influiscono comunque la parziale apertura in fase di avvio. Già, ma come puoi intervenire su di essi?
Usare systemctl per bloccare un servizio
A questo punto è necessario intervenire nello specifico. Se APP1 risulta collegata al servizio APP1.service, è necassario intervenire in questo modo:
sudo systemctl mask APP1.service
Ciò inibisce il servizio e, elimina il problema, una volta per tutte. Nella maggior parte dei casi non è così complicato disabilitare un'app, ma questo esempio è cosa si rivela necessario nei casi di app particolarmente "scorbutiche". Dopo aver eliminato tutto ciò che è superfluo, puoi rieffettuare il test della velocità di avvio di Linux, per apprezzare tutti i miglioramenti del caso.