Nov 032011
 

di
Frank Harris-Smith

Ci sono molte ragioni per cui preferisco Linux. Nella parte superiore della lista è che io sono uno “smanettone”. Qualcuno che gode nell’apportare modifiche e fare le cose “a mio modo”, come di la canzone “My Way” di Frank Sinatra.

Linux ha molti file di configurazione, molti dei quali “si nascondono” nella cartella “/etc”. Questi file vengono utilizzati per configurare i dischi, le configurazioni di rete come l’indirizzo IP e la configurazione del DNS, le password e l’accesso come amministratore, la configurazione delle applicazioni e anche come mostrare il menu di avvio. Dietro le quinte Linux è altamente personalizzabile


I Menu di avvio sono un male necessario fino a quando i computer saranno abbastanza intelligenti da obbedire ai comandi vocali o leggere la nostra mente. Il bootloader è la prima funzione eseguita da un sistema interattivo con più di un Sistema Operativo.

Userò la modifica del mio bootloader come un esempio, facilmente visualizzabile,
di ciò che può essere fatto da sempre “dietro le quinte” in Linux.

Sapere quali file di configurazione di GRUB (il bootloader del mio sistema) non è essenziale. In /boot /grub è presente il file grub.cfg, che viene generato dal sistema e non deve essere modificato. Potete mandare in crash il sistema, lasciando fuori un piccolo “. Per esperienza so che questo è vero. Anche nel file grub.cfg c’e’ scritto nella parte superiore in lettere maiuscole “NON MODIFICARE QUESTO FILE”

Quali file di configurazione di GRUB si possono modificare? Quelli nella cartella “/etc” sono modificabili, con poche eccezioni.

Ci sono due posti all’interno della directory “/etc” in cui i file di configurazione di GRUB si “nascondono”, la sottodirectory “default” e la sottodirectory “grub.d”.

E’ davvero essenziale sapere ciò che questi file di configurazione fanno e la sintassi per modificarli. Ci sono spesso differenze nella sintassi per i file che fanno parte delle stesse funzioni di sistema. Come sempre su Google si trovano tutte le informazioni, bisogna solo essere molto specifici. Il bootloader di Linux Ubuntu (il mio GNU/Linux) è GRUB 1,99 che ha una dettagliata ma un po’ difficile da comprendere documentazione on-line.

Tutte queste modifiche devono essere fatte con privilegi di root. Un metodo semplice è usare il comando “sudo” nel terminale e il nome del browser di file, nel caso di Ubuntu – “nautilus“. Digitando “sudo nautilus” (senza le virgolette) nel terminale si aprirà un file manager con privilegi di root. Qualsiasi programma che si avvia dal file manager avrà anch’esso l’accesso come root.

I miei obiettivi

Voglio cambiare tre cose nel mio menu di avvio:

  1. Mettere il sistema operativo Windows come primo della lista, così con la freccia “su” verrà selezionato
  2. Rendere Linux il sistema operativo predefinito di avvio
  3. Eliminare la voce di test della memoria che non gradisco

Per mettere il sistema operativo Windows in cima alla lista sono andato nella cartella /etc/grub.d e semplicemente ho rinominato lo script os-prober da 15_os-probe a 08_os-probe , un numero inferiore a 10_linux . Durante l’aggiornamento del file di configurazione principale, /boot/grub.cfg da parte dello script update-grub , questo legge in ordine gli script presenti nella directory /ect/grub.d e li esegue in ordine numerico. Quindi cambiando 15_os-probe con 08_os-probe metterà OS (Windows), prima delle voci di Linux nella lista di avvio. Abbastanza semplice, una volta capito come lo script update-grub funziona.

os prober

Per fare in modo che al boot Linux sia il sistema operativo predefinito è necessario modificare il file di configurazione “grub ” nella cartella /etc/defaults . L’elenco dei sistemi operativi visualizzati da GRUB nel menu di partenza sono numerati 0, 1, 2 eccetera. Quindi dopo aver spostato Windows in cima alla lista nell’ultimo passaggio, è necessario modificare la voce “GRUB_DEFAULT=” da 0 a 1.

default

Il menu di GRUB di avvio di default ha una voce di menu di cui ho bisogno, costruito in funzione di Memtest86+. Selezionandola provocherà – un test sulla tua memoria. Essendo il tipo di persona che non ha bisogno di cose inutili nella mia vita, ho voluto togliere dalla lista del menù di avvio memtest86+.

Cosa che, una volta che si conosce il trucco, è incredibilmente semplice. Basta rendere lo script 20_memtest86+ nella cartella /etc/grub.d non eseguibile, cosa che lo fa ignorare allo script update-grub. Basta fare clic con il tasto destro e selezionare “proprietà”

memtest86 Properties

Deselezionare l

Ho menzionato lo script update-grub diverse volte. E’ uno dei file che non va modificato. Questo è lo script che modifica il file di configurazione /boot/grub.cfg già citato, quello che ha segnato in alto “NON MODIFICARE QUESTO FILE”. Si esegue lo script update-grub da terminale con i permessi di root. Un sudo anteposto al comando sarà sufficiente.

update-grub

Ed ecco il risultato. Notare che Windows è il primo della lista, il valore predefinito (selezione evidenziata) è Linux, e memtest86+ non è più presente nella lista.

menu

Conclusioni

Ho usato entrambi i termini “file di configurazione” e “script” in questo articolo ma non sono intercambiabili. Un “file di configurazione”, come il file “grub” nella cartella /etc/default è pensato per essere letto e modificato dagli esseri umani. Uno “script” è un file che è leggibile dalla macchina. Uno “script” può essere editato a mano, ma le possibilità (e conseguenze) di fare un errore sono molto alte, se non sapete esattamente quello che state facendo.

Questa è stata una breve introduzione per lavorare “dietro le quinte” in Linux. Forse una buona analogia potrebbe essere nel mondo dell’auto – ci si può sedere al volante per avviare e guidare una macchina, ma è necessario lavorare “dietro le quinte” per regolare il carburatore. Con un po’ di lavoro si può avere il proprio “modo di fare”, al di là di ciò che i pannelli di controllo e utility di configurazione del Desktop Manager della vostra distro permettono.

Siate cauti ma divertitevi a giocare “Dietro le Quinte”

Popular Posts:

Flattr this!

  6 Responses to “ETC – dove si nascondono i file di configurazione”

  1. is this about legacy grub or grub 2? Thanks

  2. This is *almost* off-topic, but re: the first paragraph, I liked Sid Vicious’ version better. He REALLY did it his way.

  3. Of course the point of the article was to show how Linux is tweakable through text files, but I can’t help myself – There’s a GUI to do this job: grub-customizer from https://launchpad.net/grub-customizer by Daniel Richter. It may be worth a Linuxaria post of its own some day!

    –Bob.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*