É 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.
![]() |
Dica |
---|---|
bootup(7)
describes the system bootup process based on |
![]() |
Dica |
---|---|
boot(7) describes the system bootup process based on UNIX System V Release 4. (Older Debian) |
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:29, I:849 | 584 | 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 | 6294 | 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:3 | 693 | Suportado | Lilo | Isto baseia-se nas localizações de sectores de dados no disco rígido. (Antigo) |
syslinux | V:5, I:59 | 299 | Suportado | Isolinux | Isto compreende o sistema de ficheiros ISO9660. É utilizado pelo CD de arranque. |
syslinux | V:5, I:59 | 299 | 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:0, I:10 | 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 |
---|---|
Do not play with boot loaders without having bootable rescue media (USB
memory stick, CD or floppy) created from images in the
|
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 . |
The "/init
" program is executed as the first program in
this root filesystem on the memory. It is a program which initializes the
kernel in user space and hands control over to the next stage. This
mini-Debian system offers flexibility to the boot process such as adding
kernel modules before the main boot process or mounting the root filesystem
as an encrypted one.
The "/init
" program is a shell script program if
initramfs was created by initramfs-tools
. You can interrupt this part of the boot process to gain root
shell by providing "break=init
" etc. to the kernel boot
parameter. See the "/init
" script for more break
conditions. This shell environment is sophisticated enough to make a good
inspection of your machine's hardware. Commands available in
this mini-Debian system are stripped down ones and mainly provided by a GNU
tool called
busybox(1).
The "/init
" program is a binary
systemd
program if initramfs was created by
dracut
. ** Commands available in this mini-Debian system
are stripped down
systemd(1)
environment.
![]() |
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 |
---|---|
O comando de iniciação actual do seu sistema pode ser verificado pelo
comando " |
![]() |
Dica |
---|---|
" |
Tabela 3.3. Lista de utilitários de arranque para o sistema Debian
pacote | popcon | tamanho | descrição |
---|---|---|---|
systemd
|
V:703, I:805 | 11933 |
daemon de eventos baseado em
init(8)
para a concorrência (alternativa a sysvinit )
|
systemd-sysv
|
V:684, I:798 | 112 |
the manual pages and links needed for systemd to replace
sysvinit
|
systemd-cron
|
V:0, I:1 | 133 | systemd units to provide cron daemon
and anacron functionality
|
init-system-helpers
|
V:704, I:826 | 129 |
helper tools for switching between sysvinit and
systemd
|
initscripts
|
V:284, I:667 | 205 | scripts para inicializar e desligar o sistema |
sysvinit-core
|
V:13, I:17 | 225 | utilitários de init(8) estilo System-V |
sysv-rc
|
V:477, I:673 | 123 | mecanismo de mudança de runlevel estilo System-V |
sysvinit-utils
|
V:791, I:999 | 110 | utilitários estilo System-V (startpar(8), bootlogd(8), …) |
lsb-base
|
V:877, I:999 | 49 | Linux Standard Base funcionalidade de script de init 3.2 |
insserv
|
V:539, I:660 | 140 | ferramenta para organizar a sequência de arranque usando dependências dos scripts init.d LSB |
uswsusp
|
V:4, I:11 | 699 | ferramentas disponibilizadas pelo Linux para utilizar a suspensão de software no espaço de utilizador |
kexec-tools
|
V:1, I:8 | 270 | ferramenta kexec para re-arranques kexec(8) (re-arranque a quente) |
systemd-bootchart
|
V:0, I:0 | 122 | analisador de performance do processo de arranque |
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 | 301 | substituto inteligente de modem getty(8) |
![]() |
Dica |
---|---|
Veja Debian wiki: BootProcessSpeedup para as dicas mais recentes em como acelerar o processo de arranque. |
This section describes how system is started by the
systemd(1)
program with PID=1
(i.e., init process).
The systemd
init process spawns processes in parallel
based on the unit configuration files (see
systemd.unit(5))
which are written in declarative style instead of SysV-like procedural
style. These are loaded from a set of paths (see
systemd-system.conf(5))
as follows:
"/lib/systemd/system
": OS default configuration files
"/etc/systemd/system
": system administrator configuration
files which override the OS default configuration files
"/run/systemd/system
": run-time generated configuration
files which override the installed configuration files
Their inter-dependencies are specified by the directives
"Wants=
", "Requires=
",
"Before=
", "After=
", … (see "MAPPING
OF UNIT PROPERTIES TO THEIR INVERSES" in
systemd.unit(5)).
The resource controls are also defined (see
systemd.resource-control(5)).
The suffix of the unit configuration file encodes their types as:
*.service describes the process
controlled and supervised by systemd
. See
systemd.service(5).
*.device describes the device exposed in the sysfs(5) as udev(7) device tree. See systemd.device(5).
*.mount describes the file system mount
point controlled and supervised by systemd
. See
systemd.mount(5).
*.automount describes the file system
auto mount point controlled and supervised by
systemd
. See
systemd.automount(5).
*.swap describes the swap device or file
controlled and supervised by systemd
. See
systemd.swap(5).
*.path describes the path monitored by
systemd
for path-based activation. See
systemd.path(5).
*.socket describes the socket controlled
and supervised by systemd
for socket-based
activation. See
systemd.socket(5).
*.timer describes the timer controlled
and supervised by systemd
for timer-based activation. See
systemd.timer(5).
*.slice manages resources with the cgroups(7). See systemd.slice(5).
*.scope is created programmatically using
the bus interfaces of systemd
to manages a set of system
processes. See
systemd.scope(5).
*.target groups other unit configuration files to create the synchronization point during start-up. See systemd.target(5).
Upon system start up (i.e., init), the systemd
process
tries to start the "/lib/systemd/system/default.target
(normally symlinked to "graphical.target
"). First, some
special target units (see
systemd.special(7))
such as "local-fs.target
",
"swap.target
" and "cryptsetup.target
"
are pulled in to mount the filesystems. Then, other target units are also
pulled in by the target unit dependencies. For details, read
bootup(7).
systemd
offers backward compatibility features.
SysV-style boot scripts in
"/etc/init.d/rc[0123456S].d/[KS]<name>
" are still
parsed and
telinit(8)
is translated into systemd unit activation requests.
![]() |
Cuidado |
---|---|
Emulated runlevel 2 to 4 are all symlinked to the same
" |
The kernel maintains the system hostname. The system unit started by
systemd-hostnamed.service
sets the system hostname at
boot time to the name stored in "/etc/hostname
". This
file should contain only the system
hostname, not a fully qualified domain name.
Para escrever o nome de máquina actual corra hostname(1) sem argumentos.
The mount options of normal disk and network filesystems are set in
"/etc/fstab
". See
fstab(5)
and Secção 9.5.7, “Optimização do sistema de ficheiros por opções de montagem”.
The configuration of the encrypted filesystem is set in
"/etc/crypttab
". See
crypttab(5)
The configuration of software RAID with
mdadm(8)
is set in "/etc/mdadm/mdadm.conf
". See
mdadm.conf(5).
![]() |
Atenção |
---|---|
Após montar todos os sistemas de ficheiros, os ficheiros temporários em
" |
Network interfaces are typically initialized in
"networking.service
" for the lo
interface and "NetworkManager.service
" for other
interfaces on modern Debian desktop system under systemd
.
See Capítulo 5, Configuração de rede for how to configure them.
The kernel error message displayed to the console can be configured by setting its threshold level.
# dmesg -n3
Tabela 3.4. 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 |
Under systemd
, both kernel and system messages are logged
by the journal service systemd-journald.service
(a.k.a
journald
) either into a persistent binary data below
"/var/log/journal
" or into a volatile binary data below
"/run/log/journal/
". These binary log data are accessed
by the
journalctl(1)
command.
Under systemd
, the system logging utility
rsyslogd(8)
changes its behavior to read the volatile binary log data (instead of
pre-systemd default "/dev/log
") and to create traditional
permanent ASCII system log data.
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)”.
The systemd
offers not only init system but also generic
system management functionalities such as journal logging, login management,
time management, network management. etc..
The systemd(1) is managed by several commands:
the
systemctl(1)
command controls the systemd
system and service manager
(CLI),
the
systemsdm(1)
command controls the systemd
system and service manager
(GUI),
the
journalctl(1)
command queries the systemd
journal,
the
loginctl(1)
command controls the systemd
login manager, and
the systemd-analyze(1) analyzes system boot-up performance.
Here are a list of typical systemd
management command
snippets. For the exact meanings, please read the pertinent manpages.
Tabela 3.5. List of typical systemd
management command snippets
Operation | Type | Command snippets |
---|---|---|
GUI for service manager | GUI |
"systemadm " (systemd-ui package)
|
List all target unit configuration | Unit |
"systemctl list-units --type=target "
|
List all service unit configuration | Unit |
"systemctl list-units --type=service "
|
List all unit configuration types | Unit |
"systemctl list-units --type=help "
|
List all socket units in memory | Unit |
"systemctl list-sockets "
|
List all timer units in memory | Unit |
"systemctl list-timers "
|
Start "$unit "
|
Unit |
"systemctl start $unit "
|
Stop "$unit "
|
Unit |
"systemctl stop $unit "
|
Reload service-specific configuration | Unit |
"systemctl reload $unit "
|
Stop and start all "$unit "
|
Unit |
"systemctl restart $unit "
|
Start "$unit " and stop all others
|
Unit |
"systemctl isolate $unit "
|
Switch to "graphical " (GUI system)
|
Unit |
"systemctl isolate graphical "
|
Switch to "multi-user " (CLI system)
|
Unit |
"systemctl isolate multi-user "
|
Switch to "rescue " (single user CLI system)
|
Unit |
"systemctl isolate rescue "
|
Send kill signal to "$unit "
|
Unit |
"systemctl kill $unit "
|
Send kill signal to "$unit "
|
Unit |
"systemctl kill $unit "
|
Check if "$unit " service is active
|
Unit |
"systemctl is-active $unit "
|
Check if "$unit " service is failed
|
Unit |
"systemctl is-failed $unit "
|
Check status of "$unit|$PID|device "
|
Unit |
"systemctl status $unit|$PID|$device "
|
Show properties of "$unit|$job "
|
Unit |
"systemctl show $unit|$job "
|
Reset failed "$unit "
|
Unit |
"systemctl reset-failed $unit"
|
List dependency of all unit services | Unit |
"systemctl list-dependencies --all "
|
List unit files installed on the system | Unit file |
"systemctl list-unit-files "
|
Enable "$unit " (add symlink)
|
Unit file |
"systemctl enable $unit "
|
Disable "$unit " (remove symlink)
|
Unit file |
"systemctl disable $unit "
|
Unmask "$unit " (remove symlink to
"/dev/null ")
|
Unit file |
"systemctl unmask $unit "
|
Mask "$unit " (add symlink to
"/dev/null ")
|
Unit file |
"systemctl mask $unit "
|
Get default-target setting | Unit file |
"systemctl get-default "
|
Set default-target to "graphical " (GUI system)
|
Unit file |
"systemctl set-default graphical "
|
Set default-target to "multi-user " (CLI system)
|
Unit file |
"systemctl set-default multi-user "
|
Show job environment | Environment |
"systemctl show-environment "
|
Set job environment "variable " to
"value "
|
Environment |
"systemctl set-environment variable=value "
|
Unset job environment "variable "
|
Environment |
"systemctl unset-environment variable "
|
Reload all unit files and daemons | Lifecycle |
"systemctl daemon-reload "
|
Shut down the system | System |
"systemctl poweroff "
|
Shut down and reboot the system | System |
"systemctl reboot "
|
Suspend the system | System |
"systemctl suspend "
|
Hibernate the system | System |
"systemctl hibernate "
|
View job log of "$unit "
|
Journal |
"journalctl -u $unit "
|
View job log of "$unit " ("tail -f "
style)
|
Journal |
"journalctl -u $unit -f "
|
Show time spent for each initialization steps | Analyze |
"systemd-analyze time "
|
List of all units by the time to initialize | Analyze |
"systemd-analyze blame "
|
Load and detect errors in "$unit " file
|
Analyze |
"systemd-analyze verify $unit "
|
Track boot process by the cgroups(7) | Cgroup |
"systemd-cgls "
|
Track boot process by the cgroups(7) | Cgroup |
"ps xawf -eo pid,user,cgroup,args "
|
Track boot process by the cgroups(7) | Cgroup |
Read sysfs under
"/sys/fs/cgroup/systemd/ "
|
Here, "$unit
" in the above examples may be a single unit
name (suffix such as .service
and
.target
are optional) or, in many cases, multiple unit
specifications (shell-style globs "*
",
"?
", "[]
" using
fnmatch(3)
which will be matched against the primary names of all units currently in
memory).
System state changing commands in the above examples are typically preceded
by the "sudo
" to attain the required administrative
privilege.
The output of the "systemctl status $unit|$PID|$device
"
uses color of the dot ("●") to summarize the unit state at a glance.
White "●" indicates an "inactive" or "deactivating" state.
Red "●" indicates a "failed" or "error" state.
Green "●" indicates an "active", "reloading" or "activating" state.
With default installation, many network services (see Capítulo 6, Aplicações de rede) are started as daemon processes after
network.target
at boot time by
systemd
. The "sshd
" is no exception.
Let's change this to on-demand start of "sshd
" as a
customization example.
First, disable system installed service unit.
$ sudo systemctl stop sshd.service $ sudo systemctl mask sshd.service
The on-demand socket activation system of the classic Unix services was
through the indetd
superserver. Under
systemd
, the equivalent can be enabled by adding
*.socket and *.service unit configuration files.
sshd.socket
for specifying a socket to listen on
[Unit] Description=SSH Socket for Per-Connection Servers [Socket] ListenStream=22 Accept=yes [Install] WantedBy=sockets.target
sshd@.service
as the matching service file of
sshd.socket
[Unit] Description=SSH Per-Connection Server [Service] ExecStart=-/usr/sbin/sshd -i StandardInput=socket
Then reload.
$ sudo systemctl daemon-reload
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.10, “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”. |