Boot di Linux più Veloce con initNG

Il sistema init di System V è un meccanismo ben rodato, che è utilizzato da anni e consente di effettuare l’avvio dei servizi in ambiente GNU Linux. Questo sistema però risente di alcuni difetti, la scarsa integrazione con l’hardware moderno e l’assenza di una gestione parallela nell’esecuzione dei processi. La distribuzione Ubuntu utilizza un sostituto di init, si tratta di upstart, creato da Scott James Remnant. Con questo sistema i servizi vengono avviati in risposta a determinati eventi ed in parallelo, l’indirizzo ip dal server dhcp per esempio. Oggi upstart è utilizzato non solo in Ubuntu, ma anche in openSUSE, Fedora ed anche in Google Chrome OS. In questo articolo, che tratta dei gestori di avvio dei processi in Linux, voglio descrivere un altro di questi, initNG, un init della Next Generation, nato anch’esso da tempo e che consente di avviare in parallelo i processi e soltanto quelli che noi vogliamo, velocizzando agli estremi il boot del nostro sistema Linux. Vediamo come provarlo sul nostro sistema e vedere se veramente consente di accellelare il boot di Linux. Tutte le prove andrebbero fatte non direttamente sul sistema della nostra macchina reale, ma provarlo e testarlo a fondo in una macchina virtuale, oggi che i nuovi computer lo permettono. Installiamo il pacchetto cmake della nostra distribuzione, che serve per compilare initNG, poi scarichiamo il pacchetto dei sorgenti e dei files di initNG e scompattiamo. Da root andiamo a creare una cartella all’interno di quella dei sorgenti, “build” ad esempio ed entriamo dentro quest’ultima dando il comando cmake, quindi eseguiamo make ed infine make install. Effettuata l’installazione possiamo andare a modificare il nostro boot loader, LILO o Grub, aggiungendo una nuova voce, “Linux initNG” per esempio. Nel caso di Grub apriamo il file /boot/grub/menu.lst ed inseriamo la nostra voce per initNG, possiamo copiare quella del nostro avvio normale e cambiare soltanto la voce del titolo ed inserire l’opzione al kernel, ad esempio:

kernel /boot/vmlinuz root=/dev/hda1 init=/sbin/initng

Arrivati a questo punto eseguiamo genrunlevel –all così da creare in automatico tutti i file per i servizi relativi ai programmi installati. Ora possiamo riavviare il PC e selezionare Linux initNG nella maschera del boot, se qualcosa andasse storto possiamo sempre avviare il sistema con il nostro init standard della nostra distribuzione. Come ultimo, alcuni consigli sui servizi da avviare al boot del sistema. Ogni distribuzione ed anche i vari desktop grafici, nonché webmin, danno facilmente la possibilità di intervenire sui processi da avviare alla partenza del sistema operativo, vediamo quali scegliere per migliorare le prestazioni della nostra distribuzione.

  • BLUETOOTH –  andrebbe avviato soltanto se si ha necessità di utilizzare periferiche con questo tipo di comunicazione.
  • PCMCIA – da abilitare per gestire le schede di questo tipo, generalmente sono presenti sui computer portatili.
  • APMD e ACPID – da utilizzare solo per il controllo dell’energia sui notebook e netbook.
  • POWERNOWD – demone che consente di gestire la velocità del processore, utile per i computer portatili in modo da non far consumare energia invano.
  • MDADM – da abilitare solo se si utilizzano dischi in RAID.
  • SSH – il server che consente di gestire la macchina a riga di comando con una Secure Shell, attiviamolo solo se abbiamo un server remoto senza video.
  • NFS – il filesystem di rete per condividere file, cartelle e risorse su reti Unix, ormai è poco utilizzato.

Per i server il discorso varia, perché per avere delle macchine sicure e veloci dobbiamo far avviare solo gli strumenti che ci servono, ad esempio su di un server Linux, X e tutta la parte grafica è superflua, perché possiamo utilizzare Webmin o SSH per configurare il nostro server.
Per approfondimenti e domande vi invito ad utilizzare il nostro forum su Linux.

Informazioni su Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.
Questa voce è stata pubblicata in Linux. Contrassegna il permalink.