#DicasLPI – Systemd – Parte 2

Share

Navegando por mares nunca antes navegados e adentrando cada vez mais no systemd, vamos aprofundando no assunto já iniciado em post’s anteriores.

Alterando o nível de execução

O systemd não trabalha com o conceito de níveis de execução. Ele apresenta uma abordagem de utilizar um target  para cada situação como login gráfico, multi-usuário etc. O correspondente ao nível de execução 3 (multi-usuário) é o target multi-user.

Utilizando o comando systemctl isolate iremos alternar entre os diferentes targets .Porém, para  alternar manualmente para o target multi-user, utiliza-se:

systemctl isolate multi-user.target

Há targets de correspondência para cada nível de execução tradicional, que vão do runlevel0.target ao runlevel6.target (assim como no init.d, temos os runlevels do ) ao 6). Apesar disso, o systemd não utiliza o arquivo /etc/inittab.

O target padrão do sistema é aquele apontado pelo link simbólico /etc/systemd/system/default.target. Os targets disponíveis encontram-se no diretório /lib/systemd/system/.

O comando systemctl list-units –type=target exibe todos os targets carregados e ativos.

O Systemd armazena suas configurações de serviços em diversos arquivos. Os arquivos de automount fornecidos pelo pacote do Systemd se localizam em /lib/systemd/system/. Há arquivos com sufixos .service (serviços propriamente ditos, como Apache, Postfix etc.), .target (semelhantes — não iguais — aos runlevels), .automount e .mount, entre outros.

O Systemd não precisa do arquivo /etc/fstab para saber quais sistemas de arquivos montar e em quais diretórios. Cada montagem é definida em um arquivo .mount, que deve ter como nome o diretório de montagem. Exemplos:

 var-run.mount

sys-kernel-debug.mount

O primeiro realiza a montagem do diretório /var/run, enquanto que o segundo monta /sys/kernel/debug.

O sistema de arquivos a ser montado nesses diretórios é definido nos próprios arquivos. Vejamos um trecho do arquivo var-run.mount:

[Mount]

What=tmpfs

Where=/var/run

Type=tmpfs

Options=mode=755,nosuid,nodev,noexec

Praticamente auto-explicativo, não acha? O arquivo define qual é o sistema de arquivos (What=tmpfs), o ponto de montagem (Where=/var/run), o tipo (Type=tmpfs) e as opções de montagem (Options=mode=755,nosuid,nodev,noexec).

O que são essas linhas linhas What= e Type=? Então vamos logo ao exemplo do /home.

cat /etc/systemd/system/home.mount

(…)

[Mount]

What=/dev/sda5

Where=/home

Type=ext4

Options=noatime

Minha partição /dev/sda5 será montada em /home, com tipo ext4 e com a opção de montagem noatime. Ahhh, agora ficou mais simples…

Se tivermos somente um arquivo .mount, o Systemd montará o sistema de arquivos assim que possível — isto é, durante a inicialização do sistema — e não o desmontará mais. Para reduzirmos o tempo de boot, o ideal é permitir que os sistemas de arquivos não essenciais ao próprio boot sejam montados sob demanda quando necessário, certo? É aí que entra o arquivo com sufixo .automount

 cat /etc/systemd/system/home.automount

(…)

[Automount]

Where=/home

Com esse arquivo, o Systemd já sabe que, sempre que algum processo acessar /home, ele deve ser montado, caso já não esteja montado.

Fonte

Quer continuar por dentro das novidades do Blog Seja Livre? Siga o nosso perfil no TWITTER, curta a nossa página no FACEBOOK ou adicione o Blog Seja Livre nos seus círculos do GOOGLE+.