linux guia lpi 101 - administrador de sistemas

Upload: alberto-teca

Post on 30-May-2018

245 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    1/89

    Guia de Estudo

    LPIC 101por Luciano Antonio Siqueira

    Lanado sob os termos daGnu Free Documentation License

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    2/89

    ndiceIntroduo................................................................................................................................................5

    Porque este documento foi escrito?...............................................................................................5 Quem se Destina........................................................................................................................5Verso Atualizada do Guia............................................................................................................5Contribuies.................................................................................................................................5Informaes de Copyright.............................................................................................................5Pr-requisitos.................................................................................................................................6Convenes usadas neste documento............................................................................................6

    Tpico 101: Hardware e Arquitetura.......................................................................................................7Objetivo 1.101.1: Configurao de Atributos Fundamentais de BIOS .............................................7

    Recursos de Hardware...................................................................................................................7Comandos para inspecionar dispositivos.......................................................................................8

    Objetivo 1.101.3: Configurao de Modems e Placas de som...........................................................9Modems.........................................................................................................................................9Placas de Som..............................................................................................................................10

    Objetivo 1.101.4: Configurao de Dispositivos no IDE...............................................................11Dispositivos SCSI (scuzzy).........................................................................................................11

    Objetivo 1.101.5: Configurao de Placas de Expanso Diversas...................................................12Objetivo 1.101.6: Configurao de Dispositivos de Comunicao..................................................12

    ISDN............................................................................................................................................12DSL..............................................................................................................................................13

    Objetivo 1.101.7: Configurao de Dispositivos USB.....................................................................13Tpico 102: Instalao do GNU/Linux e Administrao de Pacotes....................................................15

    Objetivo 1.102.1: Criao de Esquemas de Parties de Disco.......................................................15A Partio Swap..........................................................................................................................16

    Objetivo 1.101.2: O Gerenciador de Boot........................................................................................16

    LILO............................................................................................................................................16GRUB..........................................................................................................................................18Dispositivos de Boot Alternativos...............................................................................................18

    Objetivo 1.102.3: Compilar e Instalar Programas a partir do Cdigo Fonte....................................19Compresso e Descompresso de Arquivos................................................................................19Compilar e Instalar Programas....................................................................................................20

    Objetivo 1.102.4: Bibliotecas Compartilhadas.................................................................................21Objetivo 1.102.5: Administrao de Pacotes Debian (.deb).............................................................21Objetivo 1.102.6: Administrao de Pacotes RedHat (.rpm)...........................................................21

    Modos Maior e Menor.................................................................................................................21Assinaturas de Pacotes.................................................................................................................22

    Integridade do Pacote...................................................................................................................23Arquivos e Diretrios Pertinentes ao rpm....................................................................................23Exemplos de uso do rpm..............................................................................................................23

    Tpico 103: Comandos GNU e Unix ...................................................................................................25Objetivo 1.103.3: Trabalhando na Linha de Comando.....................................................................25

    Variveis......................................................................................................................................25Variveis pr-definidas................................................................................................................26Variveis especiais.......................................................................................................................27Histrico de comandos.................................................................................................................27Comandos Seqenciais................................................................................................................28Auto-Completar Comandos e Caminhos.....................................................................................28

    Objetivo 1.103.2: Processar Fluxos de Texto Atravs de Filtros.....................................................28Objetivo 1.103.3: Gerenciamento Bsico de Arquivos....................................................................33Diretrios e Arquivos..................................................................................................................33Encontrando Arquivos com o Comando find..............................................................................34

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    3/89

    Caracteres Coringa (file globbing)..............................................................................................35Objetivo 1.103.4: Fluxos, Canalizao e Redirecionamentos de Sada............................................36

    Redirecionamento........................................................................................................................36Canalizao..................................................................................................................................37

    Objetivo 1.103.5: Criar, Monitorar e Finalizar Processos................................................................38Tarefas em Primeiro e Segundo Plano.........................................................................................39

    Objetivo 1.103.6: Modificar a Prioridade de Execuo de um Processo.........................................40Objetivo 1.103.7: Procurar em Arquivos de Texto Usando Expresses Regulares..........................40Expresses Regulares e grep........................................................................................................40sed................................................................................................................................................41

    Objetivo 1.103.8: Edio Bsica de Arquivos com o vi...................................................................42Tpico 104: Dispositivos, Sistemas de Arquivos GNU/Linux e Padro FHS......................................45

    Objetivo 1.104.1:Criao de Parties e Sistemas de Arquivos.......................................................45fdisk.............................................................................................................................................45Criao de Sistemas de Arquivos................................................................................................46Partio Swap..............................................................................................................................46

    Objetivo 1.104.2: Manuteno da Integridade de Sistemas de Arquivos.........................................47Checando o Sistema de Arquivos................................................................................................47Examinando e corrigindo o Sistema de Arquivos........................................................................47Uso do Disco................................................................................................................................47

    Objetivo 1.104.3: Controle da Montagem e Desmontagem dos Sistemas de Arquivos...................48/etc/fstab.......................................................................................................................................48mount...........................................................................................................................................48Opes de montagem...................................................................................................................48

    Objetivo 1.104.4: Administrao de Cotas de Disco........................................................................49Objetivo 1.104.5: Controle de Permisses e Acesso Arquivos......................................................50

    Permisses Octais........................................................................................................................51umask...........................................................................................................................................51suid e sgid....................................................................................................................................52A Permisso sticky......................................................................................................................52Permisses Especiais em Formato Octal.....................................................................................53Atributos chattr............................................................................................................................53Listas de Controle de Acesso ACL...........................................................................................54

    Objetivo 1.104.6: Modificar Donos e Grupos de Arquivos..............................................................54Objetivo 1.104.7: Criar e Alterar Links Simblicos e Links Fsicos................................................55

    Hardlinks (Links Fsicos).............................................................................................................55Softlinks (Links Simblicos).......................................................................................................55

    Objetivo 1.104.8: Encontrar Arquivos de Sistema e Conhecer sua Localizao Correta.................56Hierarquia Padro de Sistemas de Arquivos (FHS).....................................................................56Encontrando Arquivos.................................................................................................................57

    Tpico 110: O Sistema de Janelas X.....................................................................................................59Objetivo 1.110.1: Instalar e Configurar o X11R6............................................................................59

    Compatibilidade de Hardware.....................................................................................................59Instalando o X11R6.....................................................................................................................59Configurando o X11R6................................................................................................................59Ajustes da Configurao..............................................................................................................60Sees de XF86Config e xorg.conf.............................................................................................60Fontes...........................................................................................................................................62Instalar fontes Xft........................................................................................................................62Instalar fontes Core......................................................................................................................62Servidor de Fontes xfs.................................................................................................................63

    Objetivo 1.110.2: Configurar o Gerenciador de Display..................................................................63xdm..............................................................................................................................................64gdm..............................................................................................................................................65

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    4/89

    kdm..............................................................................................................................................65Objetivo 1.110.4: Instalar e Personalizar um Ambiente de Gerenciador de Janelas........................65

    Menus..........................................................................................................................................65Emulador de Terminal.................................................................................................................66Comportamento de Teclado e Mouse..........................................................................................66Bibliotecas Adicionais de Aplicativos.........................................................................................67

    DISPLAY Remoto.......................................................................................................................67Apndice 1.............................................................................................................................................69Objetivos detalhados para o exame 101...........................................................................................69Exam 101: Detailed Objectives........................................................................................................69

    Topic 101: Hardware & Architecture..........................................................................................69Topic 102: Linux Installation & Package Management..............................................................71Topic: 103 GNU & Unix Commands..........................................................................................74Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard...................................77Topic 110: The X Window System.............................................................................................80

    Apndice 2.............................................................................................................................................83GNU Free Documentation License..................................................................................................83

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    5/89

    Introduo

    Porque este documento foi escrito?

    Este material foi escrito quando da minha prpria preparao para os exames da certificao LPI nvel1. Depois de terminado, considerei que poderia ser til para outras pessoas que buscam a certificaoe sentem falta de material especfico em portugus. O exame para obteno do certificado divididoem duas provas, 101 e 102. Este volume especfico para a prova 101 e foi escrito tendo comoreferncia os objetivos detalhados para prova 101 fornecidos pelo prprio LPI. A lista dos objetivosdetalhados para o exame 101 pode ser conferida no primeiro apndice do presente volume. Maisinformaes sobre o LPI e suas certificaes em http://www.lpi.org/.

    Todo material contido neste guia foi basicamente retirado de HOWTOs, pginas de manual deprogramas e demais documentos disponveis atravs do Linux Documentation Project. Outraimportante fonte foi o livroLinux System Administration 1, lanado pelo LinuxIT, disponvel emhttp://savannah.nongnu.org/projects/lpi-manuals/.

    Quem se Destina

    O presente material destina-se todos que desejam obter a certificao Linux LPI nvel 1. No entanto,o guia tambm poder ser til a quem no pretende obter a certificao, mas interessa-se emaprofundar seus conhecimentos em administrao de sistemas GNU/Linux.

    Verso Atualizada do Guia

    Verses atualizadas deste guia podem ser obtidas em http://lcnsqr.byethost15.com/.

    ContribuiesTodos leitores so convidados a contribuir para o guia. Sugestes para aprofundar os tpicos eexerccios para cada objetivo sero muito bem vindos.

    Caso identifique informaes incorretas, erros de ortografia ou outros equvocos, informe o autor:

    Informaes de CopyrightCopyright (c) Luciano Antonio Siqueira.Permission is granted to copy, distribute and/or modify this document

    under the terms of the GNU Free Documentation License, Version 1.2or any later version published by the Free Software Foundation;with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.A copy of the license is included in the section entitled "GNUFree Documentation License".

    Leia The GNU Manifesto se voc quiser saber porqu essa licena foi escolhida para esse material.

    O guia foi escrito com todo esforo para garantir a confiabilidade das informaes contidas. Noentanto, as informaes aqui contidas so oferecidas sem qualquer garantia, expressa ou implcita. Oresponsvel pelo material aqui apresentado no se responsabiliza por possveis danos causados oualegao do gnero em relao este livro. Tampouco a leitura deste guia garantia de sucesso naobteno da certificao LPI nvel 1.

    5

    http://www.lpi.org/http://www.tldp.org/http://savannah.nongnu.org/projects/lpi-manuals/http://lcnsqr.byethost15.com/mailto:lcnsqr%20em%20yahooEcomEbrmailto:lcnsqr%20em%20yahooEcomEbrmailto:lcnsqr%20em%20yahooEcomEbrmailto:lcnsqr%20em%20yahooEcomEbrhttp://www.gnu.org/gnu/manifesto.htmlhttp://www.tldp.org/http://savannah.nongnu.org/projects/lpi-manuals/http://lcnsqr.byethost15.com/mailto:lcnsqr%20em%20yahooEcomEbrhttp://www.gnu.org/gnu/manifesto.htmlhttp://www.lpi.org/
  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    6/89

    Introduo

    Os logotipos, marcas registradas e smbolos usados neste livro so de propriedade de seus respectivosproprietrios.

    Pr-requisitos

    Para melhor utilizao deste guia, presume-se que o leitor j esteja familiarizado com o sistemaGNU/Linux. Portanto, os assuntos so abordados de maneira direta, com objetivo de serem apenasreferncia rpida para posterior estudo e exerccio mais aprofundados. O material foi escrito e testadonum computador rodandoLinux Slackware 10.2.

    Convenes usadas neste documento

    Comandos, opes de comandos, caminhos para arquivos/diretrios, sadas de programas einformaes tiradas de telas de terminal em geral so apresentados com fonte de tamanho fixo:

    Exemplo de tabela de rotas mostradas com o comando route:

    Kernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface200.228.60.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo0.0.0.0 200.228.60.1 0.0.0.0 UG 0 0 0 eth0

    Argumentos de comandos so geralmente mostrados em itlico, significando que devem sersubstitudos por valor apropriado:

    shutdown[opo] horrio [mensagem]

    Tambm so mostrados em itlico nomes e termos especficos ao tema:

    Projetos GNU geralmente incluem documentaes comoFAQ,Readme, ChangeLoge Guia deusurio/administrador. Podem estar no formatoASCII,HTML,LateXoupostscript. Estes arquivospodem ser encontrados em /usr/share/doc, em diretrios correspondentes aos programas.

    Termos em negrito so usados quando introduzidos ou muito relevantes para o assunto:

    Uma conta de usurio pode ser apagada com o comando userdel. A opo -r assegura que odiretrio pessoal do usurio tambm seja apagado.

    6

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    7/89

    Tpico 101: Hardware e Arquitetura

    Objetivo 1.101.1: Configurao de Atributos Fundamentais de

    BIOSPeso: 1

    Recursos de Hardware

    O hardware bsico do sistema configurado atravs do utilitrio de configurao de BIOS, que podeser acessado no incio do boot da mquina. Atravs deste utilitrio, possvel liberar e bloquear

    perifricos integrados, ativar proteo bsica contra erros (proteo bsica contra vrus e S.M.A.R.T.)e configurar endereos I/O, IRQ e DMA.

    IRQ: Requisio de Interrupo do dispositivo para a CPU, que interrompe a atividade em

    andamento e processa a instruo enviada pelo dispositivo. I/O: Endereo especfico no mapa de memria do sistema. A CPU ir se comunicar com o

    dispositivo lendo e escrevendo neste endereo.

    DMA: Canal que permite certos dispositivos acesso direto memria sem intermdio daCPU.

    Recursos padro utilizados por dispositivos comuns:

    Dispositivo Porta I/O IRQ

    /dev/ttyS0 0x03f8 4

    /dev/ttyS1 0x02f8 3/dev/ttyS2 0x03e8 4

    /dev/ttyS3 0x02e8 3

    /dev/lp0 0x378 7

    /dev/lp1 0x278 5

    Placa de Som 0x220 -

    comum que algumas mquinas, como servidores dedicados, sejam acessados apenas remotamente eno tenham um teclado conectado. Em caso de algum problema que faa a mquina desligar, comointerrupo no fornecimento de energia, importante que a mquina reinicie e volte a operar

    normalmente. Alguns BIOS procuram por um teclado e interrompem o boot caso no o encontrem.Para esse tipo de mquina sem teclado, imprescindvel que o BIOS esteja configurado para nochecar por teclado durante o boot.

    O kernel do Linux armazena informaes sobre recursos de dispositivos no diretrio /proc, nosarquivos:

    /proc/dma

    /proc/interrupts

    /proc/ioports

    /proc/pci

    7

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    8/89

    Tpico 101: Hardware e Arquitetura

    Trecho exemplo de /proc/ioports:

    0000-001f : dma10020-0021 : pic10040-0043 : timer0

    0050-0053 : timer10060-006f : keyboard0070-0077 : rtc0080-008f : dma page reg00a0-00a1 : pic200c0-00df : dma200f0-00ff : fpu0170-0177 : ide101f0-01f7 : ide00376-0376 : ide10378-037a : parport003c0-03df : vesafb03f6-03f6 : ide0

    03f8-03ff : serial(...)

    Comandos para inspecionar dispositivos

    lspci

    Lista informaes de chipset dos componentes PCI. Com a opo -vlista I/O e IRQ dosdispositivos.

    Exemplo de lspci:

    # lspci -v

    (...)00:0f.1 Communication controller: C-Media Electronics Inc CM8738 (rev 10)

    Subsystem: C-Media Electronics Inc CM8738Flags: medium devsel, IRQ 9I/O ports at dc80 [size=64]Capabilities: [40] Power Management version 2

    01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 630/730PCI/AGP VGA Display Adapter (rev 20) (prog-if 00 [VGA])Subsystem: Silicon Integrated Systems [SiS] 630/730 PCI/AGP VGA DisplayAdapterFlags: 66Mhz, medium devselBIST result: 00

    Memory at e0000000 (32-bit, prefetchable) [size=128M]Memory at efee0000 (32-bit, non-prefetchable) [size=128K]I/O ports at cc80 [size=128]Expansion ROM at [disabled]Capabilities: [40] Power Management version 1Capabilities: [50] AGP version 2.0

    Dmesg

    Mostra as mensagens do kernel, da identificao do hardware em diante. Essa informao estdisponvel em /var/log/dmesg e /var/log/messages.

    Exemplo de dmesg:

    8

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    9/89

    Tpico 101: Hardware e Arquitetura

    # dmesg(...)ttyS0 at I/O 0x3f8 (irq = 4) is a 16550Aparport0: PC-style at 0x378 (0x778) [PCSPP(,...)]parport0: irq 7 detected

    lp0: using parport0 (polling).io scheduler noop registeredio scheduler anticipatory registeredio scheduler deadline registeredio scheduler cfq registeredFloppy drive(s): fd0 is 1.44M(...)

    Objetivo 1.101.3: Configurao de Modems e Placas de som

    Peso: 1

    Modems

    Para utilizar um modem externo, tudo que precisa ser considerado a porta serial a qual ele estconectado. Se o modem for PCI interno, precisar-se- saber qual a porta I/O e a interrupoutilizadas pelo mesmo. Isso pode ser conseguido com o comando lspci -v.

    Para configurar a porta serial do modem interno, usa-se o comando setserial. Para checar se umaporta serial est em uso, usa-se setserial -gdispositivo.

    Checando portas serias com setserial:

    # setserial -g /dev/ttyS[0123]

    /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

    No caso do exemplo, apenas a primeira porta serial (/dev/ttyS0) est em uso. s demais podemser atribudos os valores de recursos do modem conseguidos atravs do comando lspci -v.

    Por exemplo, se os valores relativos ao modem forem I/O 0xdc80 e IRQ 9 pode-se atribuir essesvalores porta /dev/ttyS3, que est livre:

    # setserial /dev/ttyS3 port 0xdc80 irq 9 autoconfig

    e cria-se um link simblico /dev/modem para /dev/ttyS3:

    # ln -s /dev/ttyS3 /dev/modem

    O comando setserial tambm usado para controlar a velocidade da porta serial.

    Usar/dev/ttyS3 a 115kb:

    # setserial /dev/ttyS3 spd_vhi

    Argumentos setserial de velocidade:

    spd_hi

    56kb quando solicitado for 38.4

    spd_vhi

    9

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    10/89

    Tpico 101: Hardware e Arquitetura

    115kb quando solicitado for 38.4

    spd_shi

    230kb quando solicitado for 38.4

    spd_warp460kb quando solicitado for 38.4

    spd_cust

    Usar um divisor diferente quando solicitado for 38.4. A velocidade ser o valor do argumentobaud_base dividido pelo valor do argumento divisor.

    spd_normal

    38.4kb quando solicitado for 38.4

    A configurao do modem para fazer ligaes dial-up pode ser feita atravs do utilitrio wvdial ou

    dominicom.O script wvdialconf busca por um modem nas portas seriais e USB automaticamente e gera oarquivo /etc/wvdial.conf. Editando este arquivo com as informaes sobre o provedor deinternet, a ligao feita com o wvdial:

    # wvdial

    No minicom, os processos de configurao, discagem e autenticao so feitos manualmente, najanela do terminal do programa. Para configurar o modem, o minicom deve ser iniciado no modo deconfigurao:# minicom -s

    Diferente do wvdial, o minicom no executa o pppd automaticamente, cabendo ao usurio faz-lo para criar a interface de rede e ela um nmero IP. Esses procedimentos sero abordados maisprofundamente no no tpico 112 do exame 102, objetivo 1.112.4: Configurar o GNU/Linux com umcliente PPP.

    Se no foi possvel a comunicao com o modem atravs desses procedimentos e o modem estdevidamente conectado mquina, muito provavelmente trata-se de um winmodem. Winmodems sodispositivos dependentes de software adicional muitas vezes desenvolvido exclusivamente para

    plataforma MS-Windows. Dessa forma, se esse software especfico no estiver disponvel tambmpara GNU/Linux, o modem no funcionar.

    Placas de Som

    H dois tipos principais de suporte a placas de som no GNU/Linux, OSS (Open Sound System) eALSA (Advanced Linux Sound Architeture).

    Para encontrar o dispositivo de som:

    # lspci | grep -i audio00:0f.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)

    Caso o dispositivo no pde ser encontrado dessa forma, toda a sada de dmesg e lspci pode serconsultada para procurar o dispositivo correspondente ao udio.

    Identificada a placa, possvel carregar o mdulo correspondente, seja ele OSS ou ALSA. A entrada

    em /etc/modules.conf referente ao primeiro dispositivo de udio encontrado sound-slot-

    10

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    11/89

    Tpico 101: Hardware e Arquitetura

    0. Para carregar automaticamente a placa atravs do /etc/modules.conf, adicione nestearquivo a linhaalias sound-slot-0

    Informaes mais aprofundadas sobre a instalao e carregamento de mdulos do kernel seroabordadas no tpico 105 do exame 102:Kernel.

    Objetivo 1.101.4: Configurao de Dispositivos no IDE

    Peso: 1

    Dispositivos SCSI (scuzzy)

    H dois tipos de dispositivos SCSI:

    8 bit: 8 dispositivos incluindo o controlador.

    16 bit: 16 dispositivos incluindo o controlador.

    Dispositivos SCSI so identificados atravs de um conjunto de trs nmeros chamado SCSI_ID:

    1. O Canal SCSI. Cada adaptador SCSI suporta um canal de dados no qual so anexados osdispositivos SCSI. So numerados a partir de zero.

    2. O ID do dispositivo. A cada dispositivo atribudo um nmero ID nico altervel atravs dejumpers. A gama de IDs vai de 0 a 7 em controladores de 8 bit e de 0 a 15 em controladoresde 16 bit. O ID do controlador costuma ser 7.

    3. O nmero lgico da unidade (LUN). usado para determinar diferentes dispositivos dentrode um mesmo alvo SCSI. Pode indicar uma partio em um disco ou um dispositivo de fita

    especfico em um dispositivo multi-fita. Hoje no muito utilizado pois adaptadores SCSIesto mais baratos e podem comportar mais alvos por barramento.

    Todos dispositivos SCSI so listados em /proc/scsi/scsi:

    # cat /proc/scsi/scsiAttached devices:Host: scsi1 Channel: 00 Id: 00 Lun: 00Vendor: HL-DT-ST Model: RW/DVD GCC-4521B Rev: 1.00Type: CD-ROM ANSI SCSI revision: 02

    O comando scsi_info usa as informaes deste arquivo para mostrar o SCSI_ID e o modelo dodispositivo solicitado:# scsi_info /dev/scd0SCSI_ID="0,0,0"HOST="1"MODEL="HL-DT-ST RW/DVD GCC-4521B"FW_REV="1.00"

    Por padro, o dispositivo SCSI de boot o de ID 0, o que pode ser alterado na BIOS SCSI. Seexistirem tanto dispositivos SCSI quanto IDE, a ordem do boot precisa ser especificada na BIOS damquina.

    11

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    12/89

    Tpico 101: Hardware e Arquitetura

    Objetivo 1.101.5: Configurao de Placas de ExpansoDiversas

    Peso: 3

    A configurao de placas de expanso diversas engloba os aspectos abordados nos objetivosanteriores, mais um conhecimento mais slido sobre coldplug, hotpluge inspeo de hardware.

    Em linhas gerais, coldplug significa a impossibilidade de se conectar dispositivo sem a necessidadede desligar a mquina. Exemplos de dispositivos coldplug so placas PCI, ISA e dispositivos IDE. Namaioria dos computadores, CPU e pentes de memria so coldplug. Porm, alguns servidores de alta

    performance suportam hotplug para esses componentes.

    Hotplug o sistema que permite conectar novos dispositivos mquina em funcionamento e us-losimediatamente, como no caso de dispositivos USB. O sistema Hotplug foi incorporado ao ncleo domodelo de driver do kernel 2.6, assim qualquer barramento ou classe pode disparar eventos hotplugquando um dispositivo conectado ou desconectado. Assim que um dispositivo conectado oudesconectado, o hotplug dispara um evento correspondente, geralmente trabalhando junto do sub-sistema udev, que atualiza os os arquivos de dispositivos em /dev.

    O hotplug precisa estar liberado no kernel, atravs da opo CONFIG_HOTPLUG. Dessa forma,haver o arquivo /proc/sys/kernel/hotplug contendo o caminho para o programa hotplug(normalmente em /sbin/hotplug). A ao tomada pelo hotplug depender do nome do agente

    passado pelo kernel (nomes de agentes podem ser usb, pci, net, etc.). Para cada agente existeum script correspondente em /etc/hoplug/, que se encarrega de configurar corretamente odispositivo no sistema.

    Mesmo alguns dispositivos coldplug so configurados pelo sistema hotplug. Na hora do boot, o script/etc/init.d/hotplug (ou /etc/rc.d/rc.hotplugno slackware) dispara os agentes em/etc/hotplug/ para configurar aqueles dispositivos presentes antes da mquina ser ligada.

    Objetivo 1.101.6: Configurao de Dispositivos deComunicao

    Peso: 1

    ISDN

    H vrias maneiras de se usar ISDN no GNU/Linux. A mais simples empregar um dispositivo ISDN

    externo que disca, autentica e abre a sesso sozinho, disponibilizando a conexo pela interfaceethernet. Se o computador est ligado diretamente conexo ISDN, necessrio um dispositivochamado Terminal Adapter (TA).

    Em TAs conectados porta serial e em alguns dispositivos USB, aparecer uma interface decomandos AT exatamente como se o TA fosse um modem. simples porm pouco eficiente.

    Outra maneira mais eficiente de usar uma linha ISDN usar um adaptador (PCI, ISA, PCCARD)conectado diretamente ao barramento da mquina. O utilitrio isdn4linuxincorpora muitos dos

    percalos de uma conexo ISDN e a estabelece com se fosse uma interface de rede convencional.

    12

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    13/89

    Tpico 101: Hardware e Arquitetura

    DSL

    Como na conexo ISDN, o mais simples que um dispositivo DSL externo estabelea a conexo e ajacomo um roteadorpara a mquina. Se voc possui um modem DSL e seu provedor usa PPPoE (Point

    to Point Protocol over Ethernet) voc precisar de um cliente PPPoE. Neste caso, a ferramenta deconexo para DSL opppoe.

    Objetivo 1.101.7: Configurao de Dispositivos USB

    Peso: 1

    Dispositivos para interface USB (Universal Serial Bus) so divididos em classes:

    Display Devices

    Communication Devices

    Audio Devices Mass Storage Devices

    Human Interface Devices (HID)

    A porta USB operada por um controlador (Host Controller):

    OHCI (compaq)

    UHCI (intel)

    EHCI (USB v2.0)

    Uma vez conectados, os dispositivos USB podem ser inspecionados com o comando lsusb.

    # lsusbBus 002 Device 003: ID 05a9:a511 OmniVision Technologies, Inc. OV511+ WebCamBus 002 Device 002: ID 0f2d:9308 ViPower, Inc.Bus 002 Device 001: ID 0000:0000Bus 001 Device 001: ID 0000:0000

    As informaes detalhadas sobre os dispositivos USB conectadas so armazenadas no arquivo/proc/bus/usb/devices.

    O controle dos dispositivos USB feito pelo hotplug. Etapas executadas quando uma cmera USB conectada ao computador:

    1. Os mdulos USB do kernel identificam o evento USB e a ID vendor:product

    2. Esses dados so passados para /sbin/hotplug (ou outro, se o indicado em/proc/sys/kernel/hotplugno for o padro)

    3. O agente USB respectivo (/etc/hotplug/usb.agent ) associa o dispositivo ao produtocorrespondente. A relao entre dispositivo e mdulo consta no arquivo/etc/hotplug/usb.distmap.

    O primeiro estgio envolve procedimentos do kernel, enquanto o segundo e terceiro estgio envolvemo mecanismo do hotplug. O mapa USB correto precisa estar disponvel para iniciar corretamente odispositivo.

    13

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    14/89

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    15/89

    Tpico 102: Instalao do GNU/Linux eAdministrao de Pacotes

    Objetivo 1.102.1: Criao de Esquemas de Parties de DiscoPeso: 5

    Para acessar recursos em disco o sistema utiliza um mecanismo chamado montagem. Em sistemasUNIX, significa anexar um disco a um diretrio, chamado ponto de montagem. Para o usurio, osrecursos aparecem como uma rvore de diretrios e subdiretrios.

    A raiz da rvore de diretrios representada por uma barra / . necessariamente o primeirodiretrio a ter um dispositivo anexado. Depois de montada a raiz, os diretrios contidos nestedispositivo podero ser pontos de montagem para outros dispositivos.

    Processo de montagem:

    1. O carregador de boot carrega o kernel e transmite as informaes sobre a localizao dodispositivo raiz.

    2. Os demais dispositivos so montados conforme as instrues encontradas em /etc/fstab.

    Etapas da criao do layout de disco:

    Criar parties de tamanho especfico

    Escolher o sistema de arquivos

    Determinar um ponto de montagem para cada partio

    Duas parties o mnimo exigido em sistemas GNU/Linux, uma que ser a raiz / e outra queser a partio de troca swap. Muitas vezes, pode haver um terceira partio pequena, no incio dodisco, apenas para armazenar o kernel e o carregador de boot secundrio. Fora essas, no h regrasinflexveis quanto criao de parties, devendo ser avaliado o melhor esquema para a funo que osistema desempenhar.

    A partio raiz deve ser do tipo Linux Native, cujo cdigo 83 (0x83). Tudo no sistema poderexistir diretamente no dispositivo raiz. No entanto, certos tipos de arquivos so processados de formas

    bem distintas de outros arquivos. Em certos casos, interessante criar uma partio distinta para certodiretrio, principalmente em servidores que so muito exigidos. Essa estratgia tambm impede queos dados no disco se fragmentem muito.

    Outra questo o backup. Enquanto certos arquivos no necessitam de backup, outros exigem-no.

    Mesmo dentre os quais realizado o backup, alguns so pouco alterados durante um determinadoperodo enquanto que outros so constantemente alterados ou criados. A criao de partiesdiferentes para cada diretrio que comporte um tipo distinto de arquivos facilita as operaes decriao e recuperao de backup.

    Sugestes de diretrios que podem estar em outros dispositivos/parties:

    /var

    Este diretrio contm os as filas de email e impresso, que so muito manipuladas. Htambm os arquivos de log, cujo contedo est em constante alterao e crescimento.

    /usr

    Programas, cdigos fonte e documentao. O ciclo de alterao desses arquivos longo.

    15

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    16/89

    Tpico 102: Instalao do GNU/Linux e Administrao de Pacotes

    /tmp

    Espao temporrio utilizado por programas. Uma partio distinta para /tmp impedir quedados temporrios ocupem todo o espao no diretrio raiz, causando travamento do sistema.

    No necessita de backup.

    /home

    Diretrios pessoais do usurio. Uma partio distinta ajuda a limitar o espao disponvel parausurios comuns.

    /boot

    Ponto de montagem para a partio do kernel e do carregador de boot. Necessrio apenas casoo sistema exija que o kernel esteja antes do cilindro 1024 do disco.

    A Partio Swap

    Uma partio swap identificada pelo cdigo 82 (0x82), atribudo quando da sua criao.Geralmente, a partio swap do mesmo tamanho que o montante de memria RAM no sistema. Paraservidores, esses nmero pode ser maior. Uma partio swap muito maior que isso provavelmente noter o espao excedente utilizado. possvel haver mais de uma partio de swap.

    prefervel criar parties de swap nos dispositivos mais rpidos, se possvel em dispositivosdistintos daqueles que tm seus dados muito acessados pelo sistema.

    Tambm possvel criar grandes arquivos como rea de swap, o que geralmente feito em situaesemergenciais, quando o sistema ameaa ficar sem memria disponvel:# dd if=/dev/zero of=emerg.swp bs=1024k count=3232+0 registros de entrada32+0 registros de sada# mkswap emerg.swpSetting up swapspace version 1, size = 33550 kBno label, UUID=543baaad-d660-4a5d-881d-fb7f1485b992# swapon emerg.swp# cat /proc/swapsFilename Type Size UsedPriority/dev/hda2 partition 160640 39760 -1/root/emerg.swp file 32760 0 -2

    Objetivo 1.101.2: O Gerenciador de Boot

    Peso: 1

    A MBR(Master Boot Record) ocupa o primeiro setor do disco (512 bytes). Este primeiro setorcontm a tabela de parties e o carregador de boot. Terminado os procedimentos da BIOS, ocarregador de boot disparado, que por sua vez procura na tabela de parties uma partio ativa ecarrega o primeiro setor dessa partio.

    LILO

    O LILO (Linux Loader) dividido em trs componentes:

    lilo o carregador propriamente. instalado na MBR e carrega o boot loader de segundo

    estgio, geralmente localizado em /boot/boot.b

    16

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    17/89

    Tpico 102: Instalao do GNU/Linux e Administrao de Pacotes

    /etc/lilo.conf arquivo de configurao para o lilo. Principais opes em/etc/lilo.conf:

    boot Onde o lilo deve ser instalado. Geralmente na MBR, em /dev/hda.

    install O carregador de segundo estgio (/boot/boot.b o padro). prompt Oferece ao usurio a escolha do SO a iniciar.

    default Rtulo do dispositivo iniciado por padro. Se no houver, o primeiro listado em/etc/lilo.conf ser escolhido.

    timeout Associado a prompt, especifica a espera em dcimos de segundo.

    image ou other kernel ou dispositivo a ser carregado (usar other para outrossistemas). No incio do processo de boot, apenas os primeiros 1024 cilindros do discoestaro acessveis ao carregador de boot. Portanto, importante certificar-se de que a

    partio contendo o kernel (geralmente pequena, montada em /boot) esteja abaixo deste

    limite de 1024 cilindros) label Rtulo para a imagem de kernel

    root localizao do dispositivo contendo o sistema de arquivos raiz.

    read-only monta a raiz como somente leitura, para o fsck agir apropriadamente

    append passa parmetros para componentes compilados estaticamente no kernel

    linear/lba32 obriga o lilo a ler o disco usando endereamento de bloco linear. A opolinear geralmente usada para discos muito grandes e lba32 para permitir que o liloleia alm dos primeiros 1024 cilindros do disco. Essas opes no so aconselhveis.

    message especifica um arquivo contendo uma mensagem a ser mostrada no painel deboot do lilo.

    delay tempo de espera para que o usurio invoque o prompt, caso este no for invocadoautomaticamente.

    vga valor numrico especificando as preferncias visuais do terminal

    /sbin/lilo O utilitrio que l as configuraes em /etc/lilo.conf e instala ocarregador de boot. Deve ser executado toda vez que uma alterao for feita ao/etc/lilo.conf

    Exemplo de /etc/lilo.conf:

    boot = /dev/hdamessage = /boot/boot_message.txtdelay = 4timeout = 110vga = 788image = /boot/vmlinuzroot = /dev/hda3label = Linuxread-only

    other = /dev/hda1label = Windowstable = /dev/hda

    17

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    18/89

    Tpico 102: Instalao do GNU/Linux e Administrao de Pacotes

    GRUB

    O grub (Grand Unified Bootloader) uma alternativa ao lilo. Tambm instalado na MBR; pelocomando /sbin/grub ou pelo /sbin/grub-install, que obtm as instrues de

    /boot/grub/grub.conf.Principais sees de /boot/grub/grub.conf:

    global

    default imagem de boot padro (comea por 0)

    timeout tempo de espera para iniciar o boot, em segundos

    imagem

    title nome para a imagem

    root localizao do carregador de segundo estgio e do kernel (hd0,0 = /dev/hda)

    kernel caminho para o kernel partir de root

    ro read-only

    initrd caminho para a imagem initrd

    Diferente do lilo, o comando grub-install no precisa ser executado toda vez que foremfeitas alteraes ao arquivo /boot/grup/grub.conf. Uma vez instalado, o carregador de bootdo grub l o arquivo /boot/grub/grub.conf diretamente.

    Dispositivos de Boot Alternativos

    Um disquete de boot ser importante caso a MBR do disco tenha sido alterada e o sistema estejainacessvel. Mesmo com a maioria dos Kernels atuais no mais cabendo num disquete, ainda assim

    possvel criar um disquete de boot com o lilo.

    Primeiro, o disquete dever ser formatado e ter um sistema de arquivos:# fdformat /dev/fd0h1440

    Usando o sistema de arquivos minix:# mkfs -t minix /dev/fd0

    Montando o disquete:# mount /dev/fd0 /mnt/floppy

    necessrio criar um arquivo de configurao do lilo alternativo, como /boot/lilo.floppy,contendo as informaes necessrias para criao do disquete de boot:boot = /dev/fd0 # O dispositivo de disquetemap = /mnt/floppy/mapcompactimage = /boot/vmlinuz # Substituir para o kernel do sistemaroot = /dev/hda3 # Substituir para a partio raiz do sistemaread-only

    Agora o lilo pode ser instalado no disquete, usando o arquivo de configurao criado:# lilo -C /boot/lilo.floppy

    Desmontar o disquete:

    18

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    19/89

    Tpico 102: Instalao do GNU/Linux e Administrao de Pacotes

    # umount /mnt/floppy

    O disquete de boot est pronto. importante lembrar que disquetes de boot criados dessa forma sfuncionaram na prpria mquina onde foram feitos. Caso sejam feitas alteraes no kernel oulocalizao da partio raiz, as configuraes devero ser adequadas e o lilo reinstalado no disquete.

    A maioria das distribuies GNU/Linux fornece Cds de boot para instalao do sistema. Essesmesmos Cds podem ser usados para acessar e dar boot num sistema j instalado e que possa estarinacessvel por uma falha do carregador de boot. Para iniciar um sistema j instalado, os seguintes

    parmetros so passados no prompt de boot:boot: linux root=/dev/hda3 noinitrd ro

    Onde linux o nome do kernel e /dev/hda3 a partio raiz. J dentro do sistema, possvel reinstalar o carregador de boot.

    Geralmente ser necessrio alterar a seqncia dos dispositivos de boot no BIOS da mquina sempreque um dispositivo de boot alternativo for utilizado.

    Para fazer o backup da MBR, basta copiar os primeiros 512kb do disco, o que pode ser feito usando ocomando dd:

    # dd if=/dev/hda of=mbr.backup bs=1k count=512

    Este backup pode ser guardado num disquete e depois restaurado para a MBR:# dd if=mbr.backup of=/dev/hda

    Objetivo 1.102.3: Compilar e Instalar Programas a partir doCdigo Fonte

    Peso: 5

    Compresso e Descompresso de Arquivos

    A maioria dos programas distribudos em cdigo fonte apresentam-se na forma de arquivos tar(tapearchiver) comprimidos. Arquivos tarso vrios arquivos aglutinados em um s, o que facilitaadistribuio.

    Tipos de compactao:

    Compresso Descompresso Descompresso cat Extenso

    compress uncompress zcat .Z

    gzip gunzip zcat .gz

    gzip2 bunzip2 bzcat .bz2

    Os comandos zcat ebzcat descomprimem para a sada padro, ou seja, jogam o contedodescomprimido na tela do terminal. Detalhes sobre o que a sada padro e como utiliz-la no tpico103, objetivo 1.103.4: Usar fluxos, canalizao e redirecionamentos.

    Essas ferramentas de compresso no concatenam arquivos, por isso so utilizadas junto com ocomando tar. Para facilitar esse procedimento, a compresso e descompresso podem ser feitasdiretamente pelo comando tar, atravs dos argumentos:

    Z compress

    19

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    20/89

    Tpico 102: Instalao do GNU/Linux e Administrao de Pacotes

    z gzip

    j bzip2

    Criar um arquivo tar programa.tar.bz2 contendo o diretrio ./programa/e seu contedo,

    compactando com bzip2:

    $ tar cjf programa.tar.bz2 ./programa/

    Extrair esse arquivo:

    $ tar xjf programa.tar.bz2

    Como mostrado no exemplo, o argumento cindica criao de arquivo, x extrao de arquivo e f onome do arquivo.

    Compilar e Instalar Programas

    O primeiro passo para instalar um programa em cdigo fonte distribudo no formato tar extra-lo:$ tar xjvf sylpheed-2.0.4.tar.bz2

    Este comando criar o diretrio ./sylpheed-2.0.4/, contendo o cdigo fonte do programa e asferramentas de configurao.

    A configurao pr-compilao feita dentro desse diretrio, por umscriptchamado configure.Este script coleta informaes sobre a arquitetura do sistema, caminhos de comandos, bibliotecascompartilhadas, caractersticas de funcionamento do programa, etc.

    Em geral, o configure pode ser invocado sem argumentos na forma:$ ./configure

    Uma opo bastante utilizada --prefix , que informa em qual diretrio base o programa deverser instalado. Por exemplo:$ ./configure --prefix=/opt

    Indica que o diretrio base da instalao ser /opt. O script configure possui muitas opes depersonalizao da instalao. A lista descritiva completa das opes pode ser vista usando$ ./configure --help

    As informaes coletadas pelo script configure so armazenadas em um arquivo no mesmo diretriochamadomakefile. Este arquivo pode ser editado para alterar as opes de instalao, como avarivelprefix, que desempenha a mesma funo do argumento --prefix do script configure, e

    outras variveis que indicam a localizao de bibliotecas, comandos, caractersticas do programa, etc.Terminada a configurao, o programa pode ser compilado atravs do comandomake. Make criaras bibliotecas e arquivos executveis conforme as opes existentes no makefile. Aps o trminoda compilao, que pode levar algum tempo dependendo do tamanho e tipo do programa, o programaest pronto para ser instalado# make install

    Se o diretrio base de instalao no estiver no diretrio pessoal do usurio, esse comando dever serexecutado com permisses de super usurio (root). Mesmo estando o diretrio base de instalao forado diretrio pessoal do usurio, recomendado executar./configuree make como usuriocomum.

    20

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    21/89

    Tpico 102: Instalao do GNU/Linux e Administrao de Pacotes

    Objetivo 1.102.4: Bibliotecas Compartilhadas

    Peso: 3

    Funes comuns e compartilhadas por diferentes programas so armazenadas em bibliotecas. Durantea compilao de um programa, essas bibliotecas especficas so ligadas ao programa que as usar.A ligao pode seresttica ou dinmica, ou seja, as funes da biblioteca podero estar embutidasno programa compilado ou apenas mapeadas para a biblioteca externa. Programas estticos nodependem de arquivos externos e programas dinmicos so menores e poupam recursos da mquina.

    O programa encarregado de carregar a biblioteca e ligar ao programa que dela depende o ld.so.Para que o ld.so possa localizar a biblioteca da qual um programa depende, esta dever estarmapeada em /etc/ld.so.cache. As localidades comuns de bibliotecas de sistema so /lib e/usr/lib. Para acrescentar um diretrio ao ld.so.cache, o arquivo /etc/ld.so.conf usado:

    Exemplo de /etc/ld.so.conf

    /usr/local/lib/usr/X11R6/lib/usr/i486-slackware-linux/lib/usr/lib/qt/lib

    Para atualizar o /etc/ld.so.cache aps as alteraes em /etc/ld.so.conf, utilizado ocomando ldconfig. A execuo do ldconfig fundamental para que as alteraes em/etc/ld.so.conf repercutam no funcionamento do ld.so.

    Outra maneira de deixar uma localidade de biblioteca ao alcance do ld.so adicionar seu orespectivo caminho varivel de ambiente LD_LIBRARY_PATH

    # export LD_LIBRARY_PATH=/usr/local/lib

    Esse mtodo, porm, garante apenas o acesso temporrio do ld.so ao diretrio em questo. Nofuncionar fora do escopo da varivel de ambiente e quando a varivel deixar de existir, mas ummtodo til para usurios sem permisso para atualizar o /etc/ld.so.cache ou para execuo

    pontual de programas.

    Objetivo 1.102.5: Administrao de Pacotes Debian (.deb)

    Peso: 8

    Objetivo ainda no abordado. Maiores detalhes sobre administrao de pacotes debian em

    http://www.debian.org/doc/manuals/reference/ch-package.pt-br.html.

    Objetivo 1.102.6: Administrao de Pacotes RedHat (.rpm)

    Peso: 8

    A maioria dos pacotes rpm nomeada no formato:

    nome-verso-release.arquitetura.rpm

    Modos Maior e Menor

    Algumas abreviaes de opes so parecidas mas realizam diferentes aes dependendo de suaposio na linha de comando. A distino feita a partir da primeira opo da esquerda para a direita.

    21

    http://www.debian.org/doc/manuals/reference/ch-package.pt-br.htmlhttp://www.debian.org/doc/manuals/reference/ch-package.pt-br.html
  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    22/89

    Tpico 102: Instalao do GNU/Linux e Administrao de Pacotes

    O primeiro argumento passado ao comando rpm chamada argumento modo maior. As demais soas opes de modo menor.

    Opes de modo maiorpara o rpm:

    -i Ou --install. Instala o pacote-U Ou --update. Atualiza ou instala o pacote

    -F Ou --freshen. Atualiza o pacote apenas se o mesmo estiver instalado

    -V Ou --verify. Verifica o tamanho, MDB, permisses, tipo,integridade, etc.

    -q Ou --query. Investiga pacotes e arquivos

    -e Ou --erase. Desinstala o pacote

    Opes de modo menor para o rpm

    a Aplica em todos pacotes instalados

    c Com q lista arquivos de configurao

    d Com q lista arquivos de documentao

    f Com q verifica qual pacote instalou o arquivo referido

    h Mostra progresso visual da instalao

    i Com q lista informaes sobre o pacote

    l Com q lista todos arquivos e diretrios do pacote

    p Com q indica que a investigao realizada no arquivo .rpm

    v Modo descritivoOutras opes

    --nodeps

    Instala o pacote sem checar as dependncias

    --force

    Fora a instalao/atualizao

    --test

    Mostra como seria a instalao mas no instala

    --requires

    Com q, mostra as exigncias para o pacote especificado

    --whatrequires

    Com q, mostra quais dependem do pacote especificado

    Assinaturas de Pacotes

    possvel checar a assinatura de todo pacote distribudo como parte de um projeto. Se a distribuioforFedora, por exemplo, as chaves so incorporadas ao banco de dados do rpm com o comando

    # rpm --import /usr/share/rhn/RPM-GPG-KEY-FEDORA

    22

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    23/89

    Tpico 102: Instalao do GNU/Linux e Administrao de Pacotes

    Assim, todo pacote copiado do servidor fedora pode ser checado:# rpm --checksig

    Integridade do Pacote

    A integridade do pacote checada usando a opo -V. A opo -Va checa todos os pacotes. Aanlise feita tendo como referncia os arquivos originais do pacote.

    Significado dos caracteres retornados pela verificao:

    . Teste bem sucedido

    ? O teste no pde ser realizado

    S O tamanho do arquivo mudou

    M A permisso ou o tipo do arquivo mudou

    5 A soma MD5 do arquivo diferenteD O dispositivo foi modificado

    L O link simblico foi modificado

    U O dono do arquivo mudou

    G O grupo do arquivo mudou

    T A data do arquivo mudou

    Arquivos e Diretrios Pertinentes ao rpm

    /etc/rpmrc

    o arquivo de configurao do rpm e do rpmbuild. Contm informaes sobre a arquiteturado sistema e os caminhos para macros e diretrios utilizados no manejo de pacotes. Estearquivo tambm encontrado em /usr/lib/rpm/

    /usr/lib/rpm/*

    Diretrio contendo as macros necessrias para o manejo de pacotes.

    /var/lib/rpm/

    Diretrio onde se situam as bases de dados do rpm

    Exemplos de uso do rpm

    Instalar um pacote:

    # rpm -ivh xyz.rpm

    Instalar todos pacotes iniciados por xyz

    # rpm -ivh xyz*

    Atualizar um pacote:

    # rpm -Uvh xyz.rpm

    23

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    24/89

    Tpico 102: Instalao do GNU/Linux e Administrao de Pacotes

    Desinstalar pacote chamado xyz

    # rpm -e xyz

    Mostra os arquivos contidos no pacote

    # rpm -qlp xyz.rpm

    Mostra que pacote instalou o arquivo abc.efg

    # rpm -qf abc.efg

    24

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    25/89

    Tpico 103: Comandos GNU e Unix

    Objetivo 1.103.3: Trabalhando na Linha de Comando

    Peso: 5

    A maneira mais direta de interagir com o computador usando a linha de comando. O prompt doshell (terminando em $ ou # para o usurio root) indica que est pronto para receber instrues.

    O shell o ambiente que faz o intermdio entre o usurio e os recursos do computador, como umambiente de programao em tempo real para executar tarefas. O shell padro no GNU/Linux obash (Born Again Shell). Os procedimentos aqui mostrados se referem ao bash.

    As instrues do shell geralmente seguem o formato: comando [opes] {argumentos}

    Alguns comandos embutidos do shell:

    alias

    Cria um codinome para um comando, no formato$ alias codinome='nome_do_programa --opes'

    til para facilitar a entrada de comandos recorrentes que levam muitos argumentos. Usaraliassem argumentos mostra quais aliases existem e seus contedos.

    exec

    O comando iniciado atravs de exec no se torna um processo filho do shell, mas toma seu lugar.Dessa forma, o shell finalizado quando o comando terminar.

    O shell interpreta a primeira palavra na linha de comando como um comando. O caminho completo

    ou relativo para o comando precisa ser fornecido, a menos que o comando esteja localizado em umdos diretrios contidos na varivel de ambiente PATH. Se o programa encontra-se no diretrio detrabalho atual e fora dos diretrio contidos em PATH, ele precisar ser invocado comeando por./:

    $ ./programa_local

    Variveis

    As variveis usadas no shell so semelhantes s usadas em linguagens de programao. Nomes devariveis so limitadas a caracteres alfanumricos.

    Criar/Modificar uma varivel (espaos no devem ser usados):

    $ nome_da_varivel=valor_da_varivel

    O valor de uma varivel retornado acrescentando $ ao seu nome:

    $ echo $nome_da_varivelvalor_da_varivel

    H dois tipos de variveis: locais e exportadas

    Locais

    Acessvel apenas no shell atual.

    Exportadas

    Acessvel no shell e pelos processos iniciados neste shell.

    25

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    26/89

    Tpico 103: Comandos GNU e Unix

    Todas as variveis so listadas usando o comando set. Para ver apenas as variveis exportadas, usa-se env.

    Exemplo de set:

    # set(...)OSTYPE=linux-gnuPATH=/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/binPIPESTATUS=([0]="0")PPID=16226PS1='\u@\h:\w\$PS2='> 'PS4='+ 'PWD=/rootQTDIR=/usr/lib/qtSHELL=/bin/bash

    (..)

    Exemplo de env:

    # env(...)PATH=/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/binLC_COLLATE=CPWD=/rootINPUTRC=/etc/inputrcJAVA_HOME=/usr/lib/javaLANG=pt_BR

    (...)Se uma varivel pode ser acessada por qualquer processo ou shell, chamada de varivel global.

    Variveis pr-definidas

    DISPLAY

    Usado pelo X para saber onde executar os aplicativos clientes

    HISTFILE

    Caminho para o histrico de comandos do usurio (geralmente $HOME/.bash_history)

    HOMECaminho para o diretrio pessoal do usurio

    LOGNAME

    O nome que o usurio usou para entrar no sistema

    PATH

    Lista de diretrios nos quais programas sero procurados caso tenham sido solicitados sem ocaminho completo ou relativo

    PWD

    O diretrio atual

    26

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    27/89

    Tpico 103: Comandos GNU e Unix

    SHELL

    O shell utilizado (neste caso, /bin/bash)

    TERM

    O tipo de emulador de terminal utilizado

    Variveis especiais

    $! PID do ltimo processo filho

    $$ PID do shell atual

    $? Retorna 0 se o ltimo comando foi bem sucedido, caso contrrio retorna 1

    ~ Corresponde ao diretrio pessoal do usurio atual

    ~alaor Corresponde ao diretrio pessoal do usurio chamado alaor

    Histrico de comandos

    Para mostrar o histrico de comandos digitados pelo usurio atual, usa-se o comando history.History um comando embutido do bash.

    possvel usar atalhos no estilo do emacs para listar o histrico:

    Ctrl+p Linha anterior

    Ctrl+n Prxima linha

    Ctrl+b Volta um caracter

    Ctrl+f Avana um caracterCtrl+a Comeo da linha

    Ctrl+e Fim da linha

    Outros atalhos:

    !! roda o ltimo comando

    !a roda o ltimo comando que comea pela letra a

    !2 roda o comando na 2 posio do histrico

    !-2 roda o penltimo comando

    ^termo1^termo2 roda o ltimo comando substituindo termo1 por termo2

    O arquivo ~/.profile contm personalizaes do bash para o usurio, como aliases e variveisparticulares.

    Exemplo de entrada em ~/.profile :

    alias ls='ls --color'

    Dessa forma, o alias para ls ser permanente.

    27

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    28/89

    Tpico 103: Comandos GNU e Unix

    Comandos Seqenciais

    Executar trs comandos em seqncia, independente do resultado de cada um:$ Comando1 ; comando2 ; comando3

    Executar o comando seguinte apenas se o anterior foi bem sucedido (se retornou 0):$ comando1 && comando2 && comando3

    Executar o comando seguinte apenas se o anterior no foi bem sucedido (se retornou diferente de 0):$ comando1 || comando2 || comando3

    Auto-Completar Comandos e Caminhos

    Um recurso que agiliza a digitao de comando e caminhos existentes., utilizando a tecla TAB.

    Exemplo: Comando whatis

    $ wha$ whatis

    Exemplo: caminho /etc/X11/twm

    $ ls /e/X/t$ ls /etc/X11/twm/

    Objetivo 1.103.2: Processar Fluxos de Texto Atravs de Filtros

    Peso: 6

    Este objetivo se relaciona principalmente ao uso das ferramentas do pacote GNU textutils. So

    comando Unix padro, utilizados para modificar sequncias de texto.cat

    usado para mostrar o contedo de arquivos$ cat /etc/issueWelcome to \s \r (\l)

    Tambm pode ser usado como um editor de texto rudimentar$ cat > texto_simplestexto simplescriado com cat encerra a entrada de texto

    Opes comuns do cat:

    -n Numera as linhas

    -b Numera apenas linhas que no estejam em branco

    -A Mostra quebra de linhas

    tac

    Tem a mesma funo do cat, mas mostra o contedo de trs para frente:

    $ tac texto_simplescriado com cat

    texto simples

    28

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    29/89

    Tpico 103: Comandos GNU e Unix

    head

    Mostra o comeo de arquivos. Por padro, as 10 primeiras linhas so mostradas. A quantidade delinhas a serem mostradas indicada pela opo -n :

    $ head -n 5 /etc/passwdroot:x:0:0::/root:/bin/bashbin:x:1:1:bin:/bin:daemon:x:2:2:daemon:/sbin:adm:x:3:4:adm:/var/log:lp:x:4:7:lp:/var/spool/lpd:

    A opo -c especifica o nmero de caracteres (bytes) a serem mostrados no lugar de linhas:

    $ head -c 5 /etc/passwdroot:

    tail

    Mostra o final de arquivos. Por padro, as 10 ltimas linhas so mostradas. A quantidade de linhas a

    serem mostradas indicada pela opo -n :$ tail -n 1 texto_simplescriado com cat

    A opo -c especifica o nmero de caracteres (bytes) a serem mostrados no lugar de linhas. A paraque o fim do arquivo seja mostrado continuamente, a medida que mais texto adicionado au final domesmo, usa-se a opo -f (defollow). O sinal + indica que a leitura deve ser feita a partir da linhade nmero especificado aps o +:

    $ tail +35 /etc/groupconsole::101:messagebus:x:102:

    haldaemon:x:103:haldaemonwc

    Conta linhas, palavras ou caracteres, com as opes -l, -w e -c respectivamente. Quando usado semargumentos, mostra esses trs valores na sequncia.$ wc texto_simples2 5 29 texto_simples$ wc -l texto_simples2 texto_simples$ wc -w texto_simples5 texto_simples$ wc -c texto_simples

    29 texto_simplesnl

    Numera linhas, como cat -b. O argumento -ba faz numerar todas as linhas. O argumento -btapenas as que no estejam em branco$ nl texto_simples

    1 texto simples2 criado com cat

    expand

    Substitui espaos de tabulao (TABs) por espaos simples, mantendo a mesma distncia aparente.

    Contar os caracteres de /etc/fstab e comparar ao mesmo arquivo filtrado porexpand:

    29

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    30/89

    Tpico 103: Comandos GNU e Unix

    $ wc -c /etc/fstab773 /etc/fstab$ expand /etc/fstab | wc -c820

    unexpandSubstitui dois ou mais espaos simples por espaos de tabulao (TABs).

    hexdump

    Mostra arquivos binrios. A opo -C torna a sada mais legvel, mostrando a coluna de endereohexadecimal, seguida pela coluna dos dados do arquivo (valores hexadecimais sequenciais separadosa cada dois bytes) e por ltimo a coluna que mostra esses mesmos bytes no formatoASCII.

    Examinando o comeo do arquivo /bin/cat:

    $ hexdump -C /bin/cat | head00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|

    00000010 02 00 03 00 01 00 00 00 70 8b 04 08 34 00 00 00 |........p...4...|00000020 90 39 00 00 00 00 00 00 34 00 20 00 07 00 28 00 |.9......4. ...(.|00000030 19 00 18 00 06 00 00 00 34 00 00 00 34 80 04 08 |........4...4...|00000040 34 80 04 08 e0 00 00 00 e0 00 00 00 05 00 00 00 |4.............|00000050 04 00 00 00 03 00 00 00 14 01 00 00 14 81 04 08 |................|00000060 14 81 04 08 13 00 00 00 13 00 00 00 04 00 00 00 |................|00000070 01 00 00 00 01 00 00 00 00 00 00 00 00 80 04 08 |................|00000080 00 80 04 08 cd 35 00 00 cd 35 00 00 05 00 00 00 |....5..5......|00000090 00 10 00 00 01 00 00 00 d0 35 00 00 d0 c5 04 08 |........5....|

    A palavra ELF no incio da coluna ASCII indica que este um arquivo executvel no formato elf Executable and Linkable Format.

    split

    Divide um arquivo em arquivos menores seguindo critrios como tamanho ou nmero de linhas. Aopo -l indica o nmero de linhas de cada parte do arquivo dividido. A opo -b indica qual otamanho de cada parte. Um prefixo para as partes pode ser indicado aps o nome do arquivo a serdivido:

    Dividir um arquivo em partes de 1024Kb usando o prefixo parte_:

    $ split -b 1024k arquivo original parte_

    Esse comando criar arquivos chamados parte_aa, parte_ab, parte_ac, etc. Para concatenar novamenteo arquivo, usa-se cat:

    $ cat parte_* > nome do arquivoSer criado um arquivo de contedo idntico ao do arquivo original.

    uniq

    Mostra o contedo de arquivos suprimindo linhas seqenciais repetidas.

    cut

    Delimita um arquivo em colunas, em determinado nmero de caracteres ou por posio de campo.

    Mostrar caracteres da posio 1 5 de cada linha:

    30

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    31/89

    Tpico 103: Comandos GNU e Unix

    $ cut -c 1-5 /etc/grouproot:bin::daemosys::

    adm::(...)

    Para separar por campo, usa-se a opo -dpara especificar o caracter que delimita os campos e -fpara informar a posio do campo.

    Mostrar os campos da posio 1 e 3 do arquivo /etc/group, campos que esto separados por::

    $ cut -d ':' -f 1,3 /etc/grouproot:0bin:1daemon:2

    sys:3adm:4(...)

    Para mostrar outro delimitador no lugar do original, usa-se a opo --output-delimiter:

    $ cut -d ':' -f 1,3 /etc/group --output-delimiter ' = 'root = 0bin = 1daemon = 2sys = 3adm = 4(...)

    paste

    Concatena arquivos lado a lado.$ paste texto_simples texto_simplestexto simples texto simplescriado com cat criado com cat

    join

    Similar ao paste, mas trabalha especificando campos, no formato join -1 CAMPO -2 CAMPOarquivo um arquivo dois Onde CAMPO o nmero indicando qual campo nos respectivosarquivos (primeiro e segundo) deve ser correlacionado.

    Exemplo: Relacionar as linhas de arq2 cujo primeiro campo (coluna 1) seja igual ao primeirocampo de arq2:

    31

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    32/89

    Tpico 103: Comandos GNU e Unix

    arq1:1 a1 x12 b1 y13 c1 z1

    arq2:1 a2 x22 b2 y23 c2 z2

    $ join -1 1 -2 1 arq1 arq21 a1 x1 a2 x22 b1 y1 b2 y23 c1 z1 c2 z2

    A primeira coluna do resultado o campo que foi relacionado, seguido das linhas correspondentes. possvel delimitar quais campos mostrar, com a opo -o. Essa opo deve ser escrita no formatoN.M, onde N o nmero correspondente ao arquivo e M o nmero correspondente ao campo deste

    arquivo. O campo de relao tambm pode ser referido por0.

    Exemplo: Fazer a mesma relao do exemplo anterior, mostrando apenas o primeiro campo dearq1 e apenas o segundo de arq2:

    $ join -1 1 -2 1 -o '1.2 2.3' arq1 arq2a1 x2b1 y2c1 z2

    sort

    Ordena alfabeticamente. Com a opo -n ordena numericamente e -r inverte o resultado.

    $ sort texto_simplescriado com cattexto simples

    fmt

    Formata para determinado nmero de caracteres por linha. O padro 75.

    -w indica o nmero de caracteres por linha

    -s quebra linhas grandes mas no as preenche

    -u um espao entre palavras e dois espaos entre sentenas.

    prDivide o arquivo para impresso. O padro 66 linhas por 72 caracteres de largura, modificados por-l e -w respectivamente.

    tr

    Converte caracteres. O comando tr l apenas diretamente viastdin.

    Converso simples de um nico caracter:

    $ cat texto_simples | tr ' ' '.'texto.simplescriado.com.cat

    Converter letras minsculas para maisculas:

    32

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    33/89

    Tpico 103: Comandos GNU e Unix

    $ cat texto_simples | tr 'a-z' 'A-Z'TEXTO SIMPLESCRIADO COM CAT

    Objetivo 1.103.3: Gerenciamento Bsico de ArquivosPeso: 3

    Diretrios e Arquivos

    Arquivos podem ser acessados tanto por seu caminho absoluto quanto seu caminho relativo.Caminhos absolutos so aqueles iniciados pela barra da raiz ( / ), e caminhos relativos so aquelesque tomam por referncia o diretrio atual. O ponto . refere-se ao diretrio atual, e .. refere-seao diretrio contendo o diretrio atual.

    O comando ls usado para listar arquivos e contedo de um diretrio. A opo -l exibe detalhes

    sobre o(s) arquivo(s), -smostra o tamanho em kilobytes e -dmostra o diretrio, e no seu contedo.

    Exemplo de sada de ls -l:

    $ ls -l /etc/X11/xinit/total 20-rw-r--r-- 1 root root 321 2006-01-14 17:33 README.Xmodmaplrwxrwxrwx 1 root root 15 2006-03-20 22:31 xinitrc -> xinitrc.fluxbox-rwxr-xr-x 1 root root 556 2003-03-16 19:59 xinitrc.blackbox-rwxr-xr-x 1 root root 560 2006-03-07 03:32 xinitrc.fluxbox-rwxr-xr-x 1 root root 799 2006-01-14 17:30 xinitrc.twm-rwxr-xr-x 1 root root 788 2005-07-21 15:27 xinitrc.wmaker

    A primeira coluna mostra o tipo e as permisses do arquivo, a segunda coluna mostra o nmero delinks fsicos (hard links) para o arquivo, a terceira e a quarta mostram o dono e o grupo aos quais oarquivo pertence, a quinta mostra o tamanho em bytes, a sexta e a stima mostram a data e a hora daltima modificao do arquivo e a oitava coluna mostra o nome do arquivo. Se o arquivo for um linksimblico, uma seta mostra o arquivo para o qual ele aponta.

    O comando cp utilizado para copiar arquivos. Suas opes principais so:

    -i Modo interativo. Pergunta antes de sobrescrever um arquivo.

    -p Copia tambm os atributos do arquivo original.

    -r Copiar recursivamente o contedo do diretrio de origem.

    importante saber que quando copiando um diretrio recursivamente, o uso da barra / no final dodiretrio de origem far com que apenas o contedo do diretrio seja copiado/movido para o destino eo no uso da barra far com que o diretrio de origem e seu contedo sejam copiados no destino.

    Exemplo de cp:

    $ cp tux.xcf icons/

    Copia o arquivo tux.xcf para o diretrio icons no diretrio atual.

    O comandomvmove e renomeia arquivos. Usado com a opo -i pede por confirmao antes desobrescrever um arquivo de destino.

    Exemplo de mv:

    33

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    34/89

    Tpico 103: Comandos GNU e Unix

    $ mv imagem.jpg ../fotos/

    Move o arquivo imagem.jpg para o diretrio fotos que est no mesmo diretrio onde estcontido o diretrio atual (um nvel acima).

    Para alterar a data de um arquivo, utiliza-se o comando touch. Usado sem argumentos, touchaltera a data e a hora de criao e modificao de um arquivo para os valores atuais do sistema. Paraalterar apenas a data de modificao, usa-se a opo -m, e para alterar apenas a data de acesso, usa-sea opo -a. O argumento passado com -t usa outro valor de tempo:

    Mudar a data e hora para janeiro, 01 00:01

    $ touch -t '01010001' texto_simples$ ls -l texto_simples-rw-r--r-- 1 luciano users 29 2006-01-01 00:01 texto_simples

    No bash, o comando para retornar o diretrio atual opwd. O comando cdmuda para o diretrioespecificado ou vai para o diretrio pessoal quando nenhum diretrio for especificado.

    O comandomkdir cria diretrios. Para criar uma rvore de diretrios recursivamente, usa-se a opo-p:

    $ mkdir -p caminho/completo/para/dir

    Para alterar as permisses do diretrio no ato da criao, as mesmas so transmitidas ao mkdir coma opo -m.

    Criar diretrio sem qualquer tipo de acesso para o grupo ou outros:

    $ mkdir -m 700 exclusivo$ ls -ld exclusivo/drwx------ 2 luciano users 48 2006-03-20 21:42 exclusivo/

    Diretrios vazios podem ser apagados pelo comando rmdir. Para apagar uma rvore de diretriosvazios, usa-se a opo -p.

    Para apagar diretrios com contedo, usa-se rm -r, e para forar a remoo, a opo -f utilizada.

    Encontrando Arquivos com o Comando find

    Sintaxe do find:

    finddiretriocritrio[-execcomando{} \;]

    O argumento diretrio indica onde o find deve iniciar a busca e critrio pode ser o nome do arquivo/diretrio a ser procurado e/ou uma regra para a busca.

    Critrios comuns para o find:

    -type

    Tipo do arquivo (dpara diretrio, f para arquivo comum e l para link)

    -namenome

    Nome do arquivo

    -userusurio

    Dono do arquivo

    34

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    35/89

    Tpico 103: Comandos GNU e Unix

    -atime -/+n

    Data de ltimo acesso ao arquivo, menor ou maior que n. n corresponde a n*24 horas.

    -ctime -/+n

    Data de criao do arquivo, menor ou maior que n. n corresponde a n*24 horas.-mtime -/+n

    Data de modificao do arquivo, menor ou maior que n. n corresponde a n*24 horas.

    -amin -/+n

    Data de ltimo acesso ao arquivo, menor ou maior que n. n corresponde a minutos.

    -cmin -/+n

    Data de criao do arquivo, menor ou maior que n. n corresponde a minutos.

    -mmin -/+n

    Data de modificao do arquivo, menor ou maior que n. n corresponde a minutos.

    -newer arquivo

    O arquivo procurado foi criado/modificado mais recentemente que arquivo.

    -permmodo

    O arquivo procurado tem permisso mode

    -perm-modo

    O arquivo procurado tem todos as permisses listadas em mode

    -perm +modoO arquivo procurado tem qualquer das permisses listadas em mode

    Exemplo: Encontrar todos os arquivos do tipo linkem /usr/libcriados h menos de 24 horas:

    $ find /usr/lib -type l -ctime -1/usr/lib/libssl.so/usr/lib/libcrypto.so/usr/lib/libssl.so.0/usr/lib/libcrypto.so.0

    Caracteres Coringa (file globbing)

    As operaes com arquivos e diretrios permitem o uso de caracteres coringa, que so padres desubstituio de caracteres.

    O caracter * substitui qualquer seqncia de caracteres:

    $ ls /etc/host*/etc/host.conf/etc/hosts/etc/hosts.allow/etc/hosts.deny/etc/hosts.equiv

    O caracter ? substitui apenas um caractere:

    35

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    36/89

    Tpico 103: Comandos GNU e Unix

    $ ls /dev/fd?/dev/fd0 /dev/fd1 /dev/fd2 /dev/fd3

    O uso de colchetes [] indica uma lista de caracteres:

    $ ls /dev/hd[abc]/dev/hda /dev/hdb /dev/hdc

    Chaves {} indicam uma lista de termos separados por vrgula:

    $ ls /dev/{hda,fd0}/dev/fd0 /dev/hda

    O uso de exclamao antes de um coringa o exclui da operao:$ ls /dev/fd[!01]/dev/fd2 /dev/fd3

    Coringas precedidos de barra invertida \ no desempenham funo substitutiva:

    $ ls /dev/fd\[\!01\]

    ls: /dev/fd[!01]: Arquivo ou diretrio no encontradoEntre aspas duplas, apenas os caracteres especiais |, / e $ tm efeito. Entre aspas simplesapenas o caracter especial \ tem efeito.

    Objetivo 1.103.4: Fluxos, Canalizao e Redirecionamentos deSada

    Peso: 5

    Processos Unix geralmente abrem trs descritores padro de arquivos, que os permitem processarentrada e sada de dados. Estes descritores podem ser redirecionados de e para outros arquivos ou

    processos. Por padro, o descritor de entrada (stdin) o teclado e os descritores de sada padro(stdout) e sada de erro (stderr) so a tela do computador. Os valores numricos para esses descritoresso 0 parastdin, 1 parastdoute 2 parastderr. Os descritores tambm podem ser acessados atravs dosdispositivos virtuais /dev/stdin, /dev/stdout e /dev/stderr.

    O fluxo dos dados para redirecionamentos e canalizaes numa linha de comando vai da esquerdapara a direita.

    Redirecionamento

    Para redirecionar a sada padro de um comando para um arquivo, utiliza-se o smbolo > aps o

    mesmo, que deve indicar o arquivo a ser criado com os dados referidos:$ cat texto_simples > clone_texto_simples

    Se o arquivo existir previamente, ser sobrescrito. Para adicionar os valores sem apagar o contedoexistente, usa-se >>.

    Para redirecionar o contedo de um arquivo para a entrada padro de um comando, usa-se . Para redirecionar

    36

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    37/89

    Tpico 103: Comandos GNU e Unix

    ambos simultaneamente, usa-se &>.

    Canalizao

    possvel enviar a sada de um comando para a entrada de outro comando simultaneamente,utilizando o caracter de canalizao |. preciso que o programa de origem dos dados os direcionepara a sada padro. Isso varia para cada programa, e geralmente se d passando o argumento dedestino como um trao - ou simplesmente ocultando o argumento de sada. Da mesma forma,alguns programas precisam que seja especificada a origem dos dados atravs destdin. Todas essasinformaes podem ser obtidas consultando o manual do programa.

    Exemplo: Extrair a terceira msica de um CD com o programa cdparanoia canalizando o udioatravs do programa oggencpara armazenar a msica no formato Ogg Vorbis.

    $ cdparanoia -d /dev/cdrom 3 - | oggenc - -o 03.ogg

    Por fim, possvel redirecionar simultaneamente a sada tanto para um arquivo quanto parastdout,atravs do comando tee. Para tal, canaliza-se a sada do comando para o comando tee e a este umnome de arquivo para armazenar a sada:$ cat /etc/passwd | tee cpia_passwd

    O contedo de /etc/passwd ser mostrado na tela e copiado no arquivo cpia_passwd.

    possvel tambm usar a sada de um comando como argumento para outro, usando aspas invertidas:$ ls -dl `cat /etc/ld.so.conf`drwxr-xr-x 5 root root 7464 2006-01-14 17:35 /usr/X11R6/libdrwxr-xr-x 2 root root 712 2006-03-17 12:26 /usr/i486-slackware-linux/libdrwxr-xr-x 2 root root 688 2005-10-29 22:53 /usr/lib/qt/libdrwxr-xr-x 16 root root 7272 2006-03-21 02:49 /usr/local/lib

    Resultado idntico conseguido usando $():

    $ ls -dl $(cat /etc/ld.so.conf)drwxr-xr-x 5 root root 7464 2006-01-14 17:35 /usr/X11R6/libdrwxr-xr-x 2 root root 712 2006-03-17 12:26 /usr/i486-slackware-linux/libdrwxr-xr-x 2 root root 688 2005-10-29 22:53 /usr/lib/qt/libdrwxr-xr-x 16 root root 7272 2006-03-21 02:49 /usr/local/lib

    O comando xargs desempenha funo parecida, passando os dados que recebe viastdin comoargumento para um segundo comando.

    Exemplo do xargs acompanhando a execuo do find:

    $ find /usr/X11R6/bin/ -name 'xt*' | xargs ls -l-rwxr-xr-x 1 root bin 268928 2006-01-14 17:35 /usr/X11R6/bin/xterm-rwxr-xr-x 1 root bin 13076 2006-01-14 17:35 /usr/X11R6/bin/xtrapchar-rwxr-xr-x 1 root bin 6536 2006-01-14 17:35 /usr/X11R6/bin/xtrapin-rwxr-xr-x 1 root bin 4320 2006-01-14 17:35 /usr/X11R6/bin/xtrapinfo-rwxr-xr-x 1 root bin 7704 2006-01-14 17:35 /usr/X11R6/bin/xtrapout-rwxr-xr-x 1 root bin 5880 2006-01-14 17:35 /usr/X11R6/bin/xtrapproto-rwxr-xr-x 1 root bin 4196 2006-01-14 17:35 /usr/X11R6/bin/xtrapreset-rwxr-xr-x 1 root bin 5856 2006-01-14 17:35 /usr/X11R6/bin/xtrapstats

    Neste exemplo, xargs tomou cada caminho passado porfind e repassou como argumento para ocomando ls -l.

    37

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    38/89

    Tpico 103: Comandos GNU e Unix

    Objetivo 1.103.5: Criar, Monitorar e Finalizar Processos

    Peso: 5

    Em linhas gerais, um processo um programa em execuo. Cada processo possui um nmero nicode identificao chamadoPID. Este nmero pode ser usado para mudar a prioridade de um processoou para finaliz-lo. O processo que inicia um outro processo chamado oprocesso pai(parent

    process) do segundo, assim como o segundo chamadoprocesso filho (child process) do primeiro.

    pstree

    Mostra processos ativos em formato de rvore genealgica (processos filhos ligados aos respectivosprocessos pais).

    Opes comuns:

    -p Inclui PIDs dos processos.

    -h Lista apenas os processos do usurio atual.ps

    Mostra os processos de maneira detalhada.

    Opes comuns:

    ux Mostra todos processos do usurio.

    aux Mostra todos processos no sistema.

    -u Mostra apenas processos cujo dono seja o indicado pela opo -u.

    -g Mostra apenas processos cujo grupo seja o indicado pela opo -g.

    top

    Monitora continuamente os processos, mostrando informaes como uso de memria e CPU de cadaprocesso. A tecla h fornece ajuda sobre o uso do programa. Pode ser usado para alterar a prioridadede um processo

    pidof

    Retorna o nmero PID para o programa solicitado, se o programa estiver em execuo.

    PID do daemon crond:

    # pidof crond

    2404

    kill

    Envia sinais de controle para processos. O sinal padro quando nenhum sinal informado SIGTERM, de valor numrico 15, que pede ao programa em questo para finalizar. O processo nonecessariamente obedece ao sinal, a menos que o sinal sejaSIGKILL. Em alguns casos, o sinal

    SIGHUPpode ser interpretado como ordem para o processo reler seu(s) arquivo(s) de configurao.

    Exemplo de kill:

    # kill -SIGTERM 4902

    Envia o sinal SIGTERMpara o processo de PID 4902

    38

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    39/89

    Tpico 103: Comandos GNU e Unix

    Sinais comuns:

    SIGHUP

    Termina ou reinicia o processo. Valor numrico 1.

    SIGINT

    Interrompe o processo, igual a Ctrl+c. Valor numrico: 2.

    SIGQUIT

    Fecha o processo. Valor numrico: 3.

    SIGKILL

    Fora a finalizao o processo. Valor numrico: 9.

    SIGTERM

    Pede ao processo para finalizar. Valor numrico: 15.

    killall

    Tem funo igual a de kill, porm usa o nome do processo no lugar do PID. Com a opo -llista os sinais possveis.# killall -SIGHUP cupsd

    Neste exemplo, o daemon cupsd ir reler seus arquivos de configurao.

    Tarefas em Primeiro e Segundo Plano

    Aps iniciado um programa no shell, este na maioria das vezes assumir o controle destdin estdout,

    ou seja, ficar emprimeiro plano. Para interromper o programa e voltar ao prompt do shell, usa-se acombinao de teclas Ctrl+z. Feito isso, para continuar a execuo do programa emsegundo plano,ou seja, mantendo o prompt do bash em primeiro plano, usa-se o comandobg(background). Paracontinuar a execuo do programa em primeiro plano usa-se o comando fg (foreground).

    $ ogg123 -q 03-geraldo_vandr-fica_mal_com_deus.ogg

    Ctrl+z pressionado

    [1]+ Stopped ogg123 -q 03-geraldo_vandr-fica_mal_com_deus.ogg$ bg 1[1]+ ogg123 -q 03-geraldo_vandr-fica_mal_com_deus.ogg &$

    O nmero mostrado antes do comando identifica a tarefa. Este nmero passado para fg e bg paraespecificar a tarefa desejada. Se houver apenas uma tarefa na sesso atual, fg e bg podem ser usadossem argumentos. Para usar o nome do programa no lugar de seu nmero de tarefa, basta preced-lo

    por%?:

    $ bg %?ogg123

    O comando jobs lista as tarefas existentes na sesso atual do bash. especialmente til quando hmais de uma tarefa em andamento.

    possvel iniciar programas diretamente em segundo plano, adicionando o smbolo & ao seu final.

    $ ogg123 -q 10-geraldo_vandr-berimbau.ogg &[2] 5375

    Os nmeros mostrados correspondem ao nmero da tarefa e ao PID, respectivamente.

    39

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    40/89

    Tpico 103: Comandos GNU e Unix

    O nmero de uma tarefa pode ser usado como argumento do comando kill desde que precedido dosmbolo %:

    $ kill %2

    Quando um usurio sai do sistema, um sinalSIGHUP enviado a todos os processos elepertencentes. Para que esse sinal no interrompa o processo do usurio aps este sair do sistema, ocomando deve ser invocado atravs do nohup:

    $ nohup wget ftp://transferncia/muito/demorada.tar.bz2 &nohup: appending output to `nohup.out'

    As sadasstdoutestderrsero redirecionadas para o arquivo nohup.out, criado no mesmodiretrio em que o comando foi executado.

    Objetivo 1.103.6: Modificar a Prioridade de Execuo de umProcesso

    Peso: 3

    Nmeros nice (NI) so usados para alterar a prioridade de CPU e balancear seu uso num ambientemultiusurio. Todo processo comum iniciado com uma prioridade padro (0). Nmeros nice vo de19 (menor prioridade) a -20 (prioridade maior). Apenas o super-usurio (root) pode diminuir umnmero nice de um processo para abaixo de zero.

    possvel iniciar um comando com uma prioridade diferente da padro atravs do comando nice.Por padro, nice muda a prioridade para 10.$ nice -n 15 tar czf home_backup.tar.gz /home

    Inicia o comando tar com nmero nice de prioridade 15.

    Para alterar a prioridade de um processo em andamento, o renice usado. A opo -p indica o PIDdo processo em questo.# renice -10 -p 29972997: prioridade antiga = 0; prioridade nova = -10

    As opes -g e -u permitem alterar todos processos do grupo ou do usurio, respectivamente.

    # renice +5 -g users

    Neste exemplo, todos os processos de usurios do grupo users tiveram suas prioridades (nmero nice)alteradas para +5.

    Prioridades podem ser modificadas interativamente atravs do programatop

    . Quando na tela deprocessos, basta apertar a tecla r e indicar o nmero PID do processo.

    Objetivo 1.103.7: Procurar em Arquivos de Texto UsandoExpresses Regulares

    Peso: 3

    Expresses Regulares e grep

    Expresses regulares so elementos de texto, palavras chave e modificadores que formam um padro,

    usado para encontrar e opcionalmente alterar um padro correspondente. Muitos programas suportam

    40

  • 8/14/2019 Linux Guia Lpi 101 - Administrador de Sistemas

    41/89

    Tpico 103: Comandos GNU e Unix

    o uso de expresses regulares. O comando grep o mais comum para realizar buscas por expressesregulares em textos.

    Caracteres especiais em expresses regulares:

    ^ Comeo de linha$ Fim de linha

    . Qualquer caracter

    * Qualquer seqncia de zero ou mais caracteres

    [] Qualquer caracter que esteja presente nos colchetes

    Exemplos - Mostra apenas as linhas que comeam com o caracter # do arquivo/etc/lilo.conf.

    $ grep '^#' /etc/lilo.conf

    Mostra linhas de /etc/lilo.conf que contenham o termo hda ou hdb:

    $ grep 'hda[ab]' /etc/lilo.conf

    Mais opes de grep:

    -c Conta as linhas contendo o padro.

    -i Ignora a diferena entra maisculas ou minsculas.

    -f Usa a expresso regular contida no arquivo indicado por essa opo.

    -n Procurar somente na linha indicada por essa opo.

    -v Mostra todas as linhas exceto a que corresponder ao padro.

    Exemplo: Mostrar apenas linhas contendo caracteres (inverter a busca por linhas que no possuamcaracteres

    $ grep -v '^$' /etc/lilo.conf

    sed

    O comando sed mais utilizado para procurar e substituir padres em textos, mostrando o resultadoemstdout. Sintaxe do sed:

    sed [opes] comando e expresso regular [arquivo original]No sed, a expresso regular fica circunscrita entre barras /.

    Exemplo:

    $ sed -e '/^#/d' /etc/lilo.conf

    Mostra o arquivo /etc/lilo.conf sem linhas comeadas por # (linhas de comentrio). A letrad ao lado da expresso regular um comando sed que indica a excluso de linhas contendo orespectivo padro.

    Exemplo: substituir o termo hda por sdb:

    $ sed -e 's/hda/sdb/g' /etc/lilo.conf

    41

  • 8/