Gerenciando Kernels e a Inicialização do Sistema no Oracle Linux
Descubra os diferentes kernels distribuídos com o Oracle Linux, como gerenciá-los e como controlar os processos de inicialização.
Sobre a inicialização do sistema
Compreender o processo de inicialização do Oracle Linux pode ajudá-lo a solucionar problemas ao inicializar um sistema.
O processo de inicialização envolve vários arquivos, e erros nesses arquivos são a causa usual de problemas de inicialização. Os processos e a configuração de inicialização diferem dependendo se o hardware usa o firmware UEFI ou BIOS legado para lidar com a inicialização do sistema.
Uma instalação do Oracle Linux inclui o carregador de inicialização do GRUB 2, que é instalado em um local no disco rígido acessível para o firmware BIOS ou UEFI. O carregador de inicialização GRUB 2 é usado para carregar um kernel e os initramfs na memória. Depois que o kernel é totalmente inicializado, ele inicia o processo systemd que gerencia o resto do sistema operacional.
Sobre inicialização baseada em UEFI
Em um sistema baseado em UEFI que executa a versão do Oracle Linux, o processo de inicialização do sistema usa a seguinte sequência:
-
Quando o sistema é ligado, o sistema executa um autoteste POST (power-on self test) para detectar e verificar os principais componentes de hardware do sistema, como CPU e memória. O firmware UEFI é então inicializado.
-
O firmware UEFI detecta qualquer outro hardware, como componentes periféricos, incluindo dispositivos de rede e armazenamento. O firmware UEFI contém seu próprio gerenciador de inicialização, que pode interagir diretamente com carregadores de inicialização em vários dispositivos de armazenamento. O gerenciador de inicialização armazena um conjunto de variáveis, incluindo a prioridade de diferentes dispositivos de inicialização e qualquer carregador de inicialização detectado.
UEFI procura uma partição GPT formatada FAT32 com um identificador exclusivo global (GUID) específico que a identifique como Partição do Sistema EFI (ESP). Esta partição contém aplicativos EFI, como carregadores de inicialização e outros arquivos de configuração.
Quando mais de um dispositivo de inicialização está presente, o gerenciador de inicialização UEFI usa o ESP apropriado com base na ordem definida no gerenciador de inicialização. Com a ferramenta efibootmgr, você pode definir uma ordem diferente, caso não queira usar a definição padrão.
-
O gerenciador de inicialização UEFI carrega o carregador de inicialização padrão. O Oracle Linux usa um processo de inicialização de 2 estágios para lidar com o processo de validação da Inicialização Segura. O processo de 2 estágios inclui um primeiro carregador de inicialização de estágio chamado carregador de inicialização
shimno ESP e o segundo carregador de inicialização de estágio chamado GRUB 2. Se a Inicialização Segura estiver desativada, o carregador de inicializaçãoshimcarregará diretamente o carregador de inicialização GRUB 2 no ESP, para continuar o processo de inicialização. Os arquivos do carregador de inicialização são nomeados de acordo com a arquitetura do sistema. Por exemplo, o carregador de inicializaçãoshimé nomeadoshimx64.efinos sistemas x86_64 eshimaa64.efinos sistemas aarch64.Caso contrário, se a Inicialização Segura estiver ativada, o carregador de inicialização
shimserá validado em relação às chaves armazenadas no banco de dados de chaves de Inicialização Segura UEFI e, por sua vez, verificará a assinatura do carregador de inicialização GRUB 2 em relação aos certificados armazenados no banco de dados de chaves de Inicialização Segura UEFI ou no banco de dados de Chave de Proprietário da Máquina (MOK). Se a assinatura GRUB 2 for válida, o carregador de inicialização GRUB 2 será executado e, por sua vez, validará o kernel que está configurado para carregar.Consulte Oracle Linux: Working With UEFI Secure Boot para obter mais informações sobre a Inicialização Segura.
-
O carregador de inicialização carrega o arquivo de imagem do kernel
vmlinuze o arquivo de imageminitramfsna memória. O kernel extrai o conteúdo da imageminitramfsem um sistema de arquivos temporário baseado na memória (tmpfs). Oinitramfscontém drivers e utilitários essenciais necessários para a inicialização. -
O carregador de inicialização passa o controle para o kernel e fornece ponteiros para o
initramfse quaisquer outros parâmetros de inicialização. O kernel continua a inicialização do sistema, detectando hardware, carregando os drivers necessários e montando o sistema de arquivos raiz. -
O kernel procura o processo
initdentro deinitramfse inicia o processo definido com um ID de processo 1 (PID 1). No Oracle Linux, o processoinitpadrão é configurado comosystemd. Consulte Administering SELinux in Oracle Linux para obter mais informações. -
O
systemdexecuta quaisquer outros processos definidos para ele.Observação
Especifique quaisquer outras ações a serem processadas durante o processo de inicialização definindo unidades
systemd. Esse método é preferível ao uso do arquivo/etc/rc.local.
Sobre inicialização baseada em BIOS
Em um sistema baseado na BIOS que executa a versão do Oracle Linux, o processo de inicialização é o seguinte:
-
O BIOS do sistema realiza um autoteste power-on (POST) e, em seguida, detecta e inicializa qualquer dispositivo periférico e o disco rígido.
-
O BIOS lê o Master Boot Record (MBR) na memória a partir do dispositivo de inicialização. O MBR armazena informações sobre a organização de partições nesse dispositivo, a tabela de partições e a assinatura de inicialização que é usada para detecção de erros. O MBR também inclui o ponteiro para o programa do carregador de inicialização (GRUB 2), geralmente em uma partição
/bootdedicada no mesmo dispositivo de disco. -
O carregador de inicialização carrega o arquivo de imagem do kernel
vmlinuze o arquivo de imageminitramfsna memória. O kernel então extrai o conteúdo deinitramfsem um sistema de arquivos temporário baseado na memória (tmpfs). -
O kernel carrega os módulos do driver do sistema de arquivos
initramfsnecessários para acessar o sistema de arquivos raiz. -
O kernel procura o processo
initdentro deinitramfse inicia o processo definido com um ID de processo 1 (PID 1). No Oracle Linux, o processoinitpadrão é configurado comosystemd. Consulte Administering SELinux in Oracle Linux para obter mais informações. -
O
systemdexecuta quaisquer outros processos definidos para ele.Observação
Especifique quaisquer outras ações a serem processadas durante o processo de inicialização definindo unidades
systemd. Esse método é preferível ao uso do arquivo/etc/rc.local.
Sobre o Carregador de Inicialização do GRUB 2
O Oracle Linux inclui a versão 2 do GRand Unified Bootloader (GRUB 2), que carrega o sistema operacional em um sistema no momento da inicialização.
Além do Oracle Linux, o GRUB 2 pode carregar e carregar em cadeia muitos sistemas operacionais proprietários. O GRUB 2 compreende os formatos de diversos sistemas de arquivos e arquivos executáveis do kernel. O GRUB 2 requer o caminho completo para o kernel e o initramfs relativo ao dispositivo de inicialização ou raiz. Você pode configurar essas informações usando o menu GRUB 2 ou inserindo-as na linha de comando GRUB 2.
O comando grub2-mkconfig gera o arquivo de configuração GRUB 2 usando os scripts de modelo em /etc/grub.d e as definições de configuração de menu tiradas do arquivo de configuração, /etc/default/grub.
/boot. O arquivo de configuração principal do GRUB 2 está disponível em /boot/grub2/grub.cfg. Em sistemas baseados em UEFI, um arquivo de configuração inicial em /boot/efi/EFI/redhat/grub.cfg é usado para ajudar a direcionar o GRUB 2 para o dispositivo e local corretos do arquivo de configuração principal do GRUB2. Cada parâmetro de inicialização da versão do kernel é armazenado em arquivos de configuração independentes no /boot/loader/entries. Dependendo da versão do Oracle Linux, cada configuração do kernel é armazenada com o nome do arquivo: machine_id-kernel_version.el10.arch.confmachine_id-kernel_version.el9.arch.confmachine_id-kernel_version.el8.arch.conf
Não edite o arquivo de configuração do GRUB 2 diretamente no /boot.
A entrada de menu padrão é definida pelo valor do parâmetro GRUB_DEFAULT no /etc/default/grub. Se GRUB_DEFAULT estiver definido como saved, será possível utilizar os comandos grub2-set-default e grub2-reboot para especificar a entrada padrão. O comando grub2-set-default define a entrada padrão para todas as reinicializações, enquanto grub2-reboot define a entrada padrão somente para a próxima reinicialização.
Se você especificar um valor numérico como o valor de GRUB_DEFAULT ou como um argumento para grub2-reboot ou grub2-set-default, o GRUB 2 contará as entradas de menu no arquivo de configuração, começando em 0 para a primeira entrada.
Para atualizar a configuração do carregador de inicialização do GRUB 2 no Oracle Linux, use o comando grubby para controlar e gerenciar todos os requisitos de inicialização.
A ferramenta de linha de comando grubby ajuda a gerenciar a configuração do GRUB 2 e os parâmetros de inicialização do kernel. É totalmente compatível com scripts e abstrai detalhes do carregador de inicialização de baixo nível, para que você não precise editar arquivos GRUB manualmente. Consulte Usando grubby para Gerenciar Kernels para obter mais informações.
Alterações persistentes na linha de comando do kernel devem ser feitas com grubby. A geração de /boot/grub2/grub.cfg de /etc/default/grub não aplicará essas alterações.
Se você precisar alterar alguns parâmetros na configuração no momento da inicialização, poderá alterar temporariamente os parâmetros de inicialização do kernel no menu de inicialização do GRUB 2. Consulte Alteração dos Parâmetros de Inicialização do Kernel Antes da Inicialização.
Para obter mais informações sobre como usar, configurar e personalizar o GRUB 2, consulte o GNU GRUB Manual, que também é instalado como /usr/share/doc/grub2-tools-2.00/grub.html.
Sobre o Linux Kernels
O Oracle Linux pode ser inicializado com diferentes kernels personalizados para interoperabilidade ou desempenho do sistema.
O kernel do Linux é o núcleo do sistema operacional e fornece a interface entre o hardware do sistema e quaisquer aplicativos executados no sistema. O kernel gerencia os recursos do sistema, lida com a segurança e permite que o software interaja com o hardware sem precisar de acesso direto. O kernel do Linux é um projeto de código aberto que é disponibilizado pela Linux Foundation.
A Linux Foundation fornece um hub para desenvolvedores de código aberto para codificar, gerenciar e dimensionar diferentes projetos de tecnologia aberta. Ele também gerencia a Organização do Kernel do Linux que existe para distribuir várias versões do kernel do Linux, que está no centro de todas as distribuições do Linux, incluindo as usadas pelo Oracle Linux.
Você deve instalar e executar um destes kernels do Linux com o Oracle Linux:
- Unbreakable Enterprise Kernel (UEK): o UEK é baseado em uma ramificação de kernel estável da Linux Foundation, com adições orientadas ao cliente, e vários UEKs podem existir para uma release específica do Oracle Linux. Seu foco é desempenho, estabilidade e backports mínimos, rastreando o código-fonte principal fornecido pela Organização do Kernel do Linux, o mais próximo possível. O UEK é testado e usado para executar implantações do Oracle Engineered Systems, Oracle Cloud Infrastructure (OCI) e de grandes empresas para clientes da Oracle.
O UEK inclui alguns pacotes ou versões de pacotes que não estão disponíveis no RHCK. Alguns exemplos são os pacotes relacionados a
btrfs-tools,rdserdmae algumas ferramentas de ajuste do kernel. -
Kernel Compatível com Red Hat (RHCK): O RHCK é totalmente compatível com o kernel do Linux distribuído em uma versão correspondente do Red Hat Enterprise Linux (RHEL). Você pode usar o RHCK para garantir total compatibilidade com aplicativos executados no Red Hat Enterprise Linux.
Os pacotes de kernel são criados propositalmente para evitar dependências de um tipo de kernel específico. Qualquer kernel que não esteja em uso pode ser removido do sistema sem impacto.
Por exemplo, para remover o RHCK de um sistema que está executando o UEK, você pode executar:
sudo dnf remove kernel-core
Se um sistema estiver usando o RHCK, você poderá remover o UEK executando:
sudo dnf remove kernel-uek-core
Consulte Verificando os Kernels Disponíveis no Sistema para ver quais kernels estão instalados no sistema.
Consulte Alterando o Kernel Padrão para saber como alterar o kernel padrão, por exemplo de RHCK para UEK, ou de UEK para RHCK.
Os kernels do Linux são essenciais para a execução de aplicativos no espaço de usuário do Oracle Linux. Portanto, você deve manter o kernel atualizado com as últimas correções de bugs, melhorias e atualizações de segurança fornecidas pela Oracle. Para isso, implemente uma estratégia contínua de atualização e atualização. Consulte o Oracle Linux: Ksplice User's Guide para obter informações sobre como manter o kernel atualizado sem a necessidade de reinicializar o sistema. Consulte Oracle Linux: Gerenciando Software no Oracle Linux para obter informações gerais sobre como manter o software no sistema atualizado.
Para obter mais informações sobre os kernel disponíveis, consulte:
Sobre Módulos do Kernel
O carregador de inicialização carrega o kernel na memória. Você pode adicionar um novo código ao kernel, incluindo os arquivos de origem na árvore de origem do kernel e recompilando o kernel. Os módulos de kernel fornecem drivers de dispositivos que permitem ao kernel acessar um novo hardware, suportar diferentes tipos de sistemas de arquivos e estender sua funcionalidade de outras maneiras. Os módulos podem ser carregados e descarregados dinamicamente sob demanda. Para evitar o desperdício de memória em drivers de dispositivos não utilizados, o Oracle Linux suporta os LKMs (loadable kernel modules) que permitem que um sistema seja executado somente com os drivers do dispositivo e o código do kernel que devem ser carregados na memória. Consulte Gerenciando Módulos de Kernel para obter mais informações sobre como gerenciar módulos de kernel no Oracle Linux.
A partir do UEK R7, as alterações de empacotamento do kernel são aplicadas para fornecer um kernel mais simplificado. Os módulos de kernel que são necessários para a maioria das configurações do servidor são fornecidos no pacote kernel-uek-modules, enquanto os módulos de kernel opcionais para hardware com menos frequência encontrados nas configurações do servidor, como Bluetooth, Wi-Fi e placas de captura de vídeo, podem ser encontrados no pacote kernel-uek-modules-extra. Observe que ambos os pacotes requerem que o pacote linux-firmware seja instalado.
Você pode visualizar o conteúdo destes pacotes executando:
dnf repoquery -l kernel-uek-modules
dnf repoquery -l kernel-uek-modules-extra
Para instalar todos os módulos do kernel disponíveis, execute:
sudo dnf install -y kernel-uek-modules kernel-uek-modules-extra linux-firmware
Consulte UEK R7 (5.15.0).
A partir do UEK 8, as alterações de empacotamento do kernel são aplicadas para fornecer um kernel mais simplificado. O número mínimo de módulos do kernel principal e arquivos de suporte, como os arquivos gerados pelo depmod, são fornecidos no pacote kernel-uek-modules-core. Os módulos de kernel que são necessários para a maioria das configurações do servidor são fornecidos no pacote kernel-uek-modules, enquanto os módulos de kernel opcionais para hardware com menos frequência encontrados nas configurações do servidor, como Bluetooth, Wi-Fi e placas de captura de vídeo, podem ser encontrados no pacote kernel-uek-modules-extra. Observe que ambos os pacotes requerem que o pacote linux-firmware seja instalado.
Você pode visualizar o conteúdo destes pacotes executando:
dnf repoquery -l kernel-uek-modules-core
dnf repoquery -l kernel-uek-modules
dnf repoquery -l kernel-uek-modules-extra
Para instalar todos os módulos do kernel disponíveis, execute:
sudo dnf install -y kernel-uek-modules-core kernel-uek-modules kernel-uek-modules-extra linux-firmware
Consulte UEK 8 (6.12.0).
Os módulos de Kernel podem ser assinados para proteger o sistema contra a execução de códigos maliciosos no momento da inicialização. Quando a Inicialização Segura UEFI está ativada, apenas os módulos do kernel que contêm as informações de assinatura corretas podem ser carregados. Consulte Oracle Linux: Como Trabalhar com a Inicialização Segura UEFI para obter mais informações.
Sobre Módulos de Atualização Fraca
Módulos externos, como drivers instalados com o uso de um disco de atualização de driver ou instalados com base em um pacote independente, são normalmente instalados no diretório /lib/modules/kernel-version/extra. Os módulos armazenados neste diretório são preferidos em relação aos módulos correspondentes incluídos no kernel quando esses módulos estão sendo carregados. Os drivers e módulos externos instalados podem substituir os módulos do kernel existentes para resolver problemas de hardware. Para cada atualização de kernel, esses módulos externos devem ser disponibilizados para cada kernel compatível para que possíveis problemas de inicialização resultantes de incompatibilidades de driver com o hardware afetado possam ser evitados.
Como o requisito para carregar o módulo externo com cada atualização de kernel compatível é crítico para o sistema, existe um mecanismo para que os módulos externos sejam carregados como módulos de atualização fracos para kernel compatíveis.
Você disponibiliza módulos de atualização fracos criando links simbólicos para módulos compatíveis no diretório /lib/modules/kernel-version/weak-updates. O gerenciador de pacotes trata esse processo automaticamente quando detecta módulos de driver instalados nos diretórios /lib/modules/kernel-version/extra para qualquer kernel compatível.
Por exemplo, se um kernel mais recente for compatível com um módulo que foi instalado para o kernel anterior, um módulo externo (como kmod-kvdo) será adicionado automaticamente como um link simbólico no diretório weak-updates como parte do processo de instalação, conforme mostrado na seguinte saída de comando:
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
O link simbólico permite que o módulo externo seja carregado para atualizações do kernel.
Atualizações fracas são benéficas e garantem que nenhum trabalho extra seja necessário para transportar um módulo externo por meio de atualizações do kernel. Quaisquer possíveis problemas de inicialização relacionados ao driver após atualizações do kernel são evitados, portanto essa abordagem fornece uma execução mais previsível de um sistema e seu hardware.
Você pode remover módulos de atualização fracos se uma versão do kernel fornecer uma versão superior ou preferencial do driver ou do módulo. Consulte Removendo Módulos de Atualização Fraca para obter mais informações.
Para obter mais informações sobre módulos de driver externos e discos de atualização de driver, consulte os seguintes documentos:
Sobre Sistemas de Arquivos Virtuais e Configuração de Sistemas
procfs: é montado em/proce fornece uma interface para estruturas de dados do kernel, principalmente relacionadas a processos e hardware.sysfs: é montado em/syse fornece informações sobre dispositivos, módulos do kernel, sistemas de arquivos e outros componentes do kernel.
Esses sistemas de arquivos virtuais são utilizados para controlar e relatar o kernel em execução, de modo que a configuração do sistema possa ser monitorada e ajustada enquanto o sistema operacional estiver ativo.
Embora não faça parte da coleção de sistemas de arquivos virtuais do kernel, o caminho do arquivo de configuração do sistema /etc/sysconfig também é importante porque ele fornece uma interface para muitas variáveis de configuração do sistema central que são lidas quando o sistema é inicializado.
Consulte também Explore System Configuration Files and Kernel Tunables on Oracle Linux para obter um tutorial prático sobre como configurar definições do sistema.
Sobre os Arquivos /etc/sysconfig
O diretório /etc/sysconfig contém alguns arquivos que controlam a configuração do sistema depois da inicialização. O conteúdo deste diretório depende dos pacotes que você instalou no sistema. O diretório /etc/sysconfig fornece em grande parte uma visão única de muitos arquivos de configuração que são usados pelo systemd e componentes relacionados que controlam a configuração do sistema, como o Network Manager.
Nas versões mais recentes do Oracle Linux, o número de arquivos de configuração neste diretório está diminuindo porque a configuração é melhor tratada por systemd e outras unidades de configuração. Para obter mais informações sobre systemd, consulte Managing the System With systemd.
Alguns arquivos que você pode encontrar no diretório /etc/sysconfig incluem o seguinte:
-
atd -
Especifica os argumentos da linha de comando para o daemon
atd. -
autofs -
Define opções personalizadas para montar dispositivos automaticamente e controlar a operação do automounter. Não disponível no Oracle Linux 9 ou em uma versão posterior.
-
crond -
Passa argumentos para o daemon
crondno momento da inicialização. -
chronyd -
Passa argumentos para o daemon
chronydusado para serviços NTP no momento da inicialização. -
firewalld -
Passa argumentos para o daemon de firewall (
firewalld) no momento da inicialização. -
grub -
Especifica as configurações padrão do Carregador de Inicialização do GRUB 2. Esse arquivo é um link simbólico para
/etc/default/grub. Para obter mais informações, consulte Sobre o GRUB 2 Bootloader. Não disponível no Oracle Linux 9 ou em uma versão posterior. -
named -
Passa argumentos para o daemon do serviço de nomes no momento da inicialização. O daemon
namedé um servidor DNS (Domain Name System) que faz parte da distribuição BIND (Domínio de Nomes de Internet) de Berkeley. Este servidor mantém uma tabela que associa nomes de host a endereços IP na rede. -
samba -
Passa argumentos para os daemons
smbd,nmbdewinbinddno momento da inicialização para suportar conectividade de compartilhamento de arquivo para clientes Windows, serviço de nomeação NetBIOS-over-IP e gerenciamento de conexão para controladores de domínio. -
selinux -
Controla o estado do SELinux no sistema. Esse arquivo é um link simbólico para
/etc/selinux/config.Para obter mais informações, consulte Administering SELinux in Oracle Linux.
-
snapper -
Define uma lista de sistemas de arquivos btrfs e volumes LVM finamente provisionados cujo conteúdo pode ser registrado como instantâneos pelo utilitário
snapper.Para obter mais informações, consulte os seguintes documentos:
-
sysstat -
Configura parâmetros de log para utilitários do coletor de dados da atividade do sistema, como sar.
No Oracle Linux 8, mais informações estão disponíveis no /usr/share/doc/initscripts*/sysconfig.txt. Esse conteúdo não está disponível em versões mais recentes do Oracle Linux.
Sobre o /proc Virtual File System
Os arquivos na hierarquia do diretório /proc contêm informações sobre o hardware do sistema e os processos que estão sendo executados no sistema. Você pode alterar a configuração do kernel gravando em determinados arquivos que tenham permissão de gravação.
Os arquivos que estão sob o diretório /proc são arquivos virtuais que o kernel cria sob demanda para apresentar uma visão das estruturas de dados subjacentes e informações do sistema. Como tal, /proc é um exemplo de um sistema de arquivos virtual. A maioria dos arquivos virtuais são listados como 0 bytes de tamanho, mas eles contêm uma grande quantidade de informações quando visualizados.
Arquivos virtuais como /proc/interrupts, /proc/meminfo, /proc/mounts e /proc/partitions fornecem uma exibição do hardware do sistema. Outros arquivos, como /proc/filesystems e os arquivos em /proc/sys, fornecem informações sobre a configuração do sistema e por meio dos quais você pode alterar as configurações conforme necessário.
Os arquivos que contêm informações sobre tópicos relacionados são agrupados em diretórios virtuais. Existe um diretório separado no diretório /proc para cada processo que está sendo executado no sistema. O nome do diretório corresponde ao ID processo numérico. Por exemplo, /proc/1 corresponde ao processo systemd que tem um PID de 1.
Para examinar arquivos virtuais, você pode usar comandos como cat, less e view, conforme mostrado no seguinte exemplo:
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
...
Para arquivos que contêm conteúdo não legível, é possível usar utilitários como lspci, free, top e sysctl para acessar informações. Por exemplo, o comando lspci lista dispositivos PCI em um 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)
...
Consulte procfs Directory Reference para obter mais informações sobre os diferentes diretórios disponíveis em /proc. Consulte Gerenciando Parâmetros de Kernel em Runtime para obter informações sobre como você pode exibir e alterar parâmetros de kernel em /proc/sys para controlar o comportamento do runtime do sistema.
Sobre o Sistema de Arquivos Virtual /sys
Além do sistema de arquivos /proc, o kernel exporta informações para o sistema de arquivos virtual /sys (sysfs). Programas como o gerenciador dinâmico de dispositivos (udev), usam /sys para acessar informações de driver de dispositivos e dispositivos. Consulte Gerenciando Dispositivos do Sistema com o Gerenciador de Dispositivos udev para obter mais informações sobre o gerenciamento de dispositivos.
/sys expõe estruturas de dados do kernel e pontos de controle, o que implica que o diretório contém referências circulares, em que um diretório se vincula a um diretório ancestral. Assim, um comando find usado em /sys pode nunca parar.
Consulte sysfs Directory Reference para obter mais informações sobre os diretórios que podem ser encontrados em /sys.