Gestione di kernel e avvio del sistema su Oracle Linux

Scopri i diversi kernel distribuiti con Oracle Linux, come gestirli e come controllare i processi di avvio.

Informazioni sul boot del sistema

La comprensione del processo di boot di Oracle Linux può aiutare a risolvere i problemi durante il boot di un sistema.

Il processo di avvio coinvolge diversi file, e gli errori in questi file sono la solita causa di problemi di avvio. I processi e la configurazione di boot variano a seconda che l'hardware utilizzi il firmware UEFI o il BIOS legacy per gestire l'avvio del sistema.

Un'installazione di Oracle Linux include il boot loader GRUB 2, che viene installato in una posizione sul disco rigido accessibile al firmware BIOS o UEFI. Il boot loader GRUB 2 viene utilizzato per caricare in memoria un kernel e gli initramfs. Dopo che il kernel è stato completamente inizializzato, avvia il processo systemd che gestisce il resto del sistema operativo.

Informazioni sul boot basato su UEFI

In un sistema basato su UEFI in cui è in esecuzione la release di Oracle Linux, il processo di boot del sistema utilizza la seguente sequenza:

  1. Quando il sistema è acceso, il sistema esegue una verifica automatica dell'accensione (POST) per rilevare e controllare i componenti hardware principali del sistema, quali CPU e memoria. Il firmware UEFI viene quindi inizializzato.

  2. Il firmware UEFI rileva qualsiasi altro hardware, ad esempio le periferiche, inclusi i dispositivi di rete e lo storage. Il firmware UEFI contiene il proprio boot manager, che può interagire direttamente con i boot loader su vari dispositivi di storage. Il boot manager memorizza un set di variabili, tra cui la priorità dei diversi dispositivi di boot e dei caricatori di boot rilevati.

    UEFI cerca una partizione GPT formattata FAT32 con un identificativo univoco globale (GUID) specifico che la identifica come partizione di sistema EFI (ESP). Questa partizione contiene applicazioni EFI come caricatori di boot e altri file di configurazione.

    Quando sono presenti più dispositivi di boot, il boot manager UEFI utilizza l'ESP appropriato in base all'ordine definito nel boot manager. Con lo strumento efibootmgr è possibile definire un ordine diverso se non si desidera utilizzare la definizione predefinita.

  3. Il boot manager UEFI carica il boot loader predefinito. Oracle Linux utilizza un processo di boot in 2 fasi per gestire il processo di convalida del boot sicuro. Il processo in 2 fasi include un boot loader di prima fase chiamato boot loader shim sull'ESP e il boot loader di seconda fase chiamato GRUB 2. Se Secure Boot è disabilitato, il boot loader shim carica direttamente il boot loader GRUB 2 sull'ESP per continuare il processo di boot. I file del boot loader vengono denominati in base all'architettura di sistema, ad esempio il bootloader shim è denominato shimx64.efi sui sistemi x86_64 e shimaa64.efi sui sistemi aarch64.

    In caso contrario, se Secure Boot è abilitato, il boot loader shim viene convalidato in base alle chiavi memorizzate nel database delle chiavi di boot sicuro UEFI e, a sua volta, verifica la firma del boot loader GRUB 2 in base ai certificati memorizzati nel database delle chiavi di boot sicuro UEFI o nel database MOK (Machine Owner Key). Se la firma GRUB 2 è valida, il boot loader GRUB 2 viene eseguito e, a sua volta, convalida il kernel configurato per il caricamento.

    Per ulteriori informazioni su Secure Boot, vedere Oracle Linux: Utilizzo di UEFI Secure Boot.

  4. Il boot loader carica in memoria il file immagine del kernel vmlinuz e il file immagine initramfs. Il kernel estrae il contenuto dell'immagine initramfs in un file system temporaneo basato sulla memoria (tmpfs). initramfs contiene i driver e le utility essenziali per il boot.

  5. Il boot loader passa il controllo al kernel e fornisce i puntatori al initramfs e a qualsiasi altro parametro di boot. Il kernel continua l'inizializzazione del sistema, rileva l'hardware, carica i driver necessari e attiva il file system root.

  6. Il kernel cerca il processo init all'interno di initramfs e avvia il processo definito con un ID processo 1 (PID 1). Su Oracle Linux, il processo init predefinito è configurato come systemd. Per ulteriori informazioni, vedere Amministrazione di SELinux in Oracle Linux.

  7. systemd esegue qualsiasi altro processo definito per tale processo.

    Nota

    Specificare le altre azioni da elaborare durante il processo di boot definendo le unità systemd. Questo metodo è preferibile all'uso del file /etc/rc.local.

Informazioni sul boot basato sul BIOS

In un sistema basato su BIOS in cui è in esecuzione la release Oracle Linux, il processo di boot è il seguente:

  1. Il BIOS del sistema esegue una verifica automatica dell'accensione (POST), quindi rileva e inizializza tutte le periferiche e il disco rigido.

  2. Il BIOS legge il Master Boot Record (MBR) in memoria dal dispositivo di boot. L'MBR memorizza le informazioni sull'organizzazione delle partizioni su quel dispositivo, la tabella delle partizioni e la firma di avvio che viene utilizzata per il rilevamento degli errori. L'MBR include anche il puntatore al programma di boot loader (GRUB 2), di solito su una partizione /boot dedicata sullo stesso dispositivo disco.

  3. Il boot loader carica in memoria il file immagine del kernel vmlinuz e il file immagine initramfs. Il kernel estrae quindi il contenuto di initramfs in un file system temporaneo basato sulla memoria (tmpfs).

  4. Il kernel carica i moduli dei driver dal file system initramfs necessari per accedere al file system root.

  5. Il kernel cerca il processo init all'interno di initramfs e avvia il processo definito con un ID processo 1 (PID 1). Su Oracle Linux, il processo init predefinito è configurato come systemd. Per ulteriori informazioni, vedere Amministrazione di SELinux in Oracle Linux.

  6. systemd esegue qualsiasi altro processo definito per tale processo.
    Nota

    Specificare le altre azioni da elaborare durante il processo di boot definendo le unità systemd. Questo metodo è preferibile all'uso del file /etc/rc.local.

Informazioni sul bootloader di GRUB 2

Oracle Linux include la versione 2 del GRand Unified Bootloader (GRUB 2), che carica il sistema operativo su un sistema in fase di boot.

Oltre a Oracle Linux, GRUB 2 può caricare e caricare a catena molti sistemi operativi proprietari. GRUB 2 comprende i formati di molti diversi file system e file eseguibili del kernel. GRUB 2 richiede il percorso completo del kernel e initramfs relativo al dispositivo di boot o root. È possibile configurare queste informazioni utilizzando il menu GRUB 2 o immettendolo nella riga di comando GRUB 2.

Il comando grub2-mkconfig genera il file di configurazione di GRUB 2 utilizzando gli script del modello in /etc/grub.d e le impostazioni di configurazione dei menu ricavate dal file di configurazione, /etc/default/grub.

I file GRUB 2 generati vengono letti durante il boot del sistema da /boot. Il file di configurazione principale di GRUB 2 è disponibile all'indirizzo /boot/grub2/grub.cfg. Nei sistemi basati su UEFI, viene utilizzato un file di configurazione iniziale su /boot/efi/EFI/redhat/grub.cfg per aiutare GRUB 2 a indirizzare il dispositivo e la posizione corretti del file di configurazione principale di GRUB2. I parametri di avvio di ogni versione del kernel sono memorizzati in file di configurazione indipendenti in /boot/loader/entries. A seconda della versione di Oracle Linux, ogni configurazione del kernel viene memorizzata con il nome file:
  • machine_id-kernel_version.el10.arch.conf
  • machine_id-kernel_version.el9.arch.conf
  • machine_id-kernel_version.el8.arch.conf
Nota

Non modificare direttamente il file di configurazione di GRUB 2 in /boot.

La voce di menu predefinita è impostata dal valore del parametro GRUB_DEFAULT in /etc/default/grub. Se GRUB_DEFAULT è impostato su saved, è possibile utilizzare i comandi grub2-set-default e grub2-reboot per specificare la voce predefinita. Il comando grub2-set-default imposta l'opzione predefinita per tutti i reboot, mentre grub2-reboot imposta l'opzione predefinita solo per il reboot successivo.

Se si specifica un valore numerico come valore GRUB_DEFAULT o come argomento per grub2-reboot o grub2-set-default, GRUB 2 conteggia le voci di menu nel file di configurazione a partire da 0 per la prima voce.

Per aggiornare la configurazione del boot loader GRUB 2 su Oracle Linux, utilizzare il comando grubby per controllare e gestire tutti i requisiti di boot.

Lo strumento della riga di comando grubby consente di gestire la configurazione di GRUB 2 e i parametri di boot del kernel. È completamente scriptable e riassume i dettagli del boot loader di basso livello, quindi non è necessario modificare manualmente i file GRUB. Per ulteriori informazioni, vedere Utilizzo di grubby per la gestione dei kernel.

Importante

È necessario apportare modifiche persistenti alla riga di comando del kernel con grubby. La rigenerazione di /boot/grub2/grub.cfg da /etc/default/grub non applicherà tali modifiche.

Se è necessario modificare alcuni parametri nella configurazione in fase di boot, è possibile modificare temporaneamente i parametri di boot del kernel nel menu di boot di GRUB 2. Vedere Modifica dei parametri di boot del kernel prima del boot.

Per maggiori informazioni sull'uso, la configurazione e la personalizzazione di GRUB 2, vedere il manuale di GRUB GNU, installato anche come /usr/share/doc/grub2-tools-2.00/grub.html.

Informazioni su Linux Kernels

È possibile eseguire il boot di Oracle Linux con diversi kernel personalizzati per l'interoperabilità o le prestazioni del sistema.

Il kernel Linux è il nucleo del sistema operativo e fornisce l'interfaccia tra l'hardware del sistema e tutte le applicazioni in esecuzione sul sistema. Il kernel gestisce le risorse di sistema, gestisce la sicurezza e consente al software di interagire con l'hardware senza bisogno di accesso diretto. Il kernel Linux è un progetto open source messo a disposizione dalla Linux Foundation.

Linux Foundation offre un hub per gli sviluppatori open source per codificare, gestire e scalare diversi progetti di tecnologia aperta. Gestisce anche la Linux Kernel Organization che esiste per distribuire varie versioni del kernel Linux, che è al centro di tutte le distribuzioni Linux, comprese quelle utilizzate da Oracle Linux.

Devi installare ed eseguire uno di questi kernel Linux con Oracle Linux:

  • Unbreakable Enterprise Kernel (UEK): UEK si basa su un ramo del kernel stabile di Linux Foundation, con aggiunte basate sul cliente, e possono esistere diversi UEK per una release Oracle Linux specifica. Il suo obiettivo è prestazioni, stabilità e backport minimi monitorando il codice sorgente mainline fornito dalla Linux Kernel Organization, così come è pratico. UEK è testato e utilizzato per eseguire Oracle Engineered Systems, Oracle Cloud Infrastructure (OCI) e implementazioni aziendali di grandi dimensioni per i clienti Oracle.

    UEK include alcuni pacchetti o versioni di pacchetti non disponibili in RHCK. Alcuni esempi sono i pacchetti correlati a btrfs-tools, rds e rdma e alcuni strumenti di tuning del kernel.

  • Red Hat Compatible Kernel (RHCK): RHCK è completamente compatibile con il kernel Linux distribuito in una release Red Hat Enterprise Linux (RHEL) corrispondente. È possibile utilizzare RHCK per garantire la piena compatibilità con le applicazioni eseguite su Red Hat Enterprise Linux.

I pacchetti Kernel sono creati appositamente per evitare dipendenze su un particolare tipo di kernel. Qualsiasi kernel non in uso può essere rimosso dal sistema senza alcun impatto.

Ad esempio, per rimuovere RHCK da un sistema che esegue UEK, è possibile eseguire le operazioni riportate di seguito.

sudo dnf remove kernel-core

Se un sistema utilizza RHCK, è possibile rimuovere UEK eseguendo:

sudo dnf remove kernel-uek-core

Per informazioni sui kernel installati nel sistema, vedere Controllo dei kernel disponibili nel sistema.

Vedere Modifica del kernel predefinito per informazioni su come modificare il kernel predefinito, ad esempio da RHCK a UEK o da UEK a RHCK.

Importante

I kernel Linux sono fondamentali per l'esecuzione delle applicazioni nello spazio utente Oracle Linux. È pertanto necessario mantenere aggiornato il kernel con le correzioni dei bug, i miglioramenti e gli aggiornamenti di sicurezza più recenti forniti da Oracle. Per farlo, implementa una strategia di aggiornamento e aggiornamento continuo. Per informazioni su come mantenere aggiornato il kernel senza la necessità di eseguire il reboot del sistema, vedere Oracle Linux: Ksplice User's Guide. Per informazioni generali su come mantenere aggiornato il software nel sistema, vedere Oracle Linux: Managing Software on Oracle Linux.

Per ulteriori informazioni sui kernel disponibili, vedere:

Informazioni sui moduli kernel

Il boot loader carica il kernel nella memoria. È possibile aggiungere nuovo codice al kernel includendo i file di origine nell'albero di origine del kernel e ricompilando il kernel. I moduli kernel forniscono driver di dispositivo che consentono al kernel di accedere a nuovi hardware, supportano diversi tipi di file system ed estendono le sue funzionalità in altri modi. I moduli possono essere caricati e scaricati dinamicamente su richiesta. Per evitare sprechi di memoria sui driver dei dispositivi inutilizzati, Oracle Linux supporta i moduli kernel caricabili (LKM), che consentono l'esecuzione di un sistema solo con i driver dei dispositivi e il codice kernel necessari per il caricamento in memoria. Per ulteriori informazioni sulla gestione dei moduli kernel in Oracle Linux, vedere Gestione dei moduli kernel.

Nota

Da UEK R7 in poi, le modifiche al packaging del kernel vengono applicate per fornire un kernel più snello. I moduli kernel richiesti per la maggior parte delle configurazioni del server sono forniti nel pacchetto kernel-uek-modules, mentre i moduli kernel opzionali per l'hardware si trovano meno spesso nelle configurazioni del server, come Bluetooth, Wi-Fi e schede di acquisizione video, sono disponibili nel pacchetto kernel-uek-modules-extra. Si noti che entrambi i pacchetti richiedono l'installazione del pacchetto linux-firmware.

È possibile visualizzare il contenuto di questi pacchetti eseguendo:

dnf repoquery -l kernel-uek-modules
dnf repoquery -l kernel-uek-modules-extra

Per installare tutti i moduli kernel disponibili, eseguire:

sudo dnf install -y kernel-uek-modules kernel-uek-modules-extra linux-firmware

Vedere UEK R7 (5.15.0).

Nota

Da UEK 8 in poi, le modifiche al packaging del kernel vengono applicate per fornire un kernel più snello. Il numero minimo di moduli kernel core e file di supporto, ad esempio i file generati da depmod, sono forniti nel pacchetto kernel-uek-modules-core. I moduli kernel richiesti per la maggior parte delle configurazioni del server sono forniti nel pacchetto kernel-uek-modules, mentre i moduli kernel opzionali per l'hardware si trovano meno spesso nelle configurazioni del server, come Bluetooth, Wi-Fi e schede di acquisizione video, sono disponibili nel pacchetto kernel-uek-modules-extra. Si noti che entrambi i pacchetti richiedono l'installazione del pacchetto linux-firmware.

È possibile visualizzare il contenuto di questi pacchetti eseguendo:

dnf repoquery -l kernel-uek-modules-core
dnf repoquery -l kernel-uek-modules
dnf repoquery -l kernel-uek-modules-extra

Per installare tutti i moduli kernel disponibili, eseguire:

sudo dnf install -y kernel-uek-modules-core kernel-uek-modules kernel-uek-modules-extra linux-firmware

Vedere UEK 8 (6.12.0).

I moduli kernel possono essere firmati per proteggere il sistema dall'esecuzione di codice dannoso in fase di boot. Quando UEFI Secure Boot è abilitato, è possibile caricare solo i moduli kernel contenenti le informazioni sulla firma corrette. Per ulteriori informazioni, vedere Oracle Linux: Working with UEFI Secure Boot.

Informazioni sui moduli di aggiornamento deboli

I moduli esterni, ad esempio i driver installati utilizzando un disco di aggiornamento driver o installati da un pacchetto indipendente, vengono in genere installati nella directory /lib/modules/kernel-version/extra. I moduli memorizzati in questa directory sono preferiti rispetto ai moduli corrispondenti inclusi nel kernel durante il caricamento di tali moduli. I driver e i moduli esterni installati possono sostituire i moduli kernel esistenti per risolvere i problemi hardware. Per ogni aggiornamento del kernel, questi moduli esterni devono essere resi disponibili a ciascun kernel compatibile in modo che i potenziali problemi di avvio derivanti da incompatibilità del driver con l'hardware interessato possano essere evitati.

Poiché il requisito di caricare il modulo esterno con ogni aggiornamento del kernel compatibile è fondamentale per il sistema, esiste un meccanismo per i moduli esterni da caricare come moduli di aggiornamento deboli per kernel compatibili.

I moduli di aggiornamento deboli vengono resi disponibili creando collegamenti simbolici ai moduli compatibili nella directory /lib/modules/kernel-version/weak-updates. Il gestore pacchetti gestisce automaticamente questo processo quando rileva i moduli driver installati nelle directory /lib/modules/kernel-version/extra per qualsiasi kernel compatibile.

Ad esempio, se un kernel più recente è compatibile con un modulo installato per il kernel precedente, un modulo esterno (ad esempio kmod-kvdo) viene aggiunto automaticamente come collegamento simbolico nella directory weak-updates come parte del processo di installazione, come mostrato nell'output del comando seguente:

ls -l /lib/modules/6.12.0-100.28.2.el10.x86_64/weak-updates/kmod-kvdo/uds
lrwxrwxrwx. 1 root root 68 Jul  8 07:57 uds.ko -> 
/lib/modules/6.12.0-100.28.2.el10.x86_64/extra/kmod-kvdo/uds/uds.ko
ls -l /lib/modules/6.12.0-100.28.2.el10.x86_64/weak-updates/kmod-kvdo/vdo

Il collegamento simbolico consente al modulo esterno di caricare gli aggiornamenti del kernel.

Gli aggiornamenti deboli sono vantaggiosi e garantiscono che non sia necessario alcun lavoro aggiuntivo per trasportare un modulo esterno tramite gli aggiornamenti del kernel. Qualsiasi potenziale problema di boot relativo ai driver dopo gli aggiornamenti del kernel viene impedito, quindi questo approccio offre un'esecuzione più prevedibile di un sistema e del relativo hardware.

È possibile rimuovere moduli di aggiornamento deboli se una versione del kernel fornisce una versione superiore o preferita del driver o del modulo. Per ulteriori informazioni, vedere Rimozione di moduli di aggiornamento deboli.

Per ulteriori informazioni sui moduli driver esterni e sui dischi di aggiornamento driver, vedere i seguenti documenti:

Informazioni sui file system virtuali e sulla configurazione del sistema

Una volta completato il processo di boot, i file system virtuali forniscono un'interfaccia al kernel in esecuzione e ai processi e all'hardware disponibili nel sistema. Sono disponibili due file system virtuali:
  • procfs: è montato su /proc e fornisce un'interfaccia alle strutture di dati del kernel, principalmente correlate ai processi e all'hardware.
  • sysfs: viene attivato in /sys e fornisce informazioni su dispositivi, moduli kernel, file system e altri componenti kernel.

Questi file system virtuali vengono utilizzati per controllare e generare report sul kernel in esecuzione, in modo che la configurazione del sistema possa essere monitorata e modificata mentre il sistema operativo è attivo.

Anche se non fa parte della raccolta dei file system virtuali del kernel, è importante anche il percorso del file di configurazione del sistema /etc/sysconfig in quanto fornisce un'interfaccia a molte variabili di configurazione del sistema di base lette al boot.

Vedere anche Esplora i file di configurazione del sistema e i parametri configurabili kernel su Oracle Linux per un'esercitazione pratica su come configurare le impostazioni di sistema.

Informazioni sui file /etc/sysconfig

La directory /etc/sysconfig contiene alcuni file che controllano la configurazione del sistema dopo il boot. Il contenuto di questa directory dipende dai pacchetti installati sul sistema. La directory /etc/sysconfig fornisce in gran parte una singola visualizzazione di molti file di configurazione utilizzati da systemd e componenti correlati che controllano la configurazione del sistema, come Network Manager.

Nelle release più recenti di Oracle Linux, il numero di file di configurazione in questa directory diminuisce perché la configurazione è gestita meglio da systemd e da altre unità di configurazione. Per maggiori informazioni su systemd, vedere Gestione del sistema con systemd.

Alcuni file presenti nella directory /etc/sysconfig sono i seguenti:

atd

Specifica gli argomenti della riga di comando per il daemon atd.

autofs

Definisce le opzioni personalizzate per il montaggio automatico dei dispositivi e il controllo del funzionamento del banco automatico. Non disponibile in Oracle Linux 9 o versione successiva.

crond

Passa gli argomenti al daemon crond in fase di boot.

chronyd

Passa gli argomenti al daemon chronyd utilizzato per i servizi NTP in fase di boot.

firewalld

Passa gli argomenti al daemon firewall (firewalld) in fase di boot.

grub

Specifica le impostazioni predefinite per il bootloader di GRUB 2. Questo file è un collegamento simbolico a /etc/default/grub. Per ulteriori informazioni, vedere Informazioni sul bootloader di GRUB 2. Non disponibile in Oracle Linux 9 o versione successiva.

named

Passa gli argomenti al daemon del servizio dei nomi in fase di boot. Il daemon named è un server DNS (Domain Name System) che fa parte della distribuzione BIND (Internet Name Domain) di Berkeley. Questo server gestisce una tabella che associa i nomi host agli indirizzi IP della rete.

samba

Passa gli argomenti ai daemon smbd, nmbd e winbindd in fase di boot per supportare la connettività di condivisione dei file per i client Windows, il servizio di denominazione NetBIOS-over-IP e la gestione delle connessioni ai controller di dominio.

selinux

Controlla lo stato di SELinux sul sistema. Questo file è un collegamento simbolico a /etc/selinux/config.

Per ulteriori informazioni, vedere Administering SELinux in Oracle Linux.

snapper

Definisce un elenco di file system btrfs e di volumi LVM con thin provisioning il cui contenuto può essere registrato come snapshot dalla utility snapper.

Per ulteriori informazioni, vedere i documenti riportati di seguito.

sysstat

Configura i parametri di log per le utility di raccolta dati attività di sistema, ad esempio sar.

Su Oracle Linux 8, sono disponibili ulteriori informazioni su /usr/share/doc/initscripts*/sysconfig.txt. Questi contenuti non sono disponibili nelle versioni più recenti di Oracle Linux.

Informazioni sul file system virtuale /proc

I file nella gerarchia di directory /proc contengono informazioni sull'hardware del sistema e sui processi in esecuzione nel sistema. È possibile modificare la configurazione del kernel scrivendo a determinati file che dispongono dell'autorizzazione di scrittura.

I file che si trovano sotto la directory /proc sono file virtuali che il kernel crea su richiesta per presentare una vista delle strutture di dati sottostanti e delle informazioni di sistema. Come tale, l'esempio di file system virtuale è /proc. La maggior parte dei file virtuali sono elencati come 0 byte di dimensione, ma contengono una grande quantità di informazioni quando vengono visualizzati.

I file virtuali come /proc/interrupts, /proc/meminfo, /proc/mounts e /proc/partitions forniscono una visione dell'hardware del sistema. Altri file, ad esempio /proc/filesystems e i file in /proc/sys, forniscono informazioni sulla configurazione del sistema e consentono di modificare le configurazioni in base alle esigenze.

I file che contengono informazioni sugli argomenti correlati sono raggruppati in directory virtuali. Nella directory /proc è presente una directory separata per ogni processo in esecuzione sul sistema. Il nome della directory corrisponde all'ID processo numerico. Ad esempio, /proc/1 corrisponde al processo systemd con PID 1.

Per esaminare i file virtuali, è possibile utilizzare comandi quali cat, less e view, come mostrato nell'esempio riportato di seguito.

cat /proc/cpuinfo
processor         : 0
vendor_id         : GenuineIntel
cpu family        : 6
model             : 42
model name        : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
stepping          : 7
cpu MHz           : 2393.714
cache size        : 6144 KB
physical id       : 0
siblings          : 2
core id           : 0
cpu cores         : 2
apicid            : 0
initial apicid    : 0
fpu               : yes
fpu_exception     : yes
cpuid level       : 5
wp                : yes
...

Per i file che contengono contenuti non leggibili dall'utente, è possibile utilizzare utility quali lspci, free, top e sysctl per accedere alle informazioni. Ad esempio, il comando lspci elenca i dispositivi PCI in un sistema.

sudo lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0b.0 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode]
        (rev 02)
...

Per maggiori informazioni sulle diverse directory disponibili in /proc, vedere procfs Directory Reference. Per informazioni su come visualizzare e modificare i parametri kernel in /proc/sys per controllare il comportamento di runtime del sistema, vedere Gestione dei parametri kernel in runtime.

Informazioni sul file system virtuale /sys

Oltre al file system /proc, il kernel esporta le informazioni nel file system virtuale /sys (sysfs). Per accedere alle informazioni sul dispositivo e sul driver, utilizzare /sys come Dynamic Device Manager (udev). Per ulteriori informazioni sulla gestione dei dispositivi, vedere Gestione dei dispositivi di sistema con udev Device Manager.

Nota

/sys espone le strutture di dati del kernel e i punti di controllo, il che implica che la directory contiene riferimenti circolari, in cui una directory si collega a una directory predecessore. Pertanto, un comando find utilizzato su /sys potrebbe non arrestarsi mai.

Vedere riferimento alla directory sysfs per maggiori informazioni sulle directory disponibili in /sys.