• Nenhum resultado encontrado

101.3 Alternar runlevels, desligar e reiniciar o sistema

No documento LP I-1 101 – 102 (páginas 32-41)

Exemplo de trecho do arquivo /etc/inittab:

si::sysinit:/etc/init.d/rcS ~~:S:wait:/sbin/sulogin 1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 Ação sysinit Descrição

Processo executado durante o boot do sistema.

wait Processo será executado e o programa init aguardará seu término.

ctrlaltdel O processo será executado quando o init receber o sinal SIGINT, o que significa que as teclas [Ctrl]+[Alt]+[Del] foram pressionadas.

1 : usuário único (modo de manutenção, sem rede ou serviços);

2: multiusuário;

3: multiusuário, com login gráfico;

4: multiusuário, com login gráfico;

5 : multiusuário, com login gráfico;

6: reinicialização do sistema.

Os únicos runlevels comuns a toda distribuição Linux são O, 1 e 6. O runlevel pa­ drão, aquele que será utilizado a menos que outros sejam passados no carregamento do kernel, é definido no próprio arquivo / et c / i n i t t a b , na entrada i d : x : i n i td efa u l t . O x é o número do runlevel iniciado por padrão. Esse número jamais pode ser O ou 6, pois causaria o desligamento ou a reinicialização logo durante o boot.

Por ser o primeiro programa iniciado logo após a inicialização do kernel, o PID (número de identificação de processo) do init será sempre 1 .

Alternando entre runlevels

Para alternar entre runlevels após o boot, pode-se usar o próprio comando i n i t ou o comando t e 1 i ni t, fornecendo como argumento o número do runlevel desejado.

Para identificar em qual runlevel o sistema está operando, é utilizado o comando cognato chamado runlevel. O comando runlevel mostra dois algarismos: o primeiro mostra o runlevel anterior e o segundo, o runlevel atual.

Desligamento e reinicialização

O principal comando usado para desligar ou rem1c1ar o sistema é o comando s h utdown, pois agrega algumas funcionalidades importantes. Ele automaticamente notifica todos os usuários no sistema com uma mensagem exibida no terminal, e novos logins são bloqueados.

Após invocar o shutdown, todos os processos recebem o sinal SIGTERM, seguido de SIGKILL, antes de o sistema desligar ou alternar o runlevel. O padrão, caso não sejam usadas as opções - h ou -r, é que o sistema alterne para o runlevel 1 , ou seja, usuário único. O comando shutdown é invocado utilizando a sintaxe shutdown {op­ ção} hordrio {mensagem}.

Apenas o argumento horário é obrigatório. Ele indica quando efetuar a ação requi-sitada, e seu formato pode ser:

h h : mm: horário para execução;

+m: minutos até a execução;

Algumas das opções mais usadas do comando shutdown são:

- a : usar o arquivo de permissão / e t c / s h utdown . a l l ow; - r : reiniciar a máquina;

- h : desligar a máquina;

- t s e g u n d o s : define o tempo de espera antes de o comando shurdown executar a ação solicitada.

O argumento mensagem será o aviso enviado a todos os usuários que estiverem logados no sistema. O comando Wall pode ser utilizado para essa mesma finalidade. Para impedir que qualquer usuário reinicie a máquina pressionando [Ctri]+[Ait]+[Del],

a opção - a deve acompanhar o comando shutdown presente na linha do arquivo / e t c / i n i t t a b referente à ação ctrlaltdel. Dessa forma, somente os usuários cujos no­ mes de login constarem no arquivo I e t c / s h u t d own . a 1 1 ow poderão reiniciar o sistema usando a combinação de teclas.

Systemd

O Systemd é um gerenciador de sistema e serviços para Linux compatível com o pa­ drão Sys V e LSB. Ele possui uma forte capacidade de paralelização, utiliza ativação por sockets e D-Bus para iniciar os serviços, disparo sob demanda dos daemons, mo­ nitoramento dos processos por cgroups, suporte a snapshots e restauro do estado do sistema, controle dos pontos de montagem e implementa uma lógica elaborada de controle de serviços baseada em dependência de transações. Atualmente, o sistema operacional Linux mais popular a adotar o systemd é o Fedora.

O systemd dá início e supervisiona todo o sistema e é baseado no conceito de unidades. Uma unidade é composta por um nome e um tipo e p�ssui um arqui­ vo de configuração correspondente. Portanto, a unidade para um processo servidor

httpd (como o Apache) será httpd . s e r v i c e e seu arquivo de configuração também se chamará httpd . s e r v i c e .

Existem sete tipos diferentes de unidades:

service: o tipo mais comum, onde serviços podem ser iniciados, interrompidos, reiniciados e recarregados.

socket: esse tipo de unidade pode ser um socket no sistema de arquivos ou na rede. Cada unidade do tipo socket possui uma unidade do tipo service correspondente, que é iniciada somente quando uma conexão chega à uni­ dade socket.

device: uma unidade para um dispositivo presente na árvore de dispositivos do Linux. Um dispositivo é exposto como unidade do systemd se houver uma

regra do udev com essa finalidade. Propriedades definidas na regra udev podem ser utilizadas corno configurações para determinar dependências em unidades de dispositivo.

mount: um ponto de montagem no sistema de arquivos.

automount: um ponto de montagem automática no sistema de arquivos. Cada unidade autornount possui urna unidade rnount correspondente, que é iniciada quando o ponto de montagem automática é acessado.

target: agrupamento de unidades, de forma que sejam controladas em conjun­ to. A unidade multi-user. target, por exemplo, agrega as unidades necessárias ao ambiente multi-usuário. É correspondente ao nível de execução número 5 em um ambiente controlado por Sys V.

snapshot: é semelhante à unidade target. Apenas aponta para outras unidades.

Interagir com unidades do systemd

O principal comando para administração das unidades do systernd é o systemctl. Tomando corno exemplo a unidade h t t p d . s e r v i c e, as ações mais comuns na tabela a seguu:

Parâmetros do systemctl

Alterando o nível de execução

O systernd não trabalha com o conceito de níveis de execução. Sua abordagem é utilizar um target para cada situação corno login gráfico, multi-usuário etc.

Comando

systemctl start httpd.service systemctl stop httpd.service systemctl restart httpd.service systemctl status httpd.service systemctl enable httpd.service.

Ação

Iniciar o serviço Interromper o serviço Reiniciar o serviço

Exibir o estado do serviço, incluindo se está ou não ativo Iniciar o serviço no boot

Retirar o serviço do boot

Verificar se o serviço é ativado no boot (0 é ativado, 1 é desativado)

systemctl disable httpd.service systemctl is-enabled httpd.service; echo $?

O correspondente ao nível de execução 3 (multi-usuário) é o target multi-user. O comando sys temctl i s o l a t e alterna entre os diferentes targets. Portanto, para manu­ almente alternar para o target multi-user, utiliza-se:

Para facilitar o entendimento, há targets de correspondência para cada nível de execução tradicional, que vão do runleve/0. target ao runleve/6. target. Apesar disso, o systemd não utiliza o arquivo / et c / i n i t t a b . Para alterar o alvo padrão do systemd, pode ser incluída a opção s y s temd . u n i t nos parâmetros de carregamento do kernel. Por exemplo, para definir o alvo multi-user.target como o alvo padrão:

Os parâmetros do kernel podem ser alterados no arquivos de configuração do carregador de boot. Outra maneira de alterar o alvo padrão do systemd é redefinir

o link simbólico / e t c / s y s t emd / s y s tem/defa u l t . ta rget, que apontapada um alvo. A

definição do link pode ser feita com o comando systemcd:

A opção -f força a substituição de um alvo padrão já definido. Como no casodos sistemas que utilizam o padrão SysV, deve-se ter cuidado para não definira alvo pa­ drão para s h u t d own . ta rget, que corresponde ao nível de execução O( desligamento) ..

Os targets disponíveis encontram-se no diretório 1 1 i b / systemd/ s y s t em / . O coman­

do systemctl 1 i s t - u n i t s - - ty p e-t a rget exibe todos os targets carregados e ativos.

Upstart

O upstart é um gerenciador de serviços utilizado como substituto ao tradicional init.

Como o systemd, seu principal objetivo é tornar o boot mais rápido ao carregar os serviços paralelamente. Atualmente, o sistema operacional Linux mais popular a adotar o upstart é o Ubuntu.

Os scripts de inicialização utilizados pelo upstart localizam-se no diretório / e t c / i n i t .

Controle dos serviços com Upstart

Os serviços do sistema são listados com o comando i n i tct 1 1 i s t . Também são exibi­ dos o estado do serviço e o número do processo (se ativo) :

systemctl i s o la t e m u lt i- u s e r. t a r get

systemd. u n it-m u lt i- u s e r. t a r get

Cada ação do upstart possui um comando independente. Por exemplo, para ini­ ciar o sexto terminal virtual com o comando s t a r t :

Verificar seu status com o comando s t a t u s :

E interrompê-lo com o comando s top:

O upstart não utiliza o arquivo / et c / i n i t t a b para definir os níveis de execução, mas os comandos tradicionais r u n 1 ev e 1 e t e 1 i n i t são utilizados para verificar e alter­ nar entre os níveis de execução.

IF i n it c t l l i s t

av a h i-daemon s t a r t / r u n ni n g , p rocess 483 mou n t al l- n et stop/wai t i n g r c s top/wa i t i n g rsysl og s t a r t /r u n n i n g , p rocess 432 tty4 s t a r t / r u nn i n g , p rocess 801 udev s t a r t /r u n n i ng , p rocess 291 u p s t art- ud ev - b r i dg e s t ar t / r u nn in g , p rocess 283 u r eada h ead- ot h er stop /wai ti n g

whoop s ie s t ar t / r u n n i ng , p rocess 863

a p port st a rt / ru n n in g console-s et u p s top /wai t i ng

hwcloc k - s a v e s top /wa i t i n g i rq ba la n c e s top /wa i t i n g plymout h - l og s top /wai t i n g

tty5 s t a r t /r u n n i ng , p rocess 8 1 1 fai ls a f e s top /wa i t i n g s t a r t t t y 6 s t a t u s tty6 tty6 s t ar t / r u n n in g , p rocess 3282 s top tty6

1. Qual comando pode ser usado para inspecionar o hardware geral do sistema? a. ls

b. lspci

c.find

d. hwlook

2.Como é possível verificar quais módulos estão carregados pelo sistema?

a. Com o comando depmod.

b. Lendo o arquivo /etc/modprobe.conf.

c. Com o comando lsmod.

d . Com o comando uname -m.

3.A saída abaixo:

B u s 002 Dev i c e 0 0 3 : I D 046d : c0 1 6 Log i t e c h , I n c . M - U V 6 9 a / HP M - U V 9 6 O pt i c a l -. Whe e l Mo u s e

B u s 002 Dev i ce 0 0 2 : I D 4 1 3 c : 2 0 0 5 D e l l Comp u t e r C o r p . RT7 D 5 0 Key b o a rd Bus 002 Dev i ce 0 0 1 : ID 1 d 6 b : 0 0 0 1 Li n u x F o u n d a t i o n 1 . 1 root hu b

corresponde à execução de qual comando?

a. lsusb

b.cat lprocldevices

c. lspci

d . cat /dev/usb

4. Dispositivos hotplug são dispositivos:

a.mais caros, de melhor desempenho.

b. que aquecem, prejudicando o funcionamento da máquina.

c.que devem ser conectados com a máquina desligada.

d. que podem ser conectados com a máquina em funcionamento.

Questões Tópico 101

5.Qual o caminho completo para a segunda partição de um disco IDE conectado ao primeiro canal IDE?

6.Qual opção deve ser passada, para o kernel para limitar o total de memória disponível para o sistema?

a.memlimit b. mem c. limit

d. totalmem

7. Qual nível de execução corresponde ao desligamento do sistema?

a. O b. 1 c. 2

d . 3

8. Qual comando é usado para verificar o nível de execução atual do sistema? Dê somente o comando, sem argumentos.

9.Quais comandos podem ser utilizados para desligar o computador corretamente? Marque todos as respostas corretas.

a.shutdown b. telinit c. ctrlaltdel

d. powerdown

10. Qual linha do arquivo /etc/inittab define o nível de execução padrão do sistema?

a.xx:default:2 b. xx:initdefault:3 c. xx:3:initdefault

I nstalação do Linux

No documento LP I-1 101 – 102 (páginas 32-41)