Índice
É inteligente para si como o administrador do sistema ter uma ideia como o sistema Debian é arranca e é configurado. Apesar dos detalhes exactos estarem nos ficheiros de código-fonte dos pacotes instalados e nas suas documentações, é um pouco exagerado para a maioria de nós.
Eu fiz o meu melhor para disponibilizar uma visão geral breve dos pontos chave do sistema Debian a da sua configuração para sua referência, baseando-me em conhecimentos actuais e anteriores meus e de outros. Como o sistema Debian é um alvo em movimento, a situação sobre o sistema pode ter mudado. Antes da fazer quaisquer alterações ao sistema, você deve consultar a documentação mais recente de cada pacote.
|
Atenção |
|---|---|
|
Este capítulo está a ficar ultrapassado porque é baseado em Debian 7.0
( |
O sistema do computador passa por várias fases de processos de arranque desde o ligar da energia até que oferece, ao utilizador, o sistema operativo (SO) totalmente funcional.
Para simplicidade, eu limito a discussão à plataforma PC típico com a instalação por omissão.
O processo típico de arranque é como um foguete de quatro etapas. Cada etapa do foguete entrega o controle do sistema à próxima etapa.
É claro que, estes podem ser configurados de modo diferente. Por exemplo, se você compilou o seu próprio kernel, você pode estar a saltar o passo com o mini sistema Debian. Portanto por favor não assuma que é este o caso para o seu sistema até que o verifique por si próprio.
|
Nota |
|---|---|
|
Para uma plataforma de PC não-legacy como o sistema SUN ou o Macintosh, a BIOS em ROM e o particionamento do disco podem ser bastante diferentes (Secção 9.5.2, “Configuração das partições do disco”). Por favor procure noutro lado a documentação específica da plataforma para tais casos. |
A BIOS é o 1ª etapa do processo de arranque que é iniciado com o evento de ligar a energia. A BIOS que reside na read only memory (ROM) é executada a partir de um endereço de memória particular no qual o contador de programa da CPU é inicializado pelo evento de ligar a energia.
Esta BIOS executa a inicialização básica do hardware (POST: power on self test) e entrega o controle do sistema ao próximo passo que você disponibiliza. A BIOS é normalmente disponibilizada com o hardware.
O ecrã de arranque da BIOS geralmente indica que tecla(s) pressionar para entrar no ecrã de configuração da BIOS para configurar o comportamento da BIOS. As teclas populares são F1, F2, F10, Esc, Ins, e Del. Se o seu ecrã de arranque da BIOS está escondido por um vistoso ecrã gráfico, você pode pressionar algumas teclas como a Esc para o desactivar. Estas teclas dependem fortemente do hardware.
A localização do hardware e prioridade do código iniciado pela BIOS pode ser seleccionado no ecrã de configuração da BIOS. Tipicamente, os primeiros poucos sectores do primeiro dispositivo seleccionado encontrado (disco rígido, disquete, CD-ROM, ...) são carregados para a memória e este código inicial é executado. Este código inicial pode ser um dos seguintes:
O código do gestor de arranque
O código de kernel do SO da idade da pedra como o FreeDOS
O código do kernel do SO de destino se ele couber neste pequeno espaço
Tipicamente, o sistema é arrancado a partir da partição especificada das partições do disco rígido principal. Os primeiros 2 sectores do disco rígido em PCs legacy contêm o master boot record (MBR). A informação de partições do disco incluindo a selecção de arranque é gravada no final deste MBR. O código do primeiro gestor de arranque executado pela BIOS ocupa o resto deste MBR.
O gestor de arranque é o 2º estágio do processo de arranque que é iniciado pela BIOS. Ele carrega a imagem de kernel do sistema e a imagem initrd para a memória e passa o controle para eles. Esta imagem initrd é a imagem do sistema de ficheiros raiz e o seu suporte depende do gestor de arranque utilizado.
O sistema Debian normalmente usa o kernel Linux como kernel predefinido do sistema. A imagem initrd para o kernel Linux 2.6/3.x actual é tecnicamente a initramfs (sistema de ficheiros de RAM inicial). A imagem initramfs é um arquivo de ficheiros cpio gzipado no sistema de ficheiros raiz.
|
Atenção |
|---|---|
|
O que está em cima não é mais verdadeiro com a initramfs de multi-segmentos. Veja Bug #790100. |
A instalação predefinida do sistema Debian coloca código da primeira etapa do gestor de arranque GRUB no MBR para a plataforma PC. Existem muitos gestores de arranque e opções de configuração disponíveis.
Tabela 3.1. Lista de gestores de arranque
| pacote | popcon | tamanho | initrd | gestor de arranque | descrição |
|---|---|---|---|---|---|
| grub-legacy | V:0, I:2 | 710 | Suportado | GRUB Legacy | É suficientemente inteligente para compreender partições de disco e sistemas de ficheiros como vfat, ext3, ... |
| grub-pc | V:32, I:872 | 561 | Suportado | GRUB 2 | É suficientemente inteligente para compreender partições de disco e sistemas de ficheiros como vfat, ext4, ... (predefinição) |
| grub-rescue-pc | V:0, I:1 | 5239 | Suportado | GRUB 2 | Isto são imagens de arranque de recuperação do GRUB 2 (CD ou disquete) (Versão PC/BIOS) |
| lilo | V:0, I:4 | 694 | Suportado | Lilo | Isto baseia-se nas localizações de sectores de dados no disco rígido. (Antigo) |
| syslinux | V:6, I:64 | 300 | Suportado | Isolinux | Isto compreende o sistema de ficheiros ISO9660. É utilizado pelo CD de arranque. |
| syslinux | V:6, I:64 | 300 | Suportado | Syslinux | Isto compreende o sistema de ficheiros MSDOS (FAT). É utilizado pela disquete de arranque. |
| loadlin | V:0, I:1 | 84 | Suportado | Loadlin | Novo sistema é iniciado a partir do sistema FreeDOS/MSDOS. |
| mbr | V:1, I:11 | 50 | Não suportado | MBR por Neil Turton | Isto é software livre que substitui o MBR do MSDOS. Apenas compreende partições de disco. |
|
Atenção |
|---|---|
|
Não brinque com os gestores de arranque sem ter discos de arranque de
recuperação (CD ou disquete) criados a partir de imagens do pacote
|
Para o GRUB Legacy, o ficheiro de configuração do menu está localizado em
"/boot/grub/menu.lst". Por exemplo, tem entradas como a
seguinte.
title Debian GNU/Linux root (hd0,2) kernel /vmlinuz root=/dev/hda3 ro initrd /initrd.img
Para o GRUB 2, o ficheiro de configuração do menu está localizado em
"/boot/grub/grub.cfg". É gerado automaticamente pelo
"/usr/sbin/update-grub" utilizando modelos de
"/etc/grub.d/*" e definições de
"/etc/default/grub". Por exemplo, tem entradas como as
que se seguem:
menuentry "Debian GNU/Linux" {
set root=(hd0,3)
linux /vmlinuz root=/dev/hda3
initrd /initrd.img
}
Para estes exemplos, estes parâmetros do GRUB significam o seguinte.
Tabela 3.2. O significado dos parâmetros do GRUB
| Parâmetro do GRUB | significado |
|---|---|
root
|
utiliza a 3ª partição no disco primário ao defini-la como
"(hd0,2)" no GRUB Legacy ou como
"(hd0,3)" no GRUB 2
|
kernel
|
utiliza o kernel localizado em "/vmlinuz" com parâmetro
de kernel: "root=/dev/hda3 ro"
|
initrd
|
utiliza a imagem initrd/initramfs
localizada em "/initrd.img"
|
|
Nota |
|---|---|
|
O valor do número de partição utilizado pelo programa GRUB legacy é menos um que o normal usado pelo kernel Linux e ferramentas utilitárias. O programa GRUB 2 corrige este problema. |
|
Dica |
|---|---|
|
Pode ser utilizado o UUID (veja Secção 9.5.3, “Aceder a partição usando UUID”) para identificar um dispositivo
especial de bloco em vez do seu nome de ficheiro como
" |
|
Dica |
|---|---|
|
Se for usado o GRUB, o parâmetro de arranque do
kernel é definido em |
|
Dica |
|---|---|
|
Você pode iniciar um gestor de arranque a partir de outro gestor de arranque utilizando técnicas chamadas chain loading. |
Veja "info grub" e
grub-install(8).
O mini-sistema Debian é o 3º estágio do processo de arranque que é iniciado pelo gestor de arranque. Corre o kernel do sistema com o seu sistema de ficheiros raiz na memória. Este é um estágio preparatório opcional do processo de arranque.
|
Nota |
|---|---|
|
O termo "mini-sistema Debian" é cunhado pelo autor para descrever este 3º estágio do processo de arranque para este documento. Este sistema é geralmente referido como o initrd ou sistema initramfs. É utilizado pelo Instalador de Debian um sistema semelhante em memória . |
O script "/init" é executado como o primeiro programa
neste sistema de ficheiros raiz em memória. É um programa script de shell
que inicializa o kernel no espaço de utilizador e entrega o controle ao
próximo estágio. Este mini-sistema Debian oferece flexibilidade ao processo
de arranque tal como adicionar módulos de kernel antes do processo de
arranque principal ou montar o sistema de ficheiros raiz como um encriptado.
Você pode interromper esta parte do processo de arranque para obter a shell
de root ao fornecer "break=init" etc. ao parâmetro de
arranque do kernel. Veja o script "/init" para mais
condições de interrupção. Este ambiente shell é suficientemente sofisticado
para fazer uma boa inspecção do hardware da sua máquina.
Os comandos disponíveis neste mini-sistema Debian são versões reduzidas e disponibilizados principalmente por uma ferramenta GNU chamada busybox(1).
|
Cuidado |
|---|---|
|
Você precisa de utilizar a opção " |
O sistema Debian normal é o 4º estágio do processo de arranque que é iniciado pelo mini-sistema Debian. O kernel do sistema para o mini-sistema Debian continua a correr no seu ambiente. O sistema de ficheiros raiz é mudado daquele em memória para o que está no sistema de ficheiros do disco rígido real.
O programa init é executado como o primeiro
programa com PID=1 para executar o processo de arranque principal de
arrancar muitos programas. O caminho de ficheiro predefinido para o programa
init é "/sbin/init" mas pode ser alterado pelo parâmetro
de arranque do kernel como "init=/path/to/init_program".
O programa de iniciação predefinido tem sido alterado:
Debian antes de squeeze a iniciação de estilo SysV simples.
Debian wheezy melhora a iniciação de estilo SysV ao
ordenar a sequência de arranque com cabeçalho LSB e arrancando scripts de
arranque em paralelo.
Debian jessie muda o seu init predefinido para o systemd para a inicialização em paralelo e gerida
por eventos.
|
Dica |
|---|---|
|
Todos os mecanismos de arranque são compatíveis através dos scripts
" |
|
Dica |
|---|---|
|
O comando de iniciação actual do seu sistema pode ser verificado pelo
comando " |
Tabela 3.3. Lista de utilitários de arranque para o sistema Debian
| pacote | popcon | tamanho | descrição |
|---|---|---|---|
initscripts
|
V:847, I:956 | 208 | scripts para inicializar e desligar o sistema |
sysvinit-core
|
V:18, I:24 | 225 | utilitários de init(8) estilo System-V |
sysv-rc
|
V:847, I:956 | 123 | mecanismo de mudança de runlevel estilo System-V |
sysvinit-utils
|
V:875, I:999 | 110 | utilitários estilo System-V (startpar(8), bootlogd(8), …) |
lsb-base
|
V:881, I:999 | 49 | Linux Standard Base funcionalidade de script de init 3.2 |
insserv
|
V:792, I:936 | 140 | ferramenta para organizar a sequência de arranque usando dependências dos scripts init.d LSB |
systemd
|
V:648, I:730 | 9334 |
daemon de eventos baseado em
init(8)
para a concorrência (alternativa a sysvinit)
|
uswsusp
|
V:4, I:13 | 699 | ferramentas disponibilizadas pelo Linux para utilizar a suspensão de software no espaço de utilizador |
kexec-tools
|
V:1, I:8 | 267 | ferramenta kexec para re-arranques kexec(8) (re-arranque a quente) |
bootchart2
|
V:0, I:1 | 94 | analisador de performance do processo de arranque |
pybootchartgui
|
V:0, I:1 | 177 | analisador de performance do processo de arranque (visualização) |
mingetty
|
V:0, I:3 | 35 | getty(8) apenas de consola |
mgetty
|
V:0, I:1 | 302 | substituto inteligente de modem getty(8) |
|
Dica |
|---|---|
|
Veja Debian wiki: BootProcessSpeedup para as dicas mais recentes em como acelerar o processo de arranque. |
|
Cuidado |
|---|---|
|
O sistema Debian predefinido actual não usa init ao estilo SysV. Por favor leia outros recursos para o moderno init baseado no systemd. Veja O Livro de Mão do Administrador Debian |
Esta secção descreve como a iniciação ao estilo do bom e velho SysV costumava arrancar o sistema. O seu sistema Debian não funciona exactamente como descrito aqui, mas é bastante educativo saber estas bases já que os sistemas de iniciação mais recentes tendem a oferecer funcionalidades equivalentes.
O processo de arranque estilo SysV essencialmente segue o seguinte.
O sistema Debian entra em runlevel N
(nenhum) para inicializar o sistema ao seguir a descrição de
"/etc/inittab".
O sistema Debian entra em runlevel S para inicializar o sistema sob o modo de único-utilizador para completar a inicialização do hardware e etc.
O sistema Debian vai para um dos runlevels de multi-utilizador (2 a 5) especificado para arrancar os serviços do sistema.
O runlevel inicial utilizado para modo de multi-utilizador é especificado
com o parâmetro "init=" de arranque do kernel ou na linha
"initdefault" de "/etc/inittab". O sistema Debian
instalado arranca no runlevel 2.
Todos os ficheiros script executados pelo sistema init estão localizados no
directório "/etc/init.d/".
Veja
init(8),
inittab(5),
e "/usr/share/doc/sysv-rc/README.runlevels.gz" para a
explicação exacta.
Cada runlevel utiliza um directório para a sua configuração e tem um significado específico conforme o seguinte.
Tabela 3.4. Lista de runlevels e descrição da sua utilização
| runlevel | directório | descrição da utilização do runlevel |
|---|---|---|
N
|
nenhum |
arranque do sistema em NENHUM nível (nenhum directório
"/etc/rcN.d/")
|
0
|
/etc/rc0.d/
|
parar o sistema |
S
|
/etc/rcS.d/
|
modo de utilizador singular no arranque (alias: "s")
|
1
|
/etc/rc1.d/
|
modo de utilizador singular trocado a partir do modo de multi utilizador |
2
|
/etc/rc2.d/
|
modo de multi-utilizador |
3
|
/etc/rc3.d/
|
,, |
4
|
/etc/rc4.d/
|
,, |
5
|
/etc/rc5.d/
|
,, |
6
|
/etc/rc6.d/
|
reiniciar o sistema |
7
|
/etc/rc7.d/
|
modo de multi-utilizador válido mas normalmente não usado |
8
|
/etc/rc8.d/
|
,, |
9
|
/etc/rc9.d/
|
,, |
Você pode mudar o runlevel a partir da consola para, por exemplo 4, com o seguinte.
$ sudo telinit 4
|
Cuidado |
|---|---|
|
O sistema Debian não pré-atribui nenhumas diferenças de significado especiais entre os runlevels 2 e 5. O administrador de sistema no sistema Debian pode mudar isto. (Isto é, Debian não é Red Hat Linux nem Solaris da Sun Microsystems nem HP-UX da Hewlett Packard nem AIX da IBM nem …) |
|
Cuidado |
|---|---|
|
O sistema Debian não povoa os directórios para os runlevels entre 7 e 9 durante a instalação. As variantes Unix tradicionais não utilizam estes runlevels. |
Quando os comandos init(8) ou telinit(8) vão para o runlevel para "<n>", o sistema basicamente executa os scripts de inicialização que se seguem.
Os scripts cujos nomes começam com um "K" em
"/etc/rc<n>.d/" são executados por ordem alfabética
com o único argumento "stop". (matando os serviços)
Os scripts cujos nomes começam com um "S" em
"/etc/rc<n>.d/" são executados por ordem alfabética
com o único argumento "start". (iniciando os serviços)
Por exemplo, se você tiver os links "S10sysklogd" e
"S20exim4" num directório de runlevel, o
"S10sysklogd" que está simbolicamente ligado a
"../init.d/sysklogd" irá correr antes de
"S20exim4" que está simbolicamente ligado a
"../init.d/exim4".
A inicialização sequencial simples do sistema é o método de arranque
tradicional System V e foi utilizado até ao
sistema Debian lenny.
Em vez disso, o recente sistema Debian é optimizado para executar os scripts de inicialização de forma concorrente.
O comando insserv(8) utiliza a informação de dependências dos pacotes e calcula as dependências entre todos os scripts.
Veja "/usr/share/doc/insserv/README.Debian".
A informação de dependências de pacotes definida no cabeçalho dos scripts de inicialização assegura a existência dos recursos necessários.
|
Atenção |
|---|---|
|
Não é aconselhável fazer quaisquer alterações nos links simbólicos em
" |
Por exemplo, vamos configurar o runlevel do sistema de certa maneira como o Red Hat Linux com o seguinte.
init arranca o sistema em runlevel=3 por predefinição
O init não arranca o
gdm3(1)
nos runlevel (0,1,2,6).
init arranca o
gdm3(1)
em runlevel=(3,4,5).
Isto pode ser feito com o editor no ficheiro
"/etc/inittab" para alterar o runlevel de arranque e
utilizar ferramentas de gestão do runlevel amigas do utilizador como o
sysv-rc-conf ou o bum para editar o
runlevel. Se utilizar apenas a linha de comandos, aqui está como fazê-lo
(após a instalação predefinida do pacote gdm3 e
seleccioná-lo para ser o gestor de ecrã escolhido).
# cd /etc/rc2.d ; mv S21gdm3 K21gdm3 # cd /etc ; perl -i -p -e 's/^id:.:/id:3:/' inittab
Por favor note que o ficheiro
"/etc/X11/default-display-manager" é verificado quando se
arrancam daemons de gestor de ecrã: xdm,
gdm3, sddm, e wdm.
|
Nota |
|---|---|
|
Você pode ainda arrancar o X a partir de qualquer consola de shell com o comando startx(1). |
O parâmetro predefinido para cada script de init em
"/etc/init.d/" é dado pelo ficheiro correspondente em
"/etc/default/" o qual contém apenas atribuições das variáveis de ambiente. Esta
escolha de nome de directório é específica do sistema Debian. É
grosseiramente o equivalente ao directório
"/etc/sysconfig" encontrado em Red Hat Linux e outras distribuições. Por
exemplo, "/etc/default/cron" pode ser utilizado para
controlar como o "/etc/init.d/cron" funciona.
O ficheiro "/etc/default/rcS" pode ser utilizado para
personalizar as predefinições no momento de arranque para
motd(5),
sulogin(8),
etc.
Se não conseguir obter o comportamento que deseja ao alterar tais variáveis então pode modificar os scripts de init. Estes são ficheiros de configuração editáveis por administradores de sistemas.
O kernel mantém o nome-de-máquina do
sistema. O script init em runlevel S which é ligado simbolicamente a
"/etc/init.d/hostname.sh" e define o nome de máquina
durante o arranque (utilizando o comando hostname) para o
nome armazenado em "/etc/hostname". Este ficheiro deve
conter apenas o nome de máquina do
sistema, e não um nome de domínio totalmente qualificado.
Para escrever o nome de máquina actual corra hostname(1) sem argumentos.
Apesar do sistema de ficheiros raiz ser montado pelo kernel quando arranca, outros sistemas de ficheiros são montados no runlevel S pelos seguintes scripts de init.
"/etc/init.d/mountkernfs.sh" para sistemas de ficheiros
do kernel em "/proc", "/sys", etc.
"/etc/init.d/mountdevsubfs.sh" para sistemas de ficheiros
virtuais em "/dev"
"/etc/init.d/mountall.sh" para sistemas de ficheiros
normais usando o "/etc/fstab"
"/etc/init.d/mountnfs.sh" para sistemas de ficheiros de
rede usando o "/etc/fstab"
As opções de montagem dos sistemas de ficheiros especiais do kernel (procfs,
sysfs, e tmpfs para /proc, /sys,
/tmp, /run, etc.) são definidas em
"/etc/default/rcS". Veja
rcS(5).
As opções de montagem de sistemas de ficheiros de discos normais e de rede
são definidas em "/etc/fstab". Veja Secção 9.5.7, “Optimização do sistema de ficheiros por opções de montagem”.
|
Nota |
|---|---|
|
A montagem actual de sistemas de ficheiros de rede espera que a interface de rede arranque. |
|
Atenção |
|---|---|
|
Após montar todos os sistemas de ficheiros, os ficheiros temporários em
" |
As interfaces de rede são iniciadas no runlevel 5 pelo script de init
simbolicamente ligado a "/etc/init.d/ifupdown-clean" e
"/etc/init.d/ifupdown". Veja Capítulo 5, Configuração de rede para como os configurar.
Muitos serviços de rede (veja Capítulo 6, Aplicações de rede) são
iniciados sob modo de multi-utilizador directamente como processos daemon
durante o arranque pelo script de init, ex.,
"/etc/rc2.d/S20exim4" (para RUNLEVEL=2) o que é um link
simbólico para "/etc/init.d/exim4".
Alguns serviços de rede podem ser iniciados a pedido utilizando o super-servidor inetd (ou o
seu equivalente). O inetd é iniciado durante o arranque
pelo "/etc/rc2.d/S20inetd" (para RUNLEVEL=2) o qual é um
link simbólico para "/etc/init.d/inetd". Essencialmente,
o inetd permite que um daemon a correr possa invocar
vários outros, reduzindo a carga do sistema.
Sempre que um pedido para serviço chega ao super-servidor inetd, o seu
protocolo e serviço é identificado ao procura-lo nas bases de dados em
"/etc/protocols" e "/etc/services". O
inetd então procura um serviço de Internet normal na base
de dados "/etc/inetd.conf", ou um serviço baseado em
Open Network Computing
Remote Procedure Call (ONC RPC)/Sun RPC em
"/etc/rpc.conf".
Por vezes, o inetd não arranca o servidor pretendido
directamente mas arranca o programa wrapper de
TCP,
tcpd(8),
com o nome do servidor pretendido como seu argumento em
"/etc/inetd.conf". Neste caso, o tcpd
corre o programa servidor apropriado após registar em log o pedido e fazer
algumas verificações adicionais usando "/etc/hosts.deny"
e "/etc/hosts.allow".
Para segurança do sistema, desactive o máximo possível de programas de serviço de rede. Veja Secção 4.6.4, “Restringindo acesso a alguns serviços de servidor”.
Veja
inetd(8),
inetd.conf(5),
protocols(5),
services(5),
tcpd(8),
hosts_access(5),
hosts_options(5),
rpcinfo(8),
portmap(8),
e "/usr/share/doc/portmap/portmapper.txt.gz".
A mensagem do sistema pode ser personalizada em
"/etc/default/rsyslog" e
"/etc/rsyslog.conf" quer para o ficheiro de registo quer
para as mensagens no ecrã. Veja
rsyslogd(8)
e
rsyslog.conf(5).
Veja também Secção 9.2.2, “Analisador de relatório (Log)”.
A mensagem do kernel pode ser personalizada pelo
"/etc/default/klogd" para ambos os ficheiros de registo e
a visualização no ecrã. Defina "KLOGD='-c 3'" neste
ficheiro e execute "/etc/init.d/klogd restart". Veja
klogd(8).
Você pode alterar directamente o nível de mensagens de erro fazendo o seguinte.
# dmesg -n3
Tabela 3.5. Lista de níveis de erro do kernel
| valor de nível de erro | nome de nível de erro | significado |
|---|---|---|
| 0 | KERN_EMERG | sistema está inutilizável |
| 1 | KERN_ALERT | acção tem de ser tomada imediatamente |
| 2 | KERN_CRIT | condições críticas |
| 3 | KERN_ERR | condições de erro |
| 4 | KERN_WARNING | condições de aviso |
| 5 | KERN_NOTICE | condição normal mas significante |
| 6 | KERN_INFO | informativa |
| 7 | KERN_DEBUG | mensagens de nível de depuração |
Para o kernel Linux 2.6 e mais recentes, o sistema udev disponibiliza um mecanismo para a descoberta automática de hardware e sua inicialização (veja udev(7)). Após a descoberta de cada dispositivo pelo kernel, o sistema udev arranca um processo de utilizador que usa informação a partir do sistema de ficheiros sysfs (veja Secção 1.2.12, “procfs e sysfs”), carrega os módulos de kernel necessários para o suportar usando o programa modprobe(8) (veja Secção 3.3.1, “A inicialização de módulos do kernel”), e cria os nós correspondentes do dispositivo.
|
Dica |
|---|---|
|
Se " |
Os nomes dos nós de dispositivos podem ser configurados pelos ficheiros de
regras do udev em "/etc/udev/rules.d/". As regras
predefinidas actuais tentem a criar nomes gerados dinamicamente resultando
em nomes de dispositivos não estáticos excepto para dispositivos de cd e de
rede. Ao adicionar os seus ficheiros personalizados de modo semelhante ao
que é feito pelos dispositivos de cd e rede, você também pode gerar nomes
estáticos para dispositivos para outros dispositivos como pens USB de
memória. Veja "Escrever regras do
udev" ou
"/usr/share/doc/udev/writing_udev_rules/index.html".
Como o sistema udev é de certa forma um alvo em movimento, eu deixo os detalhes para outras documentações e descrevo a informação mínima aqui.
|
Dica |
|---|---|
|
Para regras de montagem em " |
O programa modprobe(8) permite-nos configurar o kernel Linux em execução a partir do processo de utilizador ao adicionar e remover módulos do kernel. O sistema udev (veja Secção 3.3, “O sistema udev”) automatiza a sua invocação para ajudar na inicialização dos módulos de kernel.
Existem módulos de não-hardware e módulos driver de hardware especial como
os seguintes que precisam de ser pré-carregados ao listá-los no ficheiro
"/etc/modules" (veja
modules(5)).
módulos TUN/TAP que disponibilizam dispositivos de rede Point-to-Point virtuais (TUN) e dispositivos de rede Ethernet virtuais (TAP).
módulos netfilter que disponibilizam capacidades de firewall netfilter (iptables(8), Secção 5.9, “Infraestrutura netfilter”), e
módulos de driver watchdog timer
Os ficheiros de configuração para o programa
modprobe(8)
estão localizados sob o directório "/etc/modprobes.d/"
como explicado em
modprobe.conf(5).
(Se você deseja evitar que alguns módulos do kernel sejam carregados
automaticamente, considere metê-los em lista negra no ficheiro
"/etc/modprobes.d/blacklist".)
O ficheiro "/lib/modules/<version>/modules.dep"
gerado pelo programa
depmod(8)
descreve as dependências dos módulos usados pelo programa
modprobe(8).
|
Nota |
|---|---|
|
Se tiver problemas com o carregamento de módulos durante o arranque ou com o
modprobe(8),
" |
O programa modinfo(8) mostra informação sobre um módulo do kernel Linux.
O programa
lsmod(8)
formata lindamente o conteúdo de "/proc/modules", e
mostra que módulos do kernel que estão actualmente carregados.
|
Dica |
|---|---|
|
Você pode identificar o hardware exacto no seu sistema. Veja Secção 9.4.3, “Identificação do hardware”. |
|
Dica |
|---|---|
|
Você pode configurar o hardware durante o arranque para activar as funcionalidades esperadas do hardware. Veja Secção 9.4.4, “Configuração do hardware”. |
|
Dica |
|---|---|
|
Você pode provavelmente adicionar suporte para o seu dispositivo especial ao recompilar o kernel. Veja Secção 9.9, “O kernel”. |