Come reneder più snello il nostro sistema Ubuntu
Introduzione
Questo How To è per quelli che pensano che la velocità di avviamento di ubuntu sia piuttosto lenta, e vogliono migliorarla in modo semplice e veloce. Questo metodo non è l'unico che esiste, ma funziona. Tutto quello che viene fatto è regolare il processo di avviamento: dal momento che ogni computer può avere una configurazione diversa, leggete con calma ogni passaggio e decidete se è adatto alla vostra configurazione per evitare di bloccare il sistema o il supporto di qualche periferica. Segnatevi cosa modificate per poter eventualmente tornare indietro. Potrebbe tornare utile anche eseguire un backup della propria directory /etc.
/Icone/Piccole?action=AttachFile&do=get&target=warning.png /Icone/Piccole?action=AttachFile&do=get&target=warning.png
Questa guida è adatta a utenti di computer desktop e portatili, non ai server!
Alcuni utili consigli:
Non copiate esattamente i settaggi che sono scritti di seguito, leggete le descrizioni dei servizi e valutate se si adattano a voi. Ad esempio io ho tolto bluez-utiles ma se voi avete dispositivi bluetooth lasciatelo.
Se avete domande su un servizio particolare o non siete sicuri su cosa faccia, prima di modificarlo postate sul forum per vedere se qualcuno vi può rispondere o cercate online. Nel dubbio meglio lasciarlo com'era in origine per fare eventualmente modifiche più avanti. Per avere una prima idea di cosa faccia il servizio potete leggere lo script in /etc/init.d.
Se avete dei servizi che non sono elencati qui, fatemi sapere, se possibile allegando le informazioni che avete su questi servizi, così possiamo rendere la guida più completa.
Piccola introduzione ai runlevel
Nel sistema sono presenti diversi runlevel, che corrispondono a diversi stati della macchina. In modo predefinito abbiamo:
· Runlevel 0: shutdown
· Runlevel 1: single user
· Runlevel 2-5: normali
· Runlevel 6: reboot
· Runlevel S: boot
Ogni volta che si passa a un determinato runlevel vengono avviati/fermati determinati servizi. La gestione di tali servizi è gestita all'interno delle directory /etc/init.d (contiene i servizi che possono partire in avvio) e /etc/rcX.d (dove X rappresenta un numero da 0 a 6 o una S). In ogni directory /etc/rcX.d ci sono i collegamenti simbolici ai servizi che devono essere avviati in quel particolare runlevel. Vengono avviati prima i servizi K*poi gli S*, in ordine numerico crescente.
Avere un'idea del funzionamento dei runlevel ci sarà utile per la configurazione.
Configurazione dei servizi
Ci sono diversi metodi per la configurazione dei servizi: è possibile modificare manualmente i collegamenti simbolici nelle directory o utilizzare delle utility. Per GNOME esiste BUM (Boot-up Manager), mentre per KDE dal Centro di Controllo si può accedere alla configurazione dei servizi. Io mi sono trovata meglio con l'utilitySysV-rc-conf, che ha una grafica molto essenziale e permette di gestire bene i servizi tenendo d'occhio tutti i runlevel contemporaneamente. Per installarla è possibile utilizzare Synaptic, Adept o semplicemente apt-get da console:
sudo apt-get update
sudo apt-get install sysv-rc-conf
Ora che abbiamo tutto quello che ci serve possiamo avviare il programma:
sudo sysv-rc-conf
Questa è la schermata del programma:
&&
L'utilizzo è semplice, ci si muove con le frecce tra le caselle, le righe rappresentano i servizi, le colonne i runlevel. La 'X' indica che il servizio viene fatto partire, con la barra si può attivare o disattivare. Per scorrere le schermate si scorrono semplicemente le righe, una volta finito basta premere 'q' per tornare alla console.
Analisi dei singoli servizi
Procediamo con l'analisi dei servizi:
acpi-support – È meglio lasciarlo dov'è!
acpid – Il demone acpi. Questi due sono per il power management, piuttosto importante sia per laptop che per desktop, consiglio di lasciarlo.
alsa – Se utilizzare il sistema sonoro alsa, lasciatelo.
alsa-utils – Come prima, sono le utility per alsa.
anacron – Sistema che esegue i processi stabiliti ad un certo orario se in quel momento non son stati eseguiti, ad esempio perchè il pc era spento.
apmd – Anche questo serve per il power management, è utilizzato dai portatili anteriori al 2000, se non siete sicuri che il vostro pc utilizzi ACPI potete lasciare anche questo.
atd – come cron, è uno scheduler di processi.
binfmt-support – Supporto del kernel per altri formati di file binari.
bluez-utiles – Utility per la gestione delle periferiche bluetooth, l'ho tolto visto che non ne ho.
bootlogd – Utility che lavora in background e copia tutte le stringhe mandate al device /dev/console in un file di log, da lasciare attivo.
cron – Scheduler di processi, meglio lasciarlo.
cupsys – Sottosistema di gestione delle stampanti, potete toglierlo se non ne avete.
dbus - Message bus system. Importante, da lasciare.
dns-clean – Per la pulizia delle informazioni sui dns quando si usa una connessione dial-up. Se non la usate toglietelo pure.
evms - Enterprise Volume Management system, nuovo modello di gestione dei volumi (dischi), se non lo usate potete disabilitarlo.
fetchmail – Demone per la ricezione di mail.
gdm/kdm – Gnome/Kde desktop manager, non toglietelo se non volete l'avvio da console.
gdomap – Demone usato dai programmi GNUstep per la ricerca di oggetti nei processi attivi.
gpm/joystick – Supporti per il mouse e i joystick da console.
halt – Lasciatelo, serve per lo spegnimento del pc.
hdparm – Script per migliorare le prestazioni degli harddisk. Potete metterlo nel runlevel S e toglierlo in quelli da 2 a 5, così da avviare il DMA prima del resto del sistema. Il file di configurazine dello script è: /etc/hdparm.conf.
hibernate – Se il vostro sistema supporta l'ibernazione tenetelo, altrimenti è inutile.
hotkey-setup – Gestisce gli hotkey di alcuni portatili. Le marche supportate sono principalmente HP, Acer, ASUS, Sony, Dell, and IBM. Se il vostro portatile non è tra queste probabilmente non vi è utile.
hotplug and hotplug-net – Attiva il sottosistema hotplug, richiede tempo.
hplip – HP printing and Image subsystem, se non avete stampanti HP potete toglierlo.
ifrename - Network interface rename script.
ifupdown and ifupdown-clean – Script per l'attivazione di interfacce di rete in avvio.
inetd or inetd.real – Potete controllare il vostro /etc/inetd.conf e commentare i servizi di cui non avete bisogno (personalmente non ho nè questo file nè questo servizio).
klogd – Demone per la registrazione dei messaggi del kernel. Da lasciare attivo.
linux-restricted-modules-common – Se avete restricted modules nel vostro sistema lasciatelo, altrimenti potete toglierlo. Potete trovare i restricted modules in /lib/linux-restricted-modules.
lvm – Local Volume Manger, utilizzato per gestire i volumi logici del disco. In genere non viene usato, ma in caso contrario lasciatelo.
makedev – Lasciatelo.
mdamd/mdamd-raid – Multiple device administrator, tool per la gestione dei sistemi Raid, se non lo utilizzate toglieteli pure.
module-init-tools – Carica i moduli extra da /etc/modules.
mountnfs, nfs – Questi servizi impostano il network filesystem (NFS). Se non condividete cartelle con altri computer in rete locale Linux, o se usate SAMBA per lo sharing dei vostri files, potete disattivarlo.
mysql – Server di database, a volte è attivato di default, ma se non siete un amministratore di database o uno sviluppatore, potete disattivarlo.
networking – Controlla le interfacce di rete e configura le informazioni sui DNS durante l'avvio, cercando in /etc/network/interfaces.
ntpdate – Sincronizza l'orario con l'ubuntu time server.
nvidia-kernel – Se utilizzate i driver nvidia di ubuntu lasciatelo, se li avete compilati voi potete toglierlo.
pcmcia/pcmcia-utils – Attiva le periferiche PCMCIA, se non ne avete potete toglierlo, se ne avete potete lasciarlo al runlevel S e toglierlo da quelli da 2 a 5 per caricarlo subito.
portmap – Demone per la gestione dei servizi come nis, nfs, ecc. Se il vostro pc è solo un client, toglietelo pure.
powernowd – Client per la gestione di cpufreq. Soprattutto per i portatili di nuova generazione che supportano il sistema di gestione della frequenza della CPU.
ppp and ppp-dns – Teneteli solo se utilizzate una connessione dial-up.
readahead – E' una specie di "preloader". Carica all'avvio alcune librerie in memoria per velocizzare alcuni programmi. Rallenta lo startup di 3-4 secondi.
reboot – Lasciatelo.
resolvconf – Configura automaticamente le informazioni sui DNS a seconda del vostro stato.
rmnologin – Rimuove il file /etc/nologin se lo trova (se lasciato non permetterebbe il login di alcun utente nel pc, se però siete gli unici utilizzatori della macchina potete decidere di toglierlo viste le poche possibilità che qualcuno lo crei).
rsync – Demone rsync, permette la copia di file via rete.
sendsigs – Manda segnali durante l'avvio o lo spegnimento, lasciatelo com'è.
single – Attiva il single user mode. Meglio non modificarlo.
ssh - ssh daemon - Gestisce l'SSH per il login remoto, se non lo utilizzate toglietelo pure.
stop-bootlogd – Arresta bootlogd nei runlevel da 2 a 5. Lasciatelo.
sudo – Controlla lo stato di sudo e che non venga utilizzato da utenti non autorizzati, se utilizzate solo voi il pc potete disattivarlo.
sysklogd – Gestisce i log, lasciatelo.
udev and udev-mab – Userspace dev filesystem, lasciatelo se è già attivo.
umountfs – Gestisce il mount, lasciatelo.
urandom – Generatore di numeri casuali, forse non vi può essere utile, comunque io non l'ho modificato.
usplash – Carica le schermate grafiche durante il boot. Se volete toglierlo dovrete editare anche /boot/grub/menu.lst per commentare la riga splashimage.
vbesave – Tool per la configurazione delle schede video BIOS. Salva lo status delle schede, io l'ho lasciato.
x11-common – Configura il socket ICE del server X. Se non volete averlo in single mode potete toglierlo dal runlevel S e metterlo in quelli da 2 a 5 così non parte inutilmente se non lo usate.
Eliminazione delle console inutili
All'avvio del sistema vengono precaricate più console virtuali, che però raramente vengono utilizzate dall'utente comune, soprattutto se si lavora prevalentemente in modalità grafica. Possiamo quindi alleggerire l'avvio eliminandone alcune.
È necessario modificare il file /etc/inittab. Apritelo con l'editor di testo preferito.
Potete quindi commentare le righe contenenti tty4, tty5, e tty6 (sono verso la fine del file) e lasciare semplicemente tty1, tty2, e tty3. Tre console dovrebbero essere sufficienti per un utente normale, potete comunque decidere quante tenerne. Salvate il file.
Conclusioni
Ok, a questo punto potete riavviare la vostra macchina e vedere se ci sono stati miglioramenti nella velocità di avviamento, ovviamente la diminuzione dei tempi sarà direttamente proporzionale al numero di servizi che avrete tolto.
Buon lavoro!