LKN: Ricette per Configurare il Kernel: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
nuova categoria
(nuova categoria)
 
(8 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
''Torna all'indice: [[Linux Kernel in a Nutshell]]''
{{Template:LKN}}
 
__TOC__
__TOC__


Il [[LKN:_Personalizzare_un_Kernel|capitolo precedente]] ci ha insegnato i meccanismi per la riconfigurazione del kernel; in questo capitolo arriva la parte interessante, in cui si possono trovare tutte le modifiche più comuni che gli utenti hanno bisogno di apportare ai loro kernel, con le istruzioni specifiche per effettuarle.
Il [[LKN:_Personalizzare_un_Kernel|capitolo precedente]] ci ha insegnato i meccanismi per la riconfigurazione del kernel; in questo capitolo arriva la parte interessante, in cui si possono trovare tutte le modifiche più comuni che gli utenti hanno bisogno di apportare ai loro kernel, con le istruzioni specifiche per effettuarle.


== '''Dischi''' ==
== '''Dischi''' ==
Riga 10: Riga 8:
Il kernel Linux supporta una grande varietà di differenti tipi di disco. Questa sezione mostra come configurare il kernel in modo tale che supporti la maggior parte dei modelli più comuni di controller di disco.
Il kernel Linux supporta una grande varietà di differenti tipi di disco. Questa sezione mostra come configurare il kernel in modo tale che supporti la maggior parte dei modelli più comuni di controller di disco.


 
===Dispositivi USB===
'''Dispositivi USB'''


Per utilizzare un dispositivo di archiviazione USB (come quelli chiamati comunemente memorie "flash" USB, oppure dischi esterni USB) il supporto USB deve prima funzionare correttamente. Fare riferimento alla ricetta nella sezione chiamata [[USB]] per sapere come fare.
Per utilizzare un dispositivo di archiviazione USB (come quelli chiamati comunemente memorie "flash" USB, oppure dischi esterni USB) il supporto USB deve prima funzionare correttamente. Fare riferimento alla ricetta nella sezione chiamata [[USB]] per sapere come fare.
Riga 50: Riga 47:
Nelle pagine che seguono verranno illustrate specifici dispostivi di archiviazione USB per i quali si rende necessaria una configurazione differente, in quanto non seguono gli standard USB e richiedono un codice speciale. Se si possiede uno di questi dispositivi, è necessario abilitare il supporto per essi.
Nelle pagine che seguono verranno illustrate specifici dispostivi di archiviazione USB per i quali si rende necessaria una configurazione differente, in quanto non seguono gli standard USB e richiedono un codice speciale. Se si possiede uno di questi dispositivi, è necessario abilitare il supporto per essi.


 
===Dischi IDE===
'''Dischi IDE'''


I dischi IDE sono i più comuni dischi per PC. Il dispositivo che abilita tali dischi affinchè essi lavorino correttamente è un controller di disco IDE. Per determinare se si abbia un controller di disco IDE sul proprio sistema, usare il comando ''lspci'' nel seguente modo:
I dischi IDE sono i più comuni dischi per PC. Il dispositivo che abilita tali dischi affinchè essi lavorino correttamente è un controller di disco IDE. Per determinare se si abbia un controller di disco IDE sul proprio sistema, usare il comando ''lspci'' nel seguente modo:
Riga 100: Riga 96:
Ciò porta all'apertura di un lungo sottomenu di differenti tipi di controller IDE. Selezionare il proprio in base al nome del dispositivo mostrato col comando ''lspci''
Ciò porta all'apertura di un lungo sottomenu di differenti tipi di controller IDE. Selezionare il proprio in base al nome del dispositivo mostrato col comando ''lspci''


 
===Serial ATA (SATA)===
'''Serial ATA (SATA)'''


SATA è un tipo di controller di disco che rappresenta il successore del controller di disco IDE. Per determinare se si possiede sul sistema un controller di disco SATA, lanciare il seguente comando:
SATA è un tipo di controller di disco che rappresenta il successore del controller di disco IDE. Per determinare se si possiede sul sistema un controller di disco SATA, lanciare il seguente comando:
Riga 154: Riga 149:
             [*]  Intel PIIX/ICH SATA support  
             [*]  Intel PIIX/ICH SATA support  
</pre>
</pre>


== '''Masterizzare un CD-ROM''' ==
== '''Masterizzare un CD-ROM''' ==
Riga 161: Riga 155:
Ci sono due metodi per abilitare il supporto CD-ROM in Linux, uno per i lettori IDE ed uno per i lettori SCSI e SATA
Ci sono due metodi per abilitare il supporto CD-ROM in Linux, uno per i lettori IDE ed uno per i lettori SCSI e SATA


 
===Lettori CD-ROM IDE===
'''Lettori CD-ROM IDE'''


I lettori CD-ROM IDE sono gestiti dallo stesso controller IDE del disco principale. Assicurarsi che il controller IDE sia correttamente supportato come descritto nella sezione ''Dischi IDE''. Se lo è, allora occorre selezionare solo un'altra voce nella procedura di configurazione:
I lettori CD-ROM IDE sono gestiti dallo stesso controller IDE del disco principale. Assicurarsi che il controller IDE sia correttamente supportato come descritto nella sezione ''Dischi IDE''. Se lo è, allora occorre selezionare solo un'altra voce nella procedura di configurazione:
Riga 173: Riga 166:
</pre>
</pre>


 
===Lettori CD-ROM SCSI e SATA===
'''Lettori CD-ROM SCSI e SATA'''


I lettori CD-ROM SCSI e SATA sono gestiti dallo stesso controller del disco principale. Assicurarsi che il controller SCSI o SATA sia correttamente supportato. Per i dischi SATA, vedere la precedente sezione ''Serial ATA (SATA).''   
I lettori CD-ROM SCSI e SATA sono gestiti dallo stesso controller del disco principale. Assicurarsi che il controller SCSI o SATA sia correttamente supportato. Per i dischi SATA, vedere la precedente sezione ''Serial ATA (SATA).''   
Riga 186: Riga 178:


Una volta che è stato abilitato, il lettore CD-ROM SCSI o SATA dovrebbe funzionare correttamente.
Una volta che è stato abilitato, il lettore CD-ROM SCSI o SATA dovrebbe funzionare correttamente.


== '''Dispositivi''' ==
== '''Dispositivi''' ==
Riga 192: Riga 183:
Linux supporta un grande numero di differenti tipi di dispositivi (più di qualunque altro sistema operativo). Questa sezione descrive come abilitare i dispositivi più comuni.
Linux supporta un grande numero di differenti tipi di dispositivi (più di qualunque altro sistema operativo). Questa sezione descrive come abilitare i dispositivi più comuni.


 
===USB===
'''USB'''


Linux supporta molti tipi di dispositivi USB. Per abilitare il supporto USB, bisogna innanzitutto abilitare il supporto per il controller USB, che gestisce il collegamento USB sulla macchina. Per determinare se la propria macchina possiede un controller USB, e di quale tipo è, lanciare il seguente comando:
Linux supporta molti tipi di dispositivi USB. Per abilitare il supporto USB, bisogna innanzitutto abilitare il supporto per il controller USB, che gestisce il collegamento USB sulla macchina. Per determinare se la propria macchina possiede un controller USB, e di quale tipo è, lanciare il seguente comando:
Riga 259: Riga 249:
Per inserire dispositivi di archiviazione USB (USB flash), vedere la sezione chiamata "Archiviazione USB", all'inizio di questo capitolo.
Per inserire dispositivi di archiviazione USB (USB flash), vedere la sezione chiamata "Archiviazione USB", all'inizio di questo capitolo.


 
===IEEE 1394 (FireWire)===
'''IEEE 1394 (FireWire)'''


IEEE 1394 è comunemente conosciuta col nome FireWire, il nome con il quale fu pubblicizzata dalla Apple Computer. IEEE 1394 è un bus ad alta velocità che connette dispositivi esterni, come i dispositivi USB.
IEEE 1394 è comunemente conosciuta col nome FireWire, il nome con il quale fu pubblicizzata dalla Apple Computer. IEEE 1394 è un bus ad alta velocità che connette dispositivi esterni, come i dispositivi USB.
Riga 316: Riga 305:
</pre>
</pre>


 
===PCI Hotplug===
'''PCI Hotplug'''


I sistemi PCI hotplug stanno diventando sempre più popolari grazie all'uso di Express Card e laptop docking stations.
I sistemi PCI hotplug stanno diventando sempre più popolari grazie all'uso di Express Card e laptop docking stations.
Riga 358: Riga 346:
</pre>
</pre>


 
===PCMCIA/CardBus===
'''PCMCIA/CardBus'''


Il supporto per dispositivi PCMCIA e CardBus è fabbricato su quasi ogni portatile. In ogni caso, i portatili più recenti si stanno orientando verso il formato ExpressCard (vedere la ricetta PCI Hotplug nella sezione precedente, ''PCI Hotplug'').
Il supporto per dispositivi PCMCIA e CardBus è fabbricato su quasi ogni portatile. In ogni caso, i portatili più recenti si stanno orientando verso il formato ExpressCard (vedere la ricetta PCI Hotplug nella sezione precedente, ''PCI Hotplug'').
Riga 403: Riga 390:
</pre>
</pre>


 
===Audio (ALSA)===
'''Audio (ALSA)'''


Advanced Linux Sound Architecture (ALSA) è l'attuale sound system per il kernel Linux. Un sound system meno recente (OSS) è stato abbandonato, e quasi tutti i vecchi driver sono stati rimossi dall'albero dei sorgenti del kernel.
Advanced Linux Sound Architecture (ALSA) è l'attuale sound system per il kernel Linux. Un sound system meno recente (OSS) è stato abbandonato, e quasi tutti i vecchi driver sono stati rimossi dall'albero dei sorgenti del kernel.
Riga 457: Riga 443:
                 PCI Devices  
                 PCI Devices  
</pre>
</pre>


=='''CPU'''==
=='''CPU'''==
Riga 463: Riga 448:
Se si desidera avere un kernel che lavori il più velocemente possibile per il proprio hardware e processore, sono poche le opzioni sulle quali bisogna agire per migliorare le performance. Questa sezione mostrerà alcune delle opzioni che si possono configurare in base ai processori.
Se si desidera avere un kernel che lavori il più velocemente possibile per il proprio hardware e processore, sono poche le opzioni sulle quali bisogna agire per migliorare le performance. Questa sezione mostrerà alcune delle opzioni che si possono configurare in base ai processori.


 
===Tipi di processori===
'''Tipi di processori'''


Nel kernel linux possiamo modificare un gran numero di opzioni per i diversi processori. La prima informazione da ricavare è l'esatto tipo di processore che si sta usando. Per scoprire ciò, lanciare il seguente comando:
Nel kernel linux possiamo modificare un gran numero di opzioni per i diversi processori. La prima informazione da ricavare è l'esatto tipo di processore che si sta usando. Per scoprire ciò, lanciare il seguente comando:
Riga 525: Riga 509:
Per maggiori dettagli su questa fase della configurazione, si veda la voce M386 al Capitolo 11 per una completa descrizione di come scegliere la corretta voce di processore in base a quello che si possiede, e per il numero di macchine sul quale si voglia far girare il kernel.
Per maggiori dettagli su questa fase della configurazione, si veda la voce M386 al Capitolo 11 per una completa descrizione di come scegliere la corretta voce di processore in base a quello che si possiede, e per il numero di macchine sul quale si voglia far girare il kernel.


 
===SMP===
'''SMP'''


Se il proprio sistema ha più di una CPU, o una CPU Dual Core o Hyperthreaded, si dovrebbe selezionare l'opzione multiprocessore per il kernel linux in modo da portare vantaggi ai processori addizionali. Se non lo si farà, si sprecheranno risorse per gli altri processori senza tuttavia usarli del tutto.
Se il proprio sistema ha più di una CPU, o una CPU Dual Core o Hyperthreaded, si dovrebbe selezionare l'opzione multiprocessore per il kernel linux in modo da portare vantaggi ai processori addizionali. Se non lo si farà, si sprecheranno risorse per gli altri processori senza tuttavia usarli del tutto.
Riga 537: Riga 520:
</pre>
</pre>


 
===Preemption===
'''Preemption'''


Sistemi che fungono da server devono soddisfare a diversi requisiti fra i quali quelli di essere usati come desktop per applicazioni audio e video. Il kernel permette diversi modi di "preemption" in modo da affrontare diversi carichi di lavoro. "Preemption" è la capacità del kernel di interrompere se stesso mentre sta facendo qualcos'altro, in modo da lavorare per qualcosa che abbia una priorità più alta, ad esempio come aggiornare un programma audio o video.
Sistemi che fungono da server devono soddisfare a diversi requisiti fra i quali quelli di essere usati come desktop per applicazioni audio e video. Il kernel permette diversi modi di "preemption" in modo da affrontare diversi carichi di lavoro. "Preemption" è la capacità del kernel di interrompere se stesso mentre sta facendo qualcos'altro, in modo da lavorare per qualcosa che abbia una priorità più alta, ad esempio come aggiornare un programma audio o video.
Riga 562: Riga 544:
Questa opzione può essere selezionata solo se in precedenza si sono selezionate le voci "Preemptible Kernel" o "Symmetric multi-processin support".
Questa opzione può essere selezionata solo se in precedenza si sono selezionate le voci "Preemptible Kernel" o "Symmetric multi-processin support".


 
===Suspend===
'''Suspend'''


Il kernel Linux ha la capacità di autospendersi a disco, permettendo di togliere l'alimentazione e poi, successivamente, di rialimentare e tornare esattamente nel punto in cui la macchina era stata sospesa. Questa funzionalità è molto utile sui laptop nei quali gira Linux
Il kernel Linux ha la capacità di autospendersi a disco, permettendo di togliere l'alimentazione e poi, successivamente, di rialimentare e tornare esattamente nel punto in cui la macchina era stata sospesa. Questa funzionalità è molto utile sui laptop nei quali gira Linux
Riga 590: Riga 571:
Usare l'output del comando precedente in questa opzione di configurazione del kernel e nella riga di boot del kernel dove viene specificato da dove il kernel dovrebbe essere riesumato. Dopo che la macchina è stata sospesa, per farla ripartire correttamente, passare l'argomento ''resume=/dev/swappartition alla riga di comando del kernel affinchè usi l'immagine corretta. Se non si vuole arichiviare l'immagine sospesa, usare l'argomento "noresum" da riga di comando del kernel.
Usare l'output del comando precedente in questa opzione di configurazione del kernel e nella riga di boot del kernel dove viene specificato da dove il kernel dovrebbe essere riesumato. Dopo che la macchina è stata sospesa, per farla ripartire correttamente, passare l'argomento ''resume=/dev/swappartition alla riga di comando del kernel affinchè usi l'immagine corretta. Se non si vuole arichiviare l'immagine sospesa, usare l'argomento "noresum" da riga di comando del kernel.


 
===CPU Frequency Scaling===
'''CPU Frequency Scaling'''


La maggior parte dei moderni processori possono rallentare il clock interno del processore in modo da preservare alimentazione e durata della batteria. Linux supporta questa capacità e offre una varietà di ''regolatori'' di alimentazione. Differenti regolatori implementano differenti ''heuristics'' in modo da determinare come variare la velocità del processore in funzione della velocità del sistema e delle altre variabili.
La maggior parte dei moderni processori possono rallentare il clock interno del processore in modo da preservare alimentazione e durata della batteria. Linux supporta questa capacità e offre una varietà di ''regolatori'' di alimentazione. Differenti regolatori implementano differenti ''heuristics'' in modo da determinare come variare la velocità del processore in funzione della velocità del sistema e delle altre variabili.
Riga 645: Riga 625:
</pre>
</pre>


 
===Differenti Modelli di Memoria===
'''Differenti Modelli di Memoria'''


Linux su hardware Intel 32 bit può accedere a 64 Gb di memoria, ma l'indirizzo fisico di un processore a 32 bit è di soli 4 Gb. Per lavorare con questa limitazione, Linux può mappare la memoria addizionale in un'altra area e poi selezionarla quando altri programmi ne hanno bisogno. Ma se la propria macchina ha una quantità di memoria più piccola, è più facile per Linux non avere problemi nell'occupare aree più grandi, così risulta benefico dire al kernel quanta memoria si vuole per supportarlo. Per una descrizione più dettagliata di questa opzione, si veda la voce HIGHMEM al Capitolo 11.
Linux su hardware Intel 32 bit può accedere a 64 Gb di memoria, ma l'indirizzo fisico di un processore a 32 bit è di soli 4 Gb. Per lavorare con questa limitazione, Linux può mappare la memoria addizionale in un'altra area e poi selezionarla quando altri programmi ne hanno bisogno. Ma se la propria macchina ha una quantità di memoria più piccola, è più facile per Linux non avere problemi nell'occupare aree più grandi, così risulta benefico dire al kernel quanta memoria si vuole per supportarlo. Per una descrizione più dettagliata di questa opzione, si veda la voce HIGHMEM al Capitolo 11.
Riga 666: Riga 645:
</pre>
</pre>


'''ACPI'''
===ACPI===


Sulla maggior parte dei sistemi moderni basati Intel, ACPI è richiesto dalla macchina per poter funzionare correttamente. ACPI è uno standard che permette al BIOS del computer di lavorare con il sistema operativo, dando accesso all'hardware in modo indiretto, così avendo la possibilità di gestire un ampio raggio di interfaccie con un codice relativamente ristretto e specifico per ogni sistema operativo. ACPI fornisce inoltre una facilità nell'aiutare il ''suspend'' e ''resume'' della macchina e il controllo della velocità del processore e le ventole. Se si ha un laptop è consigliabile abilitare questa opzione.<br />
Sulla maggior parte dei sistemi moderni basati Intel, ACPI è richiesto dalla macchina per poter funzionare correttamente. ACPI è uno standard che permette al BIOS del computer di lavorare con il sistema operativo, dando accesso all'hardware in modo indiretto, così avendo la possibilità di gestire un ampio raggio di interfaccie con un codice relativamente ristretto e specifico per ogni sistema operativo. ACPI fornisce inoltre una facilità nell'aiutare il ''suspend'' e ''resume'' della macchina e il controllo della velocità del processore e le ventole. Se si ha un laptop è consigliabile abilitare questa opzione.<br />
Per abilitare ACPI:
Per abilitare ACPI:


Riga 677: Riga 656:
</pre>
</pre>


Ci sono una gran varietà di differenti ACPI "drivers" che controllano differenti tipi di interfaccie ACPI. Si dovrebbe abilitare quello specifico che si ha sulla propria macchina:
Ci sono una gran varietà di differenti ACPI "drivers" che controllano differenti tipi di interfaccie ACPI. Si dovrebbe abilitare quello specifico che si ha sulla propria macchina:


<pre>
<pre>
Riga 879: Riga 858:
</pre>
</pre>


3. Ci sono relativamente molti drivers disponibili per i singoli dispositivi Bluetooth; questo perchè la maggior parte dei dispositivi segue le specifiche del Bluetooth su come il dispositivo deve funzionare. I drivers marcati nella seguente lista devono essere selezionati per permettere al Bluetooth di funzionare con un dispositivo:
3. Ci sono relativamente molti drivers disponibili per i singoli dispositivi Bluetooth; questo perchè la maggior parte dei dispositivi segue le specifiche del Bluetooth su come il dispositivo deve funzionare. I drivers marcati nella seguente lista devono essere selezionati per permettere al Bluetooth di funzionare con un dispositivo:


<pre>
<pre>
Riga 901: Riga 880:
===Wireless===
===Wireless===


Il collegamento di rete wireless è molto conosciuto; quasi tutti i laptops moderni hanno un dispositivo di rete wireless integrato. Linux supporta una vasta gamma di drivers wireless e altri ancora vengono aggiunti ogni settimana. Per determinare se avete un dispositivo wireless PCI e di che tipo si tratta, digitate il seguente comando:
Il collegamento di rete wireless è molto conosciuto; quasi tutti i laptops moderni hanno un dispositivo di rete wireless integrato. Linux supporta una vasta gamma di drivers wireless e altri ancora vengono aggiunti ogni settimana. Per determinare se avete un dispositivo wireless PCI e di che tipo si tratta, digitate il seguente comando:


<pre>
<pre>
Riga 949: Riga 928:
     USB Support
     USB Support
         USB Network Adapters
         USB Network Adapters
</pre>
=='''Filesystems'''==
Linux supporta una vasta gamma di tipi di filesystem tradizionali e un certo numero di differenti tipi di filesystem (''volume managers'', ''clustered filesystems'', ecc.). I tipi di filesystem tradizionali (normali o ''journaled'') possono essere selezionati dal menu principale di configurazione dei File systems:
<pre>
File systems
    [*] Second extended fs support
    [*] Ext3 journalling file system support
    [ ] Reiserfs support
    [ ] JFS filesystem support
    [ ] XFS filesystem support
</pre>
Questa sezione vuole mostrare alcuni tipi di filesystem non tradizionali che Linux supporta e come abilitarli.
===RAID===
RAID da la possibilità di combinare vari dischi assieme, in modo da comportarsi però come fossero un unico disco. Ciò può aiutare a dare modi di fornire ridondanza o velocità di diffusione dei dati fra i differenti dischi. Linux supporta entrambi hardware e software RAID. L'hardware RAID è gestito dal ''disk controller'', senza nessun aiuto necessario del kernel.
1. Il Software RAID è controllato dal kernel e può essere selezionato come opzione:
<pre>
Device Drivers
    Multi-device support (RAID and LVM)
        [*] Multiple devices driver support (RAID and LVM)
        [*]  RAID support
</pre>
2. Ci sono vari differenti tipi di configurazione del RAID. Almeno uno deve essere selezionato per permettere al RAID di funzionare correttamente:
<pre>
Device Drivers
    Multi-device support (RAID and LVM)
        [*] Multiple devices driver support (RAID and LVM)
        [*]  RAID support
        [*]    Linear (append) mode
        [*]    RAID-0 (striping) mode
        [*]    RAID-1 (mirroring) mode
        [*]    RAID-10 (mirrored striping) mode (EXPERIMENTAL)
        [*]    RAID-4/RAID-5 mode
        [*]    RAID-6 mode
</pre>
===Logical Volume Manager e Device Mapper===
Molto simile al RAID, Logical Volume Manager (LVM) permette all'utente di combinare differenti blocchi di dispositivi per comportarsi come fossero un blocco unico. In ogni caso, non funziona a livello di dispositivo come il RAID, ma attraverso un blocco con un meccanismo di mappatura dei settori. Questo permette a differenti porzioni di differenti dischi di essere combinate assieme per formare un unico blocco di dispositivo. Per fare ciò, il kernel utilizza qualcosa chiamato ''Device Mapper'' (DM).
1. Abilitare il supporto DM nel kernel:
<pre>
Device Drivers
    Multi-device support (RAID and LVM)
        [*] Multiple devices driver support (RAID and LVM)
        [*]  Device mapper support
</pre>
2. Ci sono vari moduli d'aiuto che lavorano con il DM per fornire ulteriore funzionalità:
<pre>
Device Drivers
    Multi-device support (RAID and LVM)
        [*] Multiple devices driver support (RAID and LVM)
        [*]  Device mapper support
        [*]    Crypt target support
        [*]    Snapshot target (EXPERIMENTAL)
        [*]    Mirror target (EXPERIMENTAL)
        [*]    Zero target (EXPERIMENTAL)
        [*]    Multipath target (EXPERIMENTAL)
</pre>
===Condivisione file con Windows===
Samba è un programma che permette agli utenti Linux di accedere a macchine Windows nativamente attraverso la rete, fornendo un modo per condividere unità e dispositivi in maniera trasparente. Concede inoltre a Linux di fungere da server Windows, permettendo ai ''clients'' Windows di connettersi ad esso, facendogli credere di essere una vera macchina Windows.
Due differenti filesystems permettono a una macchina Linux di connettersi con una macchina Windows: il filesystem SMB e il filesystem CIFS. Per permettere la connessione per ''Workgroups'' a Windows o macchine con Windows 95 o 98, selezionare il filesystem SMB:
<pre>
File systems
    Network File Systems
        [*] SMB file system support (to mount Windows shares etc.)
</pre>
Per permettere la connessione a nuove macchine Windows è raccomandato invece il filesystem CIFS:
<pre>
File systems
    Network File Systems
        [*] CIFS support
</pre>
Per ulteriori dettagli a riguardo le differenze fra questi due filesystem e quando si dovrebbe utilizzarne uno piuttosto dell'altro, guardare per favore le voci SMB_FS e CIFS nel capitolo 11.
===OCFS2===
OCFS2 è un ''cluster'' filesystem della Oracle che funziona allo stesso tempo per una grande installazione di rete, così come un piccolo sistema locale. Questo filesystem è raccomandato per l'utilizzo di grandi database, come Oracle o DB2, perché può essere spostato nel corso del tempo a diversi dischi di sostegno attraverso la rete molto più facilmente rispetto all'ulteriore stoccaggio necessario.
Per abilitare questo filesystem:
<pre>
File systems
    [*] OCFS2 file system support
</pre>
=='''Sicurezza'''==
Il kernel Linux supporta differenti modelli di sicurezza fornendo agganci e lasciando la possibilità di creare il proprio modello. Al momento, solo pochi modelli appartengono al codice di default del kernel, ma sviluppatori di nuovi modelli stanno lavorando per ottenerne di più accettati.
===Capacità di default di Linux===
Il tipo di modello di sicurezza standard di Linux è il modello "capacità". Dovreste sempre selezionare quest'opzione, a meno che si volesse utilizzare un kernel insicuro per qualsiasi ragione.
Per abilitarlo:
<pre>
Security options
    [*] Enable different security models
    [*]  Default Linux Capabilities
</pre>
===SELinux===
Un modello di sicurezza molto conosciuto è chiamato SELinux. Questo modello è supportato da un discreto numero di differenti distribuzioni di Linux.
SELinux richiede che l'opzione di collegamento in rete sia abilitata. Si guardi la sezione precedente "Collegamento in rete" per abilitarla.
SELinux richiede inoltre che la revisione sia abilitata nella configurazione del kernel. Per fare ciò:
<pre>
General setup
    [*] Auditing support
</pre>
Ancora, l'opzione di sicurezza del collegamento in rete deve essere abilitata:
<pre>
Security options
    [*] Enable different security models
    [*]  Socket and Networking Security Hooks
</pre>
Adesso è possibile selezionare l'opzione SELinux:
<pre>
Security options
    [*] Enable different security models
    [*] NSA SELinux Support
</pre>
Ci sono inoltre un certo numero di opzioni individuali di SELinux che si consiglia di abilitare. Si guardi per favore l'aiuto dei singoli elementi per una descrizione più esaustiva su ciò che fanno:
<pre>
Security options
    [*] Enable different security models
    [*] NSA SELinux Support
    [ ]  NSA SELinux boot parameter
    [ ]  NSA SELinux runtime disable
    [*]  NSA SELinux Development Support
    [*]  NSA SELinux AVC Statistics
    (1)  NSA SELinux checkreqprot default value
</pre>
=='''Kernel Debugging'''==
Una vasta gamma di differenti opzioni del kernel può aiutare in ''debugging'' per capire cosa sta succedendo all'interno del kernel. La susseguente lista mostra le opzioni più comuni che possono essere utili per scoprire nuove cose su come funziona il kernel o aiutare a trovare potenziali problemi all'interno dell'attuale codice sorgente del kernel.
===Kernel Log Timestamps===
Il kernel da una vasta gamma di messaggi nei suoi ''logfile''. Questi messaggi possono essere letti guardando nel sistema ''logfile'' (normalmente situato in ''/var/log/messages'') o digitando il comando ''dmesg''.
Ogni tanto è opportuno vedere esattamente quando questi messaggi sono stati creati. ''dmesg'' non da però nessun "segnalibro di tempo" (''timestamp'') agli eventi che mostra e la risoluzione di ''/var/log/messages'' è solamente vicina al secondo. Si può configurare il kernel per assegnare ad ogni messaggio un "segnalibro di tempo" con l'accuratezza del valore di tempo più piccolo misurabile dal kernel (normalmente nel raggio di microsecondi).
Per abilitare l'opzione "segnalibro di tempo" nei messaggi del kernel:
<pre>
Kernel hacking
    [*] Show timing information on printks
</pre>
===Magic SysRq Keys===
I tasti ''SysRq'' sulla tastiera possono essere utilizzati per controllare il kernel in vari modi differenti mentre il kernel è in esecuzione o dopo un crash.
Per abilitare quest'opzione:
<pre>
Kernel hacking
    [*] Magic SysRq key
</pre>
Per una descrizione completa delle differenti azioni che possono essere attivate con quest'opzione, si guardi per favore il file ''Documentation/sysrq.txt'' all'interno del codice del kernel.
===Debug Filesystem===
Un filesystem basato sulla RAM può essere utilizzato per estrarre un mucchio di differenti informazioni di ''debugging''. Questo filesystem è chiamato ''debugfs'' e può essere abilitato:
<pre>
Kernel hacking
    [*] Debug filesystem
</pre>
Dopo aver abilitato questa opzione e aver riavviato il kernel recompilato, viene creata una directory ''/sys/kernel/debug'' come locazione per l'utente per montare il filesystem ''debugfs''. Per fare ciò manualmente:
<pre>
$ mount -t debugfs none /sys/kernel/debug
</pre>
Oppure montare il filesystem automaticamente all'avvio, aggiungendo la seguente linea al file ''/etc/fstab'':
<pre>
debugfs /sys/kernel/debug debugfs 0 0
</pre>
Dopo aver montato ''debugfs'', un grande numero di differenti directories e files saranno presenti nella directory ''/sys/kernel/debug/''. Queste sono tutte virtuali e generate dinamicamente dal kernel, come i files in ''procfs'' o ''sysfs''. I files possono essere utilizzati come aiuto per eliminare gli errori dai diveri sotto sistemi del kernel o semplicemente per vedere cosa succede al sistema quando è in esecuzione.
===General Kernel Debugging===
Qui troviamo una vasta gamma di altre buone opzioni di configurazione del kernel che sarebbe opportuno abilitare se si volesse aiutare gli sviluppatori del kernel a risolvere differenti problemi, o semplicemente per apprendere di più come lavora il kernel osservando i messagi che questa opzione rende disponibili. Si noti che se si abilita qualsiasi delle seguenti opzioni, il kernel rallenterà di un poco; se si dovesse osservare una diminuzione delle prestazioni sarebbe opportuno disabilitare le opzioni:
<pre>
Kernel hacking
    [*] Kernel debugging
    [*]  Detect Soft Lockups
    [ ]  Collect scheduler statistics
    [*]  Debug slab memory allocations
    [*]    Memory leak debugging
    [*]  Mutex debugging, deadlock detection
    [*]  Spinlock debugging
    [*]  Sleep-inside-spinlock checking
    [ ]  kobject debugging
    [ ]  Highmem debugging
    [ ]  Compile the kernel with debug info
</pre>
</pre>


Riga 956: Riga 1 168:


[http://www.kernel.org/pub/linux/kernel/people/gregkh/lkn/lkn_pdf/ch08.pdf ''Capitolo originale'']
[http://www.kernel.org/pub/linux/kernel/people/gregkh/lkn/lkn_pdf/ch08.pdf ''Capitolo originale'']
[[Categoria:Documentazione tecnica]]
[[Categoria:Linux Kernel in a Nutshell]]
[[Categoria:Linux Kernel in a Nutshell]]
6 999

contributi

Menu di navigazione