linux guia lpi 101 - administrador de sistemas
Post on 30-May-2018
245 Views
Preview:
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/
top related