Sei sulla pagina 1di 109

Introdução à Administração *NIX-LINUX

Instrutor: Pedro S. Nicolletti (peter@dsc.ufpb.br)

© Sauvé & Nicolletti, 2001

CHESF – AGOSTO/2001
RESUMO DO CONTEÚDO

1) Introdução

2) Instalação de Sistemas *NIX-LINUX

3) Inicialização e Desligamento do Sistema

4) Manutenção de Usuários

5) Dispositivos e Gerentes de Dispositivos

6) Processamento de Atividades Periódicas e


Observação do Sistema

7) Cópias de Segurança

8) Serviço de Registro de Eventos e de


Contabilidade
1) INTRODUÇÃO

POR QUE NÃO WINDOWS NT/2000?

ü Ele não é barato (principalmente se tiver de ser


instalado em muitas máquinas).

ü Ele não é completo (é preciso adicionar um bom


servidor WEB, entre outros).

ü Ele esconde sua complexidade com interface gráfica


(embora o mundo UNIX disponha de interfaces gráficas,
espera-se de um administrador de sistemas que ele
saiba exatamente o que ocorre e onde ocorre as coisas
no sistema).

ü Ele é um sistema proprietário. A Microsoft pode alterá-lo


ao sabor do vento (como tem feito).

ü Se você aprende a administrar um sistema UNIX, você


aprende a administrar um sistema Windows NT.
FONTES DE INFORMAÇÃO *NIX-LINUX

Distribuidores Linux Diversos


www.slackware.com (v. www.ugu.com (UNIX Guru
7.1) Universe)
www.redhat.com (v. 7.1) http://infocom.cqu.edu.au
www.conectiva.com.br
www.calderasystems.com LINUX
(v. 2.4) www.linux.org
www.debian.org (v. 2.2 – www.linuxdoc.org/docs/ldp
Potato) (LINUX Documentation
www.suse.com (v. 7.2) Project – LDP)
www.turbolinux.com (v.
6.1)

Associação de
Administradores
www.usernix.org/sage
www.sage-au.org.au

Associação de Usuários
www.usernix.org
www.usernix.org.au
MANUAIS ON-LINE (MAN PAGES)

ü Comando: man [seção do manual] argumento

Seção do Manual Conteúdo


1 Comandos do usuário
2 Chamadas do sistema (System Calls)
3 Funções de bibliotecas
3c Biblioteca C padrão
3s Biblioteca Entrada/Saída padrão
3m Biblioteca matemática
3f Biblioteca Fortran
3x Biblitecas Especiais
4 Arquivos Especiais
5 Formato de Arquivos
6 Jogos
7 Miscelânea
Comandos privilegiados e de
8
administração

ü man –k argumento (procura “argumento” em todas as


seções do manual on-line); Whatis ou apropos
argumento (fazem o mesmo que man –k)
COMPUTADORES NO MUNDO REAL

ü A maioria de nós conhece PCs Wintel


(microcomputadores INTEL com sistema operacional
Windows).

ü O mundo real tem mais coisas do que computadores


com um vídeo, uma CPU e um teclado.

ü Usar um computador, para a maioria de nós é:

Ø Ligá-lo (como resultado ele localiza alguma


informação de inicialização em algum drive, carrega
o núcleo do sistema operacional para a memória
principal, configura o sistema – localiza e inicializa o
hardware dos periféricos, e dá partida em alguns
outros programas servidores)

Ø Obter uma interface gráfica no monitor de vídeo;

Ø Usá-lo (clicando duas vezes em alguns ícones,


ativando programas);

Ø Acessar dispositivos compartilhados (como discos ou


impressoras);

Ø Desligá-lo (após terminas seus trabalhos ou quando


ele trava!).
Mas no mundo real, podemos encontrar:

ü Computadores sem “cabeça” (por exemplo servidores


Cobalt – www.cobalt.com, que oferecem serviços de
impressão, arquivamento, home pages, etc.).

ü Computadores sem interface gráfica (que exigem maior


capacidade de um computador – CPU, memória, disco).

ü Computadores com múltiplas CPUs (usados como


servidores de grande capacidade, como o SUN HPC
100000 – www.sun.com/servers/hpc/products
/hpc10000.html – que suporta até 64 CPUs, 64 Gbytes de
RAM e mais de 64 Tbytes de disco).

ü Computadores sem disco (como em redes com grandes


quantidades de computadores que não podem ser
“mexidos” – desconfigurados – por seus usuários,
simplificando a gerência da mesma).
ü Compartilhamento de CPUs (sendo o UNIX um sistema
operacional multitarefa, é comum o uso de uma máquina
UNIX por vários usuários ao mesmo tempo – quer via
telnet, quer via X-Window; mas não é uma exclusividade
UNIX: a Virtual Networking Computing (VNC) –
www.uk.research.att.com/vnc – disponibiliza um sistema
que permite a qualquer máquina UNIX, Windows ou Mac
executar programas em qualquer máquina UNIX,
Windows ou Mac, sendo o resultado apresentado no
computador original).

ü Execução de programas de um sistema operacional em


outro (o sistema WINE – www.winehq.com – permite que
programas Windows sejam executados sobre o sistema
operacional LINUX).

ü Vários sistemas operacionais ao mesmo tempo (o


sistema Vmware – www.vmware.com – disponibiliza uma
máquina virtual sobre a qual pode-se rodar um sistema
operacional LINUX e um sistema operacional Windows
NT).
VISÃO GERAL DO SISTEMA OPERACIONAL LINUX

O QUE É O LINUX?

ü Sistema Operacional multitarefa e multiusuário, de 32


bits, projetado (inicialmente) para plataformas INTEL
80386, com custo muito baixo.

ü LINUX é um UNIX-like, sem ser um clone (se fosse


clone, custaria bem mais por causas das licenças de
uso).

ü Foi criado (inicialmente) por Linus Torwards, quando era


estudante na Universidade da Finlância, como uma
alternativa ao MINIX (sistema operacional acadêmico,
desenvolvido por Andrew Tanenbaum).

ü Hoje é disponibilizado por diversos distribuidores (entre


eles):

Ø Slackware – www.slackware.com
Ø Red-Hat – www.redhat.com
Ø Debian – www.debian.org
Ø SUSE – www.suse.com
Ø Conectiva (BR) – www.conectiva.com.br
ü Mais apropriadamente falando, o LINUX diz respeito
diretamente ao núcleo (kernel) do sistema operacional;
os vários componentes adicionais provêm de diversos
contribuidores:

Ø GCC (compilador C), gmake, bison, flex, e outros


programas provém da Free Software Foundation e
seus contribuidores, normalmente liberadas com
licença estilo GNU

Ø Grande parte dos utilitários de rede, são


provenientes de distribuições da Universidade de
Berkeley, com licenças menos restritivas que o GNU,
conhecidas como BSD

Ø O ambiente gráfico X-Windows, desenvolvido


originalmente por MIT- Xerox Corporation, hoje é
mantido pela associação X-Open. O LINUX usa uma
versão da Xfree (www.xfree86.org), mas existem
outros ambiente disponíveis (como KDE –
www.kde.org - e GNOME – www.gnome.org).
COMO FUNCIONA UM SISTEMA OPERACIONAL COMO O
LINUX?

Fase de Inicialização (Booting)

ü Quando um computador com LINUX é ligado (de modo


semelhante ao que ocorre com outros sistemas
operacionais), ocorre:

Ø Instruções contidas (cold boot) em uma memória


de inicialização (ROM, EEPROM) são executadas

Ø Essas instruções levam o computador a procurar


em alguns (poucos) lugares um setor de boot (boot
sector)

Ø O setor de boot é carregado para a memória e as


instruções nele contidas (warm boot) são
executadas, fazendo a carga do núcleo do LINUX,
passando em seguida o controle para ele

Ø O núcleo verifica o hardware disponível, tenta


configurá-lo e inicia a execução de dois processos:
á Swap – que é responsável pela permuta de
programas entre a memória principal e a
memória secundária em um ambiente de
memória virtual (como é o LINUX)

á Init – que é responsável pela início da execução


de diversos scripts shell contidos no diretório
/etc/rc.d.

ü Os scripts shell desenvolvem vários passos de


configuração e iniciam diversos programas servidores
(daemons).

ü Nesse ponto, a máquina LINUX está “rodando”, em um


determinado nível (monousuário, multiusuário sem ou
com ambiente gráfico).

ü Em qualquer desses passos podem ocorrer problemas


que o administrador deve saber diagnosticar e resolver.
Fase de Operação (Operating)

ü Após a Fase de Inicialização o usuário pode interagir


com o LINUX através de duas possíveis interfaces:

Ø Texto – uma interface em linha de comando com


vários possíveis interpretadores (sh, csh, tsch, bash,
etc.), através da qual os diversos comandos do
sistema podem ser ativados via teclado (digitando-se
seus nomes, com possíveis opções e argumentos)

Ø Gráfica – um ambiente de janelas, padrão


X-Windows, a partir da qual comandos do sistema
podem ser ativados via mouse (com cliques)

ü Em ambos os casos, existem diversas tarefas comuns de


programas (abrir, ler, gravar, fechar arquivos, por
exemplo) que não são codificadas junto com cada
programa.

ü São usadas bibliotecas de funções (normalmente


localizadas no diretório /usr/lib) para armazenar as
funções comuns a vários programas.
ü Programas servidores, ativados (normalmente) por
scripts shell na inicialização, ficam de prontidão
aguardando a ocorrência de determinados eventos (um
pedido de impressão, por exemplo); na ocorrência de
um evento, o servidor apropriado executa as ações
necessárias para o desempenho da tarefa requerida e
volta a ficar de prontidão.

ü Programas servidores tem geralmente as seguintes


características:

Ø Um arquivo de configuração – em geral do tipo


texto, que informa ao servidor o que fazer, quando
e, algumas vezes, como; o arquivo de configuração
é lido quando o servidor respectivo é ativado; se o
arquivo for modificado posteriormente, o servidor
precisa ser avisado (através de um sinal ou por
desativação/ativação)

Ø Um programa executável – armazenado em algum


diretório do sistema de arquivos (/etc, /usr/etc,
/sbin, /usr/sbin, etc.)

Ø Um arquivo de registro de ocorrências (logging) –


que registra diversos tipos de ocorrências do servidor
(ativação, eventos diversos, desativação), sendo
uma fonte importante de consulta quando algo não
está correto no sistema.
Fase de Desativação (Shutting Down)

ü Um sistema multitarefa/multiusuário como o LINUX não


pode ser desativado desligando-se o interruptor de
energia.

ü Diversos programas (servidores, em geral) estão em


execução no sistema, mantendo, eventualmente, vários
arquivos em uso.

ü O desligamento repentino do sistema pode levar à


geração de erros de inconsistência de dados em arquivos
ou até mesmo ao sistema de arquivos com um todo.

ü O processo de desligamento, normalmente ativado com


o comando shutdown, usa o programa init (o mesmo
de inicialização) para executar diversos scripts shell de
desligamento para deixar o sistema em um estado
consistente para a próxima inicialização.
O LINUX EM CAMADAS

ü Hardware – CPUs, memória, dispositivos de entrada e


saída, dispositivos de armazenamento secundário;
podem ser adicionados/removidos pelo administrador.

ü Gerentes de dispositivo (Device Driver) –


componentes do núcleo do sistema, específicos para
cada dispositivo, que sabem “falar” apropriadamente
com o dispositivo; podem ser adicionados/removidos pelo
administrador.

ü Outros serviços do núcleo – módulos que


desenvolvem alguma tarefa de mais alto nível na
manipulação de dispositivos; por exemplo,
escalonamento de CPUs, gerência de memória principal e
secundária, a capacidade de se ler diretamente disquetes
formatados para Windows-98, etc.

ü Arquivos de Dispositivo (Device File) – representam a


interface padrão para dispositivos, sendo normalmente
usados por programas servidores do sistema ou por
programas dos usuários.
ü Servidores (daemons) – Como citado anteriormente,
são programas que ficam em operação
permanentemente oferecendo aos usuários serviços tais
como: identificação/autenticação de usuários, impressão
de arquivos, envio/recepção de mensagens, etc.

ü Usuários – No nível superior, os programas para


usuários: interfaces texto (shell) ou gráfica (X-Windows),
editores de texto, compiladores, etc.
ü O conhecimento dessa hierárquia torna muito mais fácil
para o administrador identificar e resolver problemas.
Por exemplo, na ocorrência do problema “Não consigo
conectar-me, via rede, com o servidor LINUX”, um bom
enfoque para identificar e resolver o problema seria:

Ø Hardware – O cabo de rede está ligado? O


computador está ligado? Consigo conexão com
alguma máquina da mesma rede local do servidor?

Ø Gerentes de Dispositivo – O núcleo do LINUX


contem o gerente de dispositivo apropriado para a
placa de rede? A placa de rede foi reconhecida na
inicialização?

Ø Outros serviços do núcleo – Os serviços do


núcleo, necessários para comunicação em rede,
estão instalados/configurados? Endereço/máscara de
rede e gateway default estão corretos?

Ø Servidores – O servidor (ou servidores) necessário


está ativo? Seu arquivo de registro de ocorrências
acusa alguma coisa?
TAREFAS BÁSICAS DO ADMINISTRADOR DE SISTEMAS

ü Manutenção (inclusão, alteração e exclusão) de


usuários no sistema – é o administrador que cadastra
novos usuários no sistema, dando-lhes as permissões
necessárias e suficientes para a utilização responsável do
sistema; o administrador também altera configurações
de um usuário, bem como descadastra usuários que não
precisão (ou não devem) mais usar o sistema.

ü Manutenção (inclusão, configuração, exclusão) de


hardware – quando um novo hardware é adquirido ou
transferido de uma máquina para outra, é tarefa do
administrador configurar o sistema para reconhecer o
novo hardware.

ü Realização e Controle de Cópias de Segurança


(Backup) – é uma das tarefas mais importantes do
administrador; é dele a responsabilidade de garantir a
integridade dos arquivos dos usuários, bem como dos
arquivos do próprio sistema operacional.

ü Instalação de Novo Software – além da


instalação/configuração do próprio sistema operacional, é
responsabilidade do administrador instalar novo software
sempre que se fizer necessário (e recomendável) pelos
usuários.
ü Monitoração do sistema – diversas atividades diárias
devem ser realizadas pelo administrador: o serviço de
correio eletrônico está funcionando, a data e hora estão
corretos, existe espaço livre nos discos, etc. são
perguntas que devem ser respondidas todos os dias.

ü Localizar e Resolver Problemas – o sistema LINUX e


o hardware sobre o qual está sendo executado podem
apresentar falhas ocasionais; é tarefa do administrador
localizar essas falhas e consertá-las, se estiver apto a
fazê-lo, ou providenciar um técnico que possa fazê-lo.

ü Auditoria de Segurança – compete ao administrador


definir (de acordo com os interesses da organização) e
implementar uma política de segurança, sendo o
principal responsável pela verificação do cumprimento da
política adotada.

ü Ajuda aos Usuários – embora raramente devesse ser


colocada como tarefa de administrador de sistema,
ajuda aos usuários toma um tempo razoável do
administrador; É quase inevitável ser consultado sobre
problemas do tipo:

Ø Meu programa funcionou ontem, mas hoje não quer


funcionar! O que você mudou no sistema?

Ø Eu derrubei um pouco de café no meu teclado!


Preciso colocá-lo na lava-louças ou basta um jato de
mangueira?

PALAVRAS DE CONSOLO (SERA?):

ü Administrador sempre exerce vários papéis (querendo


ou não).

ü Quando mais ele aprende sobre o LINUX, mais a


comunidade de usuários vai depender (e procurar) dele.

ü Uma vez que você começa a exercer atividades de


administrador, fica difícil deixar de exercer esse papel.
Às vezes é preciso até mudar de emprego!

ü Fazer corpo mole não é uma atitude recomendável.


Além de não resolver os problemas dos usuários, você
vai adquirir a fama de um administrador burro!

ü Uma sugestão boa: documente bem as atividades (e o


tempo gasto com elas) de administração; fica mais fácil
convencer seu chefe de que você realmente faz alguma
coisa na organização e facilita seu planejamento na hora
de exigir uma substituição.

ü Se valer como consolo, você pode acabar se sentindo


bem, reconhecendo que gosta de administrar sistemas
LINUX; um bom administrador LINUX (ou qualquer *NIX)
não tem problemas para achar emprego (mesmo no
Brasil).
2) INSTALAÇÃO DE SISTEMAS *NIX–LINUX

ü A instalação de um sistema operacional *NIX–LINUX,


embora não seja um bicho de sete cabeças (só umas 3),
precisa de mais planejamento do que a instalação de um
sistema operacional Windows.

ü Como visto anteriormente, os sistemas *NIX–LINUX


organizam-se disco como uma árvore de diretórios com /
(barra) representando a raiz. Cada nó dessa árvore ou é
um diretórios (sub-diretório) ou é um arquivo.

ü Não existe o conceito de “drive” como no Windows (drive


A:, C:, etc.) nem de periféricos (como COM1:, LPT1:,
etc.). Tudo são arquivos ou diretórios, até mesmo os
dispositivos de armazenamento e de entrada/saída.

ü Dessa forma, um dispositivo de armazenamento de


massa, como um disco rígido ou uma fita magnética ou
um CD-ROM, precisa ser associado a algum ponto dessa
árvore.

ü Quando da instalação de um sistema *NIX–LINUX, é


preciso definir que dispositivos de armazenamento (ou
partições deles) vão ser associados a que diretórios (ou
sub-diretórios) do sistema.
ü Por padrão, os diretórios

/, /bin, /dev, /etc, /lib e /sbin

ocupam uma partição que vai ser chamada de raiz.

ü Os diretórios

/home, /tmp, /usr e /var

podem ocupar a mesma partição raiz (em caso de


disponibilidade muito pequena de disco rígido), sendo
recomendável que ocupem partições distintas.

ü Não se pode esquecer que, como todo sistema


operacional que usa memória virtual, o *NIX–LINUX
necessita de uma partição para sua área de permuta
(swap) de programas.

ü Essa área deve ter, por padrão, 2 a 3 vezes o tamanho


da memória física.
O QUE CONTÉM CADA DIRETÓRIO?

Diretório Variabilidade* Conteúdo


/ - Raiz do sistema
/bin Pequena Programas básicos para
usuários
/dev Pequena Arquivos de dispositivos
/etc Pequena Arquivos e programas de
controle
/home Grande Área de armazenamento para
os usuários
/lib Pequena Bibliotecas de funções
/sbin Pequena Programas básicos para
administrador
/tmp Grande Arquivos temporários do
sistema e dos usuários
/usr Média Arquivos e programas
adicionais no sistema
/var Grande Arquivos variáveis (caixas
postais, pedidos de impressão,
registros de ocorrências, etc.)

* Por variabilidade, entenda-se a mudança de área de


armazenamento ocupada ao longo da utilização do sistema.
EXEMPLOS

ü Instalação em disco rígido de 1,2 GB, em máquina com


32 MB RAM.

Diretório Partição Tam. Comentário


(MB)
/ /dev/hda1 908 Contém /bin, /dev, /etc,
/lib, /sbin, /usr, /var,
/home
swap /dev/hda2 64 Área de permuta
/tmp /dev/hda3 256 Temporários

ü Instalação em disco rígido de 12 GB, em máquina com


128 MB RAM.

Diretório Partição Tam. Comentário


(MB)
/ /dev/hda1 256 Contém /bin, /dev, /etc,
/lib, /sbin
swap /dev/hda2 256 Área de permuta
/home /dev/hda3 7424 Home dos usuários
/tmp /dev/hda5 256 Temporários
/usr /dev/hda6 2048 Programas adicionais
/var /dev/hda7 2048 Variáveis

* É recomendável, por questões de segurança, que o /tmp


sempre ocupe uma partição separada.

3) INICIALIZAÇÃO E DESLIGAMENTO DO
SISTEMA
INICIALIZAÇÃO

ü Quando ligamos um computador com LINUX instalado,


normalmente um programa chamado LILO (LInux
LOader) é ativado (warm boot) que permite:

Ø Selecionar que partição do disco rígido vai ser lida


em busca do sistema operacional

Ø Selecionar que sistema operacional (núcleo) vai ser


carregado

Ø Passar algum parâmetro de inicialização para o


sistema operacional a ser carregado.

ü Uma vez carregado o núcleo, os primeiros processos do


sistemas, swapper (processo 0) e init (processo 1) são
criados. O processo init é especial:

Ø Todos os outros processos são filhos ou netos do


init
Ø Init procura e processa o arquivo /etc/inittab para
completar a inicialização do sistema, de acordo com
o nível de execução do sistema
Ø /etc/inittab contém indicação de quais, como e
quando determinados procedimentos de inicialização
e/ou operação do sistema serão executados.

ü Os níveis de execução de uma máquina *NIX (comuns)


são os seguintes:

Nível de
Descrição
Execução
0 Máquina parada (halt).
Mono-usuário, sem interface gráfica, com
1
todos os sistemas de arquivos disponíveis,
mínimo de processos do sistema em
execução; somente o administrador pode
usar a máquina.
Multi-usuário, sem interface gráfica, sem
2
compartilhamento remoto de arquivos.
Multi-usuário, sem interface gráfica, com
3 compartilhamento remoto de arquivos,
processos e servidores.
4 Multi-usuário, com interface gráfica.
5 Definido pelo administrador.
Desativação (shutdown) e reinicialização
6
(reboot).
Sob demanda, configurados pelo
abc
administrador.
Revisão de /etc/inittab (quando é feita
q ou Q
alguma alteração).
s ou S Mesmo que mono-usuário.

* Pode variar um pouco de *NIX para *NIX.


ü Init procura em /etc/inittab uma linha com o tipo
initdefault para definir o nível de execução inicial do
sistema.

ü administrador pode mudar o nível de execução do


sistema com o comando:

telinit <novo_nível_de_execução>

onde novo nível pode ser:

0123456abcqQsS
ü O arquivo /etc/inittab é o arquivo de configuração do
Init. Seu formato padrão é:

Id : lista_de_níveis : ação : processo

Onde:

Id – é um campo de um ou dois caracteres para


identificar unicamente essa linha do arquivo

Lista_de_níveis – é uma lista de níveis de execução nos


quais essa entrada deve ser processada

Ação – é uma indicação de como o init deve executar o


processo

Processo – é a indicação (caminho completo) do


programa ou script a ser executado
ü Ação pode ser:

Ação Decrição
respawn Reinicia o processo sempre que ele terminar.
Inicia o processo e espera sua conclusão antes de
wait
continuar.
Inicia o processo uma única vez durante a
once
inicialização
Inicia o processo durante o boot (ignora o nível
boot
de execução)
bootwait Uma combinação de boot e wait.
off Ignore a entrada.
initdefault Indica o nível de execução default.
Inicia o processo durante o boot, antes de
sysinit
qualquer entrada boot ou bootwait.
Inicia quando init recebe o sinal SIGPWR, que
powerwait indica falha de energia elétrica, aguardando a
conclusão do processo.
Inicia o processo sempre que um nível sob
ondemand demanda (a, b, c) for solicitado. Não altera o
nível atual do sistema.
O mesmo que powerwait, só que não espera a
powerfail
comclusão do processo.
Inicia o processo quando init recebe o sinal
ctrlaltdel SIGINT, que que indica (normalmente) que
CTR-ALT-DEL foi pressionado.
EXEMPLO

#
# inittab This file describes how the INIT process should set
up
# the system in a certain run-level.
#
# Version: @(#)inittab 2.04 17/05/93 MvS
# 2.10 02/10/95 PV
# 3.00 02/06/1999 PV
#
# Author: Miquel van Smoorenburg,
<miquels@drinkel.nl.mugnet.org>
# Modified by: Patrick J. Volkerding,
<volkerdi@ftp.cdrom.com>
#

# These are the default runlevels in Slackware:


# 0 = halt
# 1 = single user mode
# 2 = unused (but configured the same as runlevel 3)
# 3 = multiuser mode (default Slackware runlevel)
# 4 = X11 with KDM/GDM/XDM (session managers)
# 5 = unused (but configured the same as runlevel 3)
# 6 = reboot

# Default runlevel. (Do not set to 0 or 6)


id:3:initdefault:

# System initialization (runs when system boots).


si:S:sysinit:/etc/rc.d/rc.S

# Script to run when going single user (runlevel 1).


su:1S:wait:/etc/rc.d/rc.K
# Script to run when going multi user.
rc:2345:wait:/etc/rc.d/rc.M

# What to do at the "Three Finger Salute".


ca::ctrlaltdel:/sbin/shutdown -t5 -rf now

# Runlevel 0 halts the system.


l0:0:wait:/etc/rc.d/rc.0

# Runlevel 6 reboots the system.


l6:6:wait:/etc/rc.d/rc.6

# What to do when power fails (shutdown to single user).


pf::powerfail:/sbin/shutdown -f +5 "THE POWER IS FAILING"

# If power is back before shutdown, cancel the running


shutdown.
pg:0123456:powerokwait:/sbin/shutdown -c "THE POWER IS
BACK"

# If power comes back in single user mode, return to multi


user mode.
ps:S:powerokwait:/sbin/init 3

# The getties in multi user mode on consoles an serial lines.


#
# NOTE NOTE NOTE adjust this to your getty or you will not
be
# able to login !!
#
# Note: for 'agetty' you use linespeed, line.
# for 'getty_ps' you use line, linespeed and also use
'gettydefs'
c1:1235:respawn:/sbin/agetty 38400 tty1 linux
c2:1235:respawn:/sbin/agetty 38400 tty2 linux
c3:1235:respawn:/sbin/agetty 38400 tty3 linux
c4:1235:respawn:/sbin/agetty 38400 tty4 linux
c5:1235:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux

# Serial lines
#s1:12345:respawn:/sbin/agetty 19200 ttyS0 vt100
#s2:12345:respawn:/sbin/agetty 19200 ttyS1 vt100

# Dialup lines
#d1:12345:respawn:/sbin/agetty -mt60
38400,19200,9600,2400,1200 ttyS0 vt100
#d2:12345:respawn:/sbin/agetty -mt60
38400,19200,9600,2400,1200 ttyS1 vt100

# Runlevel 4 used to be for an X window only system


x1:4:wait:/etc/rc.d/rc.4

# End of /etc/inittab

ü Inúmeras tarefas são executadas durante a inicialização


do sistema; algumas das mais importantes são:
Ø Verificar a integridade dos sistemas de arquivos
com o programa fsck
Ø Montar os sistemas de arquivos
Ø Definir e ativar áreas de permuta (swap)
Ø Verificar quotas de disco para os usuários
Ø Remover arquivos temporários do /tmp e outros
locais
Ø Configurar interfaces de rede
Ø Ativar servidores de impressão, correios eletrônico,
rede, etc.

ü É sempre interessante (e importante) observar as


mensagens de inicialização de um sistema.
Linux version 2.2.16 (root@server1) (gcc version
egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #2 Fri
Nov 10 14:31:26 -0300 2000
Detected 598438 kHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 1192.76 BogoMIPS
Memory: 257676k/262080k available (1136k kernel code,
420k reserved, 2800k data, 48k init)
Dentry hash table entries: 32768 (order 6, 256k)
Buffer cache hash table entries: 262144 (order 8, 1024k)
Page cache hash table entries: 65536 (order 6, 256k)
VFS: Diskquotas version dquot_6.4.0 initialized
CPU: Intel Pentium III (Katmai) stepping 03
Checking 386/387 coupling... OK, FPU using exception 16
error reporting.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.35a (19990819) Richard Gooch
(rgooch@atnf.csiro.au)
PCI: PCI BIOS revision 2.10 entry at 0xfd61c
PCI: Using configuration type 1
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
TCP: Hash tables configured (ehash 262144 bhash 65536)
Starting kswapd v 1.5
parport0: PC-style at 0x378 [SPP]
Detected PS/2 Mouse Port.
Serial driver version 4.27 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
pty: 256 Unix98 ptys configured
lp0: using parport0 (polling).
PCI_IDE: unknown IDE controller on PCI bus 00 device 79,
VID=1166, DID=0210
PCI_IDE: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio,
hdb:pio
PCI_IDE: simplex device: DMA disabled
ide1: PCI_IDE Bus-Master DMA disabled (BIOS)
hda: CRD-8322B, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: ATAPI 32X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.09
Floppy drive(s): fd0 is 1.44M
FDC 0 is a National Semiconductor PC87306
(scsi0) <Adaptec AIC-7895 Ultra SCSI host adapter> found at
PCI 0/6/1
(scsi0) Wide Channel B, SCSI ID=7, 32/255 SCBs
(scsi0) Downloading sequencer code... 384 instructions
downloaded
(scsi1) <Adaptec AIC-7895 Ultra SCSI host adapter> found at
PCI 0/6/0
(scsi1) Wide Channel A, SCSI ID=7, 32/255 SCBs
(scsi1) Downloading sequencer code... 384 instructions
downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast
SCSI) 5.1.28/3.2.4
<Adaptec AIC-7895 Ultra SCSI host adapter>
scsi1 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast
SCSI) 5.1.28/3.2.4
<Adaptec AIC-7895 Ultra SCSI host adapter>
scsi : 2 hosts.
(scsi0:0:0:0) Synchronous at 40.0 Mbyte/sec, offset 8.
Vendor: IBM-PSG Model: DNES-318350Y !# Rev: SAB0
Type: Direct-Access ANSI SCSI revision: 03
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
Vendor: SDR Model: GEM200 Rev: 2
Type: Processor ANSI SCSI revision: 02
scsi : detected 1 SCSI disk total.
SCSI device sda: hdwr sector= 512 bytes. Sectors=
35548320 [17357 MB] [17.4 GB]
pcnet32.c: PCI bios is present, checking for devices...
Found PCnet/PCI at 0x2020, irq 15.
eth0: PCnet/FAST+ 79C972 at 0x2020, 00 06 29 39 1f a4
tx_start_pt(0x0400): 64 bytes, BCR18(9a61):BurstWrEn
BurstRdEn NoUFlow
SRAMSIZE=0x1700, SRAM_BND=0x0800, assigned IRQ 15.
pcnet32.c:v1.25kf 26.9.1999 tsbogend@alpha.franken.de
eepro100.c:v1.09j-t 9/29/99 Donald Becker
http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html
eepro100.c: $Revision: 1.20.2.10 $ 2000/05/31 Modified by
Andrey V. Savochkin <saw@saw.sw.com.sg> and others
eth1: OEM i82557/i82558 10/100 Ethernet,
00:60:94:63:6E:3A, IRQ 5.
Board assembly 698523-001, Physical connectors present:
RJ45
Primary interface chip i82555 PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x24c9f043).
Receiver lock-up workaround activated.
eepro100.c:v1.09j-t 9/29/99 Donald Becker
http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html
eepro100.c: $Revision: 1.20.2.10 $ 2000/05/31 Modified by
Andrey V. Savochkin <saw@saw.sw.com.sg> and others
Partition check:
sda: sda1 sda2 sda3 sda4 < sda5 sda6 >
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 48k freed
Adding Swap: 530136k swap-space (priority -1)
VFS: Disk change detected on device fd(2,0)
VFS: Disk change detected on device fd(2,0)
OBSERVAÇÕES

ü Sempre que o administrador desejar colocar programas


para serem ativados durante a inicialização do sistema,
deverá fazê-lo em um arquivo de inicialização,
normalmente chamado de rc.local.

ü Sempre que o administrador desejar/precisar fazer


manutenção no sistema que envolva a
instalação/configuração de novos dispositivos,
manutenção de dispositivos de armazenamento,
alterações de monta no cadastro e/ou área de
armazenamento reservada aos usuários, deverá fazê-lo
com o sistema em modo mono-usuário. Para tanto
deverá executar o comando:

telinit 1

ü Após a realização da manutenção desejada, pode voltar


ao mono multi-usuário (sem ou com interface gráfica)
com o comando:

Telnit 3 (sem interface gráfica)

Ou

Telinit 4 (com interface gráfica)


ü Dependendo do sabor do *NIX–LINUX (BSD ou ATT), a
organização dos arquivos de inicialização pode variar um
pouco.

ü Em sabores mais similares ao BSD, os arquivos de


incialização estão localizados no diretório /etc, sendo
comum a existência de arquivos rc.0 rc.1, rc.2, ...,
rc.local, etc.

ü Em sabores mais similares ao ATT, os arquivos de


inicialização estão localizados no diretório /etc/init.d, e
nos diretórios /etc/rc0.d, /etc/rc1.d, ..., existem links
com nomes S* e/ou K* para indicar Start e/ou Kill,
respectivamente, apontando para arquivos no /etc/init.d.

ü A organização ATT, embora mais complexa à primeira


vista, permite uma organização mais elaborada da
sequência de inicialização e desligamento do sistema
*NIX – LINUX.
O QUE FAZER QUANDO O BOOT NÃO DÁ CERTO?

ü Verifique:

Ø Hardware (energia elétrica em cada componente


do sistema; cabos de dados interligando dispositivos
do sistema; luzes indicadoras existem?)

Ø Área (setor) de boot com defeito (LILO mal


instalado/configurado?)

Ø Sistema de arquivos com defeito (disco físico


com defeito? Disco lógico com defeito?)

Ø Núcleo mal configurado (houve alteração do


núcleo? Foi feito backup da versão anterior?)

Ø Arquivos de inicialização (scripts) com erros


(houve alteração em algum arquivo de inicialização?
Foi feito backup da versão anterior?)
DESLIGAMENTO DO SISTEMA

ü Como observado anteriormente, um sistema


*NIX–LINUX mantém em execução diversos programas
que, por sua vez, podem usar diversos arquivos.

ü Como todo sistema multiusuário, não é recomendável


que a desativação do sistema seja feita de modo abrupto
para não causar inconsistências de dados nos arquivos do
sistema e/ou dos usuários.

ü Na maioria dos sistemas o comando shutdown (ou


equivalente) deve ser usado para a desativação do
sistema:

Shutdown [-f|F] –[h|r] time [message]

-f forca uma próxima inicialização rápida


(sem verificação de discos
com fsck)
-F força uma próxima inicialização com
verificação de disco
-h para a máquina (nível de execução 0 –
halt)
-r reinicializa a máquina (nível de execução 6
– reboot)
tempo tempo de execução do desligamento
(hh:mm ou a palavra now)
mensagem mensagem enviada para todos os
usuários conectados ao sistema
EXEMPLOS

ü Desliga o sistema as 13:50 hs informando que haverá


falta de energia:

shutdown –f –h 13:50 Haverá falta de energia


elétrica entre 14:00 e 18:00 hs

ü Reinicializa o sistema após a instalação de algum


software:

shutdown –f –r now Sistema sendo


reinicializado para ativação do Fortran

ü Reinicializa o sistema para caçar hacker:

shutdown –f –r now
4) MANUTENÇÃO DE USUÁRIOS

ü Como todo sistema muiti-usuário, o *NIX – LINUX exige


identificação e a autenticação dos usuários do sistema –
uma conta.

ü Uma conta é uma coleção de características que


especifica quem é o usuário, o que ele pode fazer, e
onde ele pode fazer. Essas carecterísticas incluem:

Ø Nome de usuário (ou de login)


Ø Senha
Ø Identificação numérica de usuário (User ID – UID)
Ø Identificação de grupo de usuários (Group ID –
GID)
Ø Diretório padrão de trabalho (home directory)
Ø Interpretador de comandos (shell)
Ø Caixa postal para correio eletrônico
Ø Sinônimo (apelido) para correio eletrônico
Ø Arquivos de inicialização de conexão (startup files).
ü Nomes de usuários devem:

Ø Ser únicos (idealmente em toda a corporação)


Ø Ter até 8 caracteres (idealmente minúsculos)
Ø Ser fáceis de lembrar
Ø Não ser apelidos
Ø Ter padrão de formação (ex. sobrenome seguido
de iniciais do nome).

ü Senhas de usuários devem:

Ø Ter entre 6 a 8 caracteres


Ø Usar combinação de letras, números e pontuação
(sempre!!!)
Ø Ser fáceis de lembrar
Ø Ser rápidas para digitar
Ø Não ser palavras achadas em dicionários (é fácil
violar)
Ø Ser mudadas regularmente (4 em 4 meses, por
exemplo)
Ø Não devem ser repetidas (em um espaço curto de
tempo).
ü UID identifica numericamente o usuário para o sistema;
normalmente UIDs 0 a 99 são reservados, sendo o UID 0
(zero) usado pelo administrador do sistema, identificado
com usuário root.

ü GID identifica o grupo ao qual pertence o usuário;


diversos usuários podem pertencem à um mesmo grupo
e um usuário pode pertencer a mais de um grupo (o
comando chgrp permite à um usuário mudar de grupo).

ü O diretório padrão de trabalho indica o ponto na


árvore de diretórios a partir do qual o usuário poderá
criar seus arquivos e sub-diretórios (ex. /home/peter ou
/user/peter).

ü O interpretador de comandos indica qual o


interpretador shell será usado pelo usuários; várias
opções estão disponíveis no mundo *NIX-LINUX, sendo
as mais comuns: bash, sh, csh, ksh e tcsh.

ü A caixa postal para correio eletrônico é criada


normalmente quando da criação da conta do usuário,
sendo comum o uso do nome de identificação do usuário
como nome da caixa postal (normalmente fica em
/var/spool/mail ou /usr/spool/mail).
ü Sinônimos ou apelidos podem ser associados à um
usuário para o uso de correio eletrônico; normalmente
esses apelidos são cadastrados no arquivo /etc/aliases
(usado pelo serviço de correio eletrônico do sistema).

ü Arquivo de inicialização (dot files) são usados por um


número de comandos do sistema de modo a customizar
o corportamento desses comandos quando da ativação
dos mesmos. Alguns exemplos:

Arquivo Comando Descrição


Executado a cada ativação do
~/.cshrc /bin/csh
interpretador
Executado (depois do .cshrc) a
~/.login /bin/csh
cada login
Executado a cada login (para
/etc/profile /bin/sh
todos)
Executado a cada ativação do
~/.profile /bin/sh
interpretador
~/.logout /bin/csh Executado antes do logout
~/.bash_logout /bin/bash Executado antes do logout
Registra comandos
~/.bash_history /bin/bash
executados em um seção
incoming
~/.forward Redireciona correio eletrônico
mail
Configura opções iniciais para
~/.exrc vi
vi

ü Arquivos padrão de inicialização para usuários podem


ser colocados no diretório /etc/skel.
EXEMPLOS DE ARQUIVOS DE INICIALIZAÇÃO PARA
USUÁRIOS

PROFILE GERAL (/ETC/PROFILE) PARA A CHESF

#!/bin/bash

PATH=/usr/local/bin:/bin:/usr/bin:
/usr/bin/X11
MANPATH=/usr/local/man:/usr/man
CLASSPATH=/usr/local/java

export PATH MANPATH CLASSPATH

cat <<!
CHESF – Bem vindo ao Sistema Operacional
Linux 2.0.35

Qualquer problema fale com Rubens e/ou


Karina.

!
PROFILE ESPECÍFICO PARA USUÁRIO PETER
(~PETER/.PROFILE)

#!/bin/bash

PATH=~peter/bin:$PATH
MANPATH=~peter/man:$MANPATH
CLASSPATH=~peter/java:$CLASSPATH

export PATH MANPATH CLASSPATH

alias l=’ls –la’


alias dir=’ls –la’
alias cls=’clear’
alias net=’(ifconfig –a; netstat –nr)|more’

alias rm=’/bin/rm –i’ # seguro morreu de


velho!
CADASTROS DE CONTAS

ü O cadastro de contas no mundo *NIX-LINUX é mantido


(normalmente) por três arquivos:

Arquivo Conteúdo
O cadastro de contas, contendo a maior
parte das características: nome, UID, GID,
comentário (antigo GCOS field), diretório
/etc/passwd
padrão, interpretador de comandos (esse
arquivo é – deve ser – legível por todos os
usuários)
O cadastro de senhas, contendo a senha
criptografada de cada usuário (esse arquivo
só é legível para o administrador) e
informações relativas à validade de uma
senha/conta (data da última alteração,
/etc/shadow mínimo de dias até a próxima alteração,
máximo de dias para alteração, dias de
anúncio de necessidade de alteração, dias de
inatividade para que a conta possa ser
removida, data (absoluta) de expiração da
conta, reservado)
O cadastro de grupos, contendo o nome, o
/etc/group
GID, e os membros de cada grupo
ü Entradas típicas no /etc/passwd seriam:

root:*:0:0:Adm. do Sistema:/root:/bin/bash
bin:*:1:1:bin:/bin:/bin/false
daemon:*2:2:daemon:/sbin:/bin/false
(. . .)
peter:*:501:100:Peter Nicolletti,83-310.1122:/home
/peter:/bin/bash
(. . .)

ü Entradas típicas no /etc/shadow seriam:

root:QcuFmXXB4kgyo:11253:0:10000:::
peter:xk6M8XY7QSODs:12542:0:60:0:30:0:0
operador:O8RYf.xyzQJ/s:11253:0:10000::::

ü Entradas típicas no /etc/group seriam:

adm::4:root,bin,peter
users::100:
OBSERVAÇÕES

ü É comum a existência de contas especiais, tais como


root, bin e daemon.

ü Root identifica o administrador do sistema, também


chamado de super-usuário.

ü O usuário root é o responsável (e somente ele tem


permissão) por realizar tarefas especiais no sistema, tais
como:

Ø Criar e modificar contas de usuários


Ø Desligar o sistema (shutdown)
Ø Configurar dispositivos de hardware, tais com o
placas de rede e impressoras
Ø Mudar o proprietários de arquivos
Ø Definir e alterar quotas e prioridades
Ø Definir e alterar o nome da máquina.

ü Pelo seu poder, a conta root só deve ser usada quando


absolutamente necessário.

ü Bin e daemon permitem definir proprietários e


permissões para diversos arquivos e programas do
sistema.
CRIANDO CONTAS

ü Criar contas no mundo *NIX-LINUX significa:

Ø Incluir uma entrada no arquivos /etc/passwd,


/etc/shadow e atualizar (ou incluir) uma entrada no
arquivo /etc/group

Ø Criar um diretório padrão

Ø Copiar para esse diretório os arquivos de


inicialização de usuário

Ø Tornar esses diretório e os arquivos nele incluídos


como pertencentes ao usuário recém criado

Ø Atualizar /etc/aliases com o(s) sinônimo do usuário


recém criado.

ü Normalmente são usados programas (sem ou com


interface gráfica) para essa tarefa. O mais comum deles
é o useradd, que cria as entradas no /etc/passwd e
/etc/shadow, sem contudo criar o diretório padrão e
atribuir uma senha inicial ao usuário.
REMOVENDO CONTAS

ü Remover contas no mundo *NIX-LINUX significa:

Ø Remover as entradas da conta nos arquivos


/etc/passwd e /etc/shadow

Ø Atualizar (ou remover) a entrada correspondente


no /etc/group

Ø Fazer cópia de segurança do diretório padrão e da


caixa postal (/home/??? E /var/spool/mail/???) do
usuário

Ø Colocar um sinônimo apropriado no /etc/aliases


para que ocorra o redirecionamento das mensagens
do usuário para seu novo endereço eletrônico.

ü Normalmente são usados programas (sem ou com


interface gráfica) para essa tarefa. O mais comum deles
é o userdel, que remove as entradas no /etc/passwd e
/etc/shadow, sem contudo remover o diretório padrão e
a caixa postal do usuário.
BLOQUEANDO CONTAS

ü Bloquear contas no mundo *NIX-LINUX significa:

Ø Colocar /bin/false como interpretador de comandos


do usuário, para que o mesmo não possa se
conectar ao sistema, mas possa acessar sua caixa
postal através de protocolos tipo POP3 ou IMAP4

Ø Colocar um * (asterisco) no início da senha


criptografada do usuário (no /etc/shadow), para que
o mesmo não possa sequer acessar sua caixa postal.

ü Para desbloquear a conta, faça o processo inverso,


conforme o caso.

OBSERVAÇÕES

ü Comandos como chfn, chsh, e usermod, permitem ao


administrador ou ao próprio usuário, modificar algumas
características de uma conta.
5) DISPOSITIVOS E GERENTES DE
DISPOSITIVOS

DISPOSITIVOS

ü No mundo *NIX-LINUX, não existe o conceito de


dispositivo como no mundo DOS/Windows.

Ø Não existe drive A:, C: ou D:


Ø Não existe COM1:, COM2: ou LPT1:, LPT2:

ü Arquivos, diretórios e dispositivos têm todos uma


representação comum (pelo menos aos olhos dos
usuários); todos são tratados genericamente como
arquivos (de um certo tipo).

ü Dispositivos figuram (normalmente) no diretório /dev, e


apresentam quatro atributos:
Ø Tipo (c = caracter ou b = bloco)
Ø Nome (seguindo algumas normas)
Ø Número maior (major number – indica o gerente
do dispositivo)
Ø Número menor (minor number – indica um
dispositivo).
[peter@chesf]# ls –l /dev
(...)
brw-rw---- 1 root floppy 2, 0 May 14 1996 fd0
brw-rw---- 1 root floppy 2, 36 May 14 1996
fd0CompaQ
brw-rw---- 1 root floppy 2, 4 May 14 1996
fd0d360
brw-rw---- 1 root floppy 2, 8 May 14 1996
fd0h1200
brw-rw---- 1 root floppy 2, 40 May 14 1996
fd0h1440
(...)
brw-r----- 1 root disk 3, 0 Apr 27 1995 hda
brw-r----- 1 root disk 3, 1 Apr 27 1995 hda1
brw-r----- 1 root disk 3, 2 Apr 27 1995 hda2
brw-r----- 1 root disk 3, 3 Apr 27 1995 hda3
brw-r----- 1 root disk 3, 4 Apr 27 1995 hda4
(...)
crw------- 1 root root 4, 0 Jul 17 1994 tty0
crw--w--w- 1 root root 4, 1 Aug 15 10:11 tty1
crw--w--w- 1 root root 4, 2 Jun 7 15:42 tty2
(...)

fd floppy disk
0 controladora 0 (zero)
h high density
1440 indicação de 1440 blocos (2 faces, 18 setores/trilha,
40 trilhas)
ü Normalmente todos os arquivos de dispositivo
comumente usados são criados durante a instalação do
sistema operacional.

ü No caso de necessidade de criação de um arquivo de


dispositivo específico, usa-se o comando:

mknod nome {b|c} nro_maior nro_menor

ü A maioria dos sistemas *NIX-LINUX dispõe de um script


shell - /etc/MAKEDEV – que automatiza a criação de
dispositivos.

ü Por exemplo, se houver a necessidade de criar


dispositivos para disco rígido escravo na segunda
controladora IDE, pode-se fazer:

MAKEDEV hdd

ü No LINUX, o arquivo /usr/src/linux/Documentation


/devices.txt, contém a documentação completa sobre os
dispositivos do sistema.
GERENTES DE DISPOSITIVO

ü Não basta criar o arquivo de dispositivo para que um


determinado periférico funcione.

ü É preciso haver um gerente de dispositivo (software)


instalado para que o dispositivo possa ser manipulado
adequadamente.

ü Felizmente nos sistema *NIX-LINUX atuais, existem


gerentes disponíveis para a maioria dos dispositivos
padrão.

ü Na instalação do sistema operacional, os gerentes


necessários são também instalados.

ü No caso de alguns dispositivos não padronizados


(plotters, mesas digitalizadoras, impressoras, etc.), pode
ser necessária a instalação de um gerente apropriado.

ü Nesses casos, um gerente de dispositivo é fornecido pelo


fabricante do dispositivo (é importante averiguar se tal
dispositivo tem gerente disponível para o *NIX-LINUX
onde vai ser instalado).

ü A instalação (manipulação) de gerentes de dispositivos é


(normalmente) feita com o uso dos comandos insmod,
lsmod, rmmod, depmod e modprobe.
Comando Finalidade
insmod Instala um modulo no núcleo do sistema
operacional
rmmod Remode um módulo
lsmod Lista os módulos instalados
depmod Avalia um conjunto de módulos e gera uma
lista de interdependência
modprobe Instala um ou mais módulos, de acordo com
uma lista de interdependência fornecida
(gerada com depmod)

EXEMPLO

ü Supondo a instalação de um plotter A0, marca ACME,


modelo XPTO, cujo fabricante forneceu o arquivo xpto.o
como gerente.

# /etc/rc.local
(...)
insmod /usr/local/lib/devices/xpto.o
(...)
IMPRESSORAS

ü Impressoras podem ser usadas através de interface


serial, interface paralela ou através da rede; no caso de
impressoras conectadas a interfaces seriais, é importante
observar se não existe processo getty ativo para a
interface da impressora (getty só deve ser usado para
terminais).

ü O serviço de impressão no mundo *NIX-LINUX é


suportado pelo servidor lpd (Line Printer Daemon) e seus
correlatos (lpc, lpr, lpq, lprm, pac).

ü Em todos os casos, a configuração básica das


impressoras disponíveis é feita através do arquivo
/etc/printcap (printer capabilities).

ü O arquivo /etc/printcap descreve diversas características


de cada impressora disponível no sistema, entre as
quais: o dispositivo ao qual a impressora está conectada,
o gerente de dispositivo associado, a área em disco que
vai servir de armazenamento temporário para os pedidos
de impressão.
EXEMPLO

# /etc/printcap CHESF
# impressora HP DeskJet 640C (default do sistema)
lp|djet640|djet640-a4 com driver v.4.1 universal:\
:lp=/dev/lp0:\
:sd=/var/spool/djet640:\
:lf=/var/spool/djet640/log:\
:af=/var/spool/djet640/acct:\
:if=/usr/local/lib/djet640/unifilter:\
:mx#0:\
:sh:

Opção Finalidade
Dispositivo onde a impressora está
lp
conectada
Área de armazenamento temporário de
sd
pedidos de impressão
lf Arquivo de registro de eventos
Arquivo de registro de contabilidade
af
(processado com pac)
Filtro de entrada (driver de impressão p/ DJ
if
640C
Tamanho máximo do arquivo a ser
mx#nnn
impresso (em KB); 0 india sem limite
sh Suprime a impressão de folha de rosto
ü O servidor de impressão lpd, ao ser ativado, lê o
arquivo /etc/printcap e torna-se disponível para aceitar
pedidos de impressão nas impressoras existentes.

ü A tabela abaixo resume a funcionalidade dos comandos


de manipulação do serviço de impressão.

Comando Finalidade
lpr arquivo Envia arquivo para a fila de pedidos
de impressão
lpq Exibe a fila de pedidos de impressão
lprm #pedido Remove #pedido da fila de impressão
lpc controle Executa controle (start, stop, etc.)
[argumentos] sobre os serviços de impressão
pac Gera relatório de uso dos serviços de
impressão

ü Os comandos de manipulação do serviço de impressão


dispõe de inúmeras opções. Veja man lp?? e man
printcap para maiores informações.
DISCOS RÍGIDOS

ü Discos rígidos são os meios de armazenamento


secundário mais comuns e mais importantes em um
sistema *NIX-LINUX.

ü Para que um dico rígido possa ser usado ele precisa:

Ø Ser particionado (em 1 ou mais partições)

Ø Formatado (com um tipo de sistema de arquivos).

ü O particionamento define uma segmentação lógica sobre


um disco físico de modo que o sistema operacional possa
enxergar mais de um disco físico virtual sobre uma
mesma unidade física.

ü Diversos programas fazem o particionamento de um


disco rígido no mundo *NIX-LINUX, e um programa
bastante comum é o fdisk.

ü O programa fdisk é bastante semelhante ao seu


homônimo do mundo Windows. Com ele pode-se criar
partições primárias (até 4) e estendidas (que vão conter
partições lógicas).
ü Após a criação da (ou das partições) desejada, a mesma
precisa ser preparada (formatada) para conter um
sistema de arquivos *NIX-LINUX. Isso é normalmente
feito com o comando:

mkfs [-c] [ -t tipo_do_sa ] partição_do_sa [


blocos ]

onde:

-c força uma verificação de blocos ruins durante a


formatação

-t tipo_do_as
permite a indicação do tipo de sistema de arquivo
(minix, ext, ext2, umsdos, msdos, proc, nfs, iso9660,
xenix, Sysv, coherent e hpfs, sendo o default ext2,
que permite sistemas de arquivos com até 4 Tbytes,
contendo arquivos de até 2 GB, com nomes de até
255 caracteres)

partição_do_as
indica a partição do disco onde será criado o sistema
de arquivos (ex. /dev/hda2)

blocos
indica a quantidade de blocos do sistema de arquivos
(sendo a partição todos, por default).

ü Uma vez criada a partição e formatado o sistema de


arquivos, o mesmo é colocado em uso quando for
conectado - “montado” – em algum diretório da árvore
de diretórios do sistema *NIX-LINUX, com o comando:
mount partição_do_sa diretório_da_árvore

EXEMPLOS

Criação de um sistema de arquivos EXT2 na partição


/dev/hdb3

mkfs –t ext2 /dev/hdb3

Montagem do sistema de arquivos recém criado

mkdir /avulsos

mount /dev/hdb3 /avulsos


OBSERVAÇÕES

ü Extremo cuidado deve ser tomado quando se usa


comandos como fdisk e mkfs.

ü A utilização dos mesmos em uma partição já existente,


com dados, provoca danos irreparáveis com, quase
sempre, perda total dos dados pré-existentes.

ü Um sistema de arquivos “montado” pode ser


“desmontado” com o comando:

umount { partição_do_sa | diretório_do_as }


ü Normalmente, as partições contendo sistemas de
arquivos são verificadas quando o sistema operacional
não é desativado corretamente (shutdown).

ü O administrador pode, porém, forçar (ou ser forçado) a


realização de uma verificação de um sistema de arquivos
manualmente; ela faz isso com o comando:

fsck partição_do_as

ü O fsck, durante sua execução, pode solicitar


determinadas decisões do administrador; decisões do
tipo SALVAR, CORRIGIR, CONTINUAR, RECONECTAR ou
AJUSTAR podem ser respondidas com SIM
(normalmente). Decisões do tipo REMOVER e/ou LIMPAR,
devem ser tratadas com mais cuidado.
ü Problemas em um sistema de arquivos podem surgir de
diversas fontes:

Ø Pessoas que desligam uma máquina com


*NIX-LINUX indevidamente (sem shutdown) ou
devido a falta de energia; o fsck corrige
(normalmente) esses problemas

Ø Falhas (crashes) de programas que manipulam


vários arquivos simultaneamente; o fsck corrige
(normalmente) esses problemas

Ø Falhas (crashes) do núcleo ou de algum serviço do


sistema operacional (durante o teste de um novo
núcleo, por exemplo); dependendo das
ciscunstâncias, o fsck pode corrigir esses problemas.
O ARQUIVO /ETC/FSTAB (FILE SYSTEM TABLE)

ü Para automatizar a montagem de sistemas de arquivos


durante a inicialização do sistema, é comum o uso do
arquivo /etc/fstab no mundo *NIX-LINUX.

ü O arquivo /etc/fstab contém linhas indicando que


partições serão montadas em que diretórios e com que
opções.

ü Uma entrada no /etc/fstab tem a forma:

Partição_do_as diretório_de_montagem tipo_do_as


opções [m] [n]

Opções
Indicam como o sistema de arquivos vai ser
disponibilizado (ro = read_only, rw = read_write, etc.;
veja man fstab e man mount); em geral contem a
palavra defaults

[m]
normalmente não usado; serve para controle de backup
(veja man dump)

[n]
normalmente não usado; serve para controle de fsck
(veja man fsck).
6) PROCESSAMENTO DE ATIVIDADES
PERIÓDICAS E OBSERVAÇÃO

ü Instalar e configurar uma máquina *NIX-LINUX é uma


tarefa importante do administrador

ü Uma outra tarefa, talvez mais importante, é manter a


máquina funcionando bem.

ü Para realizar a segunda tarefa, duas atividades são


relevantes:

Ø Automatização – de toda tarefa que precise ser


feita mais de uma vez. Para tal, usa-se largamente
o cron (escalonador *NIX-LINUX) e scripts shell

Ø Observação – de atividades correntes e do


passado (através dos registros de eventos e alguns
outros comandos).
PROCESSAMENTO DE ATIVIDADES PERIÓDICAS

CRON

ü O sistema cron consiste dos seguintes componentes:

Ø Arquivos crontab – um para cada usuário, informa


ao servidor cron que que tarefas devem ser
realizadas e quando

Ø Comando crontab – permite a criação e


atualização de arquivos crontab

Ø Crond – servidor que processa os arquivos crontab,


realizando as tarefas indicadas nos tempos corretos.

ü Um arquivo crontab tem uma ou mais entradas com o


formato:

minuto hora dia mês dia_da_semana


comando
Campo Descrição
Minuto Minuto da hora – 00 a 59
Hora Hora do dia – 00 a 23
Dia Dia do mês – 01 a 31
Mês Mês do ano – 01 a 12
Dia da semana – 0=Domingo, 1=Segunda,
Dia_da_semana ..., 6 = Sábado; no LINUX pode-se usar
sun, mon, ..., sat
Comando a ser executado – executável,
Comando
script shell, etc.

ü Linhas iniciando com # são consideradas comentários.

ü Nos cinco campos que indicam tempo, pode-se usar:

Ø Um * para indicar todos os valores


Ø Um inteiro para indicar um valor exato
Ø Uma lista de inteiros separados por vírgula (sem
espaços) para indicar qualquer um dos valores
Ø Dois inteiros separados por hífem para indicar uma
faixa
Ø Qualquer um dos anteriores dividido por um inteiro,
para indicar incremento diferente de um (o padrão).
EXEMPLOS

0 * * * * echo Ola Operador > /dev/console 2>&1


A cada hora, mostra “Ola Operador” na console

30 9-17 * 1 sun,wed,sat echo `date` >> /date.file 2>&1


As 9:30, 10:30, ..., 17:30 de todo Domingo, Quarta e Sábado
de janeiro, registra a data/hora no arquivo /date.file

0 */2 * * * date
A cada duas horas, aos 0 minutos, execute o comando date

0 23-7/2,8 * * * date
Entre 23:00 e 07:00, a cada 2 horas e às 08:00 hs, execute o
comando date

0 4 * * fri /usr/local/etc/backup-geral >/var/adm/backup-


geral.log 2>&1
Toda Sexta, as 04:00, executa backup-geral

OBSERVAÇÕES

ü Comandos executados pelo cron não estão associados a


algum terminal de saída; a saída dos mesmos (se
houver) deve sempre ser redirecionada.
MANIPULANDO ARQUIVOS CRONTAB

ü Arquivos crontab pode ser manipulador de acordo com


as opções:

Ø crontab –e [usuário] – edita o arquivo crontab do


usuário corrente

Ø crontab –d [usuário] – remove o arquivo crontab


do usuário corrente (cuidado!)

Ø crontab –l [usuário] – lista o conteúdo do arquivo


crontab do usuário corrente

OBSERVAÇÕES

ü Na edição, normalmente é usado o editor vi, embora


possa-se especificar outro editor (padrão) através da
variável de ambiente EDITOR.

ü Somente o administrador tem permissão de manipular


arquivos crontab de qualquer usuário.
OBSERVAÇÃO

ü Parte das tarefas diárias de administração de sistema


*NIX-LINUX é a observação do estado do sistema, que é
dividida em dois pontos:

Ø Observação de discos e sistemas de arquivos


(comandos df e du)

Ø Observação do estado do sistema (comandos free,


uptime, w, ps, pstree, top (gtop), uname, kill,
renice)
COMANDO DF

ü Df resume a quantidade de espaço livre em discos.

[peter@chesf]# df
Filesystem 1k-blocks Used Available
Use% Mounted on
/dev/sda1 2979984 822448 2003716
29% /
/dev/sda3 256665 19 243393 0%
/tmp
/dev/sda5 3028080 1631528 1242732
57% /var
/dev/sda6 4032092 3470416 356852
91% /home

[peter@chesf]# df -i
Filesystem Inodes Iused Ifree
IUse% Mounted on
/dev/sda1 769536 52414 717122 7%
/
/dev/sda3 66528 24 66504 0%
/tmp
/dev/sda5 384768 304708 80060
79% /var
/dev/sda6 513024 10160 502864 2%
/home

ü É importante manter as partições /, /tmp e /var com


espaço livre para o funcionamento normal do sistema.

ü Df dispõe de inúmeras opções – veja man df.


COMANDO DU

ü Du resume a quantidade de espaço ocupado por um


arquivo e/ou diretório. É útil para saber quanto espaço
está sendo usado em determinada área do sistema ou
por um usuários.

[peter@chesf]# du /var/spool/mail
88 /var/spool/mail

[peter@chesf]# du /var/spool/mail/*
48 /var/spool/mail/alias
4 /var/spool/mail/operador
28 /var/spool/mail/raquel
4 /var/spool/mail/root

ü Du mostra seus resultados em blocos de 1024 bytes.


Diversas opções estão disponíveis (veja man du).
ü A tabela abaixo resume as opções de comandos para
observação do estado do sistema.

Comando Finalidade
Exibe a quantidade de memória principal livre e
free
ocupada
Mostra o tempo que o sistema está ativo e a
uptime
carga (esforço) corrente
Mostra usuários conectados no sistema e quanto
w
cada um está consumindo de tempo de CPU
ps/pstree Mostra os processos atualmente em execução
top Lista continuamente os processos em execução
Exibe informações osbre o sistema operacional
uname
instalado
gtop Versão X-Window do top

[peter@chesf]# free
total used free shared buffers
cached
Mem: 257724 228424 29300 18488
165484 33776

-/+ buffers/cache: 29164 228560

Swap: 530136 2656 527480


[peter@chesf]# uptime
11:20am up 79 days, 18:13, 1 user, load average:
0.73, 0.88, 1.02

load average: 1, 5 e 15 minutos, respectivamente (varia


um pouco de sistema para sistema, mas na média, carga
1 indiqua que estamos consumindo 100% da capacidade)

[peter@chesf]# w
11:22am up 79 days, 18:15, 2 users, load average:
2.62, 1.73, 1.31
USER TTY FROM LOGIN@ IDLE
JCPU PCPU WHAT
Peter pts/1 ns.ufpb.br 11:16am
17.00s 0.04s 0.04s -bash
Operador pts/2 ns.ufpb.br 11:22am
0.00s 0.01s 0.01s w

JCPU: indica o tempo de CPU acumulado por todos os


processos do usuário

PCPU: indica o tempo de CPU acumulado para o processo


indicado em WHAT

[peter@chesf]# uname –a
Linux server1 2.2.16 #2 Fri Nov 10 14:31:26 -0300 2000
i686 unknown
[peter@chesf]# ps -v
PID TTY STAT TIME NI SIZE RSS
%MEM COMMAND
32047 pts/1 S 0:00 20 512 128
0.25 -bash
32465 pts/1 R 0:00 22 64 32 0.5
ps –v

Campo Finalidade
NI Prioridade de execução
SIZE Tamanho do processo (código, dados, pilha)
RSS Porção residente em memória principal
Estado do processo (R-runnable, S-sleeping,
STAT
D-uninterruptable sleep, T-stopped, Z-zombie)
TTY Terminal associado

ü Ps tem dezenas de opções de execução (veja man ps).

ü É importante observar processos que estejam


consumindo muito tempo de CPU (TIME). Normalmente,
processos que fazem bastante entrada/saída consomem
pouca CPU ao longo do tempo (o que é o mais comum
em ambientes de processamento de dados tradicionais).
[peter@chesf]# pstree
init-+-6*[agetty]
|-bash---slirp
|-crond---2*[sh---sh---sh-+-grep]
| |-ping]
| `-wc]
|-inetd---in.telnetd---bash---pstree
|-kflushd
|-klogd
|-kswapd
|-named---4*[named-xfer]
|-qmail-send-+-qmail-clean
| |-qmail-lspawn
| |-qmail-rspawn
| `-splogger
|-syslogd
|-tcpserver
`-update

ü Pstree tem diversas opções (veja man pstree).

ü É de grande valia para se detectar rapidamente que


processo é pai (ou filho) de que processo.

[peter@chesf]# top
12:04pm up 79 days, 18:57, 1 user, load average: 0.10,
0.45, 0.82
56 processes: 54 sleeping, 2 running, 0 zombie, 0
stopped
CPU states: 0.2% user, 0.5% system, 0.0% nice,
0.1% idle
Mem: 257724K av, 237004K us, 20720K free, 20456K
sh, 162732K buff
Swap: 530136K av, 2656K used, 527480K free
44788K cached

PID USER PRI NI SIZE RSS SH ST LIB %CPU


%MEM TIME CMDO
7717 peter 13 0 1156 1156 952 R 0 1.9
0.4 0:00 top
1 root 0 0 100 96 72 S 0 0.0
0.0 0:05 init
2 root 0 0 0 0 0 SW 0 0.0
0.0 0:18 kflushd
3 root 0 0 0 0 0 SW 0 0.0
0.0 2:36 kupdate
4 root 0 0 0 0 0 SW 0 0.0
0.0 0:00 kpiod
5 root 0 0 0 0 0 SW 0 0.0
0.0 0:21 kswapd
(...)
63 root 0 0 4324 3980 1080 S 0 0.0 1.5
104:18 named
64 root 0 0 4324 3980 1080 S 0 0.0
1.5 0:00 named
65 root 0 0 4324 3980 1080 S 0 0.0 1.5
18:15 named
68 root 0 0 52 72 44 S 0 0.0
0.0 0:03 rpc.nfsd

ü Top tem diversas opções (veja man top). É importante


observar processos que estejam consumindo muito
tempo de CPU ou muita memória.
ü Kill e renice permitem a eliminação (assassinato?) e a
alteração da prioridade de processos, respectivamente.

ü Um processo perdido (usuário colocou em background,


esqueceu, e o processo está maluco), pode ser eliminado
com:

kill –TERM process_id

Caso seja bem corportado, ou com:

kill –KILL process_id

Caso seja teimoso.

ü Um processo que não precisa ser eliminado, pode ter


sua prioridade diminuída com:

renice priority process_id

ü Kill e renice têm várias opções (veja man kill e man


renice).
OBSERVAÇÃO HISTÓRICA

ü Arquivos de registro de eventos (logging) do sistema


devem ser observados com freqüência semanal ou
sempre que alguma ocorrência anormal acontecer.

Arquivo* Finalidade
auth.log Registra toda autenticação (sucesso ou
fracasso) de usuários
daemon.log Registra eventos de servidores
mail.log Registra eventos de correio eletrônico
messages Registra eventos diversos
syslog Registra eventos do sistema operacional
lastlog Registra última conexão de cada usuário
wtmp Registra todas as conexões de cada usuário
sulog Registra uso do comando su
xferlog Registra transferências via ftp
* Lastlog pode ser visualizado com o comando lastlog; Wtmp
pode ser visualizado com o comando last; Os demais
arquivos podem ser visualizados com os comando more, tail
ou cat.

ü Falaremos da geração de arquivos de registro na seção


“Registro de Eventos do Sistema – Syslog”.
7) CÓPIAS DE SERGURANÇA (BACKUP)

“Como a maioria daqueles que estudam a história, ele


(Napoleão III)
aprendeu com os erros do passado, como cometer novos
erros.”
A.J.P. Taylor

ü Esta é a mais importante tarefa do administrador: fazer


BACKUP!

ü De tudo: arquivos de configuração, arquivos de registro


de eventos, área de dados dos usuários, enfim, tudo o
que for importante para recuperar – rapidamente – a
funcionalidade completa de um sistema.

ü Muitos usuários leigos e muitos administradores já


executaram:

cd / home/peter/lixo
rm –r *

e se arrependeram profundamente de suas ações.


ü Para evitar tais aborrecimentos, é preciso implantar uma
política de backup que ofereça:

Ø Facilidade de uso
Ø Eficiência
Ø Facilidade de recuperação de arquivos
Ø Habilidade e facilidade de verificação de backups
recém realizados
Ø Tolerância à falhas de mídia
Ø Portabilidade para outras plataformas.

ü Os componentes de uma política de backup são:

Ø Escalonador – que decide quando (manual via


administrador ou automático via cron) e como (total,
parcial ou incremental) o backup é realizado

Ø Transportador – programa (de cópia física ou de


cópia lógica) que realiza cópias dos arquivos em
disco para a mídia

Ø Mídia – suporte destino do backup (fita magnética


padrão, 8 mm (EXA), 4 mm (DAT), zip drive, etc.).
COMANDOS MAIS COMUNS DISPONÍVEIS

Comando Características
Cópia lógica, com múltiplos volumes,
mantendo permissões, proprietários e datas
dos arquivos, em modo total, parcial ou
dump/restore incremental; restrição: (a) não percorre mais
de uma partição de disco; (b) complexo; (c)
não disponível em todas as versões
*NIX-LINUX
Cópia física, sem múltiplos volumes;
dd restrição: não percorre mais de uma
partição; vantagem: rápido
Cópia lógica, nem sempre suporta múltiplos
volumes, mantendo permissões, proprietários
e datas dos arquivos, padrão para
intercâmbio entre plataformas diferentes,
tar
pouco tolerante com erros na mídia durante
recuperação, permite selecionar de diversos
modos o que vai ser salvo; vantagem: (a)
rápido; (b) portável; restrição: (a) lento
Cópia lógica, suporta múltiplos volumes, pode
ser combinado com find para selecionar o
que vai ser salvo, não garante padrão para
cpio
intercâmbio entre diversas plataformas;
observação: (a) é semelhante, porém
inferior, ao tar

COMANDO DUMP
dump [ opções [ argumentos ] ] partição_do_sa
dump [ opções [ argumentos ] ] arquivo

ü Dump usa o conceito de nível de backup. Dump nível 0


(zero) é total; dump nível 1, 2, ..., 9 indica backup de
todos os arquivos modificados desde o último dump de
nível inferior.

Opções Finalidade
0-9 Nível do dump
Arquivo onde se coloca uma listagem dos
a arquivo_log
arquivos salvos
Arquivo (em geral dispositivo) de
f arquivo_midia
armazenagem do backup
Atualiza o registro de dump
u
(/etc/dumpdates)
Após cada backup, faça verificação (implica
em rewind em fitas). O sistema de arquivos
v
não pode ser alterado nesse tempo
(recomenda-se que esteja desmontado)

ü Dump/restore têm dezenas de opções (veja man dump,


man restore).
EXEMPLO

dump 0afuv /tmp/dump.0-home /dev/rmt0 /home

ü Faz um backup completo do /home, listando os arquivos


salvos em
/tmp/dump.o-home, na unidade de fita rmt0, com
verificação, registrando o backup feito no
/etc/dumpdates.
COMANDO RESTORE

restore -irRtx [ modificadores ] [ arquivos ]

Argumento Finalidade
Modo interativo: informações sobre os
arquivos salvos são lidas da mídia e após isso
i
pode-se escolher qual ou quais arquivos
serão recuperados
Restaura a mídia inteira. Deve ser usado com
cuidado; normalmente faz-se um restore
r
completo após a perda total de um sistema
de arquivos
t Lista o conteúdo da mídia
Extrai da mídia os arquivos cujos nomes
x
foram fornecidos como argumento
Modificador Finalidade
Usa o arquivo_log para determinar a
localização de um arquivo na mídia; se
a arquivo_log houver necessidade, faz a conversão do
formato da mídia para o sistema de
arquivos atual
d Ativa modo depuração
h Proibe restauração recursiva de diretórios
v Modo verboso
Arquivo (em geral dispositivo) de
f arquivo_mídia
armazenagem do backup
sn Avance a mídia até o n-ésimo backup

EXEMPLO

restore –xf /dev/rmt0 /home/peter


ü Recupera o subdiretório /home/peter e todos os
arquivos e subdiretórios nele contidos.
COMANDO DD

ü Dd é um comando de cópia física, normalmente usado


para copiar sirtemas de arquivos inteiros para uma
mídia. Também pode ser usado para realizar pequenas
conversões de representação de dados, como por
exemplo, de ASCII para EBCDIC.

dd [if=arquivo_fonte] [of=arquivo_destino]
[opções]

ü DD possui diversas opções (veha man dd).

EXEMPLO

dd if=/dev/hda of=/dev/hdb bs=512k

ü Copia todo o conteúdo do disco /dev/hda para o disco


/dev/hdb, usando armazenamento temporário de
512Kbytes; normalmente (lógico) o tamanho de hdb é
igual a hda.
COMANDO TAR

ü Tar é um comando de finalidade geral muito usado para


a realização de backups.

Tar –função[modificador] arquivo_backup


[arquivos]

Função Finalidade
c Cria um novo backup no dispositivo_de_backup
Substitui os arquivos fornecidos no
r
dispositivo_de_backup
t Lista o conteúdo do dispositivo_de_backup
Atualiza os arquivos fornecidos no
u
dispositivo_de_backup
Extrai os arquivos fornecidos do
x
dispositivo_de_backup

Modificador Finalidade
v Modo verboso
w Confirma cada operação
Trata o dispositivo de backup como um
f
arquivo
Ignora a data/hora original dos arquivos
m
originais
Ignora o UID/GID originais dos arquivos;
o substitua pelo UID/GID de quem estiver
executando o comando
EXEMPLOS

tar cvf /dev/rmt0 /home

ü Cria um backup na fita magnética rmt0 com todo o


conteúdo do diretório /home.

tar xvf /dev/rmt0

ü Lista todo o conteúdo da fita magnética rmt0.

tar xvf /dev/rmt0 /home/peter

ü Extrai da fita magnética rmt0 todo o conteúdo do


diretório /home/peter
COMANDO MT

ü Em muitos sistemas *NIX-LINUX existe disponível o


comando mt (mag tape) para manipulação de fita
magnética.

mt [-f dispositivo] comando [contador]

Argumento Finalidade
dispositivo Dispositivo (de acesso direto) da fita
comando Comando de controle
contador Número de vezes de aplicação do comando

Comando Ação
fsf Avança a fita <contador> arquivos
asf Retorna a fita <contador> arquivos
rewind Rebobina a fita
Avança a fita até o fim e depois rebobina;
operação de retensionamento, sempre
retension
recomendada em fitas novas ou que sofreram
grandes variações de temperatura
erase Apaga a fita
offline Ejeta a fita
EXEMPLOS

mt –f /dev/nrmt0 fwf 3

ü Avança a fita até o terceiro arquivo.

mt –f /dev/nrmt0 rewind

ü Rebobina a fita.

* Deve-se usar nrmt0 ao invés de rmt0 para que a fita não


seja rebobinada automaticamente.
PROGRAMAS DE COMPRESSÃO

ü Programas de compressão são usados algumas vezes


em conjunção com programas de backup.

ü Os mais comuns em ambiente *NIX-LINUX são


compress/uncompress (padrão *NIX) e gzip/gunzip
(oriundos do mundo Windows).
8) SERVIÇO DE REGISTRO DE EVENTOS E DE
CONTABILIDADE

REGISTRO DE EVENTOS

ü Em um ambiente onde são executados diversos tipos de


servidores (nativos e desenvolvidos localmente) é
importante a existência de um mecanismo centralizado
de registro de eventos.

ü No mundo *NIX-LINUX esse mecanismo é


implementado pelo serviço de Registro de Eventos do
Sistema - syslog.

ü O serviço syslog pode (e deve) ser usado por todos os


programas de modo que o administrador possa controlar
o que deve ser registrado e onde esses registros devem
ser feitos.
ü Os componentes básicos do syslog são:

Ø Arquivo de configuração: /etc/syslog.conf (que


informa quais tipos de eventos serão registrados e
onde eles serão registrados)

Ø Programa servidor: /usr/sbin/syslogd

Ø Arquivos de registro de evento (onde serão


registrados os eventos)

Ø API de uso para os programas que desejam se


utilizar do serviço syslog.

ü Um evento registrado tem a forma:

facilidade nível descrição


Facilidade Origem
auth Serviço de autenticação
cron Serviço cron
daemon Serviços diversos
kern Núcleo do sistema operacional
local{0-7} Configuração local
lpr Serviço de impressão
mail Serviço de correio eletrônico
Gerador de marca de tempo em intervalos
mark
regulares
syslog Serviço syslog
user Serviços do usuário

Nível Descrição
debug Eventos gerados para depuração
info Eventos que registram situações comuns
notice Eventos que registram situações incomuns
warning |
Eventos que registram erros leves
warn
error | err Eventos que registram erros graves
crit Eventos que levam à parada de algum serviço
Eventos que requerem atenção imediata do
alert
administrador
Eventos que levam à parada do sistema
emerg | panic
operacional

EXEMPLO DE USO

###
## Syslog.conf CHESF
#
auth.info /var/log
/auth.log
auth.info
@loghost_seguro
daemon.warn /var/log
/daemon.log
kern.war /var/log
/kern.log
kern.war /dev/console
mail.err /var/log/mail.log
syslog.err /var/log
/syslog
*.err;auth,daemon,kern,mail,syslog.none /var/log
/messages
*.emerg;user.none *

local0:err /var/log
/827x.log
ü Uma aplicação pode passar mensagens para o servidor
de registro de eventos de duas formas:

Ø Através do programa logger, se a aplicação for um


script shell

logger –p facilidade.nível mensagem

Ø Através da API openlog, syslog e closelog, se a


aplicação for um programa executável.

#include <syslog.h>

(...)

openlog( ... );

syslog( NÍVEL, MENSAGEM );

closelog();

(...)

REGISTRO DE CONTABILIDADE

ü Registro de contabilidade permite a manutenção de


informações a respeito da utilização do sistema pelos
usuários, sendo dividido em dois modos:

Ø Registro de conexão: que guarda informação


sobre quem se conectou (fez login) no sistema,
quando, por quanto tempo e a partir de que
terminal

Ø Registro de processo: que guarda informação


sobre quem executou que programas, quanto esses
programas “ocuparam” o sistema.

ü O registro de conexão é normalmente (e


automaticamente) realizado pelo sistema no arquivo
/var/adm/wtmp.

ü A visualização é feita com o comando:

last [usuário]
EXEMPLOS

[peter@chesf]# last peter


peter pts/1 ns.ufpb.br Sun Aug 19 22:07
still logged in
peter pts/1 ns.ufpb.br Sun Aug 19 16:01 -
17:51 (01:49)
peter pts/1 ns.ufpb.br Sun Aug 17 12:04 -
12:35 (00:30)
peter pts/1 ns.ufpb.br Sun Aug 16 11:48 -
12:04 (00:15)
peter pts/1 ns.ufpb.br Sun Aug 16 11:16 -
11:37 (00:20)

[peter@chesf]# last reboot


reboot ~ 2.2.16 Thu May 31 16:40
reboot ~ 2.2.16 Mon May 28 08:13
reboot ~ 2.2.16 Wed Apr 18 10:49
reboot ~ 2.2.16 Sun Mar 25 13:03
reboot ~ 2.2.16 Fri Mar 23 10:20
ü O registro de processos normalmente não está ativado
após a instalação do sistema; é necessário instalá-lo (ou
lembrar de solicitá-lo durante a instalação do sistema);
Ele faz parte do pacote psacct (process acount).

ü Também conhecido como contabilidade de CPU, o


registro de processos guarda informação sobre tempo de
CPU, média de memória, sumário de entrada/saída,
UID/GID de quem executou o programa, a linha de
ativação do programa e a data/hora de execução.

ü Para ativar a contabilidade de processos, execute


(coloque em uma arquivo /etc/rc*):

accton /var/log/acct

ü O arquivo /var/log/acct precisa existir (não é criado pelo


accton).

ü Para visualizar a contabilidade de processos, execute:

lastcomm [comando] [usuário] [terminal]


EXEMPLOS

[peter@chesf]# lastcomm peter


netscape david tty1 0.02 secs Sun Jan 25 16:26

[peter@chesf]# lastcomm ttyp2


lastcomm root ttyp2 0.55 secs Sun Jan 25 16:21
ls root ttyp2 0.03 secs Sun Jan 25 16:21
ls root ttyp2 0.02 secs Sun Jan 25 16:21
accton root ttyp2 0.01 secs Sun Jan 25 16:21
ü O comando sa (system account) pode ser usado para se
obter informações mais detalhadas de contabilidade de
processo.

EXEMPLO

[peter@chesf]# /usr/sbin/sa –m
user #commands CPU-min io-oper
mem-used
root 61038 676.14cpu 41532937tio
77783440k*sec
daemon 8365 27.00cpu 3619385tio
29149k*sec
(...)

ü O comando sa tem dezenas de opções (veja man sa).

ü O uso de contabilidade fornece suporte para várias


análises:

Ø Que usuários estão abusando do sistema?

Ø que é “normal” para um determinado usuário?

Ø Quam sobrecarregado está o sistema para justificar


uma substituição ou pelo menos um up-grade?
Fim

Potrebbero piacerti anche