Sunteți pe pagina 1din 146

Linux System Administration

Sumario
Histrico..................................................................................................................................................... 4 Distribuies mais conhecidas:...................................................................................... ......................6 Instalao............................................................................................................................... ....................7 Passo 1) Boot com o cdrom de instalao.................................................................................. ..........8 Passo 2) Escolher o teclado.............................................................................................. ....................8 Passo 4) Particionar o disco rgido................................................................................. ....................10 Motivos para particionamento:................................................................................... ...................10 Passo 6) Formatando as parties de SWAP.......................................................................... ............15 Passo 7) Formatando as outras parties...................................................................................... ......17 Passo 8) Definindo a mdia que contm os arquivos de instalao................................................. ...18 Passo 9) Escolhendo os pacotes que sero instalados....................................................... .................19 Passo 10) Escolha do local do kernel................................................................................................. .21 Passo 11) Gerao do disco de boot.............................................................................. .....................22 Passo 12) Configurao do modem.......................................................................................... ..........22 Passo 14) Configurao do LILO.......................................................................................... .............23 Passo 15) Configurao do Mouse....................................................................................... ..............24 Passo 16) Configurao da Rede..................................................................................... ...................25 Passo 17) Confirmao das configuraes de Rede.................................................................... .......26 Passo 19) Configurao prvia de fonte............................................................................ .................27 Passo 20) Escolha do tipo de atualizao do relgio da mquina.......................... ...........................28 Passo 22) Definir a senha do Administrador do sistema (root)................................. ........................28 Passo 23) Finalizando a instalao....................................................................................... ..............29 Iniciando o Sistema Operacional.......................................................................................................... ...30 Comandos Bsicos....................................................................................................................... .......30 Mostrar o diretrio atual..................................................................................... ...........................31 Entrar/Sair de diretrios..................................................................................................... ............31 Criando Diretrios.......................................................................................................................... 31 Copiando Arquivos e Diretrios................................................................................ ....................31 Criando Arquivos Vazios................................................................................................... ............32 Removendo Diretrios................................................................................................ ...................32 Removendo Arquivos e Diretrios.................................................................... ............................33 Movendo/Renomeando Arquivos e Diretrios................................................................ ..............33 Comando tail........................................................................................................................ ..........34 Comando cat......................................................................................................... .........................34 Comando sort..................................................................................................................... ............34 Comando grep...................................................................................................................... ..........34 Comandos de Paginao................................................................................................. ...............35 Comando more........................................................................................................................ .......35 Comando less................................................................................................................... ..............35 Desligando o Sistema Operacional Linux..................................................................... ................36 Seja um Profissional Aprendendo com Profissionais 1

Linux System Administration Reiniciando o Sistema Operacional Linux....................................................................... .............36 Redirecionamento de Entrada e Saida............................................................................................... ......36 Redirecionamento de Sada.......................................................................................... ......................38 Redirecionamento de Entrada........................................................................................................ .....38 Comando sort ..................................................................................................................... ...........39 Pipe..................................................................................................................................................... .39 Metacaracteres................................................................................................................ ....................40 Estrutura de Diretrios.................................................................................................. ..........................42 Dispositivos................................................................................................................ .............................43 Consoles Virtuais................................................................................................................................. ....45 Editores de Texto............................................................................................................ .........................45 Mtools............................................................................................................................... .......................47 Paginas de Manuais............................................................................................................ .....................49 Criando Links...................................................................................................................... ....................49 Comandos de Busca................................................................................................... .............................50 Compactao de Arquivos...................................................................................................... .................51 gzip: ......................................................................................................................................... ...........51 bzip2: ........................................................................................................................................ ..........51 compress: ................................................................................................................... ........................52 Empacotamento................................................................................................................ .......................52 zip: .................................................................................................................................................. ....52 tar: ............................................................................................................................... .......................53 Montagem de Dispositivos.................................................................................................... ..................54 Fdisk...................................................................................................................................................... ...55 Gerenciamento de Contas de Usurios...................................................................... .............................57 Criar / Alterando Senha De Usurio...................................................................... ............................57 Deletando Usurios............................................................................................................................ .58 Adicionando Grupos No Sistema.................................................................................... ...................58 Mudando o dono de arquivos e diretrios........................................................................... ...............59 Mudando o grupo de arquivos e diretrios........................................................................................ .59 Mudando dono e grupo ao mesmo tempo............................................................................. .............59 Permisses de Arquivos e Diretrios................................................................................................... ....61 Padro De Criao............................................................................................................. .................62 Gerenciamento de Pacotes RPM....................................................................................... ......................67 Pacotes TGZ no Slackware.......................................................................................................... ............71 Gerenciamento de Processos............................................................................................... ....................73 Processo de Inicializao da Mquina................................................................................................... ..76 Instalao e configurao do Gestor de Incio LILO.................................................................. ............78 Passando parmetros para o kernel atravs do lilo................................................................................. .80 Configuraes de Segurana................................................................................................. ..................80 O processo INIT na inicializao do sistema................................................................................ ..........83 Nveis de execuo ( Runlevel )........................................................................................................ ..83 Comunicando com o processo INIT ...................................................................................................................................................... .......85 Outras funes do INIT..................................................................................................... .................86 Seja um Profissional Aprendendo com Profissionais 2

Linux System Administration O Arquivo /etc/inittab...................................................................................................... ...................86 O diretrio /etc/rc.d/........................................................................................................................... .89 Arquivo /etc/issue.............................................................................................................. ......................90 Arquivo /etc/nologin.................................................................................................................. ..............90 Arquivo /etc/motd............................................................................................................ ........................91 Arquivo /etc/securetty.............................................................................................................. ................91 Comando su........................................................................................................................ .....................93 Inicializao de Servios........................................................................................................... ..............94 O Arquivo /etc/login.defs.............................................................................................. ..........................95 Programao Shell......................................................................................................................... ..........96 Programando no Linux ............................................................................ ...........................96 Tipos de interpretadores.................................................................................................. .....96 Um Script simples ................................................................................................ ...............97 Utilizando o comando bash........................................................................................... .....................98 Sintaxe............................................................................................................ ....................100 Tipos de Variveis .................................................................................................................... ........100 Acessando variveis...................................................................................................... ....................101 Comando echo .................................................................................................. .................101 Caractere de escape.................................................................................................................... .......102 Passagem de parmetros............................................................................................. ......................103 Parmetro............................................................................................................................. ....103 Leitura de teclado e variveis ................................................................................... .......................103 Estruturas de Deciso (if).......................................................................................... .......................104 Comando exit................................................................................................................ ....................106 Operadores de comparao...................................................................................................... .........106 Condio case.......................................................................................................... .........................108 Gerenciamento de Arquivos de LOG................................................................................................... ..111 Formatos de arquivos de logs.................................................................................................. ..........111 Gerando LOGs...................................................................................................... ............................111 O Daemon Syslogd............................................................................................... ............................112 O Daemon Klogd....................................................................................................... .......................112 Os principais diretrios e arquivos de log.................................................................... ......112 Controle de cotas de disco........................................................................................... ..........................114 Verificando suporte a cota................................................................................... .............................114 Habilitando quota em uma partio........................................................................................ ..........115 Configurando quota de disco......................................................................................... ...................115 Gerenciando quotas ........................................................................................................... ...............118 Definindo quota para usurios...................................................................................... ....................118 Definindo quotas para grupo......................................................................................... ...................122 Agendador de Tarefas..................................................................................................... .......................124 CRON................................................................................................................................................. ....124 Arquivos de configurao ...................................................................................................... ..........125 Crontab .................................................................................................................................... .........127 Controlando o acesso cron......................................................................................................... .......129 Seja um Profissional Aprendendo com Profissionais 3

Linux System Administration Anacron ( Para RedHat )............................................................................................................ .......130 Configurao dos Dispositivos de Hardware...................................................................... ..................132 Configurando impressora com CUPS.............................................................................. .....................132 Configurao Bsica do Servidor NFS ............................................................................. ...................135 Habilitando o acesso remoto via SSH (passo-a-passo)................................................................ .........138 Compilao do Kernel........................................................................................................ ...................140 Mdulos........................................................................................................................................... ..140 Configurao GRUB (Isto apenas um exemplo):..................................................... .....................145 Configurao do LILO (Isto apenas um exemplo):.......................................................... .............146

Seja um Profissional Aprendendo com Profissionais

Linux System Administration

Histrico
Em 1965, algumas empresas se uniram (Laboratrios Bell da AT&T, General Eletric e MIT) para desenvolver um novo sistema operacional chamado MULTICS, que se propunha a oferecer servios de time-sharing (Tempo Compartilhado) para uso geral. Time-sharing: quando todo processamento e feito por um computador central, cujo tempo de processamento ento compartilhado pelos vrios usurios. Devido s dificuldades que se encontraram na construo do MULTICS, que se mostrou um sistema muito grande, complexo e exigia recursos demais para os computadores da poca, a AT&T, acabou se retirando do projeto, 1969, para que mais tarde alguns membros da empresa, liderado por Ken Thompson, aproveitando a experincia ganha na construo do MULTICS, comearam a trabalhar por conta prpria num sistema menos robusto, que acabou resultando no UNIX. A primeira verso do UNIX foi desenvolvida para um computador PDP-7 e foi totalmente escrita em linguagem assembly, em 1971 foi escrito para um PDP-11 e j em 1973 foi reescrito para linguagem C pelo criador da linguagem, DENIS RITCHIE. Devido ao fato do UNIX, de estar escrito numa linguagem de alto nvel, O uso do UNIX dentro do LAB. BELL foi crescendo tanto, que acabou sendo criado um grupo de suporte interno ao sistema. Nessa mesma poca a AT&T fornecia cpias do cdigo fonte as universidades para fins educacionais. Com o fornecimento do cdigo fonte, vrias corporaes modificaram o UNIX de acordo com suas necessidades e lanaram sua prpria verso. Em 1980, a Universidade da Califrnia em Berkely foi financiada pelo Departamento de Defesa para desenvolver uma verso de UNIX voltada para os novos sistemas de computao distribuda que resultou no sistema BSD,nesta poca a Microsoft lanou o XENIX, baseada em micro computadores compatveis com o IBM PC. A Sun Microsystem desenvolveu o SunOS, que introduziu o conceito de Network File System, NFS, que possibilita o compartilhamento de arquivos por mquinas ligadas em rede local. No incio dos anos 90, um aluno de cincia da computao, Linus Torvalds, se props a desenvolver sistema operacional, melhor que o S.O. que ele utilizava na faculdade, MINIX, construdo por Andew Tanembaum para fins didticos. Melhor porque o SO proposto por ele utilizaria das Seja um Profissional Aprendendo com Profissionais 5

Linux System Administration facilidades do modo protegido (como multitarefa e memria virtual) tambm o SO proposto no carregaria todos os seus dispositivos em memria, visto que existe a necessidade apenas quando na sua utilizao. Esse sistema, batizado de LINUX e evoluiu para uma verso de UNIX sendo distribudo pela rede na modalidade free e open source (cdigo aberto), na qual tanto o cdigo executvel quanto o cdigo fonte podem ser baixados e distribudos gratuitamente pela internet. Com isso, o LINUX se disseminou rapidamente e hoje ocupa uma fatia considervel das grandes e mdias corporaes em todo mundo alm de surgir vrias verses do sistema (distribuies). Existem grupos de pessoas, empresas e organizaes que decidem criar sua prpria distribuio. O que uma distribuio? o Kernel do Linux junto com outros programas essenciais (como por exemplo, editores grficos, planilhas, bancos de dados, ambientes de programao, formatao de documentos, Jogos, etc). Cada distribuio tem suas prprias caractersticas de: como o sistema instalado, o seu objetivo, a localizao dos programas, nomes de arquivos de configurao, etc. E cabe o desenvolvedor da distribuio dizer que ela ou no open source. Mas pra um sistema ser comercial, ele tem que sofrer mudanas gigantescas, devido o grande numero de distribuies open source distribuidas pelo mundo.

Distribuies mais conhecidas:


Slackware USA Debian - USA Suse - EUROPA (distribuio comercializada - voltada para o mercado corporativo) Mandrake - USA (muito recurso grfico) Red Hat -USA (comercializada) Conectiva - BRASIL Ocean Pacific - ASITICA Yellow Dog Kurumin - (distribuio que roda em CD) Caldeira USA Seja um Profissional Aprendendo com Profissionais 6

Linux System Administration Fedora - (verso do RedHat 9) Mandriva - ( Conectiva com Mandrake )

Algumas Caractersticas do Linux:


livre, e desenvolvido voluntariamente por programadores com o objetivo de contribuio para a melhoria e crescimento deste sistema operacional; Convivem sem nenhum tipo de conflito com outros sistemas operacionais (como o DOS, Windows, OS/2) no mesmo computador; Multitarefa Real (Vrias tarefas rodando ao mesmo tempo); Multiusurio (Vrios usurios logados simultaneamente no sistema); Suporte a nomes extensos de arquivos e diretrios (suporta at 255 caracteres); No h a necessidade de se reiniciar o sistema aps a modificao das configuraes; No requerida uma licena para seu uso; Suporta vrios sistemas de arquivos (EXT/2/3, NTFS, FAT/16/32, MINIX, etc...); Roda aplicaes DOS e Windows atravs de emuladores (DOSEMU, WINE); Vrios servidores (WEB, E-MAIL, FTP, SAMBA, DNS, etc..) podem estar localizados no mesmo computador.

Seja um Profissional Aprendendo com Profissionais

Linux System Administration

Instalao
A instalao pode ser feita de diversas formas

CDROM; HD; REDE (utilizando protocolos); NFS (Network File System); SAMBA (integra maquinas windows); HTTP(faz a transferencia de arquivos pelo browser) FTP (Faz transferencia de arquivos mais eficiente e mais rpida)

Reiniciar a mquina, entrar no SETUP, mudar o primeiro boot da maquina para CDROM, salvar e sair.
NOTA: Estes passos de instalao, so exclusivos para a distribuio Slackware.

Passo 1) Boot com o cdrom de instalao


Ao inserir o disco de boot no cdrom, selecione a opo da BIOS para boot atravs da unidade de CDROM. Ao iniciar o sistema, a tela de boot do slackware ir solicitar a forma de inicializar o sistema. Neste caso basta pressionar <enter> .

Seja um Profissional Aprendendo com Profissionais

Linux System Administration

Passo 2) Escolher o teclado


Aps pressionar <enter> e definir qual o kernel ser inicializado, ser disponibilizada uma tela onde deve-se definir qual o layout de teclado ser utilizado. Neste caso basta digitar <1> e pressionar a tecla <enter>.

Na prxima tela foi escolhido o teclado abnt2 com acentos. Aps a escolha do teclado, ser disponibilizada uma janela para teste do teclado. Caso o teclado esteja correto, basta digitar <1> e pressionar <enter>. Caso o teclado escolhido no seja o ideal, pressione <2> e <enter> e retorne para a tela de escolha de teclados.

Seja um Profissional Aprendendo com Profissionais

Linux System Administration

Passo 3) Logar no sistema

Aps a escolha do teclado, ser solicitado um login de usurio para continuar a instalao do sistema operacional. Neste caso basta digitar root e pressionar <enter>.

Passo 4) Particionar o disco rgido Motivos para particionamento:


Segurana: Existem opes que determinam os modos de funcionamento do sistema de arquivos, e conseqentemente o que possvel fazer com os dados l gravados. Diretrios contendo arquivos do sistema, podem em grande parte funcionar em um modo que permite apenas leitura, evitando destruio do sistema at mesmo por usurios privilegiados. Outros diretrios, como o responsvel pela inicializao do sistema, no precisam nem mesmo estar disponvel aos usurios. A separao destes diretrios em parties separadas garante este nvel extra de controle e segurana. Espao em disco: O funcionamento normal de um sistema Linux depende de uma certa quantidade livre de espao em disco. Imagine que um determinado processo, ou usurio, fora de controle, comece a preencher o espao disponvel em disco. Esta simples ao colocaria a estabilidade do sistema em Seja um Profissional Aprendendo com Profissionais 10

Linux System Administration cheque. Ao dedicar uma partio para usurios ou determinados processos (que tem necessidades legtimas de gravar dados), o sistema permaneceria sem modificaes em uma situao igual apresentada primeiramente. Velocidade: Caso seu sistema possua mais de um disco, a distribuio de diferentes reas do sistema entre os discos trar melhorias na performance do sistema. Imagine que voc est iniciando automaticamente um aplicativo (instalado em uma partio no primeiro disco) ao clicar sobre o cone de um documento (armazenado em uma outra partio, em um outro disco). O sistema consegue enviar ordens de leitura de dados simultaneamente para os dois discos, que colocam o aplicativo e o documento em memria em um tempo muito menor. Proteo contra erros fsicos: Danos fsicos ao disco podem causar a corrupo do sistema de arquivos como um todo, dificultando ou impossibilitando a leitura de todos os dados nele armazenados. A separao de reas em parties, e conseqentemente em sistemas de arquivos diferentes, diminui o estrago causado por um dano fsico. Aps o login, devemos criar as parties para a instalao do nosso sistema. Neste servidor sero criadas 5 parties, seguindo os seguintes passos:

a) acessar o disco
# fdisk /dev/hda

Seja um Profissional Aprendendo com Profissionais

11

Linux System Administration b)criando novas parties


Command ( m for help ): n

c)definindo se a partio primaria ou extendida. No nosso caso ser primria. Para isto, basta digitar <p>.
Command action e extended p primary partition ( 1-4 ):

Aps escolher partio primria, ser solicitado o nmero da partio. Neste caso devemos digitar <1> para primeira partio.
Partition number ( 1-4 ):

d) definindo o tamanho da partio: logo aps a escolha do nmero da partio, devemos definir qual ser o ponto inicial da partio. Neste caso basta pressionar <enter>.
Nota: Para as nossas instalaes, o ponto inicial sempre ser definido pressionando a tecla <enter>.

First cylinder (1-4870, default 1):

Devemos definir agora o ponto final da partio.


Last cylinder or +size ou +sizeM or +sizeK (1-4870, default 4870): +75M

e) criando partio extendida.


Command ( m for help ): n

Devemos digitar <e> e logo aps <2> para indicar o nmero da partio extendida.
Command action e extended p primary partition ( 1-4 ):

Seja um Profissional Aprendendo com Profissionais

12

Linux System Administration


e Partition number (1-4) : 2 First cylinder (10-4870, default 10):

Devemos pressionar <enter> para selecionar todo o restante do disco.


Last cylinder or +size ou +sizeM or +sizeK (10-4870, default 4870):

f) criando a segunda partio do sistema.


Command ( m for help ): n

Command action l p logical (1 or over): primary partition (1-4):

Devemos escolher <L> de lgica.


First cylinder (11-4870, default 4870): Last cylinder or +size ou +sizeM or +sizeK (11-4870, default 4870):+256M

g) criando a terceira partio do sistema.


Command ( m for help ): n

Devemos escolher <L> de lgica.


Command action l p logical (2 or over): primary partition (1-4):

Devemos escolher <L> de lgica.


First cylinder (43-4870, default 4870): Last cylinder or +size ou +sizeM or +sizeK (43-4870, default 4870):+256M

h) criando a quarta partio do sistema.


Command ( m for help ): n

Devemos escolher <L> de lgica. Seja um Profissional Aprendendo com Profissionais 13

Linux System Administration


Command action l p logical (3 or over): primary partition (1-4):

Devemos escolher <L> de lgica.


First cylinder (75-4870, default 4870): Last cylinder or +size ou +sizeM or +sizeK (75-4870, default 4870):+30000M

i) criando a quinta e ltima partio do sistema.


Command ( m for help ): n

Devemos escolher <L> de lgica.


Command action l p logical (4 or over): primary partition (1-4):

Devemos escolher <L> de lgica.


First cylinder (3723-4870, default 4870):

Devemos pressionar <enter> para selecionar todo o restante do disco.


Last cylinder or +size ou +sizeM or +sizeK (3722-4870, default 4870):

Aps finalizar as parties, devemos escolher tipo do sistema de arquivos. Neste caso iremos mudar o sistema das parties 5 e 6 para swap. Definindo o tipo da partio 5.
Command ( m for help ): t Partition number(1-8): 5 Hex code (type L to list codes): 82

Definindo o tipo da partio 6.


Command ( m for help ): t Partition number(1-8): 6 Hex code (type L to list codes): 82

Seja um Profissional Aprendendo com Profissionais

14

Linux System Administration Aps todas as configuraes podemos visualizar se esta tudo correto atravs da opo <p>
Command ( m for help ): p Disk /dev/hda: 40.0 GB, 40060403712 bytes 255 heads, 63 sectors/track, 4870 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot /dev/hda1 /dev/hda2 /dev/hda5 /dev/hda6 swap /dev/hda7 /dev/hda8 75 3723 3722 4870 29302528+ 9221278+ 83 83 Linux Linux Start 1 11 11 43 End 10 4870 42 74 Blocks 80293+ 39037950 257008+ 82 257008+ 83 Id Linux 5 82 Extended Linux Linux swap System

j) Salvar todas as configuraes. Para salvar todas as configuraes devemos escolher a opo <w>.
Command ( m for help ): w Calling ioctl() to re-read partition table. Syncing disks.

Passo 5) Iniciando a instalao atravs do software de instalao do slackware


Devemos agora digitar <setup>, para iniciar o software de instalao.

Seja um Profissional Aprendendo com Profissionais

15

Linux System Administration

Passo 6) Formatando as parties de SWAP


Neste passo, escolha direto a 3 opo ADDSWAP .

Aps feita a escolha da partio confirme com <yes> a formatao das parties de SWAP.

Seja um Profissional Aprendendo com Profissionais

16

Linux System Administration

Passo 7) Formatando as outras parties.


Aps o trmino da formatao das parties de SWAP, teremos que indicar em qual partio devemos instalar a partio raiz ( / ). Neste caso devemos escolher a partio /dev/hda8.

Na prxima tela devemos confirmar se desejamos formatar a partio indicada. Devemos confirmar pressionando <enter> .

A prxima tela solicita que ns indique-mos qual o tipo de sistemas de arquivos que iremos utilizar para esta partio. Neste caso vamos utilizar o sistema de arquivos ext3 .

Seja um Profissional Aprendendo com Profissionais

17

Linux System Administration Aps esta escolha uma tela com o tamanho dos blocos de alocao de arquivos ser disponibilizada. Devemos utilizar a opo de 4096 blocks.

Aps a formatao da partio raiz, o software de instalao ir retornar a tela de escolha das parties. Escolha a partio /dev/hda1 e defina como /boot ; partio /dev/hda7 e defina como /var.

Passo 8) Definindo a mdia que contm os arquivos de instalao.


Aps a formatao de todas as parties o programa de instalao disponibilizada uma tela onde devemos informar a fonte que contm os arquivos para instalao. Neste caso devemos escolher a primeira opo.

Seja um Profissional Aprendendo com Profissionais

18

Linux System Administration

Logo aps devemos definir se a busca pela mdia automtica ou manual. Neste caso devemos definir como manual.

Passo 9) Escolhendo os pacotes que sero instalados


Aps o sistema detectar os arquivos de instalao, ser disponibilizada uma tela com os aplicativos que podem ser instalados.

Seja um Profissional Aprendendo com Profissionais

19

Linux System Administration

Devemos escolher todos os pacotes dos grupos: [A]: base do sistema linux [D]: pacotes de desenvolvimento [F]: pacotes com a listas de FAQ's [K]: pacotes de desenvolvimento do Kernel [KDE]: pacotes do ambiente grfico KDE [L]: pacotes com as bibliotecas [N]: pacotes dos aplicativos de rede

Aps a escolha dos pacotes, ser disponibilizada uma tela com o tipo de instalao, escolha a opo menu, e pressione <enter> nas prximas telas de confirmao e aguardar a cpia dos arquivos.

Seja um Profissional Aprendendo com Profissionais

20

Linux System Administration

Passo 10) Escolha do local do kernel

Aps a instalao dos pacotes escolhidos, uma nova tela ser disponibilizada para que possamos informar qual a ordem de busca pelo kernel. Neste caso iremos escolher a ltima opo skip.

Seja um Profissional Aprendendo com Profissionais

21

Linux System Administration

Passo 11) Gerao do disco de boot


Nesta tela ser questionado se desejamos criar um disco de boot. Neste caso no iremos criar este disco de boot. Iremos escolher a opo skip.

Passo 12) Configurao do modem


Nesta tela disponibilizada a configurao do modem, caso ele exista na mquina. No nosso caso iremos marcar a opo no modem, pois no existe modem em nosso servidor.

Passo 13) Habilitar HotPlug


Nesta tela devemos informar se queremos que o sistema linux ao inicializar carregue os dispositivos HotPlugs (dispositivos USB em geral). Neste caso, vamos marcar a opo <yes>.

Seja um Profissional Aprendendo com Profissionais

22

Linux System Administration

Passo 14) Configurao do LILO


A prxima tela de configurao a do lilo, neste caso vamos marcar a opo simple.

Em seguida, uma tela de comandos especiais para o LILO ser mostrada, neste nosso caso vamos simplesmente confirmar com <enter>

Seja um Profissional Aprendendo com Profissionais

23

Linux System Administration

Aps a escolha do lilo, uma nova tela mostra que devemos escolher onde o lilo dever ser gravado. Iremos grav-lo na MBR, para isto basta marcar a opo MBR.

Passo 15) Configurao do Mouse


Nesta opo devemos escolher o tipo do mouse utilizado. Podemos marcar a primeira opo, mesmo no tendo um mouse presente em nossa mquina. Basta pressionar <enter> em ps2.

Seja um Profissional Aprendendo com Profissionais

24

Linux System Administration Na prxima tela devemos configurar se o mouse ser inicializado em modo texto. Neste caso vamos marcar a opo yes.

Passo 16) Configurao da Rede


A prxima tela ir permitir que seja realizado a configurao da rede. Neste caso vamos confirmar marcando a opo <yes>.

a) Na primeira opo iremos definir o nome da mquina. Nosso caso: server.

Seja um Profissional Aprendendo com Profissionais

25

Linux System Administration b) Na prxima opo iremos definir o dominio: Nosso caso: 3way.com.br c)Na prxima opo iremos definir como ser configurado nosso endereo IP. Iremos utilizar a opo static ip.

d)Inserir o endereo IP: 192.168.0.1 e) Inserir a mscara de rede: 255.255.255.0 f) Inserir o endereo do gateway: 192.168.0.254 g) inserir o endereo do servidor de nomes DNS: 192.168.0.254

Passo 17) Confirmao das configuraes de Rede


Neste tela basta confirmar os campos preenchidos. Seja um Profissional Aprendendo com Profissionais 26

Linux System Administration

Passo 18) Definindo os servios que devero ser carregados ao iniciar o sistema
Neste caso somente confirme com <enter>

Passo 19) Configurao prvia de fonte


Neste caso marque a opo <No>.

Seja um Profissional Aprendendo com Profissionais

27

Linux System Administration

Passo 20) Escolha do tipo de atualizao do relgio da mquina


Neste caso vamos marcar <No> .

Passo 21) Escolha do Fuso Horrio


No nosso caso vamos escolher o Amrica/So_Paulo e confirmar com <enter>

Passo 22) Definir a senha do Administrador do sistema (root)


Basta confirmar com <enter> para definir a senha do root.

Seja um Profissional Aprendendo com Profissionais

28

Linux System Administration

Passo 23) Finalizando a instalao


A instalao do Slackware-Linux foi finalizada, basta confirmar com <enter> e reiniciar o sistema, digitando <ctrl>+<alt>+<del>, ou digitando reboot.

Seja um Profissional Aprendendo com Profissionais

29

Linux System Administration

Iniciando o Sistema Operacional


Para ter acesso ao sistema, entre com: login: <informar um login do sistema> password: <informar a senha do login> Aps o logon, o prompt de comandos iniciado, e ficar aguardando por comandos digitados por ns usurios, da seguinte forma:
[root@host /root]#

Onde: root: Mostra o usurio que est logado no sistema. host: Mostra o nome da mquina. /root: Indica o diretrio atual . #: Indica que o super-usurio que est logado.
NOTA: Quando qualquer usurio comum est logado no sistema a sua indicao o caractere $ (alm do nome de usurio) como alternativa ao caractere #.

Comandos Bsicos
No linux, todos os comandos tero a seguinte forma: [COMANDO] -[OPES] [PARAMETROS] Listar contedo de diretrios Sintaxe: ls [opo] [arquivo]
# ls -a: lista arquivos ocultos. # ls -l: lista detalhadamente; # ls -F: lista mostrando o tipo do arquivo # ls -la: lista todo contedo do diretrio no formato longo (detalhando).

Seja um Profissional Aprendendo com Profissionais

30

Linux System Administration

Mostrar o diretrio atual Sintaxe: pwd


# pwd

Entrar/Sair de diretrios Sintaxe: cd [diretorio]


# cd / : entra dentro do diretrio raiz do sistema. # cd ../ : volta um nvel # cd /bin # cd /usr/bin : entra dentro do diretrio /usr/bin. # cd /etc/sysconfig/network-scripts/ # cd ../../../ (caminho relativo) # cd - : retorna ao diretrio imediatamente anterior # cd ~/ ou cd $HOME: retorna ao diretrio do usurio ( /home/fulano )

Criando Diretrios Sintaxe: mkdir [opo] <nome-diretrio>


# mkdir 3way : cria a pasta 3way no diretrio atual. # mkdir linux : cria a pasta linux no diretrio atual. # mkdir p1/p2/p3/p4/ : Erro! necessrio uma opo. # mkdir -p p1/p2/p3/p4/ : p4 dentro de p3 que est dentro de p2 que est dentro de p1. -p: cria rvores de diretrios # mkdir d1 d2 d3 : So criados os diretrios (d1, d2 e d3) no mesmo nvel.

Copiando Arquivos e Diretrios

Seja um Profissional Aprendendo com Profissionais

31

Linux System Administration Sintaxe: cp [opo] <origem> <destino>


# cp /etc/passwd /root : copia o arquivo de senhas passwd para o dir. /root. # cp /root/passwd /root/passwd.bkp : copia o arquivo passwd para passwd.bkp # cp /etc/shadow /etc/group /tmp : copia os arquivos shadow e group para o dir. /tmp. # cp /etc/*.conf /tmp : copia todos arquivos com extenso .conf para /tmp. # cp /etc/* /tmp : copia todos arquivos (no diretrios) para /tmp. # cp -f /etc/* /tmp: copia todos arquivos com extenso .conf para /tmp. -f = forca a cpia de arquivos. No copia diretrios. # cp -rf /etc/* /tmp: copia todo conteudo do diretrio /etc para /tmp. -r = cpia recursiva.

Incluir arquivos e diretrios Criando Arquivos Vazios Usado para criar arquivos de log (usado por aplicaes), por exemplo. Sintaxe: touch [arquivo] ou cat > [arquivo]
# touch ~/arquivo.txt # cat > ~/teste.txt : Pressione Ctrl+D para salva e sair.

Removendo Diretrios Sintaxe: rmdir [opo] <nome-diretrio>


# rmdir 3way : remove a pasta 3way no diretrio atual. # rmdir /etc : Erro! diretrio no vazio. # rmdir p1/p2/p3/p4/ : Erro! necessrio uma opo. # rmdir -p p1/p2/p3/p4/ : remove a rvores de diretrios na ordem p4/p3/p2/p1 -p: remove as pastas relacionadas. # rmdir d1 d2 d3 : remove os diretrios d1, d2 e d3 do nvel atual.
NOTA: O comando rmdir no usado na pratica porque remove apenas diretrios vazios. Uma alternativa a este comando a utilizao do comando rm, mostrado abaixo.

Seja um Profissional Aprendendo com Profissionais

32

Linux System Administration Removendo Arquivos e Diretrios Sintaxe: rm [opo] <arquivo/diretrio>


# rm /tmp/*.conf : remove todos arquivos com extenso .conf do dir. /tmp. Solicita confirmao. # rm -f /tmp/*.conf : fora a remoo de todos arquivos .conf do dir. /tmp. No solicita confirmao (-f). # rm -rf /tmp/* : remove recursivamente (-r) todo o contedo de /tmp sem confirmao (f).

CUIDADO! A utilizao do comando rm com a opo -rf , pois geralmente muito dificil realizar a recuperao de arquivos no sistema Linux.

Movendo/Renomeando Arquivos e Diretrios Sintaxe: mv <opo> <origem> <destino>


# mv ~/teste.txt /tmp : move o arquivo para o dir. /tmp. (~/ = indica o diretrio pessoal do usurio) # mv /tmp/teste.txt ~/ : move o arquivo para o dir. pessoal do usurio (~/) # mv /tmp/shadow . : move o arquivo para o dir. Atual (.) # mv ~/arquivo.txt ~/arq.txt : renomeia o arquivo.txt para arq.txt

Visualizao do contedo de arquivos Comando head visualiza as primeiras 10 linhas do arquivo, por padro. Sintaxe: head <opo> <arquivo>
# head /etc/passwd : mostra as 10 primeiras linhas do arquivo passwd por padro. # head -n20 /etc/passwd : mostra as 20 primeiras linhas do arquivo passwd.

Seja um Profissional Aprendendo com Profissionais

33

Linux System Administration Comando tail Visualiza as ultimas 10 linhas do arquivo, por padro. Sintaxe: tail <opo> <arquivo>
# tail /etc/passwd: mostra as 10 ultimas linhas do arquivo passwd por padro. # tail -n20 /etc/passwd: mostra as 20 primeiras linhas do arquivo passwd. # tail -f /var/log/messages: fica lendo o arquivo ininterruptamente (-f). Usada para arquivos de log.

Comando cat Este comando pode ser utilizado para criar arquivos, mas ele tambm pode ser utilizado para mostrar contedo de arquivos, veja no exemplo: Sintaxe: cat <opo> <nome do arquivo>
# cat /etc/termcap: mostra o contedo do arquivo /etc/termcap. # cat -n /etc/termcap: mostra o contedo e conta as linhas do arquivo incluindo linhas em branco. # cat -b /etc/termcap: idem ao anterior. Porm no conta linhas em branco do arquivo.

Comando sort Sintaxe: sort <opo> <arquivo>


# sort -d /etc/group : ordena as linhas do arquivo /etc/group na ordem de dicionrio. (a,b,c,d,...,aa,ab,ac...) # sort -r /etc/group : ordena as linhas do arquivo /etc/group na ordem inversa de dicionario. (z, x, v...;zz,zx,zv...)

Comando grep Procura pela ocorrncia de uma string no arquivo especificado Sintaxe: grep <opo> <expresso> <arquivo>
# grep -in go cidades.txt : procura as linhas do arquivo que aparecem expresso go e indica a linha que estes esto na tela.

-i = ignora a diferena de tamanho dos caracteres (g == G) -v = mostra as linhas que no aparece a string

Seja um Profissional Aprendendo com Profissionais

34

Linux System Administration -c = mostra o nmero de vezes que foi encontrada a expresso -n coloca o nmero da linha em que foi encontrada a expresso. No exemplo acima o arquivo cidades.txt existe e buscado ocorrncias da slaba go dentro do arquivo. Comandos de Paginao Os comandos de paginao so necessrios quando desejamos ler um determinado arquivo pausadamente. So eles: more e less. Comando more
# more /etc/termcap: mostra o contedo do arquivo termcap. O comando finalizado automaticamente ao seu final.

Este comando possui vrios recursos: [enter]; anda linha a linha no arquivo; [barra de espao]: anda pgina a pgina no arquivo; [h] ou [?] : visualiza o help; [b]: retorna a tela anterior; [q]: sai do paginador more.

Comando less # less /etc/termcap : mostra o contedo do arquivo termcap. O comando no


finalizado automaticamente ao seu final, para sair pressione <q>.

Este comando possui vrios recursos: [enter]; anda linha a linha no arquivo; [barra de espao]: anda pgina a pgina no arquivo; [h] : visualiza o help; [b]: retorna a tela anterior; [q]: sai do paginador more. /nome : busca a palavra nome no arquivo.

Seja um Profissional Aprendendo com Profissionais

35

Linux System Administration Desligando o Sistema Operacional Linux


# halt: desliga o sistema imediatamente. # shutdown -h now: desliga o sistema imediatamente. Envia uma mensagem pra todos os usurios logados no sistema. # shutdown -h 30 Ateno: O Sistema ser desligado dentro de 30 minutos! : envia a mensagem entre aspas duplas para todos usurios logados.

Reiniciando o Sistema Operacional Linux


# reboot: reinicia imediatamente. # shutdown -r now: reinicia imediatamente. Envia uma mensagem pra todos os usurios logados no sistema. (-r == reboot) # shutdown -r 30 Ateno: o Sistema ser reiniciado dentro de 30 minutos # <Ctrl+Alt+Del>: reinicia o sistema. Essa opo pode ser desabilitada no arquivo /etc/inittab.

Redirecionamento de Entrada e Saida


O computador formado por diversos componentes, muitas vezes conhecidos como perifricos, sendo os seus principais o monitor e o teclado, que sem estes no teria sada ou entrada, respectivamente, para o sistema. Estes dois componentes formam o principal meio de comunicao entre usurio e o computador, com funes bem distintas entre eles. O teclado fornece a entrada de um determinado dado inicial para o sistema, e o monitor a sada da informao. Existem outros meios de comunicao entre o usurio e o computador, mas estas so as principais, podem servir de entrada de dados o mouse (em diversos programas, em maioria grficos), scanner, a rede, CD-ROM ou disquete, e como sada (alm do monitor) a impressora, a rede, CD-ROM ou disquete, existem muitos outros tanto para a entrada quanto para a sada, mas estes so os mais Seja um Profissional Aprendendo com Profissionais 36

Linux System Administration conhecidos. Os sistemas UNIX, incluindo o Linux, lidam com 3 dispositivos bsicos:

Entrada padro, tambm conhecido por STDIN Sada padro, tambm conhecido por STDOUT Sada de erro padro, tambm conhecido por STDERR

Os sistemas UNIX tambm possuem um conceito interessante, onde tudo um arquivo. Este conceito permite escrever em dispositivos externos exatamente da mesma maneira que se escreve em arquivos. Conseqentemente, os dispositivos bsicos mencionados acima so tambm arquivos. Programas UNIX, incluindo o shell, lidam com arquivos atravs de descriptores, nmeros que representam um determinado arquivo que est aberto para leitura e/ou escrita. A entrada padro, a sada padro e a sada de erro padro, tambm possuem estes descriptores. Segue uma tabela com o resumo destes dispositivos, incluindo o nmero dos descriptores de arquivo.

Dispositivo

Apelido

Nmero do Descriptor Mapeado por Padro de Arquivo Para: Teclado Monitor Monitor

Entrada padro Sada padro Sada de erro padro

STDIN STDOUT STDERR

0 1 2

O uso do redirecionamento muito simples, enquanto que o monitor a forma padro de sada de informaes, e o teclado a forma padro de entrada, um outro arquivo ou dispositivo podem assumir o papel destes dispositivos de entrada e sada padro. Executar determinadas operaes e direcionar o resultado para um arquivo pode ser bem mais conveniente que ter que copi-las manualmente da tela para um arquivo. O contedo destes arquivos (o resultado gerado por determinado comando), pode ento ser manipulado normalmente, sendo Seja um Profissional Aprendendo com Profissionais 37

Linux System Administration possvel, por exemplo, a pesquisa de algum valor.

Redirecionamento de Sada
Um exemplo de redirecionamento de sada utilizando o comando ls -la; este comando, por padro, lista todo contedo contidos dentro do diretrio atual incluindo detalhes sobre cada arquivo ou diretrio e mostra o resultado na tela, certo? Ao invs de utilizarmos a sada padro, o monitor, do comando ls la, iremos utilizar um arquivo como alternativa. Para isso utilizamos o redirecionador de sada que indicado com um sinal de maior que, >. Veja o exemplo:
# ls la > saida.txt

Observe que, com a execuo deste comando no apareceu nenhuma sada no monitor, que a sada padro. Observe tambm que um arquivo com o nome saida.txt f oi criada no diretrio atual. Execute o comando cat saida.txt, a sada que era para aparecer na tela foi redirecionada para este arquivo.

Redirecionamento de Entrada
Antes de exemplificar um redirecionamento de entrada, vamos fazer o seguinte: Crie um arquivo com o nome cidades.txt contendo o contedo: Goinia, Anpolis, Damolndia, Nova Era, Aparecida, Goiansia. Cada cidade em uma linha! O arquivo dever ficar da seguinte forma: Goinia Anpolis Damolndia Nova Era Aparecida Seja um Profissional Aprendendo com Profissionais 38

Linux System Administration Goiansia

Comando sort Ordena as linhas do arquivo. Execute e verifique a sada do comando.


#sort cidades.txt

Aps a visualizao do comando acima, vamos ver um exemplo de redirecionamento de entrada. Para isso, podemos utilizar como entrada o arquivo cidades.txt para a criao de um outro arquivo de sada, por exemplo. O redirecionamento de entrada indicado com um sinal de menor que, <. Veja o exemplo:

# sort < cidades.txt > cidadessordenadas.txt

O comando acima recebe o arquivo cidades.txt como entrada e redireciona para um arquivo de sada, cidadesordenadas.txt.

Pipe
A idia principal do uso do comando pipe ("|") fazer com que os comandos trabalhem em conjunto. Um comando trabalhando sozinho geralmente limitado quanto sua funcionalidade, revelando uma outra caracterstica dos sistemas operacionais UNIX: faa apenas uma coisa, mas faa-a bem. Os pipes facilitam o trabalho em equipe dos utilitrios UNIX. Neste cenrio, cada aplicativo executa determinada operao no arquivo, e passa o resultado para o prximo utilitrio. Pense em pipes como uma linha de produo, onde as determinadas etapas so realizadas por diferentes utilitrios UNIX.

Seja um Profissional Aprendendo com Profissionais

39

Linux System Administration Se executar-mos o comando ls /etc o resultado que ser mostrado na sada padro (monitor) ser muito rpida. Para pausar a sada deste comando podemos utilizar os comando de paginao (more ou less). Veja o exemplo:

# ls /etc | more # ls /etc | less

Outro exemplo:
# cat cidades.txt | grep -i go

O comando cat cidades.txt, faz com que seja mostrado, na sada padro, todo contedo do arquivo cidades.txt. Com a utilizao do pipe com o comando grep (| grep) faz com que a sada na tela mostre apenas as linhas que contenha a palavra go. No caso, Goinia e Goiansia.

Metacaracteres
Tm-se os seguintes arquivos em /home/aluno: arq, arq1, arq2, doc, doc3 e doc555. * representa qualquer quantidade de qualquer caractere. Exemplo: ls * Resposta: arq, arq1, arq2, doc, doc3, doc555. ? representa um nico e qualquer caractere. Exemplo: ls arq? Resposta: arq1, arq2. [ ] Indica uma lista de caracteres. Exemplo: ls doc[123456789], ou ls doc[1-9] Resposta: doc3 Seja um Profissional Aprendendo com Profissionais 40

Linux System Administration

{ } Indica uma seqncia de caracteres. Exemplo: ls doc{1,2,3,33,555} Resposta: doc3, doc555.

Seja um Profissional Aprendendo com Profissionais

41

Linux System Administration

Estrutura de Diretrios
A estrutura de diretrios organizada em forma de uma rvore, para uma melhor organizao dos arquivos de configurao do sistema e facilitar a busca dos mesmos. Cada diretrio possui uma finalidade, so elas: / : o diretrio raiz do sistema. Todos os outros diretrios esto abaixo dele. Os mais importantes so: /bin: diretrio que contm todos os comandos do sistema operacional, caso um comando no funcione, seu arquivo no est no diretrio ou o arquivo est corrompido ou ainda o comando s pode ser executado somente pelo root. /boot: o diretrio que contm o kernel e todos arquivos necessrios para a inicializao. /dev: diretrio que contm todos os arquivos dos dispositivos de hardware do S.O (pl. de rede, vdeo, hd, floppy, mouse, impressora, etc). /etc: o diretrio que contm os arquivos de configurao local da mquina. Um administrador de uma rede 90% do tempo ele estar neste diretrio. /home: o diretrio que contem as pastas de trabalho de todos usurios comuns do sistema. /lib: diretrio que contm as bibliotecas do sistemas operacional linux. /mnt: diretrio recomendado para a montagem dos dispositivos (floppy, cdrom, etc) /opt: diretrio recomendado para instalao de aplicativos. semelhante ao diretrios "Arquivos de Programas" do Windows.

Seja um Profissional Aprendendo com Profissionais

42

Linux System Administration /proc: diretrio especial do linux. Nele, possui todos os processos em execuo do sistema. Este diretrio fica armazenado somente memria voltio (RAM), no fisicamente no disco. /root: o diretrio de trabalho do administrador do sistema (superusurio). /sbin: diretrio que contm as ferramentas de configurao do sistema. Ex.: fdisk (particionador), fsck (scandisk), mkbootdisk (cria disco de boot), ifconfig (configura pl. de rede), lilo (gerencia ordem de boot), lspci (lista os dispositivos de hardware detectados), etc. /tmp: diretrio que possui os arquivos temporrios gerados pelas aplicaes/u tilitrios. /usr: diretrio que contm os principais aplicativos do sistema (ambientes grfico, jogos, etc). semelhante a pasta "windows" do win98. /var: possui os arquivos variveis, que modificam com o passar do tempo (spool de impresso, arq. de log, etc).

Dispositivos
J verificamos que no diretrio /dev possui todos os arquivos de configurao dos dispositivos de hardware, mas caso precise configurar uma placa de rede, por exemplo, qual arquivo (dispositivo) referenciar? Sero citados os principais arquivos de configurao dos dispositivos de hardware. So eles:

Portas Seriais Windows COM1 COM2 COM3 Linux ttyS0 ttyS1 ttyS2

Seja um Profissional Aprendendo com Profissionais

43

Linux System Administration Portas Paralelas Windows LTP1 LTP2 Discos Flexveis Windows A: B: Hard Disk Windows C: D: E: F: Linux hda: master IDE1 hdb: slave IDE1 hdc: master IDE2 hdd: slave IDE2 Placa de Rede Windows Ethernet Adapter 1 Ethernet Adapter 2 Ethernet Adapter 3 Linux eth0 eth1 eth2 Linux fd0 fd1 Linux lp0 lp1

Seja um Profissional Aprendendo com Profissionais

44

Linux System Administration

Consoles Virtuais
Por ser um Sistema Operacional multiusurio e multitarefa, o linux trabalha com consoles virtuais, que so nada mais que terminais de trabalho, seja ele grfico ou texto. Por padro, existem 6 consoles texto, e 6 consoles grficas, como mostra abaixo: <F1> <F2> <F3> <F4> <F5> <F6> <F7> <F8> <F9> <F10> <F11> <F12> |---------------------------------------------| |--------------------------------------------------| Consoles Texto Consoles Grficas

Para alternar entre as consoles, texto ou grfica, basta pressionar simultaneamente as teclas CTRL+ALT+Fx. Onde x um nmero de 1 a 12, ou seja, F1 F12. Cada ambiente grfico, possui outros sub-ambientes (4 precisametente), alm de diversos shells (xterm) que funciona como o prompt de comandos do windows. Ou seja, o linux simula o ambiente texto atravs de prompt de comandos que se chama xterm (esse nome pode variar entre as distribuies). Para carregar um ambiente grfico digite: startx. Se desejar carregar mais de 1 ambiente grfico digite: startx -- :2, caso seja o 2 ambiente grfico; startx - - :3, caso seja o 3 e assim por diante.

Editores de Texto
No linux h vrios editores de texto, entre eles esto:
Joe Elvis Emacs mcedit vi

Qual utilizar? Isso, voc decide. O mais utilizado o vi porque ele mais rpido, eficiente e possui vrios recursos.

Seja um Profissional Aprendendo com Profissionais

45

Linux System Administration

Para utilizar os recursos do vi, digite: vi arquivo.txt Por padro, ao iniciar o vi, ele encontra-se no modo de comandos, ou seja, para comear a escrever alguma coisa no arquivo, primeiro o modo de escrita deve ser habilitado. Para isso, qualquer uma das teclas <i>, <insert> ou <o> podem ser pressionadas. Para desativar o modo de escrita (ou ativar o modo de comandos) pressione a tecla <esc>. Outra informao que interessante comentarmos que o editor vi case-sensitive - os caracteres maisculos se diferem dos minsculos, ou seja, a palavra 3way diferente de 3WAY que so diferentes de 3Way. Essa informao importante quando se deseja localizar alguma palavra no texto. Agora, ative o modo de escrita e edite o arquivo com o contedo:
3way networks solues em TI. SOLUES EM SISTEMAS LINUX Fone: 3289-9311. 3way networks solues em TI. SOLUES EM SISTEMAS LINUX Fone: 3280-0123.

Agora vamos checar algumas das funcionalidades do editor de texto vi. Para isso pressione <esc> para ativar o modo de comandos. Pressione:
:w = salva o arquivo. :q = sai do arquivo. :wq = salva o arquivo e sai. o = ativa o modo de escrita fazendo quebra de linha. :q! = sai do arquivo sem salvar as alteraes. :w! = salva forado. Alguns arquivos o root no tem permisso pra gravar. yy = copia a linha onde se encontra o cursor. pp = cola linhas que esto em buffer. dd = deleta a linha onde se encontra o cursor.

Seja um Profissional Aprendendo com Profissionais

46

Linux System Administration


10yy = copia as 10 primeiras linhas abaixo do cursor. 10dd = deleta as 10 primeiras linhas abaixo do cursor. /3way = procura as ocorrncias da palavra "3way" no texto. n = procura novas ocorrncias da palavra 3way no texto.. :!comando = executa comandos dentro do vi. Ex.: :! ls /home :50 = caminha para linha 50. :1,n s/3way/3WAY = substitui todas as ocorrncias da linha 1 a linha n a palavra 3way Telefone. por 3WAY. :%s/Fone/Telefone = substitui todas as ocorrncias da palavra Fone por

Mtools
Mtools so ferramentas DOS para UNIX. S servem para manipulao de discos flexveis. Para a utilizao dessa ferramenta o disco flexvel no deve estar montado. Para visualizar os comandos suportados pela ferramenta digite: mtools. Os comandos mais utilizados so:
mtools: mostra quais os comandos existentes. #mtools

mdir : lista o contedo do disco. # mdir a: : lista o contedo do disquete.

mcopy : copia um contedo. # mcopy /etc/passwd a: : copia o arquivo passwd para o disquete. # mcopy a:\teste.txt /tmp/ : copia do disquete o arquivo teste.txt para o /tmp.

mdel : apaga arquivos dentro do disquete. # mdel a:\teste.txt : apaga do a: o arquivo teste.txt

Seja um Profissional Aprendendo com Profissionais

47

Linux System Administration


mmd <nome-diretrio> : cria diretrios dentro do disquete. # mmd a:\3way : cria o diretrio 3way no disquete.

mformat : formata o contedo do disquete. # mformat a:

mdeltree : deleta arvore de diretrios. # mdeltree 3way : apaga o diretrio 3way e todo seu contedo.

mmove: move um arquivo do disquete. # mmove a:\passwd a:\usuarios : move o arquivo passwd do disquete para usuarios

mren : renomeia arquivos do disquete. # mren usuarios passwd

mtype: visualiza o contedo de arquivo contidos no disquete. # mtype a:\passwd : mostra o contedo do arquivo a:\passwd

Seja um Profissional Aprendendo com Profissionais

48

Linux System Administration

Paginas de Manuais
Permite obter informaes sobre os comandos no linux. Representa uma ajuda importante para os comandos. Comando man Sintaxe: man <comando> : manuais de informaes sobre os comandos.
# man cp : mostra o manual do comando cp

Comando info Sintaxe: info <comando> : mostra o manual eletronico de informaes sobre o comando. ( mais completo que os man's. Possui atualizaes mais rescentes).
# info cp

Comando help help : mostra uma ajuda do comando. Mostra somente as opes para o comando. Sintaxe: <comando> --help
# cp -- help

Criando Links
Existem dois tipos de links: hard-link e simbolic link. Hard-link: Ao criar um hard-link de um arquivo, o arquivo copiado no diretrio atual e a cada modificao que feita em um dos arquivos (original ou hard-link) ser repercutida, tambm, no arquivo oposto. Por exemplo: Se temos o arquivo /tmp/teste com o contedo teste de hard-link, e um hard-link que aponte pra esse arquivo (que ter o mesmo contedo) qualquer modificao que ser feita, tanto no arquivo teste como no hard-link sero repercutidas no arquivo oposto. Ou seja, se eu abrir o arquivo /tmp/teste e acrescentar a frase

Seja um Profissional Aprendendo com Profissionais

49

Linux System Administration Ola mundo e salvar, ao abrir o hard-link este ter o mesmo contedo que seria teste de hard-link. Ola Mundo.
NOTA: No possvel criar hard-links de diretrios, somente de arquivos!

Sintaxe do comando: ln <arquivo-original> <nome-do-hardlink>


# ln /tmp/teste hardlink-teste

Simbolic Link: Funciona como um atalho para o arquivo. Sintaxe do comando: ln -s <arquivo-original> <nome-do-link>
# ln -s /tmp/teste atalho-teste

-s : indica que um link simblico.

Comandos de Busca
Comando find : localiza strings no linux. Sintaxe: find [diretrio onde inicia a busca] <opo> [arquivo/diretrio]
# find / -iname *lilo.conf* : busca uma string (name) (arquivo/diretrio) lilo.conf apartir do diretrio raiz (/) do sistema. Ignorando o tamando maiusculas e minsculas (i). -i : ignora maiusculas e minsculas name : indica que ser buscado uma string.

# find / -iname *lilo.conf* > saida.txt : grava todas as sadas da busca dentro arquivo saida.txt. # find / -iname *lilo.conf* 2> erros.log : grava somente as sadas de erro dentro do arquivo erros.log. # find / -iname *lilo.conf* 1> validas.log : grava somente as sadas vlidas dentro do arquivo validas.log.

Comando whereis: localiza strings no linux.

Seja um Profissional Aprendendo com Profissionais

50

Linux System Administration Sintaxe: whereis <palavra-a-ser-buscada>


# whereis passwd : localiza a string passwd no linux.

Comando locate/updatedb: O comando locate utiliza um banco de dados. Para se utilizar esse comando necessrio estar atualizando seu banco com os novos arquivos/diretrios que foram criados. Para isto deve-se executar o comando updatedb (como root)
#updatedb

Sintaxe: locate <palavra-a-ser-buscada>.


# locate passwd : localiza todas as strings que contenha a palavra passwd no Banco de Dados.

Compactao de Arquivos
O linux possui diversos aplicativos para compresso de aquivos, sendo que cada um deles utiliza um algoritmo diferente. Entre eles esto:

gzip: O comando gzip usado para compactar/descompactar arquivos. O arquivo original substitudo por um arquivo compactado com a extenso .gz
Sintaxe: gzip <opes> <arquivos> : compacta gunzip <opes> <arquivos.gz> : descompacta

# gzip /tmp/termcap : o arquivo termcap ser compactado. # gunzip /tmp/termcap.gz : o arquivo termcap.gz ser descompactado.

bzip2: O comando bzip2 usado para compactar/descompactar arquivos. O arquivo original substitudo por um arquivo compactado com a extenso .bz2

Seja um Profissional Aprendendo com Profissionais

51

Linux System Administration

Sintaxe:

bzip2 <opes> <arquivos> : compacta bunzip2 <opes> <arquivos.bz2> : descompacta

# bzip2 /tmp/termicap : O arquivo termcap ser compactado. # bunzip2 /tmp/termcap.bz2 : O arquivo termcap ser descompactado.

compress: O comando compress usado para compactar/descompactar arquivos. O arquivo original substitudo por um arquivo compactado com a extenso .Z. A ferramenta gzip pode ser usada para descompactar arquivos com esta extenso.
Sintaxe: compress <opes> <arquivos> : compacta uncompress <opes> <arquivos.Z> : descompacta

# compress /tmp/shadow : Compacta o arquivo shadow. # uncompress /tmp/shadow.Z : Descompadta o arquivo shadow.Z

Empacotamento
zip: O comando zip usado para compactar e empacotar arquivos. til para empacotamento de uma srie de arquivos para distribuio. No substitui os arquivos originais aps o empacotamento.
Sintaxe: zip <opes> <arquivo_zip> <arquivos> unzip <opes> <arquivo_zip>

# zip arquivo.zip /tmp/* : empacota todos arquivos do /tmp para aquiivo.zip # unzip arquivo.zip : desempacota o arquivo arquivos.zip

Seja um Profissional Aprendendo com Profissionais

52

Linux System Administration tar: Permite copiar arquivos e depois restaura-los, para efeito de backup de segurana e/ou transporte de dados atravs de um meio fsico (CD's, Floppy's, Fitas, etc...). O comando tar permite que crie, atualize ou recupere backups.
Sintaxe: tar <opo> <arquivos>

# tar -cvf arquivo.tar /tmp/* : empacota os arquivos de /tmp. c: cria um novo arquivo .tar v: mostra o que est acontecendo na tela. f: indica que o nome do aquivo ser especificado (arquivo.tar)

# tar -tf arquivo.tar : lista todos os arquivos empacotados no arquivo .tar t: lista arquivos empacotados f: indica que ser especificado o nome do arquivo.

# tar -rvf arquvo.tar teste.txt : acrescenta o arquivo teste.txt no aquivo arquivo.tar r: indica que ser acrescentado um novo ao arquivo .tar. v: mostra o que est acontecendo na tela. f : indica que o nome do arquivo ser indicado

# tar -xvf arquivo.tar : desempacota o arquivo.tar x: indica que o arquivo ser desempacotado.

# tar -cvfz arquivo.tar.gz /tmp/* : empacota e compacta todos os arquivos do diretrio /tmp e cria um arquivo.tar.gz. Utiliza o gzip para a compactao dos arquivos. z: compacta o arquivo.tar com gzip (.gz).

# tar -xvfz arquivo.tar.gz : descompacta e desempacota o arquivo.tar.gz x: indica que o arquivo ser desempacotado. z: Indica que o arquivo est compactado com gzip

# tar -cvfj arquivo.tar.bz2 /tmp/* : empacota e compacta todos os arquivos do

Seja um Profissional Aprendendo com Profissionais

53

Linux System Administration


diretrio /tmp e cria um arquivo.tar.bz2. Utiliza o bzip2 para a compactao dos arquivos. j: compacta o arquivo.tar com o bzip2 (.bz2)

# tar -xvfj arquivo.tar.bz2 : descompacta e desempacota o arquivo.tar.bz2 x: indica que o arquivo ser desempacotado. j: Indica que o arquivo foi compactado com bzip2, antes de empacota-lo.

Montagem de Dispositivos
Comando mount : monta dispositivos no linux.
Sintaxe: mount <opo> <dispositivo> <ponto-de-montagem>

Comando umount : desmonta dispositivos no linux.


Sintaxe: umount <opo> <dispositivo> <ponto-de-montagem>

#mount : mostra quais os dispositivos esto montados.

# mount -t vfat /dev/fd0 /mnt/floppy : monta o dispositivo fd0 (disquete) no diretrio /mnt/floppy. A opo -t significa que ser indicado o tipo de arquivo do dispositivo (ntfs, vfat, ext3, iso9660 - sistema de arquivo de CD's, etc).

# umount -t vfat /dev/fd0 /mnt/floppy : desmonta o dispositivo # mount -t iso9660 /dev/cdrom /mnt/cdrom : monta o CDROM # umount -t iso9660 /dev/cdrom /mnt/cdrom : desmonta o CDROM # mount /mnt/floppy : monta # umount /mnt/floppy : desmonta # mount /dev/fd0 : monta # umount /dev/fd0 : desmonta
NOTA: A montagem/desmontagem dos 4 ltimos exemplos, s possvel porque existe um arquivo no linux (/etc/fstab) que faz a referncia entre o dispositivo e ponto de montagem. Para visualizar o contedo do arquivo digite: cat /etc/fstab.

#eject : desmonta o dispositivo ( /dev/cdrom ) e abre a gaveta de cdrom.

Seja um Profissional Aprendendo com Profissionais

54

Linux System Administration


#eject -t : fecha a gaveta do cdrom

Fdformat
Comando fdformat: formata o disquete fisicamente, no atribuindo nenhum sistema de arquivos no dispositivo.
Sintaxe: fdformat <opes> < dispositivo>

#fdformat /dev/fd0 : formata o dispositivo /dev/fd0 ( disquete )

Mkfs
A ferramenta mkfs utilizada para criar sistemas de arquivos ( mkfs = make file system ) em um dispositivo.
Sintaxe: mkfs <opes> < sistema de arquivos> < dispositivo>

#mkfs -t ext3 /dev/fd0

Fdisk
A utilizao dessa ferramenta possvel editar tabelas de parties no linux. Sintaxe: fdisk <opes> <dispositivo> O fdisk um particionador de dispositivos (HD, floppy, etc) no um relocador de partio. Qual a diferena ? Um relocador de partio no destri as parties j existentes no dispositivo, ele apenas edita essas parties (aumenta, diminui, muda sistema de arquivo, etc); j o particionador, destri todas as parties criadas no dispositivo. Por isso usaremos o floppy disk, como exemplo, para criar tais parties. Abra o fdisk. Para isso digite
# fdisk /dev/fd0

Onde: fd0 o dispositivo (floppy) que se encontra em /dev. O disquete deve estar dentro do drive! Seja um Profissional Aprendendo com Profissionais 55

Linux System Administration

Quando aparecer linha comando (m para ajuda): significa que o comando foi executado com sucesso e o fdisk est aberto, podendo agora utilizar as funcionalidades do fdisk. Pressione a tecla <m>, logo aps pressione <enter> pra visualizar as opes do fdisk. comando (m para ajuda): m

Comando a d l m n

Ao alterna as opes de boot em cada partio. deleta uma partio. lista os tipos conhecidos de parties visualizao do help. cria uma nova partio.

p = partio primria. e = partio estendida. l = lgica. p q t u v w lista a tabela de parties existentes. sai do fdisk sem salvar muda a identificao de uma partio no sistema. modifica a identificao das unidades. faz verificao da tabela de parties grava as modificaes e sai.

Vamos criar algumas parties. Para isso pressione a tela <n> de new para criar uma nova partio no dispositivo fd0.
comando (m para ajuda): n Comando - ao e estendida p partio primria (1-4) p

Nmero da partio (1-4): 1 (1 partio que estamos criando)

Seja um Profissional Aprendendo com Profissionais

56

Linux System Administration


Escolha o cilindro de inicio (1-80): <enter> seleciona o 1 cilindro. Escolha o ultimo cilindro (1-80): +100K <enter> (K em maisculo)

Pressione p de print para visualizar as parties criadas.

Para criar outras parties repita o processo acima, lembrando que s podem ser criadas, no mximo, 4 parties no dispositivo se estas forem do tipo primria. Para criar mais de 4 parties, crie uma partio estendida e dentro dela crie n parties lgicas, sendo n <=12 quando o dispositivo for o HD.

Gerenciamento de Contas de Usurios


O linux um S.O. Multiusurio, portanto, necessrio que todos os usurios sejam cadastrados no sistema. Criando Usurios
Sintaxe: useradd <nome-do-usurio> ou adduser #useradd aluno

Ao executar o comando, vrios arquivos so manipulados ou utilizados. So eles: 1- O usurio adicionado no arquivo /etc/passwd, /etc/shadow e /etc/group. 2- criado seu diretrio pessoal /home/aluno com suas permisses de acesso (drwx------) 3- So copiados alguns arquivos do /etc/skel/ : .bashrc, .bash_profile, .bash_logout, para /home/aluno.
Obs.: Ainda o usurio aluno no pode logar no sistema. O usurio no possui senha!

Criar / Alterando Senha De Usurio


Sintaxe: passwd <nome-do-usurio> #passwd aluno

Ao executar o comando ser pedido para que o usurio entre com a senha 2 vezes. Logo aps a senha criptografada e inserida no arquivo /etc/shadow. Para um usurio comum alterar sua senha basta efetuar o logon no sistema e digitar o comando Seja um Profissional Aprendendo com Profissionais 57

Linux System Administration passwd, sem nenhum parmetro. Apenas o root pode executar o comando passwd <parmetro>, onde parmetro o nome do usurio que o root deseja alterar a senha.

Deletando Usurios
Sintaxe: userdel <opo> <nome-do-usurio>

# userdel aluno

Este comando deleta as entradas nos arquivos /etc/passwd, /etc/shadow e /etc/group. Este comando no deleta a pasta pessoal do usurio /home/aluno.
# userdel -r aluno

Este comando deleta as entradas nos arquivos /etc/passwd, /etc/shadow e /etc/group tambm remove toda seu diretrio de trabalho recursivamente. (rm -rf /home/aluno)

Adicionando Grupos No Sistema


Maneira utilizada pelo administrador do sistema para definir perfis semelhantes entre os usurios cadastrados no sistema. Sintaxe: groupadd <opo> <nome-do-grupo>
# groupadd cpd :Cria o grupo cpd no sistema, desde que ele no exista. # groupadd -f cpd :Cria o grupo cpd foradamente mesmo que ele j exista no sistema.

Ao executar o comando groupadd este insere a entrada do novo grupo dentro do arquivo /etc/group. Para visualizar digite: cat /etc/group. Exemplo do contedo deste arquivo:

Seja um Profissional Aprendendo com Profissionais

58

Linux System Administration


... cpd:x:507: srh:x:508: ...

Para indicar que os usurios pertencem a tal grupo, basta inserir no final da linha relativa ao grupo o nome dos usurios separados por virgula. Ex:
... cpd:x:507:fulano, beltrano,maria, joao, rafael srh:x:508: junior, jorge, claudio, jose ...

Mudando o dono de arquivos e diretrios


Sintaxe do comando: chown <opo> <novo-dono> <arquivo/diretrio>
#chown fulano arquivo.txt : muda o dono do arquivo para fulano. #chown beltrano diretorio/ : muda o dono do diretrio para beltrano. #chown -R beltrano diretorio/ : muda o dono da arvore de diretrio (recursivamente) para beltrano.

Mudando o grupo de arquivos e diretrios


Sintaxe do comando: chgrp <opo> <arquivo/diretrio>
#chgrp cpd arquivo.txt : muda o grupo do arquivo para cpd. #chgrp srh diretorio-srh/ : muda o grupo da pasta dretrio-srh para srh. #chgrp -R cpd diretorio-cpd/ : muda toda arvore do diretorio-cpd para cpd recursivamente.

Mudando dono e grupo ao mesmo tempo


Sintaxe do comando: chown <novo-dono> <:novo-grupo> <arquivo/diretrio>
# chown fulano:cpd arquivo.txt # chown beltrano:srh diretorio-srh/

Seja um Profissional Aprendendo com Profissionais

59

Linux System Administration


# chown -R rafael:cpd diretorio-cpd/

Verificando Informaes dos Usurios


Comando id Sintaxe: id <opo> <nome-do-usurio>
# id aluno : mostra informaes do usurio (UID, GID, Grupos que pertence)

Comando finger Sintaxe do comando: finger <opo> <nome-do-usurio>


# finger aluno : mostra informaes do usurio (Login, Nome, Diretrio Pessoal, Shell)

Seja um Profissional Aprendendo com Profissionais

60

Linux System Administration

Permisses de Arquivos e Diretrios


A respeito deste assunto, devemos saber que: O root tem permisses para acessar/modificar qualquer diretrio ou arquivo no linux. Cada arquivo ou diretrio no linux est associado a um dono e um grupo com suas respectivas permisses de acesso (r,w,x). Para visualizar as permisses de um arquivo ou diretrio no linux, o melhor comando para se digitar o comando ls -l.
# ls -l - rw- r - - r - - L/SD D G T M/D H arquivo/diretrio 0123 456 78 9

Onde: 0: Indica o tipo do arquivo. Se - um arquivo comum. Se d um diretrio. 123: indica as permisses do dono do arquivo (D) 456: indica as permisses do grupo do arquivo (G). 789: indica as permisses dos outros usurios do sistema. L/SD: se L indica o nmero de links que apontam para o arquivo se SD indica o nmero de sub-diretrios dentro do diretrio. D: indica o dono do arquivo. G: indica o grupo do arquivo. M/D: Indica o Ms e Dia que o arquivo/diretrio foi criado/modificado. H: indica hora de criao do arquivo/diretrio. Arquivo/diretrio: nome do arquivo/diretrio. Os modos de acesso de arquivos e diretrios so interpretados de maneira diferente. Veja a tabela abaixo:

Seja um Profissional Aprendendo com Profissionais

61

Modos de Acesso r w x

Linux System Administration Arquivos Pode ler o contedo do arquivo Pode editar o arquivo Pode executar o arquivo

Diretrios Pode visualizar o contedo do diretrio. Pode modificar o contedo do diretrio Pode entrar no diretrio

Padro De Criao
Todo arquivo/diretrios no linux possui um padro de criao, que chamado de umask. Para saber o padro de criao de seus arquivos digite: umask e pressione enter. Veremos que o padro de criao 0022 (ignore o primeiro zero). Isso indica que as permisses iniciais sero: -rw-r--r-- para arquivos e drwx-r-xr-x para diretrios ser tratado mais a frente o padro de criao umask. Para termos certeza disso, vamos criar um arquivo e um diretrio. Execute os comando:
#touch arquivo.txt #mkdir diretorio #ls -l

Veja as permisses. Caso as permisses no forem s mesmas citadas acima, o problema com certeza est com o padro de criao dos arquivos. Verifique se o umask 0022. Se no for digite umask 022 para torna-lo e execute os comandos novamente. Alterando Permisses de Arquivos e Diretrios Comando chmod Sintaxe: chmod <opo> <arquivo/diretorio> Finalidade: permitir que altere as permisses de um ou mais arquivos ou diretrios.
NOTA: Somente o superusurio ou o dono do arquivo/diretrio podem alterar suas permisses.

Crie o arquivo: chmod.txt. Para isso execute o comando: Seja um Profissional Aprendendo com Profissionais 62

Linux System Administration


# touch chmod.txt; ls -l

Existem duas formas para alterar as permisses de arquivos / diretrios. Uma utilizando smbolos para referenciar as permisses do dono, grupo e outros usurios. Esses smbolos so respectivamente: u, g, o. Uma outra forma utilizando valores octais para fazer essas referencias.

Smbolo u g o a Operadores + = Permisses r w x

Descrio indica permisses do dono do arquivo. indica permisses do grupo para o arquivo. indica permisses dos outros usurios para o arquivo. indica todos ( u, g, o ) Descrio Concede Permisso Remove Permisso Atribui Permisso Descrio Leitura Escrita Execuo

O arquivo chmod.txt criado anteriormente possui as seguintes permisses: -rw-r--r--.Vamos alterar essas permisses para: -rw-rw---- , ou seja, o dono e o grupo podem ler e escrever (rw) e os outros no podem fazer nada, pois eles no possuem permisso. Quando se deseja alterar as permisses de um arquivo ou diretrios importante visualizar as permisses atuais deste (usando o comando ls l) para saber o que deve ser acrescentado e/ou retirado.
#ls -l #chmod g+w,o-r chmod.txt

A 1 opo acima (g+w) significa que a permisso de escrita (w) est sendo acrescentada/concedida (+) para o grupo (g), ento o grupo alem de ler poder, tambm, escrever no arquivo chmod.txt. Seja um Profissional Aprendendo com Profissionais

63

Linux System Administration A 2 opo (o-r) significa que a permisso de leitura (r), para os outros usurios do sistema (o), est sendo removida (-) , ento estes no tero permisso para executar nenhum tipo de operao no arquivo chmod.txt. Agora altere as permisses deste arquivo para: -rw-rw-rw, ou seja, o dono, grupo e outros podem ler/escrever no arquivo chmod.txt. Alguns exemplos possveis:
# chmod o+rw chmod.txt # chmod u+rw,g+rw,o+rw chmod.txt # chmod o=u chmod.txt # chmod a=rw chmod.txt

Exerccios: 1- crie os seguintes arquivos: modo1, modo2, modo3 e modo4. 2- mude as permisses destes, respectivamente, para:
a) -r--r--rwx b) -rw-r-x--c) ----rwx--x d) -rw-rw-rw

2 forma: Utilizando valores octais

Simbolo r w x

Valor Equivalente 4 2 1

Por exemplo, temos o arquivo teste.txt com as seguintes permisses: -rw-r--r--. Que valor representaria essas permisses em octal ? A resposta 644. Nas permisses do arquivo texte.txt, sabemos que u=rw, g=r e o=r. Sabemos tambm que r=4, w=2 e Seja um Profissional Aprendendo com Profissionais 64

Linux System Administration o x=1, ento se repararmos o numero 644 podemos perceber que seus valores de permisso para cada tipo de usurio (u,g,o) foram somados:
u=rw=4+2+0=6 g=r=4+0+0=4 o=r=4+0+0=4 u+g+o= 644.

O valor zero (0) significa que no possuem tipo de acesso (r--)=(4+0+0). Exerccios: 1- qual valor octal representa as seguintes permisses: a) -rw-r--rwx b) -r--rwxrwx c) -rw-r--r-2- crie os seguintes arquivos: teste1, teste2, teste3 e teste4. Todos tero suas permisses da seguinte forma: -rw-r--r-3- mude suas permisses, respectivamente, usando o modo octal, para: a) -rwxr-x-wb) -r--r----c) -r---w---x d) -rw-rw-r-4- execute o comando ls -l e analise as permisses.

Seja um Profissional Aprendendo com Profissionais

65

Linux System Administration

Padro de Criao
umask 022 == -rw-r--r-- == 644. Esses valores indicam as mesmas permisses, mas totalmente diferentes. Para definir o padro de criao (umask) indicamos os valores que esto faltando na permisso. Como por exemplo: -rw-r--r-- nas permisses do dono est faltando o x=1, no grupo faltam w=2 e x=1, e para outros usurios faltam w=2 e x =1 no mesmo? Ento pegamos os valores que esto faltando que seria 133. Como no possvel, por padro, definir a permisso de execuo (x=1) para arquivos, ento decrementamos o valor 1 de cada permisso, ou seja, 133 -111 que nos d o resultado igual a 022.

Seja um Profissional Aprendendo com Profissionais

66

Linux System Administration

Gerenciamento de Pacotes RPM


Entendendo os Pacotes Na maioria dos casos, um aplicativo no formado apenas por um nico arquivo executvel, mas sim por um grande nmero de arquivos, como arquivos de traduo (potfiles), arquivos auxiliares, arquivos de documentao e arquivos de configurao. Assim, bastante complexa a tarefa de instalao de um aplicativo manualmente; ainda mais difcil a manuteno de seus arquivos. Muitas vezes uma nova verso do aplicativo torna alguns de seus arquivos obsoletos e ento o administrador do sistema tem de apagar o arquivo antigo para evitar um acmulo de arquivos inteis. Um pacote um arquivo que, alm de conter os arquivos necessrios para a instalao de um determinado aplicativo, contm tambm as informaes necessrias para que o gerenciador de pacotes possa instalar, manter e remover programas. Um arquivo tpico de pacote se parece com o seguinte: emacs-20.7-1 1cl.i386.rpm Estes nomes de arquivos seguem um padro. Os nomes dos arquivos de pacotes RPM contm informaes sobre a verso e a arquitetura s quais se destinam. No caso acima, o arquivo diz que se trata do pacote do "Emacs", verso 20.7, release 11cl e que ele foi criado para plataforma Intel 386. Todos os arquivos de pacotes RPM tm o formado NomeDoPacote-versao-release.arquitetura.rpm para permitir reconhecer visualmente o arquivo. Voc poder encontrar tambm pacotes com nomes no formato NomeDoPacoteversao.src.rpm. Esses pacotes no contm os binrios de um aplicativo para serem instalados mas sim os seus arquivos fontes e so (na grande maioria dos casos) independentes de arquitetura. Apesar de vrias distribuies de Linux utilizarem pacotes do tipo RPM, isso no significa que eles sejam iguais e que um pacote feito originalmente para uma distribuio ir funcionar perfeitamente em outra. Alm dos arquivos que compem um determinado aplicativo, o pacote RPM contm tambm informaes de como instalar, em que local copiar os arquivos, como configurar, etc. Essas informaes adicionais podem ser diferentes de uma distribuio para outra, ento, para evitar problemas, o administrador deve procurar sempre utilizar pacotes feitos especificamente para a sua Seja um Profissional Aprendendo com Profissionais 67

Linux System Administration distribuio. Utilizando o RPM possvel: Instalar, Atualizar, Remover e Consultar pacotes na Base de Dados RPM. Instalando um pacote RPM (opo i)
# rpm -ivh emacs-20.7-11cl.i386.rpm

i : Indica que o pacote ser instalado. v : Mostra informaes do processo de instalao h: Indica a porcentagem da instalao utilizando # como indicador. A instalao de pacotes foi desenvolvida para ser o mais simples possvel, porm eventualmente alguns erros podem ocorrer. So eles: Pacote j instalado: Ir aparecer a mensagem: package pacote.rpm j est instalado! Para ignorar a mensagem e instalar o pacote novamente voc deve indicar essa deciso ao RPM. Para isso acrescente o parametro --force ao comando, como no exemplo:
# rpm -ivh emacs-20.7-11cl.i386.rpm force

Arquivos com conflitos: se existir um arquivo j instalado por outro pacote, aparecer a seguinte mensagem: Este pacote no pode ser instalado... Para ignorar esta mensagem e instalar o pacote deve se acrescentar o parmetro --replacefiles no comando, como no exemplo:
# rpm -ivh emacs-20.7-11cl.i386.rpm replacefiles

Dependncia: O pacote.rpm que est sendo instalado depende de outro pacote previamente instalado. Aparecer a seguinte mensagem: falha de dependncia: pacoteXYZ.rpm necessrio para pacote.rpm. Para ignorar essa mensagem deve-se usar o parametro --nodeps para instalar o pacote.rpm sem checar as dependncias. Observe o exemplo: Seja um Profissional Aprendendo com Profissionais 68

Linux System Administration

# rpm -ivh emacs-20.7-11cl.i386.rpm --nodeps

Atualizando um pacote RPM (opo U em maiusculo)


# rpm -Uvh emacs-20.7-11cl.i386.rpm

U: Indica que o pacote ser Atualizado. v : Mostra informaes do processo de instalao h: Indica a porcentagem da instalao utilizando # como indicador. A atualizao de um pacote.rpm normalmente feita para uma verso posterior da verso que est instalada, mas pode acontecer que a nova verso no satisfaz suas necessidades, ento voc sabe que a verso mais antiga deste pacote possui as funcionalidades de que voc precisa, certo? ento basta atualizar a verso atual para a antiga que seu problema resolvido! ok ? Em partes sim. Veja abaixo. Para que o RPM concorde em atualizar uma verso mais antiga do pacote, voc deve informar ao RPM que a verso que deseja Atualizar mais antiga. Para isso voc deve usar o parametro -oldpackage. Como no exemplo:
# rpm -Uvh emacs-20.7-11cl.i386.rpm --oldpackge

Desintalando um pacote RPM (opo e)


# rpm -e emacs

e : indica que o pacote ser desinstalado. Observe que para desinstalar um pacote deve ser informado apenas o NomeDoPadote "emacs". Isso porque o pacote j est instalado. Por isso importante conhecer o formato padro de um arquivo RPM. Se um outro pacote instalado depender do pacote que est sendo desinstalado, aparecer o seguinte erro: a remoo deste pacote quebraria dependncia: pacote.rpm necessrio para pacoteXYZ.rpm. Seja um Profissional Aprendendo com Profissionais 69

Linux System Administration Para remover assim mesmo, acrescente o parmetro --nodeps.
# rpm -e emacs --nodeps

Consultando um pacote RPM (opo q)


# rpm -q emacs : mostra apenas o pacote com o nome emacs. # rpm -qa | grep emacs : mostra todos os pacotes que contenha o nome emacs. Este o melhor comando (entre estes) para ser utilizado quando deseja consultar um pacote j instalado.

Seja um Profissional Aprendendo com Profissionais

70

Linux System Administration

Pacotes TGZ no Slackware


Os pacotes TGZ do Slackware so bem mais simples que os outros tipos de pacotes. Eles so arquivos empacotados e compactados em formato .tar.gz, com a estrutura de diretrios igual ao do sistema e alguns scripts adicionais com informaes sobre o pacote. Voc pode ver o contedo do arquivo justamente descompactando em um diretrio qualquer que voc tenha criado. Alm disso, nesse tipo de pacote, no h resoluo automtica de dependncias (quer dizer, h gerenciadores tratados mais a frente que fazem isso, mas no de uma forma perfeita). Vamos aprender agora como usar algumas coisas essenciais para os pacotes do Slackware. No Slackware, voc pode utilizar um menu centralizado ou utilizar os comandos separados para manipular os pacotes do sistema. Para acessar o menu centralizado, digite:
# pkgtool

No menu, voc poder fazer determinadas aes dependendo da opo que voc escolher: Opo Ao Current Instala todos os arquivos pacotes (.tgz) do diretrio atual (onde voc executou o comando pkgtool). Other Instala todos os pacotes contidos em um outro diretrio (voc ir especificar) Floppy Instala todos os pacotes contidos em um disquete que voc fornecer Remove Remove um pacote j instalado do sistema (ele lhe dar a lista de pacotes) View Mostra uma lista dos pacotes do sistema e seus detalhes Setup Configura alguns pacotes que possuem scripts pra isso

Seja um Profissional Aprendendo com Profissionais

71

Linux System Administration Opes do comando pkgtool Ou voc pode utilizar os comandos individuais para essas tarefas. Por exemplo, se voc quiser instalar um pacote .tgz, faa:
# installpkg pacote.tgz

O comando installpkg apenas instala um pacote, mesmo tendo uma verso antiga deste mesmo pacote j instalado. Nesse caso, se voc instalar com o installpkg, seu sistema ficar com duas verses do pacote. Para evitar isso quando for fazer uma atualizao de verso de um certo pacote, faa:
# upgradepkg pacote.tgz

Para remover um pacote do sistema, use:


# removepkg pacote

Se por acaso voc tiver problemas com o pacote e deseja descompact-lo de forma correta para analisar (o que poder no ser muito comum e necessrio fazer), voc pode utilizar o comando:
# explodepkg pacote.tgz

E esses so os comandos individuais. Existe tambm o makepkg, que cria pacotes .tgz de forma simples.

Seja um Profissional Aprendendo com Profissionais

72

Linux System Administration

Gerenciamento de Processos
Para cada processo existente, o sistema operacional fornece um cdigo (PID) que o identificar. H tambm uma hierarquia de processos, ou seja, um processo pode chamar outro, que por sua vez chama um terceiro, e assim por diante. Um processo que executa em segundo plano chamado de processo "pai", e o novo processo, chamado de "filho". Como j foi dito, o Linux um sistema multitarefa, o que lhe permite executar mais de um processo ou sistema. Portanto possvel ter processos em primeiro plano, chamado de foreground, bem como em segundo plano, chamado de background. Sero mostrados aqui, alguns comandos para trabalhar com processos, so eles: O comando ps: mostra os processos ativos no sistema. Sintaxe: ps -[opo]
# ps aux

a: mostra todos os processos; u: inclui na lista os usurios e hora do inicio do processo; x: inclui processos no associados a um terminal. O comando kill: permite que o superusurio ou os donos dos processos possa eliminar processos ativos no sistema. Sintaxe: kill [opo] -[sinal] [PID]
# kill -l : exibe os sinais que podem enviar para um processo.

Sinal: (9) SIGKILL: Quando en viado para um processo, termina a sua execuo. Suponhamos que exista um processo no sistema com o PID igual a 3784, ou seja, o identificador do Seja um Profissional Aprendendo com Profissionais 73

Linux System Administration processo 3784. Para que o processo seja eliminado, deve-se executar o comando kill de forma que o sinal enviado ao processo elimine-o. Segue exemplo:

# kill - 9 3784

9 : sinal para eliminar um processo; 3784: Identificador de um determinado processo (PID).

Top
O comando top mostra os processos em execuo ( tempo real ). O mesmo comando apresenta informaes sobre tempo ativo da mquina, quantidade de ususarios logados, porcentagem de memria, processador e sistema utilizado.
# top
top - 08:36:38 up 20 min, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 30 total, 1 running, 29 sleeping, 0 stopped, 0 zombie Cpu(s): 1.7% user, 0.7% system, 0.0% nice, 97.5% idle Mem: 482308k total, 46464k used, 435844k free, 0k used, 1012016k free, 4020k buffers Swap: 1012016k total, PID USER 1 root 2 root 3 root 4 root 5 root 6 root 7 root 8 root 9 root 10 root 46 root 72 root 75 root 318 root 28692k cached TIME+ COMMAND

PR NI VIRT RES SHR S %CPU %MEM 9 0 260 260 232 S 0.0 0.1 0:03.77 init 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S 0.0 0.0 0:00.00 keventd

19 19 9 0 9 0 9 0 9 0 9 0 -1 -20 9 0 9 0

0 S 0.0 0.0 0:00.00 ksoftirqd_CPU0 0 S 0.0 0.0 0:00.00 kswapd 0 S 0.0 0.0 0:00.00 bdflush 0 S 0.0 0.0 0:00.00 kupdated 0 S 0.0 0.0 0:00.00 scsi_eh_0 0 S 0.0 0.0 0:00.00 scsi_eh_1 0 S 0.0 0.0 0:00.00 mdrecoveryd 0 S 0.0 0.0 0:00.00 kjournald 0 S 0.0 0.0 0:00.00 kjournald

9 0 620 620 532 S 0.0 0.1 0:00.02 syslogd 9 0 460 460 404 S 0.0 0.1 0:00.03 klogd 9 0 0 0 0 S 0.0 0.0 0:00.00 khubd

Seja um Profissional Aprendendo com Profissionais

74

Linux System Administration


4665 root 4669 root 4682 root 4684 daemon 4687 root 4690 smmsp 9 0 524 524 464 S 0.0 0.1 0:00.00 inetd 10 0 1604 1604 1324 S 0.0 0.3 0:00.03 sshd 9 0 600 600 516 S 0.0 0.1 0:00.00 crond 9 0 688 688 596 S 0.0 0.1 0:00.00 atd 9 0 2868 2864 1888 S 0.0 0.6 0:00.01 sendmail 9 0 2444 2432 1632 S 0.0 0.5 0:00.00 sendmail

Seja um Profissional Aprendendo com Profissionais

75

Linux System Administration

Processo de Inicializao da Mquina


BIOS MBR(lilo/grub) KERNEL INIT GETTY LOGIN SHELL Quando ligamos o computador o primeiro programa que carregado o que est na BIOS ( SETUP ), este programa testa os dispositivos de hardware presentes (HD, Mem., CPU, Cdrom, etc). Aps estes testes, a BIOS carrega o Gestor de Incio que est localizado na MBR (primeiros 1024 bytes) Master Boot Record ou Setor de Boot Mestre, que tem como objetivo carregar o kernel do Sistema Operacional escolhido na lista de S.O. mostrados no Gestor de Incio. Os Gestores de Incio mais conhecidos so o GRUB e o LILO.
NOTA: Daqui em diante vamos supor que o Gestor de Incio que encontra-se na MBR o LILO e o Sistema Operacional escolhido pelo usurio o LINUX.

Ao carregar o LILO este passa por duas fases. A primeira executar o setor de boot para permitir o multiboot, caso exista vrios kernels diferentes; e a segunda carregar a imagem do kernel escolhido. No ponto que o KERNEL carregado, ele assume o controle da inicializao do sistema. Sua responsabilidade detectar os dispositivos de hardware suportados por ele e carregar seus mdulos. Aps ter feito toda essa tarefa, o kernel passa o controle para o INIT que por sua vez ir montar os sistemas de arquivos suportados pelo kernel, inicializar os servios bsicos da mquina (servios do mouse, rede, teclado, etc. (seria os [OKs ] que aparecem na tela)) outros servios que podem ser carregados na inicializao da mquina seria dos servidores: web, e-mail, samba, entre outros caso estes estejam instalados e configurados, claro! Aps o INIT o prximo passo a execuo do GETTY que por sua vez disponibiliza a tela de LOGIN (mingetty para o modo texto e kdm do kde, gdm do gnome ou xdm do XFree86 para o modo grfico) que por sua vez aguarda uma interao do usurio que a digitao do login e senha. Aps ser passada essas informaes feito a checagem nos arquivos /etc/passwd e /etc/shadow. Caso os dados informados (login e senha) sejam corretos, alguns outros arquivos so lidos/executados. So eles: Seja um Profissional Aprendendo com Profissionais 76

Linux System Administration


/etc/profile

- arquivo que indica caminhos de binrios-comandos (PATH), manuais das

ferramentas (MANPATH), configurao de permisses, identificao do usurio e do grupo. Ele indicado para passar caminhos de ferramentas que so necessrias a mais de um usurio, evitando assim a configurao personalizada para cada usurio;
~/.bash_profile:

arquivo pessoal que tipicamente possui os caminhos dos binrios de usurio e ou

ferramentas/scripts que devem ser executados somente por tal usurio;


~/.bashrc:

este arquivo armazena as aliases para comandos no linux (aliases so apelidos para os

comandos) que surtem efeito somente para o usurio que possui tal arquivo, ou seja, as aliases do usurio X no surtem efeito para o usurio Y e vice-versa. Aps a execuo destes trs arquivos nesta sequencia, ento disponibilizado um SHELL (interpretador de comandos) para o usurio.

Seja um Profissional Aprendendo com Profissionais

77

Linux System Administration

Instalao e configurao do Gestor de Incio LILO


LILO - Linux Loader: o principal gestor de inicializao do Linux. Permite passagem de configurao tanto em arquivos quanto por parametro na inicializao da mquina. Arquivo de configurao: /etc/lilo.conf Este arquivo possui todas as informaes necessrias para a inicializao da mquina, como as parties ativas, local para uma possvel atualizao do lilo, localizao das diferentes imagens de kernel, arquivo que ser apresentado para o usurio ao iniciar o lilo, entre outras funes. 1 passo: Editar o arquivo de configurao do LILO.
# vi /etc/lilo.conf

01-boot=/dev/hda 02-map=/boot/map 03-install=/boot/boot.b 04-lba32 05-message=/boot/message 06-timeout=100 07-image=/boot/vmlinuz 08- root=/dev/hdaX 09101213label=linux read-only label=windows table=/dev/hda

01-informa a partio onde est instalado o setor de boot 02-utilizado para gravar o setor de boot, armazena as opes de boot. 03-armazena os dados anteriores da MBR.

(MBR)

04-permite que o boot do linux seja instalado aps o cilindro 1024. 05-mensagem que aparecer para o usurio, ao carregar o lilo. 06-tempo em dcimos de segundos para carregar o S.O. padro (default) 07-indica onde se encontra a imagem do kernel do linux. 08-indica a partio X onde est montado o diretrio raiz ( / ) do sistema 09-nome que ser apresentado no momento da seleo da imagem. 10-para garantir a consistencia e integriade do disco, caso rode o fsck. 11-indica a partio Y de outro S.O instalado. 12-nome que ser apresentado no momento da seleo do S.O. 13-indica a partio onde est armazenada a tabela de parties.

11-other=/dev/hdaY

Seja um Profissional Aprendendo com Profissionais

78

Linux System Administration 2 passo: Criar e editar o arquivo /boot/message


#vi /boot/message

3 passo: Para escrever as opes do arquivo /etc/lilo.conf no setor de boot digite:


# lilo -v

4 passo: Instalar o LILO na MBR:


# lilo

Inserir outros parmetros no arquivo /etc/lilo.conf :

prompt default=linux timeout 1200 vga=791

fora a interao do usurio com o lilo. indica a S.O. padro para ser carregado tempo em dcimo de segundos para poder escolher o S.O resoluo 1024x768.

O arquivo ficar da seguinte forma:


boot=/dev/hda map=/boot/map install=/boot/boot.b lba32 message=/boot/message vga=791 default=linux prompt timeout=1200

image=/boot/vmlinuz root=/dev/hdaX label=linux read-only

Seja um Profissional Aprendendo com Profissionais

79

Linux System Administration


other=/dev/hdaY label=windows table=/dev/hda

Passando parmetros para o kernel atravs do lilo


linux single: permite que

o Linux seja iniciado no modo monousurio (init 1). Este o modo de tipo de interpretador de comandos que dever ser utilizado.

manuteno do sistema.
linux init=/bin/bash: indica o linux root=/dev/hda9:

indica a partio em que encontra-se montado o diretrio raiz do sistema.

Neste caso a partio 9 do HD master que encontra-se na 1 IDE hda9.

Configuraes de Segurana
A utilizao do gerenciador lilo pode comprometer a segurana do sistema caso o administrador no saiba a correta configurao do seu arquivo de configurao /etc/lilo.conf, deixando uma lacuna para que as pessoas mal intencionadas acessem o sistema. O parmetro linux single (ou linux -s) permitem que as pessoas acessem o sistema como monousurio (init 1). Neste modo no solicitado login e senha de administrador para logar no sistema como root, basta apenas digitar linux single ou linux -s para acessar o sistema e ter permisses para fazer o que quiser (mudar a senha do root, deletar os arquivos de configurao do sistema como os arquivos /etc/passwd e /etc/shadow, entre outros). Para barrar este acesso utilizado o parmetro password=senha (que solicitar uma senha sempre aps a escolha do sistema operacional a ser carregado) Exemplo1; e o parametro restricted usado em conjunto com o password=senha (fazendo com que a senha, seja solicitada apenas para o modo monousurio (linux single)) - Exemplo2. 1 - password=123456 2 - restricted
password que ser solicitado sempre aps a escolha do S.O. solicita a senha somente para o modo de manuteno (linux single)

Seja um Profissional Aprendendo com Profissionais

80

Linux System Administration

O arquivo ficar da seguinte forma:

Exemplo 01
boot=/dev/hda map=/boot/map install=/boot/boot.b message=/boot/message vga=791 default=linux prompt timeout=1200 password=123456 image=/boot/vmlinuz root=/dev/hdaX label=linux read-only other=/dev/hdaY label=windows table=/dev/hda boot=/dev/hda map=/boot/map

Exemplo 02

install=/boot/boot.b message=/boot/message vga=791 default=linux prompt timeout=1200 password=123456 restricted image=/boot/vmlinuz root=/dev/hdaX label=linux read-only other=/dev/hdaY label=windows table=/dev/hda

Quando utilizada est configurao (password) outra configurao de segurana muito importante para impedir que os outros usurios do sistema tenham acesso de leitura sobre o arquivo /etc/lilo.conf. Para isso altere as permisses relativas ao grupo e outros usurios do sistema, executando o comando chmod com os modos 600 (-rw-------). Fazendo assim, com que apenas o root possa ler e alterar o contedo deste arquivo.
#chmod 600 /etc/lilo.conf

Senha para uma partio especfica

possvel setar uma senha para uma partio especfica ou para um determinado Sistema Seja um Profissional Aprendendo com Profissionais 81

Linux System Administration Operacional. Suponhamos que estejam instalados na mesma mquina o Windows e o Linux e o arquivo /etc/lilo.conf tenha a seguinte configurao:
boot=/dev/hda map=/boot/map install=/boot/boot.b lba32 message=/boot/message prompt timeout=100 image=/boot/vmlinuz root=/dev/hda5 label=linux read-only other=/dev/hda1 label=windows table=/dev/hda

de seu interesse bloquear o acesso ao Sistema Operacional Windows por exemplo, que est instalado na partio hda1. Ento basta acrescentar o parmetro password=senha dentro da sesso outros (other), o arquivo /etc/lilo.conf ficar da seguinte forma: ... ... ...
other=/dev/hda1 label=windows password=12345 table=/dev/hda

Seja um Profissional Aprendendo com Profissionais

82

Linux System Administration

O processo INIT na inicializao do sistema


Note que aps da carga dos mdulos do kernel, o controle do sistema passa para o processo INIT. O init executado pelo prprio kernel, quando executa o arquivo /sbin/init. O INIT executa todos os scripts localizados no diretrio /etc/rc.d/ que so: rc, rc.local e rc.sysinit (estes sero detalhados mais a frente), realizando assim a inicializao de todo o sistema. O init realiza as seguintes funes: Configurao bsica do sistema: carga do mapa de teclado, nome de host, ativao da rea de swap. Configurao final dos Hardwares: usb, placa de rede, etc; carga de mdulos;

Configurao de rede: interfaces de rede, roteadores, firewall; Inicializao dos servios: configurao dos servidores; Executar e disponibilizar as consoles virtuais: que promove a interao dos usurios no sistema.

Nveis de execuo ( Runlevel )


Os runlevels so nveis ou formas de inicializao do sistema operacional linux. Cada nvel de execuo possui seus arquivos que sero executados para inicializao da mquina. Cada nvel de execuo identificado por um nmero que vai de 0 a 6 (0-1-2-3-4-5-6).

Nveis de execuo em distro baseadas no Red Hat (Conectiva, Mandrake, Suse, Fedora, Linux)

Nvel 0 1 2 3 4

Descrio Desliga o sistema (nunca definir como initdefault) Mono-usurio Multi-usurio sem acesso a rede Multi-usurio com acesso a rede No utilizado Seja um Profissional Aprendendo com Profissionais 83

Linux System Administration Modo grfico

6 Reinicia o sistema (nunca definir como initdefault) Os nveis de 2 a 5 diferem entre as distribuies. Por exemplo: no Debian o nivel 2 por padro multi-usurio com suporte a rede e no Red Hat o nvel 2 por paro multi-usurio sem suporte a rede. Para saber o nvel de execuo atual, execute:
# runlevel

O INIT sempre ser o processo de nmero 1 do sistema, uma vez que o primeiro a ser executado. Visualize a sada do comando ps da forma:
# ps aux | grep init

NOTA: Este comando filtra apenas os processos que contm a palavra init na lista de processos do ps aux.

Observe que o PID no processo init [nivel de execuo] igual a 1. ou seja, ele o primeiro processo a ser executado no sistema. O INIT tambm um processo monitorador, pois no responde a nenhum sinal de kill: SIGKILL, executado por kill -9 <PID> ou pelo SIGTERM executado por kill -15 <PID>. Portanto sempre estar ativo, ele o pai de todos os processos.
#kill -9 #kill -15 1 1

#ps aux | grep init

NOTA: Observe que o processo INIT ainda est ativo!

Seja um Profissional Aprendendo com Profissionais

84

Linux System Administration

Comunicando com o processo INIT


possvel comunicar com o processo init atravs do comando homnimo init ou pelo comando telinit. Observe que o comando telinit um link simblico para o arquivo init que encontrase em /sbin. Execute: ls -l /sbin/telinit para visualizar. Sintaxe do comando:
#init <nvel de execuo>

De modo que, se desejar carregar outro nvel de execuo, basta digitar o comando init ou telinit da seguinte forma:
#init 5 #telinit 3 #runlevel N 5 3

carrega o modo grafico carrega o mogo texto mostra o nvel de execuo

Observe que o comando mostra o nvel de execuo anterior e o atual. Se o nvel atual o que foi carregado no processo de inicializao, ou seja, no foi alterado com o comando init ou telinit aparecer a letra 'N' no lugar do nvel anterior, da seguinte forma:
# N runlevel 3

caso o nvel de execuo padro seja o nvel 3

Se o nvel anterior for o nvel 1 (mono-usurio) aparecer a letra 'S' indicando que estava como linux single.
# S runlevel 3 caso o nvel de execuo anterior seja 1

Seja um Profissional Aprendendo com Profissionais

85

Linux System Administration

Outras funes do INIT


Como foi falado anteriormente o init o nico processo que sempre est vivo; estas caractersticas o fazem o nico capaz de realizar vrias outras tarefas alm da inicializao do sistema, sendo:

Monitoramento do sistema: alguns processos podem ser marcados como sempre vivos mas se por alguma razo este processo morre o init tem a responsabilidade de re-executar o processo tornando-o vivo novamente. Um bom exemplo de processo que no pode morrer so os terminais, pois eles que do acesso ao sistema.

Desligamento automtico: quando h uma queda de energia muito prolongada os no-breaks mandam um sinal SIGPWR (30) ao processo init comunicando que a sua carga de energia baixa, fazendo assim com que o init desligue corretamente a mquina, aps algum tempo (shutdown -f -h +2 Ser desligado em 2 minutos). Caso a energia volte antes que a mquina seja desligada, o nobreak manda essa informao ao processo init para abortar o processo de desligamento enviando o sinal -c no comando shutdown (shutdown -c mensagem) , fazendo assim com que seja abortado qualquer sinal de shutdown anterior.

O Arquivo /etc/inittab
A configurao deste arquivo feita atravs de quatro campos separados por dois pontos (:). identificao : niveis-de-execuo : ao : processo 1) identificao: representa a identificao da linha. O ideal usar duas letras por questes de compatibilidade, nas verses mais recentes pode-se utilizar ate 4 caracteres. Este valor totalmente arbitrrio, podendo ser escolhido qualquer combinao de caracteres, desde que seja nico. 2) nveis de execuo: informa o nvel de execuo, caso o campo esteja vazio ser executado para todos os nveis; se for 'S' indica que deve ser executado somente no nvel monousurio. Seja um Profissional Aprendendo com Profissionais 86

Linux System Administration 3) ao: indica o tipo de ao que ser executada, as mais utilizadas so:

Ao respawn wait once initdefault sysinit powerfail powerokwait ctrlaltdel

Descricao
O respawn faz com que o init re-execute o processo caso ele seja morto. O init aguarda por uma deciso anterior para prosseguir O processo ser executado apenas uma vez, na inicializao do nvel. Indica o nvel que deve ser inicializado por padro Indica o script de inicializao geral do sistema (/etc/rc.d/rc.sysinit) O processo ser executado quando o init receber o sinal SIGPWR (30), falha de energia. Indicador de restabelecimento de energia ( chamado somente aps um powerfail) Indica o processo ou comando que ser executado aps pressionar as teclas ctrl+alt+del

processo: indica o processo ou comando a ser executado.

Segue abaixo o contedo do arquivo /etc/inittab:

# Default runlevel. (Do not set to 0 or 6) - Seleciona o tipo do nvel que deve ser executado por padro (initdefault)
id:3:initdefault:

# System initialization (runs when system boots) - Indica que o script rc.S deve ser executado. Este ser sempre executado e somente uma vez (sysinit), e apenas na inicializao, pois possui informaes gerais que devem ser carregadas para qualquer nvel de execuo.
si:S:sysinit:/etc/rc.d/rc.S

# Script to run when going single user (runlevel 1) Script utilizando quando o lilo envia o sinal de inicializao no modo monousurio. Este script solicita a senha do usurio durante o processo de inicializao. Torna-se uma medida de segurana contra ataques de fora bruta. ( mais detalhes sobre segurana no inittab no curso de Segurana em Redes Linux )
su:1S:wait:/etc/rc.d/rc.K

Seja um Profissional Aprendendo com Profissionais

87

Linux System Administration # Script to run when going multi user Script utilizado para inicializar os runlevels 2, 3, 4 e 5.
rc:2345:wait:/etc/rc.d/rc.M

# What to do at the "Three Finger Salute" - esta ao definida para informar qual comando executado quando as teclas CTRL+ALT+DEL so acionadas.
ca::ctrlaltdel:/sbin/shutdown -t5 -r now

Vamos substituir a linha atual por:


ca : : ctrlaltdel : echo "nao e possivel reiniciar desta forma digite reboot"

# Runlevel 0 halts the system Script que executado quando o nvel 0 solicitado. Neste nvel o sistema operacional desligado.
l0:0:wait:/etc/rc.d/rc.0

# Runlevel 6 reboots the system - Script que executado quando o nvel 6 solicitado. Neste nvel o sistema operacional reiniciado.
l6:6:wait:/etc/rc.d/rc.6

# What to do when power fails quando o init recebe um sinal SIGPWR (30) de um processo que monitora uma interface serial ligada do computador a um no-break denominado UPS (Uninterrupted Power Supply Suprimento Ininterrupito de Energia) ele executa o comando shutdown.
pf::powerfail:/sbin/genpowerfail start

# If power is back, cancel the running shutdown caso a energia seja reestabelecida o init recebe um sinal SIGPWR alertando que h um arquivo chamado /etc/powerstatus contendo a palavra OK. Isso significa que a energia eltrica voltou. Ento o shutdown anterior deve ser cancelado.
pg::powerokwait:/sbin/genpowerfail stop

# caso a energia seja reestabelecida o init recebe um sinal SIGPWR alertando que h um arquivo chamado /etc/powerstatus contendo a palavra OK. Isso significa que a energia eltrica voltou. Ento o shutdown anterior deve ser cancelado. Seja um Profissional Aprendendo com Profissionais 88

Linux System Administration


pr:12345:powerokwait:/sbin/shutdown -c "Energia reestabelecida; Shutdown Cancelado!"

# These are the standard console login getties in multiuser mode - indica o nmero de consoles texto e grfico por padro. As linhas que esto habilitadas indicam o nmero de console texto e as linhas comentadas (#) ou que no existem indicam as consoles grficas.
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

# Esta linha executada somente quando o nvel de execuo o 4. A execuo desta linha faz com que o gerenciador de login do modo grfico seja carregado. Dentro do arquivo prefdm. Existem 3 gerenciadores de login, o kdm do kde; o gdm do gnome e o xdm da Xfree86.
x1:4:wait:/etc/rc.d/rc.4

Aps a modificao do arquivo /etc/inittab deve-se executar o comando init enviando o sinal 'q' para o arquivo ser lilo novamente, desta forma no necessrio reiniciar a mquina para que o arquivo inittab seja carregado. O comando deve ser executado da seguinte forma:
# init q

O diretrio /etc/rc.d/
Conhecendo os nveis de inicializao do sistema, importante saber o que cada um deles fazem, ou seja, que tipo de servios eles vo chamar e qual momento de faz-los. Cada nvel de execuo possui um diretrio com seus arquivos para inicializao, sendo o diretrio /etc/rc.d/rc0.d/ para o nvel 0, o diretrio /etc/rc.d/rc1.d/ para o nvel 1; /etc/rc.d/rc2.d/ para o 2 e assim por diante at o nvel 6. A sua chamada feita a partir do script /etc/rc.d/rc.S que executado pelo processo INIT. Seja um Profissional Aprendendo com Profissionais 89

Linux System Administration

Liste o contedo do diretrio /etc/rc.d/rc3.d/ por exemplo. Observe que existem vrios arquivos e estes comeam com a letra 'K' ou com a letra 'S' para indidar se o processo deve ser parado (kill) ou iniciado (start), respectivamente. Observe tambm, que aps uma dessas letras possue um nmero que varia de 00 at 99 que determina a prioridade de execuo dos arquivos contidos neste diretrio. Para estes servios podem ser utilizadas as ferramentas ntsysv e chkconfig nas distribuies baseadas em RedHat
NOTA: o diretrio de cada nvel de execuo pode variar de distribuio para distribuio. O exemplo acima retrata o diretrio das distribuies baseadas em Red Hat.

Arquivo /etc/issue
Este arquivo contm a mensagem de cabealho que apresentada na tela de login do modo texto (mingetty). Para visualizar o arquivo digite:
# cat /etc/issue Slackware Linux Entre com Login e Senha.

(Este comando ir apresentar a seguinte saida:)

Altere o contedo deste arquivo! Agora abra uma outra console texto (CTRL+ALT+F3 por exemplo). Observe que a mensagem que voc colocou no arquivo /etc/issue aparece na tela de login. Este arquivo utilizado para auxiliar os usurios informando o que eles devem fazer nesta tela.

Arquivo /etc/nologin
Este arquivo utilizado quando o administrador decide fazer uma manuteno no servidor. Este arquivo impede que os usurios comuns loguem no sistema. Por padro este arquivo no existe. Sempre que a existencia dele for necessria, o administrador deve cria-lo manualmente com o comando touch por exemplo (touch /etc/nologin). Observe que a funcionalidade desse arquivo vlida apenas dentro do diretrio /etc. Seja um Profissional Aprendendo com Profissionais 90

Linux System Administration Para testar a funcionalidade deste, execute o comando:


#touch /etc/nologin

Agora tente logar no sistema (com conta de usurio comun). Observe que isso no possvel, porm o usurio no sabe o que est acontecendo, ele apenas no loga. Ele pode pensar que est digitando a senha errada ou que sua senha foi alterada. Para eliminar essas possveis dvidas por parte dos usurios, o administrador deve digitar um texto dentro do arquivo /etc/nologin, informando aos usurios a indisponibilidade do sistema por determinado motivo. Para isso execute: (Insira uma mensagem informativa). Por exemplo:

#vi /etc/nologin

SERVIDOR EM MANUTENO! ESTE ESTAR DISPONVEL AS 15:00 HORAS. OBRIGADO PELA COMPREENSO! CPD/3WAY. Dessa forma nenhum usurio ir incomodar. Observe tambm que apenas a conta do superusurio, root, pode acessar o sistema com a existncia deste arquivo.

Arquivo /etc/motd
Este arquivo usado para passar alguma informao aps o logon para todos os usurios do sistema, como por exemplo: LOGIN EFETUADO COM SUCESSO! Altere o contedo deste arquivo e visualize sua sada aps o logon.

Arquivo /etc/securetty

Seja um Profissional Aprendendo com Profissionais

91

Linux System Administration Este arquivo mantm as consoles virtuais que o superusurio (root) pode efetuar logon no sistema. uma poltica de segurana que feita em servidores para impedir que pessoas que eventualmente conseguem descobrir a senha de root efetuem logon no sistema. Para prevenir esta situao, abra o arquivo /etc/securetty , e comente todas as linhas deste arquivo usando o caractere '#'. Caso optar por deixar a console tty5 (5 console CTRL+ALT+F5), por exemplo, descomentada, o root poder logar apenas nesta.
#vi /etc/securetty

Exemplo do contedo, com algumas entradas comentadas:


# tty1 # tty2 # tty3 # tty4 ... # tty12

No exemplo acima o root no conseguir realizar login nas consoles 1, 2, 3 e 4. Exerccio Se forem comentadas todas as linhas deste arquivo, o que fazer para efetuar o login no sistema com a conta de root, visto que sua entrada est bloqueada? Essa resposta bem simples. Voc pode efetuar o logon de sua conta pessoal no sistema, logo aps executado o comando su - <usurio>. Este comando far com que a senha do <usurio> seja solicitada. Vamos fazer um teste. Siga os passos: 7) Efetue logon no sistema com sua conta pessoa; 8) Agora digite $su - root; 9) Agora digite a senha de root. Observe que agora est logado com a senha de root; 10)Execute o comando exit para voltar conta anterior.

Seja um Profissional Aprendendo com Profissionais

92

Linux System Administration

Comando su
O comando su utilizado para se promover como sendo outro usurio no linux. Por exemplo: Voc est logado no sistema como fulano e deseja acessar o sistema como beltrano. No necessariamente deve ser efetuado logoff de fulano e logon de beltrano, basta utilizar o comando su beltrano e logo aps digitar a senha para este usurio. Assim que terminar de fazer a tarefa usando o usurio beltrano, deve ser digitado o comando exit fazendo com que o logon de beltrano seja encerrado, e retornado, ento, para o logon fulano. Faa este procedimento. Crie duas contas de usurio uma fulano e outra beltrano com senhas 123. logue como fulano e depois se promova como beltrano. Depois execute o comando exit. Observe que a conta do beltrano encerrada e a conta atual fulano. Este comando til quando so comentadas todas entradas no arquivo /etc/securetty (apresentado acima) e se deseja efetuar alguma configurao no sistema com a conta de root.

Seja um Profissional Aprendendo com Profissionais

93

Linux System Administration

Inicializao de Servios
O local dos arquivos scripts para inicializao dos servios difere de uma distribuio para outra. Nas distribuies baseadas no Red Hat (Fedora, Conectiva, Suse, etc) os scripts de inicializao dos servios se encontram dentro do diretrio
/etc/rc.d/init.d/ ou /etc/init.d/,

j no Slackware eles ficam dentro de /etc/rc.d/, por exemplo. Estes servios so chamados tambm de daemons. Um servio ou um daemon necessriamente um processo, podendo ser: servios de rede - como httpd (servidor de pginas Web), crond (agendador de tarefas), sendmail (servidor para envio de e-mails) ; ou no - como network (configurao de rede) e keytable (configurao de teclado), gpm (servio do mouse), etc. costume incluir a letra 'd' no final do nome de cada script para indicar os daemons, como httpd (HTTP daemon - servidor de pginas web), named (name daemon - servidor de nomes internet), etc. Todos estes servios ou daemons so padr onizados de forma que suportam as opes start e
stop; e

opcionalmente as opes status, restart e reload.

Opo

Funcao

Inicia o daemon / servio start Pra o daemon / servio stop Pra e inicializa o daemon / servio restart Recarrega o arquivo de configurao sem parar o daemon / servio reload Exibe se o status do daemon / servio - parado, rodando, travado, etc... status Nem todos os daemons suportam todas as opes citadas.

Para executar um daemon, basta indicar o camindo completo deste (/etc/rc.d/daemon) e informar o que voc deseja fazer com tal (start, stop, status, restart ou reload). Por exemplo: Se desejar utilizar o recurso do mouse, a primeira coisa a fazer identificar o daemon relativo ao mouse (gpm), depois so executar o comando. Este fica da seguinte forma
#/etc/rc.d/rc.gpm stop

Seja um Profissional Aprendendo com Profissionais

94

Linux System Administration


#/etc/rc.d/rc.gpm start #/etc/rc.d/rc.inet1 stop #/etc/rc.d/rc.inet1 start

O Arquivo /etc/login.defs
Este arquivo armazena as principais configuraes para a gerao dos usurios (quando se executa o comando adduser <user>), indo desde o gerenciamento de senha, at a criao do diretrio padro do usurio. Exemplo do contedo do arquivo:
MAIL_DIR /var/spool/mail local padro para os e-mail dos usurios.

PASS_MAX_DAYS PASS_MIN_DAYS PASS_MIN_LEN for alterada PASS_WARN_AGE

99999 0 5 7

nmero de dias para a utilizao da senha quantidade mnima de dias que o usurio dever tamanho mnimo da senha para usurios comuns qdo dias restantes que o usurio ser informado da

ficar com a senha sem altera-la.

expirao da senha.

UID_MIN UID_MAX

500 60000

Incio do UID para usurios comuns Fim do UID para usurios comuns

GID_MIN GID_MAX CREATE_HOME login

500 60000 yes

Incio do GID para usurios comuns Fim do GID para usurios comuns criado o diretrio home no momento da criao do

Seja um Profissional Aprendendo com Profissionais

95

Linux System Administration

Programao Shell
Programando no Linux Todos os sistemas operacionais da famlia Unix possuem shell (interpretador de comandos) programveis; ou seja, permite a criao de scripts interpretados, com funcionalidades prximas de uma linguagem completa, como C ou Pascal. Os scripts shell permitem ao administrador do sistema automatizar tarefas, criar novos comandos para o seu auxilio, entre outras vantagens. A sua utilizao muito variada, sendo que ele est presente em todo o sistema, pois a maioria dos arquivos utilizados pelo sistema so scripts, assim conhecer a sua sintaxe e compreender o que ele pode vir a fazer dentro de um arquivo fundamental para o administrador.
Nota: O intuito deste material no ensinar programao, mas sim apresentar os detalhes de script shell. Portanto, para se ter bom proveito, necessrio que o leitor conhea os fundamentos de lgica de programao.

Tipos de interpretadores Existem vrios tipos de interpretadores para o sistema Linux, sendo os principais: bash (mais popular e mais utilizado), sh (o sh no existe mais, foi superado e substitudo pelo bash, por isso, geralmente sh um link simblico para bash), csh (sintaxe parecida com C e o mais utilizado no Unix Solaris), tcsh (semelhante ao csh, porm mais completo). Todos os scripts criados devem comear com uma linha de comando especfica informando ao sistema operacional o tipo de interpretador de comandos a ser utilizado. O mais comum o bash. O nome do interpretador atualmente utilizado fica armazenado em uma varivel de ambiente chamada SHELL ou shell (depender do interpretador). Para saber qual est sendo utilizado, basta utilizar o comando abaixo:
# set | grep -i shell SHELL=/bin/bash

Seja um Profissional Aprendendo com Profissionais

96

Linux System Administration

Neste caso o comando utilizado foi: set para listar as variveis de ambiente, o pipe (para concatenar a sada do ltimo comando com a entrada do prximo), grep para fazer a filtragem de sada juntamente com a opo -i (desativa o case sensitive para esta filtragem) e o nome da varivel a ser pesquisada e oomo resultado obtido foi o nome do interpretador utilizado, que neste caso o bash. Quando o usurio possui um interpretador de comandos e uma senha vlida ele est apto a fazer login no sistema, porm algumas vezes no interessante que ele faa acesso, mas que possua uma conta para acessar outros tipos de servios do sistema, como internet, SAMBA e outros servios. A remoo do acesso ao sistema pode ser feita no arquivo de configurao de usurios /etc/passwd, devendo ser alterado o valor do ltimo campo de /bin/bash (ou outro interpretador) para /bin/false ou /bin/nologin. Para este material ser utilizado o interpretador de comandos bash, pois alm de ser o mais comum as distribues ele mais simples para trabalhar. Um Script simples Os scripts so arquivos regulares do sistema, no havendo necessidade de extenses especficas ou detalhes a mais, ele funciona simplesmente com a sua permisso de execuo ativada. A extenso seria usada para destacar o arquivo como um script. Um exemplo seria a extenso .sh representando shell ou bash. Os comandos dentro de um script podem ser os mesmos utilizados em uma linha de comando, pois o arquivo lido de forma sequncial (de cima para baixo) e lido conforme seria digitado diretamente pelo usurio. Poderia ser criado um script para escrever uma mensagem na tela para o usurio quando o script for executado, podemos fazer acesso a banco de dados como o MySQL, filtrar dados de comandos etc... Iremos inicialmente gerar um script simples com o comando echo, que permite escrever na sada padro, enviando uma mensagem simples, como: Ol Mundo! Exemplo: Seja um Profissional Aprendendo com Profissionais 97

Linux System Administration Crie e edite um arquivo chamado script1.sh dentro do seu diretrio $HOME, com o seguinte contedo:
# vi ~/script1.sh

Contedo:
#!/bin/bash echo "Ol Mundo!

O cabealho #!/bin/bash serve para informar o tipo de interpretador a ser utilizado. Caso no seja informado o tipo do interpretador no tem problema. A extenso .sh no necessria, mas ela colocada para facilitar sua indentificao pelo usurio, que tambm pode recorrer ao comando file. Aps a edio basta salvar o arquivo e alterar a sua permisso para executvel:
# chmod 755 script1.sh

Para executa-lo, existem vrias formas diferentes:

Utilizando o comando bash


# bash script1.sh Ola Mundo!

Neste caso no necessrio alterar as permisses do arquivo, mas toda veze que digitado o comando bash aberto um processo filho sobre o interpretador utilizado. Passando todo o caminho desde o raz at o nome do arquivo com a permisso de execuo:
# /tmp/script1.sh Ola Mundo!

Seja um Profissional Aprendendo com Profissionais

98

Linux System Administration Utilizando o comando "ponto espaco script"


#. script1.sh Ol Mundo!

Utilizando o comando ./ O ponto barra serve para indicar ao sistema que o arquivo est localizado no diretorio corrente, logo aps ele dever ser executdo, desde que o arquivo esteja com a permisso habilitada para isso.
# ./script1.sh

Ol Mundo!

NOTA: Neste dois ltimos casos obrigatrio que o usurio esteja dentro do diretrio onde est armazenado o script shell.

Outras opes do interpretador bash

No momento da execuo podem ser feitos testes para verificar o funcionamento do script e saber se ele foi corretamente criado. O teste pode ser feito passando uma das opes conforme a chamada. Sintaxe:
# bash [opo] script-shell

opo: -x apresentado o comando e depois a sua sada -n apenas faz um teste de verificao, no o executa. -v apresenta todo o script e depois o executa Exemplo:
#bash -x script1.sh

Seja um Profissional Aprendendo com Profissionais

99

Linux System Administration


echo "Ol Mundo! Ol Mundo!

#bash -n script1.sh

#bash -v script1.sh #!/bin/bash echo "Ol Mundo! Ol Mundo!

Sintaxe

A programao shell muito simples comparada as linguagens de comparao, mas ela tambm possui a sua prpria caracterstica, muito semelhante a linguagemC. Nela possvel declarar varivel, escrever mensagens, utilizar estruturas de condio e repetio, uso de funes modulares, uso de comandos do prprio interpretador, entre outros.

Comentrios

Os comentrios dentro de scripts so feitos utilizando o caractere #. Do ponto de onde ele estiver presente at o final da linha ser interpretado como comentrio. No script shell no existe declarao para um comentrio em vrias linhas, devendo o mesmo ser colocado uma por uma, portanto no existe bloco de comentrios, como em algumas linguagens de programao. Exemplo:
#!/bin/bash # Programa simples de Script Shell echo "Ol Mundo!" # Imprime Ol Mundo!!

Tipos de Variveis

Seja um Profissional Aprendendo com Profissionais

100

Linux System Administration Varivel Simples A varivel dentro do sistema s pode assumir o valor de string. Sua declarao se d no momento do recebimento de qualquer valor, de acordo com a estrutura: varivel=valor No precisa ter ";" ao final da linha e tambm no pode ter espaos entre a varivel e o sinal de igual, e o sinal de igual e o valor a ser recebido. As regras para a criao so muito semelhante s outras linguagens de programao, vide os seguintes pontos: 1. Usar caracteres alfanumricos e underline; 2. Comear com letra ou underline; 3. No pode conter espaos em branco ou acento. 4. A varivel gerada dentro do script apagada ao final da execuo do mesmo.

Acessando variveis O contedo da varivel pode ser lido com a insero do sinal "$" antes da varivel: $varivel

Exemplo: Criar um novo arquivo chamado script2.sh com o contedo:


#!/bin/bash Var=Teste de contedo" echo $Var

Salve o arquivo e o execute, a sada ser o contedo da varivel Var.

Comando echo

Como visto anteriormente o comando echo permite a escrita na sada padro, quando o mesmo no redirecionado para um arquivo, dispositivo, etc.

Seja um Profissional Aprendendo com Profissionais

101

Linux System Administration Abaixo sero mostradas algumas opes do comando ec ho: Opo: -n No pula a linha aps o echo -e Permite o uso dos caracteres de escape (tabulao, quebra de linha, bip, etc). Um exemplo do uso das opes acima podem ser feitas na linha de comando:
#echo -n "testando o uso do -n"

testando o uso do -n
NOTA: O uso do -e ser melhor visto aps o prximo tpico.

Caractere de escape Os caracteres de escape permitem a utilizao de organizao (como tabulao), saltar linha, chamar uma sinalizao sonora para o usurio, entre outras funes, assim ela sempre ser acompanhada de uma barra-invertida para indicar o tipo do caractere.

Quadro de funes do caractere de escape: Comando \a \b \n \r \t \v \\ \" Exemplo: Funo Alerta (sinal) Retorno de espao (backspace) Nova linha Retorno do carro Tabulao horizontal Tabulao vertical Apresenta o "\" Apresenta aspas duplas

Seja um Profissional Aprendendo com Profissionais

102

Linux System Administration


#echo -e "testando o uso \n dos \"caracteres de escape\" \n"

testando o uso dos "caracteres de escape" Caso o exemplo acima fosse escrito sem a opo -e o resultado seria:
#echo "testando o uso \n dos \"caracteres de escape\" \a \n"

testando o uso \n dos "caracteres de escape \a \n

Passagem de parmetros
No momento de executar o script possvel passar parmetros, que so informaes extras necessrias para o desenvolvimento do cdigo, por exemplo, capturar uma senha, ela poderia ser passada como parmetro e fazer comparaes dentro do cdigo. Os parmetros podem ser: Parmetro Descrio $0 Nome do script, juntamente com o seu caminho completo $1 a $9 Valores passados como parametros** $$ Nmero do PID do script $? Valor de retorno do teste do ltimo comando $# Quantidade de parametros existentes ** Para valores acima de 9 devem estar entre chaves, por exemplo, o parametro 15 seria descrito assim: ${15}

Leitura de teclado e variveis


Durante o andamento da interpretao pode ser solicitado a passagem de informaes, para estes casos existe o comando read que permite fazer a sua leitura e armazenar em uma varivel. Sintaxe: a. read varivel b. read [opo] "mensagem: " varivel Opo Descricao Seja um Profissional Aprendendo com Profissionais 103

Linux System Administration -p Solicita a infirmao e permite a visualizao do que est sendo digitado -s Solicita a informao, mas no permite a sua visualizao; utilizado para pedir senhas -n X Permite informar a quantidade de caracteres a serem lidos, X a quantidade em inteiro. Exemplo: Criar um novo arquivo chamado script3.sh Contedo:
#!/bin/bash echo -n "Digite algo: " read resposta echo "Foi digitado: $resposta ; o primeiro parametro e $2" $1 o segundo parametro

Execute o script passando parmetros para o mesmo:


# ./script3.sh AAA BBB

A sada ser:
Digite algo: ALGO Foi digitado: ALGO; o primeiro parmetro e AAA o segundo parmetro BBB.

Estruturas de Deciso (if)


A estrutura condicional permite definir uma deciso do programa; atravs de uma condio, que pode ser uma comparao entre dois valores, por exemplo. Sintaxe: if [ condio ]; then comandos fi A estrutura if permite o uso de else para o tratamento de erro na condio sem detalhes para a programao. Porm existe uma diferena para o uso de um novo tratamento de condio, caso ele Seja um Profissional Aprendendo com Profissionais 104

Linux System Administration seja verdadeiro, dentro do if que o comando elif (else + if) e podem existir vrios destes em seqncia, como na estrutura:
if [ condio ]; then comandos elif [ condio1 ]; then elif [ condio2 ]; then else comando fi

Criar um novo arquivo chamado script4.sh, que ser modificado at o final deste assunto:
#!/bin/bash #Faz a leitura da senha do usurio echo Digite a sua senha: read -s resposta senha="12345" #comparao da senha com a registrada dentro do cdigo if [ $resposta = $senha ]; then echo Senha correta! else echo Senha Incorreta! fi

A opo -s para read faz com que o comando no apresente na sada padro o que o usurio est digitando, servindo para aumentar a segurana. Execute o arquivo:
# ./script4.sh

A sada gerada ser a seguinte: Digite a sua senha: Se a senha digitada for igual a 12345, aparecer a mensagem Senha correta!, Caso contrrio mensagem apresentada ser Senha incorreta! Seja um Profissional Aprendendo com Profissionais 105

Linux System Administration

Comando exit
Caso fosse necessrio para o sistema sair em qualquer ponto do script por falta de alguma informao ou informao errada pode ser utilizado o comando exit 0. Assim quando o script o ler sair automaticamente do cdigo. O script script4.sh poderia ser reescrito assim:
#!/bin/bash #Faz a leitura da senha do usurio echo Digite a sua senha: read -s resposta senha="12345" if [ $resposta = $senha ]; then echo Senha correta! else echo Senha Incorreta! exit 0 fi

Na estrutura acima caso o usurio informe a senha errada o script invocar o exit que serve para sair do cdigo e retornar o resultado para a sada de erro padro (STDERR). A inserso do exit nesta linha de cdigo, parece no ter serventia. Isso acontece porque o comando est no final do cdigo. Nos prximos exemplos, a utilizao do comando exit ser mais clara.

Operadores de comparao
As condies podem ser tratadas de acordo com as tabelas: Entre valores inteiros

Seja um Profissional Aprendendo com Profissionais

106

Linux System Administration Condio $a -eq $b $a -le $b $a -ge $b $a -lt $b $a -gt $b $a -ne $b Significado $a = $b (igual) $a <= $b (menor ou igual) $a >= $b (maior ou igual) $a < $b (menor que) $a > $b (maior que) $a <> $b (diferente)

O uso dos sinais <, >, <=, >=, = e != podem ser usados para inteiros, desde que sejam executados entre dois parenteses (( )) ou pelo comando let. O comando let permite o uso de cdigos parecidos com a linguagem C, permitindo vrias coisas, como por exemplo interao de uma varivel (++ ou --): let var++ let var

Entre strings Condio Verdadeiro se -z $a No existir mensagem -n $a O mensagem existir $a = $b O contedo de ambas as variveis so iguais $a != $b O contedo das variveis forem diferentes Arquivos Condio -e arquivo -x arquivo -d arquivo -l arquivo -s arquivo

Verdadeiro se um arquivo regular arquivo executvel um diretrio for um link o arquivo existe e tem tamanho maior que zero

Valores booleanos Condio exprA -a exprB exprA -o expreB !exprA

Verdadeiro se ambas as expresses so verdadeiras (operador e) uma das expresses for verdadeira (operador ou) a expresso for falsa 107

Seja um Profissional Aprendendo com Profissionais

Linux System Administration

Abra o arquivo script4.sh e adicione novas linhas a este, sendo:


# vi ~/script4.sh #!/bin/bash #Faz a leitura da senha do usurio echo Digite a sua senha: read -s resposta senha="12345"

if [ $resposta = $senha ]; then echo Senha correta! else echo Senha Incorreta! exit 0 fi

echo -n "Informe o caminho do diretrio para backup: read diretorio if [ -d $diretorio ]; then echo Diretrio encontrado. Aguarde... fazendo o backup! else echo Diretrio no encontrado! exit 0 if tar cvfz backup.tar.gz $diretorio/*

Condio case
Permite a seleo de comandos especficos a partir de uma chave de seleo, ou seja, o usurio informa o que deseja fazer a partir de uma chave e os comando associados ao mesmo sero executdos. O seu uso mais frequente em menus para a indicao de um item e a tomada de comandos para esta opo. Sintaxe:
case chave in

Seja um Profissional Aprendendo com Profissionais

108

Linux System Administration


teste1) comandos;; teste2) comandos;; *) comandos;; esac

teste1 e teste2 so opes que o contedo de chave pode ter, mas caso chave possuia outro contedo * assumir esta opo, ou seja, * s ser utilizado caso o contedo de chave no encontre uma opo existente. Quando for necessrio utilizar os mesmos comandos para chaves diferentes pode ser utilizado o | (pipe) para separa-los. Uma linha das opes ficaria assim: teste3 | teste4 | teste5) comandos;; Ser inserido ao cdigo do script4.sh um menu para auxiliar o usurio, sendo:

adicionar um diretrio; fazer um backup; descompactar arquivo (tar.bz2);

Abra o arquivo script4.sh para editar seu cdigo:


#vi ~/script4.sh

Seja um Profissional Aprendendo com Profissionais

109

Linux System Administration


#!/bin/bash echo e \nMENU\n echo e (1) Cria diretrio echo e (2) Cria Back-up echo e (3) Descompacta arquivo.tar.bz2 echo n e \nDigite a opo escolhida: read n1 op

case $op in 1) echo n e \nInforma o nome do diretrio: read nome_dir if [ -d then echo e \nEste diretrio ja existe... else mkdir $nome_dir echo e \nDiretrio criado com sucesso... fi;; 2) echo n e \nInforme o diretrio para back-up: read dir_bkp $nome_dir ];

if

-d

$dir_bkp cvfj

]; $dir_bkp

then tar else echo e \nDiretdio no encontrado! fi;; 3) echo n e \nInforme o arquivo .tar.bz2: $dir_bkp.tar.bz2 echo e \nBack-up criado com sucesso!

read arq_tar.bz2

if

-d

$arq_tar.bz2 tar xvfj

];

then $arq_tar.bz2 echo e \nArquivo descompactado em `pwd` else echo e \nArquivo no encontrado! fi;;

Seja um Profissional Aprendendo com Profissionais

110

Linux System Administration

Gerenciamento de Arquivos de LOG


O que sao Logs? Logs so registros de eventos que tm como objetivo fornecer informao do comportamento do sistema. Os eventos registrados podem ser normais, como: login de usurio, acesso uma pgina Internet, execuo de um comando, etc. Tambm podem ser de eventos anormais, como: falta de espao em disco, travamento de um aplicativo, invaso do sistema, etc. Assim, atravs da anlise dos logs, o tcnico pode orientar suas aes para corrigir ou melhorar a configurao do sistema.

Formatos de arquivos de logs


O diretrio padro dos logs /var/log/ e geralmente utiliza dois formatos de arquivos: texto - por exemplo, /var/log/messages ou /var/log/syslog que so visualizados com comandos como tail.
#tail -f /var/log/messages

-f : fica lendo o arquivo repetidamente, ou seja, qdo o arquivo modificado a tela atualizada. binrio - por exemplo, /var/log/wtmp. que visualizado com o comando especf ico last
#last -f /var/log/wtmp

Gerando LOGs
A gerao de logs pode ser feita por qualquer daemon ou programa instalado no sistema. Os daemons mais comuns para a gerao de logs so o syslogd e o klogd.

Seja um Profissional Aprendendo com Profissionais

111

Linux System Administration

O Daemon Syslogd
O syslogd responsvel pelas mensagens de log do sistema. Uma das principais vantagens de possuir daemon de logs a centralizao das informaes geradas, evitando assim a leitura de dezenas ou centenas de arquivos.

O Daemon Klogd
O klogd monitora as mensagens de log do kernel. Ele realiza o monitoramento e envia as informaes por padro para o syslogd. O klogd registra as mensagens dentro do arquivo /proc/kmsg. Os principais diretrios e arquivos de log Nas tabelas a seguir sero apresentados os principais arquivos e diretrios de log com uma breve apresentao sobre os mesmos: Diretrios Diretrio /var/log/ /proc/ Descrio Armazena a maioria dos logs gerados no sistema. Armazena alguns arquivos de log gerados pelo kernel.

Arquivos do /var/log Arquivo messages dmesg secure boot.log kdm.log lastlog Descrio Armazena as principais mensagens do kernel. Armazena a mensagem de inicializao dos dispositivos do sistema Armazena mensagem a nvel do usurio, login, alterao, tipos de acessos. Armazena mensagens de inicializao de ferramentas do sistema. Armazena mensagens de abertura do ambiente grfico Armazena informaes de acesso do usurio. Arquivo binrio.

Arquivos do /proc Seja um Profissional Aprendendo com Profissionais 112

Linux System Administration

Arquivos Cpuinfo Kmsg Modules

Descrio Armazena informaes do processamento Armazena informaes geradas pelo kernel do sistema Armazena informaes dos mdulos carregados pelo sistema.

Seja um Profissional Aprendendo com Profissionais

113

Linux System Administration

Controle de cotas de disco


importante que o administrador de uma rede linux, tenha controle do espao que utilizado no servidor para garantir uma melhor performance e consistncia do mesmo. A criao de quotas de disco especifica o tamanho que cada usurio ou grupo poder utilizar, garantindo assim que um usurio no ocupe todo o espao do servidor com arquivos pessoais (mp3, filmes, jogos, etc). O controle de espao pode ser especificado tanto para cada usurio como para grupo. Se o limite ultrapassado o usurio perde a atribuio de criao de novos recursos (neste caso, arquivos e diretrios) dentro do sistema, ou seja, nada que ocupe espao. Existem duas formas de controle do armazenamento de dados no Linux: Controle de espao em disco; e/ou Quantidades de arquivos (ou diretrios) criados. A primeira forma de controle, importante para a manuteno do disco, pois o recurso de armazenamento possui um determinado espao fsico, no permitindo assim a gravao de nenhum bit a mais da capacidade. A segunda, auxilia no controle da quantidade de arquivos presentes no sistema, embora no parea ser til, serve para forar o usurio manter seus arquivos sempre atualizados, e os que no forem mais utilizados sejam deletados.

Verificando suporte a cota


Para utilizarmos o recurso de cotas de disco, o kernel do S.O. a ser utilizado dever ter a opo para quota de disco habilitada. Para isso, digite:
# less /lib/modules/{verso_kernel}/build/configs/{verso_kernel}-i386.config

Seja um Profissional Aprendendo com Profissionais

114

Linux System Administration

Digite: uname -r para saber a verso do kernel. Verifique se a linha CONFIG_QUOTA est descomentada e marcada com a opo 'y'. Exemplo:
CONFIG_QUOTA=y

Se esta linha estiver comentada (#) e/ou estiver marcada com a opo 'n'. O kernel no est dando suporte a quotas de disco, sendo necessrio a re-compilao deste. Verificando a instalao da ferramenta para quota de disco

Habilitando quota em uma partio


As quotas so aplicadas sobre as parties, devendo estas estarem habilidadas para usurio ou grupos, nas seguintes entradas: usrquota: quota para usurios; grpquota: quota para grupos;

Configurando quota de disco


Abrir o arquivo /etc/fstab e marcar as parties que recebero quota com o seu tipo (usurio e/ou grupos). Como no exemplo: <dispositivo> <pto_montagem> <tipo> <opo> <outras> 115

Seja um Profissional Aprendendo com Profissionais

Linux System Administration

/dev/hda2 /de/hda7

/boot /

ext3 ext3

defaults defaults,usrquota,grpquota

0 0

0 0

Neste exemplo marcado o dispositivo /dev/hda7, raiz do sistema, como o receptor de quota de disco tanto para usurios quanto para grupos. Criar dois arquivos dentro do dispositivo marcado para utilizao de quota (/dev/hda7). Neste caso a raiz do sistema. Os arquivos devero ter os nomes quota.user e quota.group para usurios e grupos respectivamente.
# # cd / touch quota.user quota.group

recomandado mudar as permisses destes arquivos, afim de no serem alterados por outros usurios.
# chmod 600 quota.* # ls -l quota.* -rw-------rw------1 root 1 root root root 0 Jul 15 14:14 quota.group 0 Jul 15 14:14 quota.user

Agora devemos refazer a leitura do sistema de arquivo que ir receber a quota de disco, ou seja, remontar o dispositivo /dev/hda7, /, com as novas alteraes que foram feitas no arquivo /etc/fstab. Para isso digite:
# mount -o remount /

Digite mount para visualizar as novas alteraes:


# mount /dev/hda7 on / type ext3 (rw,usrquota,grpquota) none on /proc type proc (rw) none on /sys type sysfs (rw)

Seja um Profissional Aprendendo com Profissionais

116

Linux System Administration Execute o comando quotacheck na partio selecionada, /, gerando assim a leitura do mesmo e marcando dentro dos arquivos quota.user e quota.group.
#quotacheck -augvm

Onde: a: checa todos os sistemas de arquivos registrados no /etc/fstab como dispositivo de quota; u: checa os arquivos e diretrios dos usurios; g: checa os arquivos e diretrios dos grupos; v: apresenta o andamento da verificao; m: fora a checagem. Depois de terminar a varredura do dispositivo, iremos ativar as quotas de disco. Para isso execute:
# quotaon -augv /dev/hda6 [/]: group quotas turned on /dev/hda6 [/]: user quotas turned on

Aps esses passos o sistema estar com as quotas ativas, mas isso ainda no implica em limites de utilizao para os usurios, sendo necessrio realizar estas configuraes manualmente, conforme prxima seo. Para desativar as quotas de disco basta usar o comando quotaoff com as mesmas opes utilizadas para ativ-las:
# quotaoff -augv /dev/hda6 [/]: group quotas turned off /dev/hda6 [/]: user quotas turned off

Seja um Profissional Aprendendo com Profissionais

117

Linux System Administration

Gerenciando quotas
Para habilitar o controle de cota de disco o administrador da rede deve definir, antes de mais nada, o tamanho que ser disponibilizado para cada usurio. A regra geral que todos os usurios tenham uma quota definida, de maneira que a soma dos limites de espao de todos os usurios no ultrapasse o espao disponvel da partio que est com o sistema de quotas ativado.

Definindo quota para usurios


Uma vez ativado as quotas ser necessrio o gerenciamento delas, definindo o tamanho de quota para cada usurio, tanto para o espao em disco quanto para a quantidade de arquivos. Por segurana, as quotas s podem ser editadas pelo root, com o seguinte comando: # edquota [opo] [usurio/grupo] opo: -g: define quota para um determinado grupo; -u: define quota para um determinado usurio.
#edquota -u pedrohenrique

Exemplo do contedo deste arquivo:


Disk quotas for user pedrohenrique (uid 505): Filesystem /dev/hda6 blocks 44 soft 0 hard 0 inodes 12 soft 0 hard 0

O seu contedo apresenta as seguintes colunas:

Seja um Profissional Aprendendo com Profissionais

118

Linux System Administration

Filesystems: especifica a partio que possvel ativar quotas. Blocks: especifica a soma em kilobytes de todos os arquivos do usurio na partio em questo (neste caso, o usurio rafael possui atualmente 44 KB de dados em /dev/hda6). Soft: o limite lgico do usurio, ou seja, a partir do momento que o usurio ultrapassa esse limite, ele ser alertado pela ferramenta quota para que diminua a quantidade de dados (por um perodo Grace Period explicado mais abaixo) porm ainda conseguir gravar dados no disco, at o limite hard. Hard: o limite fsico, o limite pelo qual o usurio no consegue passar. Inodes: a quantidade atual de arquivos do usurio (o usurio rafael possui 12 arquivos em /dev/hda6).
NOTA: Se os valores para a coluna soft e hard estiverem com o valor igual a zero, 0, isso indica que no esto definidos o tamanho mximo para utilizao do usurio e que este pode gravar o que quiser do tanto que quiser.

Edite o arquivo. Exemplo:


#edquota -u pedrohenrique

Disk quotas for user pedrohenrique (uid 505): Filesystem /dev/hda6 blocks 44 soft 2048 hard 3072 inodes 12 soft 0 hard 0

Agora o usurio rafael possui as seguintes configuraes de quota: Em disco:

Seja um Profissional Aprendendo com Profissionais

119

Linux System Administration Limite lgico: 2.048Kb = 2Mb Limite fsico: 3.072Kb = 3Mb Nmero de Arquivos: Ilimitado. At atingir sua quota mxima, claro! Definindo quota para outros usurios Para definir quotas de disco para outros usurios, no necessariamente, deve ser executado o comando edquota -u <user> para cada usurio cadastrado no sistema, at porque, isso leva um tempo considervel, caso o nmero de usurios seja grande. Uma maneira fcil e rpida para definir quotas para os outros usurios executando o seguinte comando: edquota -p <usuario_model> <lista_de_usurios>. Para isso deve existir um usurio com as quotas definidas para servir de modelo. Ou seja, todos os outros usurios tero as mesmas configuraes de quota que est sendo usada pelo usurio_modelo.
pedrohenrique leandro rubia angela jose maria ...

# edquota

-p

-p: indica que a lista_de_usurios deve possuir as mesmas configuraes que o usurio_modelo

Aps a execuo do comando acima execute:

# edquota # edquota # edquota # edquota # edquota

-u -u -u -u -u

leandro rubia angela jose maria

Observe que as mesmas configuraes de quotas definidas para o usurio rafael, agora esto Seja um Profissional Aprendendo com Profissionais 120

Linux System Administration definidas para os outros usurios indicados acima.

Outra opo importante para o comando edquota

# edquota

-t

Com a execuo desse comando com opo -t , um arquivo texto aberto. Esse permite definir o grace period, ou seja, o perodo de tempo mximo que o usurio ir receber a mensagem indicando que ele ultrapassou o limite lgico (soft). Execute o comando:
#edquota -t

Exemplo do arquivo: Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds
Filesystem /dev/hda6 Block grace period 7days Inode grace period 7days

Onde:

Filesystem: indica a partio onde existe quota de disco; Block grace period: indica o tempo de ultrapassagem do limite lgico de disco; Inode grace period: indica o tempo de ultrapassagem do limite lgico de arquivos. As unidades do arquivo podem ser: days (dias), hours (horas), minutes (minutos) ou seconds (segundos). No exemplo acima ambas opes esto configuradas para 7 dias. Ou seja, o usurio ir ser avisado no perodo de 7 dias e se ele no tomar providncias no final destes, ele no poder gravar Seja um Profissional Aprendendo com Profissionais 121

Linux System Administration mais nenhum arquivo, mesmo que o limite fsico (hard) ainda no estiver se esgotado. Se isso acontecer o usurio ter que eliminar alguns arquivos at ficar com o espao menor que o espao lgico, definido pela coluna soft.

Definindo quotas para grupo


A quota de grupo til quando se trabalha em determinados setores dentro da empresa e por sua vez dentro do sistema. Por exemplo, em uma empresa que possui um grupo chamado financeiro e um outro grupo chamado programao, ambos os grupos devem ter direitos de gravao dentro do sistema, mas interessante repassar uma quota para ambos os grupos, pois seno cada usurio presente dentro dos grupos ir aproveitar a quota de grupo para armazenar seus arquivos pessoais, para no ocupar seu espao no disco. Para editar quotas de grupos, basta executar:
#edquota -g <grupo> #edquota -g cpd

As configuraes de quotas para grupos so feitas da mesma forma que so definidas para os usurios. Suponhamos que a configurao do arquivo seja a seguinte:
Disk quotas for group cpd (gid 505): Filesystem /dev/hda6 blocks 5000 soft 19000 hard 20000 inodes 30 soft 0 hard 0

No exemplo os grupo possui 5.000kb em disco, seu limite lgico (soft) 19.000kb e seu limite fsico (hard) 20.000kb.

Seja um Profissional Aprendendo com Profissionais

122

Linux System Administration O ponto mais importante de se frizar que a quota de grupo um limite de utilizao para todos os usurios do grupo. Ou seja, vamos supor o seguinte caso:

cpd:x:507:pedrohenrique, fulano, beltrano, ciclano Utilizando o exemplo acima, os usurios do grupo cpd (pedrohenrique, fulano, beltrano, ciclano) podem utilizar juntos no mximo 20.000kb. Ou seja, se o usurio pedrohenrique utilizar 19500kb os outros usurios (fulano, beltrano, ciclano) podero usar no mximo 500kb. A confurao Grace Period vlida tanto para usurios quanto para grupos.

Seja um Profissional Aprendendo com Profissionais

123

Linux System Administration

Agendador de Tarefas
A administrao de um servidor exige executar tarefas peridicas, como: realizar backup no final do turno de trabalho, checagem e atualizao de banco de dados, leitura de informaes em email, entre outras tarefas. Neste sentido, foi criada# agendamento de tarefas denominado cron. O agendador cron, que o agendador padro do UNIX, vem no pacote crontabs. A configurao pode ser feita por vrias ferramentas e arquivos de vrias autorias, neste material ser abordada a ferramenta de autoria de Paul Vixie, que a mais popular entre os administradores de sistemas, o nome deste pacote vixie-cron.
ls /var/log/packages/

uma ferramenta de

Consulta na Base de Dados packages .


#ls /var/log/packages/

CRON
Essa ferramenta possui como daemon o servio crond, responsvel pela verificao dos arquivos de configurao do agendador. Ele verifica a cada minuto se houve mudana na data de seu diretrio de servios (ou na data do arquivo em /etc/crontab). Se tiver ocorrido mudana, o cron ir examinar a data de todos os arquivos crontab e recarregar aqueles que foram alterados. Por isso o servio crond no precisa ser reativado quando houver alterao em qualquer um de seus arquivos de configurao. Pode se usar a consulta aos processos para saber se o servio crond est rodando, como apresentado a baixo:

#ps ax | grep crond crond (pid 8478) est rodando...

NOTA: para no ter que inicializar o crond toda vez que for necessrio reiniciar o sistema, utilize a ferramenta ntsysv.

Seja um Profissional Aprendendo com Profissionais

124

Linux System Administration Importante: O cron assume que o sistema est sempre ligado e o servio crond rodando. Se a mquina ou o servio no estiver ativo no momento em que determinada tarefa est agendada, essa tarefa ento no ser executada. Os comandos sero executados desde que os campos minuto, hora e ms corresponderem hora atual, e quando pelo menos um dos campos de dia (dia ou dia_da_semana) corresponderem ao dia atual.

Arquivos de configurao
O arquivo de configurao do agendador cron o /etc/crontab, abaixo existe um arquivo exemplo:
# vi /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * roo 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly

As primeiras quatro linhas so variveis usadas para configurar o ambiente no qual as tarefas do cron esto rodando. Divididas na seguinte estrutura: SHELL designa ao sistema qual interpretador de comandos usar. PATH define o caminho usado para executar o comando. MAILTO indica o e-mail do responsvel que ir receber a resposta de execuo para todos os crons que forem realizados;(este e-mail utilizado para enviar notificaes de agendamentos que no foram bem sucedidos. Se o programa foi executado perfeitamente, no enviada notificao). Seja um Profissional Aprendendo com Profissionais 125

Linux System Administration HOME usado como o diretrio padro quando se executa comandos ou scripts.
NOTA: Se o campo da varivel MAILTO estiver definido como uma string vazia (MAILTO=""), o e-mail no ser enviado.

Cada linha do arquivo /etc/crontab representa a tarefa e tem o formato: <minuto> <hora> <dia> <ms> <dia_da_semana> <comando> Os campos so descritos da seguinte maneira: Campo minuto hora dia ms dia da semana Valores Validos Qualquer inteiro de 0 a 59 Qualquer inteiro de 0 a 23 Qualquer inteiro de 1 a 31 Qualquer inteiro de 1 a 12 Qualquer inteiro de 0 a 7

Se um campo tiver indicado com asterisco (*) , significa que aceitar toda a faixa de valores vlidos. Pode-se usar intervalos de nmeros. O intervalo um par de nmeros separado por hfen. Por exemplo, no intervalo 15-19 em uma entrada horas especifica execuo as 15 , 16 , 17 , 18 e 19 horas. Listas so vlidas tambm. Listas so nmeros separados por vrgulas. Exemplo: 1-5,8,12. Ou sena, 1, 2, 3, 4, 5, 8, 12. Tambm existe a possibilidade de se usar fraes de tempo, por exemplo de 10 em 10 minutos, o formato da frao */tempo, assim para o caso apresentado seria */10 no campo de minutos. Nomes (em ingls) tambm podem ser usados nos campos ms e dia_da_semana. Deve-se usar as trs primeiras letras do dia ou ms. (Segunda = mon = 1) O sexto campo (o restante da linha) determina o comando a ser executado. Deve-se utilizar todo o caminho at o comando. Para saber onde est o comando a ferramenta whereis pode auxiliar. As distribuies baseadas na Red Hat utilizam o arquivo /etc/crontab para organizar diretrios de tarefas, como em dias, horas, semanas e meses. O arquivo /etc/crontab pode utilizar o script runparts para executar os scripts nos diretrios /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, e /etc/cron.monthly. Os arquivos nesses diretrios devem estar escritos em shell script. Para adicionar Seja um Profissional Aprendendo com Profissionais 126

Linux System Administration uma tarefa, simplesmente coloque uma tarefa (sendo um arquivo executvel) dentro do diretrio especfico. A tarefa ser executada de acordo com o diretrio selecionado:
/etc/cron.hourly de hora em hora /etc/cron.daily todos os dias /etc/cron.weekly uma vez por semana /etc/cron.monthly uma vez por ms

Crontab
Crontab uma ferramenta que auxilia no manuseio do agendador por parte dos usurio comuns, pois os mesmos no possuem acesso aos diretrios de agendamento do cron. Os crontabs de todos os usurios so armazenados no diretrio /var/spool/cron, e cada arquivo possui o nome do usurio que o criou, ou seja, /var/spool/cron/nome_do_usurio . Para criar um crontab como um usurio normal, basta utilizar a ferramenta crontab com a opo -e e editar o crontab do usurio.
#crontab -e

Os arquivos utilizam a mesma sintaxe do /etc/crontab (frizar que estes arquivos no possuem o sexto campo. O campo do usurio dono do processo). O daemon do cron checa o arquivo /etc/crontab e os diretrios /var/spool/cron e o /etc/cron.d de minuto em minuto e verifica se houve mudanas. Se houveram mudanas, ento elas so carregadas para a memria. Um exemplo simples: Agendar uma cpia de todos os arquivos que se encontram dentro do diretrio /var/log para um diretrio dentro da pasta do superusurio s 18 horas. Agendar utilizando o comando crontab -e e como superusurio.

Seja um Profissional Aprendendo com Profissionais

127

Linux System Administration


# crontab -e

O comando acima ir abrir um arquivo com o editor padro do usurio. Acrescentar linha a ser executada: 0 18 * * * /bin/cp -rf /var/log/* /root/logs <minuto> <hora> <dia> <ms> <dia_da_semana> <comando> Acima foi passado para que s 18 horas de todos os dias ele faa uma cpia do diretrio /var/log. A utilidade de se fazer a cpia deste diretrio porque dentro dele ficam armazenadas informaes do sistema e acessos ao mesmo, alm de outras informaes. Fazer a cpia ajuda, porm no interessante apenas fazer a cpia, pois um dia que se esquea de realiza-la, todas as informaes do dia anterior sero perdidas. Assim aconselhvel criar um script shell para fazer a cpia, empacotar e compactar os arquivos. Portanto dever ser criado um arquivo com o nome de script.sh dentro do diretrio do root, alm de um diretrio chamado logs. O cdigo do script pode ser:
#vi /root/script.sh

#!/bin/bash cd /var/log tar cvfz backup`date + %m%d`.tar.gz * mv backup* /root/logs

O script acima ir executar os seguintes comandos:

entrar no diretrio /var/log (aps a finalizao do script ele retornar para o diretrio antes da sua chamada). empacotar e compactar todo o contedo do diretrio /var/log com o nome de backup e complementada pela data do dia. mover o backup gerado para dentro do diretrio /root/logs.

Seja um Profissional Aprendendo com Profissionais

128

Linux System Administration

Controlando o acesso cron


Os arquivos /etc/cron.allow e /etc/cron.deny so usados para restringir o acesso ao cron. O /etc/cron.allow contm a lista de usurios permitidos a usar o cron. J o /etc/cron.deny contm a lista de usurios negados ao uso do cron. O formato para restringir colocar um nome de usurio por linha. Esses arquivos de controle de acesso so lidos todas as vezes que um usurio tenta adicionar ou remover tarefas no cron. Normalmente este arquivo no existe, podendo ser gerado no momento de sua chamada com o editor de sua preferncia. Exemplo do contedo de cada um destes arquivos:
cron.allow # vi /etc/cron.allow pedrohenrique leandro

cron.deny # vi /etc/cron.deny rubia angela

De acordo com os exemplo acima os usurios rafael e fulano podero utilizar o agendador, porm os usurios ciclano e beltrano no podero fazer o mesmo pois o seu nome se encontra dentro do arquivo de negao. Caso o usurio ciclano tente usar o comando crontab -e para agendar algo receber a seguinte resposta:
$ crontab -e

You (ciclano) are not allowed to use this program (crontab) See crontab(1) for more information A resposta foi a seguinte: Voc (ciclano) no possui permisso para usar este programa (crontab) Veja crontab(1) para maiores informaes
NOTA: caso no for utilizar as permisses para a execuo do agendador ambos os arquivos no devero existir no sistema, pois eles podero negar todos os usurios, inclusive o root, de utilizar o agendador crontab.

Seja um Profissional Aprendendo com Profissionais

129

Linux System Administration

Anacron ( Para RedHat )


O anacron um executor de tarefas agendadas que por algum motivo no foram executadas. Quando o computador necessita ser desligado e j existe alguma tarefa agendada justamente no horrio que ela est desligado, ao inicializar o sistema o anacron verifica a tabela do /etc/anacrontab, e caso alguma no tenha sido executada ele o far imediatamente. O seu uso recomendado quando o sistema pode no estar executando no momento de tarefas agendadas, mas se o sistema permanece ligado 24 horas por dia e 7 dias na semana melhor utilizar o cron. Sintaxe: anacron [opes] [jobs] opes: -f fora a utilizao do anacron, ignorando o horrio de execuo -u apenas atualiza a data de execuo para a data corrente, porm sem realizar nada -n executa o comando imediatamente aps a sua chamada -d no lana o anacron para executar em backgroud, retorna tambm a verso, o horrio de ativao e a quantidade de jobs para serem executados -h chama o help do comando. Exemplo: agendar uma tarefa com o cron para ser executado s 2:00 da manh todos os dias. Chamar o agendador do cron:
#crontab -e

Acrescentar a tarefa para o anacron, neste caso ser uma cpia do arquivo /var/log/messages para dentro do diretrio do root:
0 2 * * * /bin/cp -Rf /var/log/messages /root/anacron_log

Seja um Profissional Aprendendo com Profissionais

130

Linux System Administration

Aps o agendamento basta inicializar o anacron e esperar pela ativao do sistema depois do horrio marcado:
# anacron

Para verificar se realizou a tarefa, solicite o anacron com a opo -d aps a ativao do sistema, lembrando que o computador dever estar desativado no momento de executar o cron agendado:
# anacron -d

Anacron 2.3 started on 2003-06-23 Normal exit (1 jobs run)

A primeira linha, foi agendada uma tarefa para executar, as 18:25 horas no dia 31 do ms 7, sabado-6, o comando bash script.sh. A segunda, agenda uma tarefa para executar s 23:00 horas em todos dias, ms e dia da semana o comando bash bkp-rede.sh. Execute comando para verificar as tarefas pessoais que foram agendadas
#crontab -l # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.2704 installed on Fri Jul 30 17:02:45 2004) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) 25 0 18 23 * 31 * 7 * 6 bash script.sh bkp-rede.sh bash

Seja um Profissional Aprendendo com Profissionais

131

Linux System Administration

Configurao dos Dispositivos de Hardware


Para efetuar configuraes de hardware necessrio e importante fazer uma pesquisa sobre o tipo de cada um deles e verificar as ferramentas que auxiliam na sua configurao. Cada distribuio linux possui suas ferramentas especficas. Neste material sero abordados configuraes de hardware para distribuio Slackware 10.2. Ferramentas: Alem dessas, existe a ferramenta PKGTOOL, para auxiliar a configurao de alguns dispositivos em modo texto. Para visualiz-la execute o comando:

Configurando impressora com CUPS


1) Passo: Habilitar servidor de impressao
# /etc/rc.d/rc.cups stop # /etc/rc.d/rc.cups start

2) Passo: Logar no servidor CUPS atravs do browser

Seja um Profissional Aprendendo com Profissionais

132

Linux System Administration Existem vrios comandos afins de gerenciar a fila de impresso, alguns deles sero comentados abaixo:
#lpq -a Rank active 1st Owner root root Job 6 7 File(s) testpage.asc testpage-a4.ps Total Size 1024 bytes 18432 bytes

Este comando usado para mostrar a fila de impresso de todas as impressoras que esto em atividade na mquina local.
#lpstat hp840-6 hp840-7 root root 1024 18432 Ter 03 Ago 2004 19:32:11 BRT Ter 03 Ago 2004 19:32:21 BRT

Este comando mostra com menos detalhes a fila de impresso.


#lpq a Rank active 1st lista a fila de impresso Owner root root Job 6 7 File(s) testpage.asc testpage-a4.ps Total Size 1024 bytes 18432 bytes

# lprm

remove da fila a impresso de job 7

# lpq a Rank active

mostra a nova fila de impresso Owner root Job 6 File(s) testpage.asc Total Size 1024 bytes

Este comando, lprm <job>, remove um arquivo identificado por <job> da fila de impresso. interessante visualizar-mos o identificador (job) do arquivo para remov-lo. Entretanto a execuo desse comando sem o job, lprm, far com que o prximo da fila seja removido.
# lpr /etc/passwd

Seja um Profissional Aprendendo com Profissionais

133

Linux System Administration O comando acima envia um job (arquivo para impresso) para fila de impresso. Verifique com o comando lpq -a.
# lpq -a Rank active 1st Owner root root Job 6 8 File(s) testpage.asc passwd Total Size 1024 bytes 2048 bytes

possvel remover vrios arquivos da fila de impresso. Para isso usamos o comando lprm identificando todos os jobs que devem ser removidos da fila. Observe os comandos:
# lprm 6 8 # lpq -a no entries

O primeiro comando remove os arquivo de job 6 e 8 respectivamente; o segundo lista a fila de impresso com nenhum job em atividade.

Seja um Profissional Aprendendo com Profissionais

134

Linux System Administration

Configurao Bsica do Servidor NFS


Lado Servidor 1 passo: Verificar se alguns pacotes esto instalados no sistema: portmap e nfs.
# ls /var/log/packages | grep portmap portmap-5.0

# ls /var/log/packages | grep nfs nfs-utils

2 passo: Verifique se o daemon portmap est rodando. Para isso execute:


# ps ax | grep portmap portmap (pid 1515) est rodando...

Caso esteja parado, inicie-o.


# /etc/rc.d/portmap start

3 passo: Editar o arquivo /etc/exports de forma a identificar os diretrios/arquivos que devero ser compartilhados publicamente ou no. Ele configurado identificando duas colunas, a primeira deve possuir o caminho absoluto do diretrio/arquivo que ser compartilhado; a segunda deve possuir informaes sobre as mquinas que podero utilizar este compartilhamento (IP/MASCARA) e suas devidas permisses.

Seja um Profissional Aprendendo com Profissionais

135

Linux System Administration


#vi /etc/exports

Exemplo de contedo deste arquivo:


/publico 10.62.0.0/255.255.0.0(rw,no_root_squash)

Neste exemplo o diretrio que est sendo compartilhado publico que encontra-se no /. Este est disponvel para rede 10.62.0.0 de mascara casse B, 255.255.0.0, ou seja, todos computados, com permisses de leitura e escrita (rw) e que o root das mquinas cliente tero privilgios de root no diretrio compartilhado do servidor que est definido pela opo no_root_squash. Se desejar que isso no seja possvel, substitua no_root_squash por root_squash, o mesmo vale para a opo rw podendo ser substituda por ro (read-only somente leitura). 4 passo: reiniciar o daemon do nfs
# /etc/rc.d/nfs stop

5 passo: Verifique os compartilhamentos existentes


#exportfs -v /publico 10.62.0.0/255.255.0.0(rw,wdelay,no_root_squash)

Lado Cliente

1 passo: Efetuar a montagem do compartilhamento indicando o IP do Servidor. Por exemplo;


# mount -t nfs 10.62.0.104:/publico /opt

Sintaxe do comando acima: Seja um Profissional Aprendendo com Profissionais 136

Linux System Administration


# mount -t nfs IP_Server:Caminho_do_copartilhamento ponto_de_montagem

2 passo: Digite o comando mount para verificar todos dispositivos montados atualmente.
# mount /dev/hda5 on / type ext3 (rw,usrquota,grpquota) /dev/hda2 on /boot type ext3 (rw) nfsd on /proc/fs/nfsd type nfsd (rw) ... 10.62.0.102:/publico on /opt type nfs (rw,addr=10.62.0.102)

login: <entre com login> Password: <entre com a senha> $ um Shell disponibilizado.

NOTA: deve previamente existir um usurio cadastrado no servidor que saiba login e senha para acessa-lo via telnet.

OBS.: O root no loga via telnet por padro. Deve-se editar o arquivo /etc/securetty para que essa opo seja habilitada, adicionando consoles virtuais do tipo pts/x.

#vi /etc/securetty

Exemplo de contedo deste arquivo: console vc/1 ... vc/11 tty1 ... tty11 Seja um Profissional Aprendendo com Profissionais 137

Linux System Administration pts/0 pts/1 pts/2 ...

Habilitando o acesso remoto via SSH (passo-a-passo)


Lado Servidor 1 passo: Verificar se o pacote do SSH est instalado no sistema:
#ls /var/log/packages | grep openssh

2 passo: Verifique se o daemon sshd est rodando.


# service sshd status sshd (pid 4031 1868) est rodando...

Caso no esteja, deve inicia-lo. Lado Cliente 1 passo: Verificar se o pacote do SSH est instalado no sistema:
#ls /var/log/packages | grep openssh

2 passo: Executar o comando:


# ssh leandro@10.62.0.102 The authenticity of host '10.62.0.102 (10.62.0.102)' can't be established. RSA key fingerprint is b7:72:0d:44:d3:14:89:fa:e5:83:41:32:6c:90:3a:bc.

Seja um Profissional Aprendendo com Profissionais

138

Linux System Administration


Are you sure you want to continue connecting (yes/no)?

3 passo: Digite yes para efetivar a conexo e logo depois a senha para o usurio informado.
Warning: Permanently added '10.62.0.102' (RSA) to the list of known hosts. rafael@10.62.0.102's password:

Se a senha informada estiver correta um shell ser exibido. $

Seja um Profissional Aprendendo com Profissionais

139

Linux System Administration

Compilao do Kernel
Por que recompilar o kernel ? A primeira inteno otimizar o kernel para o seu hardware a fim de melhorar a performance e suportar todos os dispositivos. Voc tambm pode querer atualizar o sistema obtendo suporte a novos resursos e dispositivos de hardware. Ou voc pode querer se livrar de BUG's. O que o kernel? O kernel Linux o centro do sistema operacional. A parte do sistema responsvel pelo gerenciamento de baixo nvel do hardware e software. Quais so os requerimentos mnimos de hardware? Isso varia muito de acordo com a arquitetura e a verso do kernel. Mas tenha em mente o seguinte para ter um sistema mnimo funcional: 16MB de RAM (memria fsica), 100MHz de clock de processamento e 100MB de espao em disco (memria virtual). #Verificando o clock e a arquitetura
#cat /proc/cpuinfo

Mdulos
Mdulos so os drivers disponiveis junto ao kernel do sistema operacional. No sistema Linux podemos manipular estes drivers da seguinte forma: Listar os mdulos carregados em memria
#lsmod Module cls_route cls_u32 cls_fw Size 4344 4892 2584 Used by 0 1 0 (unused) Not tainted (unused)

Seja um Profissional Aprendendo com Profissionais

140

Linux System Administration


sch_prio sch_sfq sch_tbf sch_cbq via-rhine mii crc32 pcmcia_core ide-scsi 2816 3360 2880 12640 12464 2272 2880 39972 9328 0 0 5 1 1 0 0 0 0 [8139too via-rhine] [8139too via-rhine] (unused) (unused)

Descarregar os mdulos carregados em memria


# rmmod <nome_mdulo> # rmmod via-rhine

Carregar mdulos em memria


# insmod < nome_mdulo> # insmod vfat # insmod fat

Carregar mdulos e suas dependncias


#modprobe <sintaxe> #modprobe vfat

Compilando o kernel 1) Passo: Baixe o pacote que contm o cdigo fonte mais atualizado do kernel Linux da srie 2.6 em http://www.kernel.org Abrindo a pgina no navegador web, clique no link F para fazer o download do pacote que contm os fontes. Voc tambm poder fazer o download com o comando wget como no exemplo abaixo: Seja um Profissional Aprendendo com Profissionais 141

Linux System Administration


$wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.7.tar.bz2

2) Passo: Instalar o kernel - Como superusurio (faa o login no sistema com o usurio root), descompacte e desempacote o arquivo assim:
# tar xjvf linux-2.6.7.tar.bz2 -C /usr/src

3) Passo: Crie o link simblico /usr/src/linux apontando para /usr/src/linux-2.6.7 assim:


# ln -sf /usr/src/linux-2.6.7 /usr/src/linux

4) Passo: Diretrio Fonte - Este ser o diretrio raiz de compilao, ou seja, o diretrio base para os passos seguintes.
# cd /usr/src/linux

O arquivo /usr/src/linux/.config armazena a configurao do kernel. Basicamente, este arquivo descreve o que dever ser incorporado ao kernel (y) e o que dever ser criado como mdulo (m). Incorpore ao kernel apenas o necessrio. O restante necessrio, configure como mdulo. O que no for necessrio, retire. Por exemplo, se voc no tem dispositivos pcmcia em sua mquina, retire da configurao o suporte a pcmcia. Isto possibilita uma maior performance por parte do sistema. O kernel Linux pode ser modular, ou seja, o suporte bsico fica incorporado ao kernel constantemente e o suporte a outros dispositivos, como por exemplo, uma placa de som, pode ser configurado como mdulo. Assim sendo, este mdulo da placa de som carregado na memria e plugado ao kernel apenas quando for necessrio, ou seja, apenas quando o usurio estiver utilizando som no sistema. Isto otimiza o sistema, utilizando seus recursos sabiamente. Existe uma configurao padro para cada tipo de arquitetura de harware no diretrio /usr/src/linux/arch. O nome do arquivo defconfig. Supondo que sua arquitetura de harware seja i386, Seja um Profissional Aprendendo com Profissionais 142

Linux System Administration a mais comum, faa uma cpia do arquivo defconfig para o diretrio raiz de compilao com o nome .config assim: 6) Passo: Copiar arquivo de configurao
# cp -f /usr/src/linux/arch/i386/defconfig /usr/src/linux/.config

Em alguns casos de arquitetura, pode existir um diretrio configs contendo configuraes especficas e testadas para cada modelo de mquina. Sendo assim, ao iniciar a ferramenta de configurao, voc j ter alguns itens marcados. No ser necessrio iniciar do zero uma configurao.

7) Passo: Ferramenta de configurao


# make menuconfig ou # make xconfig (modo grfico)

Perceba a existncia de uma configurao j pr-definida. Isto se deve ao fato de voc ter copiado o arquivo defconfig para o diretrio raiz de compilao com o nome de .config.

Algumas dicas: 1) Marque com * itens que sero incorporados ao arquivo do kernel como por exemplo, sistemas de arquivos que voc utiliza ou vai utilizar em suas parties. 2) Marque com m itens que sero criados como mdulo, ou seja, sero plugados ao kernel apenas quando houver necessidade de uso.

Seja um Profissional Aprendendo com Profissionais

143

Linux System Administration Este um passo demorado e deve ser feito com ateno. Acompanhe o help de cada item para saber o que est incluindo ou no. 8) Passo: Aps a configurao do kernel, vamos compil-lo realmente. Para isto, execute o comando:
# make

Este passo pode levar minutos ou de um dia para o outro. Depende do poder da mquina onda voc vai compilar. 9) Passo: Aps a compilao do kernel, vamos instalar os mdulos com o seguinte comando:
# make modules_install

10) Passo : Agora vamos copiar o kernel (bzImage) para o diretrio /boot. O arquivo est no diretrio de acordo com a arquitetura que voc estiver utilizando. Se voc compilou o kernel em um PC, o que mais comum, ento o comando para copiar o seguinte:
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.7-i386-1

Nomeie os arquivos de acordo com a verso do kernel que est compilando e de acordo com a arquitetura de hardware. Agora vamos copiar o arquivo System.map para /boot:
# cp /usr/src/linux/System.map /boot/System.map-2.6.7-i386-1

Criando um link simblico para System.map:

Seja um Profissional Aprendendo com Profissionais

144

Linux System Administration


# ln -sf /boot/System.map-2.6.7-i386-1 /boot/System.map

Agora vamos copiar o .config para /boot:


# cp /usr/src/linux/.config /boot/config-2.6.7-i386-1

11) Passo: Vamos criar um arquivo initrd assim:


# mkinitrd -o /boot/initrd-2.6.7-i386-1.img 2.6.7-i386-1

A opo (-o arquivo) diz onde salvar o arquivo initrd gerado. A prxima opo de parmetro a verso do kernel que voc compilou. Na verdade, o initrd no necessrio caso voc tenha incorporado ao kernel todo a hardware necessrio para sua inicializao e o restante que no necessrio para a inicializao como mdulo. Ou seja, voc no deve configurar como mdulo o chipset da sua placa me, suporte a IDE e todos os sistemas de arquivos que estiver utilizando, como ext3, jfs, xfs e reiserfs. 11) Passo: Vamos configurar o gerenciador de boot, GRUB ou LILO, qual voc utiliza?

Configurao GRUB (Isto apenas um exemplo):


# Note que voc no precisa regravar o GRUB no MBR ou partio especfica aps feitas as alteraes.

boot=/dev/hda default=0 timeout=10 title Debian GNU/Linux (2.4.25-i386-c4) root (hd0,1) kernel /boot/vmlinuz-2.4.25-i386-c4 ro root=LABEL=/

Seja um Profissional Aprendendo com Profissionais

145

Linux System Administration


initrd /boot/initrd-2.4.25-i386-c4.img title Debian GNU/Linux (2.6.7-i386-1) root (hd0,1) kernel /boot/vmlinuz-2.6.7-i386-1 ro root=LABEL=/ initrd /boot/initrd-2.6.7-i386-1.img

Configurao do LILO (Isto apenas um exemplo):


# Note que voc precisa regravar o LILO no MBR ou partio especfica aps feitas as alteraes.
boot=/dev/hda map=/boot/map install=/boot/boot.b default=2.6.7 lba32 prompt timeout=50 message=/boot/message menu-scheme=wb:bw:wb:bw image=/boot/vmlinuz label=2.4.25 root=/dev/hda3 append="hdc=ide-scsi" read-only

image=/boot/bzImage-2.6.0 label=2.6.7 root=/dev/hda3 read-only Execute lilo para regravar o LILO no MBR.
#lilo

Seja um Profissional Aprendendo com Profissionais

146

S-ar putea să vă placă și