You are on page 1of 187

DOCNCIA EM

APRENDENDO LINUX:
SADE FUNDAMENTOS
Copyright Portal Educao

2012 Portal Educao


Todos os direitos reservados

R: Sete de setembro, 1686 Centro CEP: 79002-130


Telematrculas e Teleatendimento: 0800 707 4520
Internacional: +55 (67) 3303-4520
atendimento@portaleducacao.com.br Campo Grande-MS
1

Endereo Internet: http://www.portaleducacao.com.br

Dados Internacionais de Catalogao na Publicao - Brasil


Triagem Organizao LTDA ME
Bibliotecrio responsvel: Rodrigo Pereira CRB 1/2167
Portal Educao

P842a Aprendendo linux : fundamentos / Portal Educao. - Campo Grande:


Portal Educao, 2012.

187p. : il.

Inclui bibliografia
ISBN 978-85-8241-361-6

1. Softwares livres. 2. Sistema operacional. 3. Linux - Histria. I. Portal


Educao. II. Ttulo.

CDD 005.44
SUMRIO

1 HISTRIA DO LINUX ................................................................................................................5

1.1 O SOFTWARE LIVRE ................................................................................................................5


2
1.2 A LICENA GPL/GNU................................................................................................................5

1.3 O GNU/LINUX ............................................................................................................................6

1.4 DISTRIBUIES LINUX DISTROS ........................................................................................8

1.5 ESCOLHENDO UMA DISTRIBUIO ......................................................................................10

1.6 ORIGEM DO DEBIAN ...............................................................................................................11

1.7 DESENVOLVIMENTO DO DEBIAN ..........................................................................................13

1.8 MAIN CONTRIB NON-FREE ...............................................................................................14

1.9 DESENVOLVEDORES..............................................................................................................16

1.10 INSTALANDO O DEBIAN..........................................................................................................17

1.11 REQUISITOS MNIMOS DE INSTALAO ..............................................................................19

1.12 REPOSITRIOS .......................................................................................................................20

1.13 ADQUIRINDO UMA IMAGEM ISO ............................................................................................21

2 LINHA DE COMANDO MODO TEXTO ..................................................................................70

2.1 PS-INSTALAO ...................................................................................................................70

2.2 PRIMEIROS COMANDOS ........................................................................................................76

2.3 COMANDOS PARA OBTER INFORMAES ..........................................................................77


2.4 COMANDOS PARA MANIPULAO DE DIRETRIOS ...........................................................82

2.5 COMANDOS PARA MANIPULAO DE ARQUIVOS ..............................................................89

2.6 COMANDOS DE REDIRECIONAMENTO DE ENTRADA/SADA ............................................107

2.7 COMPACTADORES E EMPACOTADORES ...........................................................................111


3

2.8 SHELL CONCEITOS .............................................................................................................115

2.9 APLICATIVOS QUE USAM INTERNET EM MODO TEXTO ....................................................116

2.10 SSH ACESSO REMOTO SEGURO ......................................................................................120

3 IMPRESSO, ESTRUTURA DE ARQUIVOS E PROCESSOS ...............................................122

3.1 COMANDOS DE IMPRESSO ................................................................................................122

3.2 O SISTEMA DE ARQUIVOS DO DEBIAN LINUX ....................................................................126

3.3 COMANDOS PARA MONTAR DISPOSITIVOS E PARTIES ..............................................128

3.4 FERRAMENTAS MTOOLS ......................................................................................................133

3.5 O COMANDO FSCK FILESYSTEM CONSISTENCY CHECK ..............................................135

3.6 PROPRIEDADE DOS ARQUIVOS E PERMISSIONAMENTO .................................................141

3.6.1 Proprietrios e Grupos..............................................................................................................142

3.7 CONTROLANDO PROCESSOS NO DEBIAN..........................................................................150

3.7.1 Background ..............................................................................................................................150

4 ADMINISTRAO E INTERFACE GRFICA .........................................................................158

4.1 IMPLEMENTANDO SEGURANA BSICA .............................................................................158


4.2 INSTALANDO UM FIREWALL BSICO ...................................................................................162

4.3 SINCRONIZANDO O RELGIO DE NOSSO DESKTOP COM NTPDATE ..............................163

4.4 AUTOMATIZANDO A ATUALIZAO DO NOSSO SISTEMA.................................................165

4.5 VERIFICAR A INTEGRIDADE DO SISTEMA ...........................................................................168


4

4.6 XORG SERVIDOR GRFICO ...............................................................................................168

4.7 CONFIGURANDO O XORG MANUALMENTE.........................................................................169

4.8 INSTALANDO UMA OU MAIS INTERFACES GRFICAS .......................................................176

4.9 FACILIDADES DA INTERFACE GRFICA TOCANDO MSICAS .......................................179

4.10 GRAVANDO CD'S E DVD'S - K3B ...........................................................................................181

4.11 ASSISTINDO FILMES TOTEM..............................................................................................183

REFERNCIAS ..................................................................................................................................185
1 HISTRIA DO LINUX

1.1 O SOFTWARE LIVRE

Existem algumas diferenas de interpretao no que diz respeito ao software livre.


Livre pode ser interpretado como liberdade de se fazer o que quiser com aquele cdigo, ou
seja, copiar, distribuir, etc. Software Livre um software disponvel com permisso para qualquer
um us-lo, seja na sua forma original ou com modificaes, seja gratuitamente ou com custo.

Importante: no confundir software livre com software grtis. A liberdade associada ao


software livre est relacionada a copiar, modificar e redistribuir, independente da gratuidade.

Em nosso curso preferi utilizar a definio da Fundao do Software Livre que a


seguinte: software livre qualquer cdigo ou programa que poder ser copiado, estudado,
modificado e redistribudo sem qualquer restrio, sendo inclusive esta distribuio incentivada.

O copyleft como denominada uma licena de software livre muito utilizado e


geralmente permite que os programas sejam modificados e redistribudos. Estas prticas so
geralmente proibidas pela legislao internacional de copyright. As licenas que acompanham o
software livre fazem uso da legislao de copyright para garantir as liberdades de modificar e
redistribuir o software assim licenciado, ou seja, com o copyright protege-se este cdigo para
que ele se mantenha livre.

1.2 A LICENA GPL/GNU


A Licena Pblica Geral (General Public License-GNU) a que acompanha os pacotes
distribudos pelo projeto GNU e mais uma grande variedade de software, incluindo o ncleo do
sistema operacional atualmente. A formulao da GPL tal que ao invs de limitar a distribuio
do software por ela protegido, ela de fato impede que este software seja integrado a programas
proprietrios, ou seja, de cdigo fechado ou restrito.

A General Public License foi criada pelo idealizador do software livre, Richard Stallman, 6
no final da dcada de 1980. Ele precisava criar um projeto que lanaria um sistema operacional
totalmente livre e que fosse compatvel com o sistema operacional Unix sem utilizar o cdigo
fonte deste.

O nome GNU um acrnimo recursivo de GNU is Not Unix, ou seja, GNU no Unix.

A GPL General Public License pode ser resumida em quatro direitos:

Voc tem o direito de usar o programa para qualquer fim;


Voc tem o direito de fazer cpias, distribu-las e at mesmo vend-las a quem
tiver interesse;
Voc tem o direito de ter acesso ao cdigo fonte do programa, fazer alteraes e
redistribu-las;
Voc tem o direito e ao mesmo tempo obrigao de redistribuir as modificaes
ou melhorias feitas.

No Brasil, foi criada a CC-GNU-GPL, pois o software para ser livre precisa estar
registrado sob uma licena.

1.3 O GNU/LINUX
O Linux um sistema operacional formado por vrios mdulos compilados
separadamente e depois linkados (ligados), formando um grande e nico programa executvel,
em que os mdulos podem interagir livremente caracterizando uma arquitetura monoltica.

Linux foi o nome dado ao Kernel de cdigo aberto (livre), desenvolvido por Linus
Torvalds, na poca, um estudante da Universidade de Helsinki, na Finlndia.

Em 1991, comprou um 80386 e com vinte e um anos, sendo que cinco j de 7

experincia programando (em linguagem C) e utilizando o Sistema Unix da Universidade


(SunOS, atualmente Solaris), ele desejava rodar a verso de Tannenbaum (Minix um Unix para
fins didticos com poucos recursos) no seu recm-adquirido 80386. Entretanto, descontente com
os recursos do Minix, especialmente em relao ao emulador de terminal que ele utilizaria para
acessar remotamente o Unix da Universidade, comea a desenvolver o seu prprio emulador de
terminal que no rodaria sobre o Minix, mas diretamente no hardware do PC 386. Este projeto
pessoal foi sendo modificado gradualmente e adquirindo caractersticas de um Sistema
Operacional independente do Minix. Iniciava a o desenvolvimento do Kernel Linux, relatado pelo
prprio Linus Torvalds em seu livro Just for Fun (S de Brincadeira). Nesta poca, ele resolveu
distribuir os cdigos fontes na faculdade a fim de agregar colaboradores para desenvolver o
sistema.

O projeto foi lanado em 1991, em uma famosa mensagem para a Usenet e a partir
deste momento ele comeou a receber ajuda de hackers do Minix e hoje recebe contribuies de
milhares de programadores.

Ento, em 5 de outubro de 1991, Linus Torvalds anuncia a primeira verso do kernel


do Linux, denominada verso 0.02.

Com o anncio da verso do kernel, Richard Stallman, da FSF, prope a unio das
ferramentas GNU com o recm-criado kernel de Linus e ento nasce o primeiro sistema
operacional de cdigo aberto, o GNU/Linux. O sistema operacional GNU/Linux possui as
seguintes caractersticas:

Multitarefa real;
Multiusurio;
Suporte a nomes extensos de arquivos e diretrios (at 255 caracteres);
Conectividade com vrios outros tipos de plataformas;
Proteo entre processos executados na memria RAM;
Suporte a mais de 63 terminais virtuais (consoles);
Modularizao s permanece na memria o que estiver sendo executado. Assim
que o programa ou dispositivo finalizado, a memria liberada;
Os drivers (mdulos) de dispositivos podem ser carregados ou removidos da
memria a qualquer momento. Os drivers ocupam pouco espao de RAM; 8
No h necessidade de reiniciar o sistema aps alterar qualquer configurao;
Capacidade para acessar discos formatados em diversos sistemas (Dos, Fat16,
Fat32, NTFS, Novell, MACOS, OS/2, etc.);
Utiliza um sistema de permissionamento de arquivos e diretrios e programas que
esto em execuo na memria RAM;
Invulnervel a vrus, pois o filesystem possui um sistema de permissionamento de
arquivos, diretrios e processos que respeitam as polticas de segurana.

1.4 DISTRIBUIES LINUX DISTROS

Atualmente, existem diversas distribuies que so acompanhadas pelo kernel do


sistema. Existem distros livres que adotam a filosofia do software livre e tambm aquelas que
so totalmente comerciais. Nelas so oferecidos aplicativos, utilitrios, ferramentas de
gerenciamento e grficas que abrangem as mais diversas reas.

Uma distro um conjunto de aplicativos que so organizados por tipo para facilitar a
instalao e utilizao. Acompanham uma distribuio alm dos diversos aplicativos, utilitrios,
ferramentas grficas e de configurao e instalao, uma verso de kernel (geralmente a mais
atual para aquela distribuio).

Alm disso, todas as distribuies seguem um padro para o sistema denominado File
System Standard a fim de garantir a padronizao do sistema operacional.
Seria impossvel em nosso curso falar de cada distribuio, pois existem milhares. Por
este motivo, vou falar brevemente das mais importantes e mais utilizadas, principalmente aqui no
Brasil.

Distribuio Kurumin
9

Distribuio desenvolvida pela equipe do Guia do Hardware e chefiada por Carlos E.


Morimoto e que fez um sucesso enorme. Ela era baseada no Knoppix e mais tarde passou a
utilizar componentes do kanotix. Possua tambm pacotes baseados no Debian. O sucesso
desta distribuio decorrente do fato de, na poca, reconhecer a maioria do hardware
existente. Existiam tambm solues para mquinas com poucos recursos de hardware o que
fazia com que rodasse em quase todos os computadores da poca. Sua interface grfica era
muito fcil de usar e possua pacotes para quase todos os tipos de necessidades. Apesar de ter
sido descontinuada na verso 7, ainda pode ser encontrada em diversos repositrios, no
entanto, no recomendo o uso dela em mquinas recentes, pois corre-se o risco de no
identificar boa parte do hardware.

Red Hat Linux

Distribuio comercial que deu origem a diversas distribuies como a brasileira


Conectiva que se fundiu a Madrake e deu origem ao Madriva. Na distribuio Red Hat foi criado
o pacote RPM (Red Hat Package Manager), facilitando muito a instalao e remoo de pacotes
nesta distribuio.

Alm do Conectiva, tem como base o Red Hat as distros CentOS, Fedora (criada por
uma comunidade voltada desktops) e patrocinada pela Red Hat e tambm a Yellow Dog que
uma distro utilizada pelos consoles Playstation 3 e para o Mac PPC.

Yellow Dog Linux


De todas as distribuies de Linux existentes, a Yellow Dog a distribuio menos
conhecida dos brasileiros. Apesar de estar presente dentro dos consoles de jogos Playstation 3,
poucos sabem disso.

Atualmente, em sua verso 6.0, oferece suporte a arquiteturas como Playstation e


Macs G4 e G5, entre outras. Esta verso est baseada no CentOS e desenvolvida pela
TerraSoftwareSolutions.
10

Fedora Linux

Quando a Red Hat abriu sua distribuio para a comunidade, o que era conhecido
antes como Red Hat Linux se tornou o Fedora Core.

O compromisso da comunidade de desenvolvedores do Fedora disponibilizar o que


h de mais moderno em termos de distribuio, por este motivo, a cada nove meses lanada
uma nova verso, incluindo novas verses dos aplicativos que acompanham essa distribuio.

1.5 ESCOLHENDO UMA DISTRIBUIO

Para escolher a distribuio a ser instalada, voc tem que avaliar as necessidades do
usurio ou grupo de usurios se for o caso. Voc deve verificar se a instalao ser feita em
uma estao de trabalho, vrias estaes de uma empresa ou se so vrias estaes e um
servidor ou servidores, etc.

Outro fator a se levar em conta o tipo de hardware em que ser instalado o Linux. Se
for uma mquina com hardware novo e com grandes recursos no haver problemas, mas se ao
contrrio for uma mquina com hardware antigo, pouco espao em disco e pouca memria RAM,
voc ter que avaliar bem sua escolha para no decepcionar o cliente, fazendo com que ele
desista muitas vezes de instalar o sistema.
O estudo de caso muito importante para poder tomar a deciso da distribuio a ser
adotada, no esquecendo tambm do fator licena, caso a distribuio a ser utilizada seja
totalmente comercial.

Aqui, comeo a justificar um dos motivos da escolha do Debian como sistema


operacional para uso pessoal, profissional e tambm para nosso curso. Dentre muitas
caractersticas positivas do Debian, uma das mais importantes a estabilidade. J vi mquinas 11
rodando o Debian que esto com uptime (comando que nos retorna o tempo que o computador
est rodando o Linux desde que foi ligado) em torno de um ano. So mquinas que s
interromperiam o sistema por uma falha grave no hardware, como, por exemplo, um disco rgido,
uma fonte que entra em curto, para citar os mais comuns e provveis. Outro motivo para se
interromper o funcionamento e com isso o uptime no ser to longo o fato de que em algumas
ocasies temos que executar uma compilao de kernel por motivo de segurana ou
atualizaes. S um sistema operacional estvel e robusto poderia prover tal faanha.

1.6 ORIGEM DO DEBIAN

Debian simultaneamente o nome de uma distribuio no comercial livre (gratuita e


de cdigo fonte aberto) de GNU/Linux e de um grupo de voluntrios que o mantm volta do
mundo. Uma vez que o Debian se baseia fortemente no projeto GNU ( a distribuio oficial do
Projeto GNU), usualmente chamado Debian GNU/Linux.

O Debian especialmente conhecido pelo seu sistema de gesto de pacotes,


chamado APT, que permite: atualizaes relativamente fceis a partir de verses realmente
antigas; instalaes quase sem esforo de novos pacotes e remoes limpas dos pacotes
antigos.

O projeto Debian mantido por doaes por meio da organizao sem fins lucrativos
Software in the Public Interest (SPI).
O nome Debian vem dos nomes dos seus fundadores, Ian Murdock e de sua mulher
Debra. A palavra Debian pronunciada em Portugus como Dbian.

O Debian foi fundado em 1993, por Ian Murdock, na poca, estudante universitrio,
que escreveu o Manifesto Debian que apelava criao de uma distribuio Linux a ser mantida
de uma maneira aberta, segundo o esprito do Linux e do GNU.

O Projeto Debian cresceu vagarosamente e lanou suas verses 0.9x em 1994 e 1995, 12

quando o dpkg ganhou notoriedade. Os primeiros ports para outras arquiteturas iniciaram em
1995, e a primeira verso 1.x do Debian aconteceu em 1996.

Bruce Perens substituiu Ian Murdock como lder do projeto. Ele iniciou a criao de
vrios documentos importantes (o contrato social e o free software guidelines) e a legtima
Umbrella Organization (SPI), bem como liderou o projeto por meio dos lanamentos das verses
da ELF/libc5 (1.1, 1.2, 1.3).

Bruce Perens deixou o projeto em 1998, antes do lanamento da primeira verso


Debian baseada em glibc, a 2.0. O Projeto continuou elegendo novos lderes e fazendo mais
duas verses 2.x, cada qual incluindo mais ports e mais pacotes. A APT foi lanada durante este
tempo e o Debian/GNU/Hurd tambm se iniciou.

O ano de 1999 trouxe as primeiras distribuies Linux baseadas em Debian, Corel


Linux e Storm Linux, hoje descontinuadas, mas que iniciaram o que uma notvel tendncia s
distribuies baseadas em Debian.

Perto do ano 2000, o projeto se direcionou ao uso de repositrios de pacotes e


distribuio testing, alcanando um marco maior no que se refere aos arquivos e o
gerenciamento de lanamentos.

Em 2001, os desenvolvedores iniciaram conferncias anuais, Debconf, com conversas,


workshops, e a recepo aos usurios tcnicos. A verso 3.0, em 2002, incluiu mais do que o
dobro do nmero de pacotes da verso anterior e estava disponvel para cinco novas
arquiteturas.
1.7 DESENVOLVIMENTO DO DEBIAN

A poltica de desenvolvimento do Debian prima pela qualidade, segurana e


estabilidade do sistema. Os pacotes so classificados em Stable, Testing e Unstable, ou seja, 13
estvel, em teste e instvel, respectivamente.

A verso conhecida como estvel (Stable) exaustivamente testada e corrigida at


que o conjunto de pacotes atinja certa maturidade. Quanto estes pacotes atingem esta
maturidade, eles so congelados (freeze) na verso em que se encontram e uma nova verso
Stable lanada. O tempo entre o lanamento de duas verses estveis pode levar de um ou
at dois anos, pois o Debian tem compromisso com a qualidade. Existem algumas distribuies
que lanam realeses incompletas em razo da presso do mercado, pois elas so de um modo
geral comerciais.

normal para quem ainda no tem o hbito do uso do Debian estranhar este tipo de
controle de verso1.

Na estrutura de diretrios dos softwares, as novas verses do Debian se encontram


nas rvores teste (Testing) e instvel (Unstable).

Inicialmente o pessoal responsvel pelo desenvolvimento do Debian coloca seus


pacotes em uma rvore experimental. Aps algum tempo os pacotes so transferidos para a
estrutura instvel (Unstable) e em seguida transferidos para a rvore teste (Testing). Quando so
transferidos para a rvore teste, significa que foram testados exaustivamente por algum tempo e
no apresentaram problemas.

perfeitamente possvel fazer a instalao do Debian a partir da rvore teste, desde


que voc o faa em uma mquina que no esteja executando alguma aplicao crtica ou um
servidor de aplicao em produo. O recomendado que, se for usar a instalao partindo da
rvore testing, voc o faa em uma estao de trabalho e tenha conhecimentos suficientes para
resolver possveis problemas com pacotes novos.

1
Disponvel em: <http://www.bonix.net> Acesso em: 26/03/2009.
Em contrapartida, se voc for se aventurar em uma instalao partindo da rvore
instvel (Unstable) deve estar ciente de que voc dever possuir conhecimentos para resolver
problemas de instalao e configurao imprevisveis.

14
1.8 MAIN CONTRIB NON-FREE

Os pacotes do Debian so classificados de acordo com o tipo de licena de software


em que foram inseridos.

Todos os pacotes includos na distribuio oficial do Debian so livres de acordo com a


Definio Debian de Software Livre2. Isso assegura o uso livre e a redistribuio de pacotes com
seu cdigo fonte completo. A distribuio oficial Debian a que est contida na seo Main do
repositrio do Debian.

Como um servio para os usurios do Debian so providos pacotes em sees


separadas que no podem ser includas na distribuio main por causa de uma licena restritiva
ou problemas legais. So eles:

Contrib

Pacotes nessa rea so livremente licenciados pelo detentor do copyright, mas


dependem de outros pacotes que no so livres.

Non-Free (estes pacotes foram retirados do Debian a partir do Sarge)

2
Disponvel em: http://www.debian.org/social_contract#guidelines Acesso em: 26/03/2009.
Pacotes nessa rea apresentam algumas condies na licena que restringem o uso
ou redistribuio do software.

Nota: Os mesmos pacotes podem aparecer em muitas distribuies, mas com


nmeros de verso diferentes.

Eventualmente e somente em casos em que ocorra um problema crtico ou atualizao


de segurana em uma distribuio Stable, so efetuadas releases para corrigir estes problemas. 15

So chamadas de point releases em razo do incremento numrico aps o ponto decimal.

Para que fique mais claro o entendimento disso, na distribuio Etch do Debian,
anterior ao Lenny, que a distribuio Stable atualmente, foram lanados vrios releases como
demonstrado na tabela abaixo:

Releases Efetuadas Data da release

Primeira release, 4.0r1 Atualizado em August 15, 2007

Segunda release, 4.0r2 Atualizado em December 26, 2007.

Terceira release, 4.0r3 Atualizado em February 17, 2008.

Quarta release, 4.0r4 Atualizado em July 26, 2008.

Quinta release, 4.0r5 Atualizado em October 23, 2008.

Sexta release, 4.0r6 Atualizado em December 18, 2008.

Stima release, 4.0r7 Atualizado em February 10, 2009.


1.9 DESENVOLVEDORES

O Debian possui uma equipe de desenvolvedores dedicados. Muitas pessoas


expressaram interesse em informaes sobre a localizao dos desenvolvedores Debian. Assim, 16
a equipe do Debian decidiu adicionar, como parte do banco de dados dos desenvolvedores, um
campo onde os mesmos podem especificar suas coordenadas no mundo. Este banco de dados
pode ser alimentado pelo desenvolvedor com as coordenadas de sua localizao, assim
qualquer pessoa pode consultar onde se encontram estes brilhantes colaboradores. Abaixo, o
mapa que est disponvel na pgina do Debian.org.

O Projeto Debian formado por voluntrios, e eles geralmente esto procurando por
novos desenvolvedores que tenham bons conhecimentos tcnicos, interesse em software livre e
algum tempo livre. Para os desenvolvedores, existem mquinas Debian disponveis em diversas
arquiteturas. Para saber mais sobre as polticas de uso dessas mquinas pelos
desenvolvedores, acesse a pgina http://www.debian.org/devel/dmup em ingls.

Se voc deseja ser um desenvolvedor, alm de conhecimento tcnico imprescindvel


o domnio da lngua inglesa.

17

1.10 INSTALANDO O DEBIAN

Antes de iniciar o download do Debian, necessrio que voc obtenha algumas


informaes acerca do hardware onde o sistema ser instalado. Existem diversas maneiras de
se verificar que hardware o computador possui. Apesar de a verso atual ser capaz de identificar
quase todos os tipos de dispositivos, existem ocasies que uma ou outra placa pode pertencer a
um fabricante que no oferea o suporte.

Uma dica que se vocs possurem um outro sistema operacional j instalado em seu
computador, antes de iniciar a formatao, se for o caso, deem uma olhada no hardware que foi
instalado por ele e anotem os dispositivos que ele identificou, pois isso pode ajudar muito, caso
durante a instalao voc seja inquirido a responder o modelo de placa a ser selecionado. Tenha
em mos, antes da instalao, os manuais de todos os dispositivos presentes em seu
computador (Placa me, DVD, CD, Placa de vdeo, etc.). Na falta destes, voc pode tentar ler
alguma informao nas caixas dos dispositivos, isto , se voc ainda as possuir.

Outra boa fonte de informaes a respeito do seu hardware encontra-se na BIOS de


seu computador. Acessando as opes que esto configuradas, voc pode ter uma ideia dos
dispositivos que esto instalados.

Nota: Aproveitando que estamos falando em BIOS, antes de prosseguir com a


instalao do Linux, se em seu SETUP tiver a opo de monitoramento de vrus no MBR (Master
Boot Record) de seu HD, desabilite esta funcionalidade, pois ela pode impedir que voc instale o
Linux, uma vez que ele ir gravar neste setor do disco.

Outra forma de identificar os dispositivos de seu computador utilizando programas


que fazem toda a identificao do hardware, listando modelo, fabricante, etc. O Everest um
aplicativo que pode ser baixado em sites que mantm repositrios de vrios tipos de programas
e utilizado para esta finalidade, pois gratuito para testes. Voc pode usar tambm o 18
DriverWizard que faz um reconhecimento do hardware, podendo ser baixada uma verso trial
para avaliao.

Durante a instalao sero solicitadas algumas informaes a respeito de sua placa de


rede como ip, gateway, dns, etc. Caso voc no saiba, poder consultar seu provedor de internet
ou em caso de estar instalando em uma rede corporativa, seu administrador de rede pode lhe
fornecer essas informaes.

Para ver uma lista completa referente compatibilidade do Debian, voc pode acessar
a pgina do projeto em http://www.debian.org/doc/manuals/debian-faq/ch-compat.pt-br.html ou
em http://www.tldp.org/HOWTO/Hardware-HOWTO/ para sanar qualquer dvida mais especfica.

Geralmente, antes de efetuar a instalao, criamos uma tabela com todo o hardware
existente em nossa mquina-alvo e vamos preenchendo com toda a informao necessria. Veja
o exemplo abaixo:

Dispositivo Quantidade e modelo


Quantidade de discos, ordem de instalao (Master Primrio, Master Sec.,
Disco Rgido
capacidade, parties existentes).
Modelo e fabricante, CRT ou LCD, resolues suportadas, frequncia Vert. e
Monitor
Horiz.(opcional).
Mouse Fabricante, Tipo: PS2, Serial ou USB, nmero de botes.
Modelo e fabricante, taxa suportada (10/100 Mbps, IP, gateway, Netmask,
Placa de Rede
DNS, Host.).
Placa de Vdeo Modelo e fabricante, memria de vdeo.
Placa de Som Modelo e fabricante.
Memria Modelo e fabricante, quantidade disponvel.
Processador Modelo, fabricante, frequncia, suporte a multiprocessamento (SMP).

OBS: A tabela acima nos auxilia caso o Debian no reconhea alguns dispositivos do
seu hardware. Atualmente muito raro que se precise especificar com tantos detalhes os
dispositivos de seu computador.

Infelizmente nem todos os fabricantes oferecem suporte ao Linux. O ponto positivo 19


disso que atualmente so bem poucos, pois as grandes empresas fabricantes de
equipamentos j perceberam que o Linux est cada vez mais presente no mercado e para no
ficarem de fora, acabam cedendo a esta tendncia.

Um projeto muito interessante para obter parmetros de utilizao do Linux o Linux


Counter. Para participar basta se cadastrar e fornecer algumas informaes a respeito de seu
computador e o sistema Linux que voc utiliza. A partir da voc recebe um nmero de
identificao e sua mquina com seu sistema passam a fazer parte de uma estatstica de uso
global. Para saber mais acesse http://augustocampos.net/revista-do-linux/020/comunidade.html
da Revista do Linux.

1.11 REQUISITOS MNIMOS DE INSTALAO

Os requisitos mnimos para instalao do Debian vo depender do tipo de sistema que


voc vai instalar, ou seja, se for uma estao de trabalho, um servidor, etc. Abaixo, temos uma
tabela que apresenta os requisitos mnimos de hardware para cada configurao, bem como o
espao em disco necessrio:
Requisitos Mnimos de Sistema Recomendados

Tipo de Instalao RAM (mnimo) RAM (recomendado) Disco Rgido


Sem desktop* 64 megabytes 256 megabytes 1 gigabyte
Com desktop 64 megabytes 512 megabytes 5 gigabytes
* Sem interface grfica.
20

Dependendo do tipo de computador que ser utilizado, os requisitos mnimos podem


ser diferentes dos listados nesta tabela. Conforme a arquitetura utilizada, possvel instalar
Debian com apenas 20MB (para s390) at 48MB (para i386 e amd64). O mesmo se passa para
os requisitos de espao em disco, especialmente se escolher quais as aplicaes a instalar.

Por exemplo, existem distribuies baseadas no Debian que podem ser instaladas em
um Pendrive de 128 MB, pois ocupam apenas 50 MB e possuem recursos grficos e aplicativos
necessrios para se navegar na internet, editar um texto, etc.

1.12 REPOSITRIOS

Existe uma infinidade de repositrios de onde voc pode baixar uma imagem do
Debian e a partir dela gravar um CD bootvel para proceder a instalao. No entanto,
recomenda-se que sejam utilizados repositrios oficiais e que fiquem o mais prximo possvel de
sua regio por questes bvias.

A lista de repositrios oficiais pode ser encontrada em http://www.debian.org/mirror/ e a


partir desta lista voc seleciona o espelho e baixa a imagem utilizando o http ou ftp. Voc pode
utilizar qualquer navegador Web para baixar a imagem ou se estiver baixando a partir de uma
mquina com Linux instalado, utilizar o wget que tambm faz o download via http. Veremos
detalhes deste comando mais adiante em nosso curso.
A instalao pode ser feita a partir de um CD ou DVD com a imagem gravada, via rede
(voc vai precisar de uma banda bem rpida, caso contrrio demora uma eternidade) e at
mesmo a partir de disquetes. Esta opo era muito utilizada antigamente quando as unidades de
CD-ROM eram caras e no estavam disponveis em alguns computadores. Atualmente esta
opo praticamente intil.

21

1.13 ADQUIRINDO UMA IMAGEM ISO

A sigla ISO uma referncia ao sistema de arquivos de discos pticos, no caso


ISO9660. Em nosso exemplo, vou utilizar o repositrio da Unicamp para baixar nossa imagem
ISO que ser gravada em um CD e a partir deste, efetuar a instalao do Lenny em nossa
mquina de testes. Utilizei o WGET para baixar a imagem apesar de no ser recomendado
utilizar o protocolo http para baixar imagens. O correto seria fazer utilizando Bitorrent ou jigdo, no
entanto resolvi arriscar porque era o que estava mais fcil no momento. Abaixo o screenshot da
tela do terminal com o WGET em ao.
22

O comandoque dado acima foi wget http://debian.las.ic.unicamp.br/debian-


cd/5.0.0/i386/iso-cd/debian-500-i386-CD-1.iso. Na imagem acima podemos visualizar o ambiente
XFCE que uma das muitas interfaces grficas que o Debian possui, e no terminal podemos
visualizar tambm o momento em que ocorreu a conexo com a Unicamp. Mais abaixo podemos
ver a porcentagem concluda da imagem, o tamanho em bytes (185.935.692) a taxa de
transferncia de dados (24,2 K/s) e o tempo aproximado restante para o download (6h e 6 min).

Aps completar o download da imagem, voc pode utilizar qualquer aplicativo para
grav-la. No Debian, o mais utilizado por ter mais opes o K3B. Para gravarmos a imagem
em um CD e torn-la bootvel, utilizamos a opo Burn in imagem ISO. Esta opo faz com que
o programa, a partir da imagem ISO, grave os arquivos corretamente no CD, transformando-o
em um CD que far a inicializao da instalao a partir de sua unidade CD-ROM. No esquea
de alterar no SETUP de sua mquina para o First Boot (primeiro dispositivo a ser buscado para o
boot) direcionado para o CD-ROM.
Agora que temos nosso CD de instalao com a verso Stable do Debian 5.0,
denominada Lenny (binculo), podemos iniciar a instalao. Ento, mos na massa.

Vamos fazer algumas consideraes sobre a instalao. Se voc possuir um outro


sistema operacional j instalado no seu disco rgido, no haver problema em instalar o Debian,
desde que voc tenha espao disponvel no disco ou outra partio vazia, no importando se ela
est antes ou depois deste sistema. Caso voc possua um segundo disco rgido, melhor ainda, 23
pois voc poder executar a instalao sem maiores problemas.

O Linux mapeia os HD's de uma maneira diferente que outros sistemas operacionais.
Por exemplo, se voc tem um HD e ele est instalado como Master primrio, ele mapear este
disco como hda se ele for IDE ou sda se ele for SATA ou SCSI. Caso seu HD esteja particionado
com duas parties, por exemplo, 50% do disco em uma partio e os restantes 50% em outra,
ele mapear da seguinte maneira:

HD IDE (Master primrio) Primeira partio (50%) Segunda Partio (50%)


hda hda1 hda2
HD SATA (Master primrio) Primeira partio (50%) Segunda Partio (50%)
sda sda1 sda2

Caso seu HD esteja na segunda IDE ou SATA ele aparecer da seguinte forma:

HD IDE (Master secundrio) Primeira partio (50%) Segunda Partio (50%)


hdb hdb1 hdb2
HD SATA (Master secundrio) Primeira partio (50%) Segunda Partio (50%)
sdb sdb1 sdb2
No entanto, em nossa instalao do Debian, tambm se faz necessrio criarmos uma
partio denominada SWAP que nada mais que uma rea de troca que o Linux utiliza para
gravar dados quando a memria RAM insuficiente.

Atualmente, existe muita discusso a respeito da utilidade e necessidade da SWAP,


mas por via de dvidas iremos adotar uma rea de troca em nossa instalao, por ser o padro
para o Debian. 24

Vou assumir que seu disco seja SATA e vou exemplificar como ficaria a instalao em
um disco rgido de 80 Gbytes em uma mquina com 1 Gbyte de RAM.

Antigamente, quando a memria RAM era cara e escassa, convencionou-se que para
um micro com 256 MB de RAM, deveria ser dimensionada uma SWAP com valor do dobro de
RAM, ou seja, criaramos uma SWAP de 512 MB. No entanto, est mais do que provado que
SWAP acima de 512 MB no muito utilizada pelo Linux, uma vez que quando ele utiliza esta
rea porque o uso de memria RAM pelo sistema est no limite crtico.

Como as novas mquinas possuem muita memria, seria um desperdcio de disco se


alocssemos uma SWAP muito grande. Por este motivo, para nosso exemplo vou fixar nossa
SWAP em 512 MB que mais do que suficiente.

Nosso disco ficaria particionado da seguinte maneira:

HD SATA 80 Gb. Partio 1 (45%) Partio 2 (50%) Partio Swap ( 0,5%)


sda sda1 sda2 sda3
80 GB 36 GB 40 GB 512 MB

OBS.: Estes so valores bem prximos do real, quando o instalador criar as parties
os valores sero um pouco diferentes, mas a inteno com este exemplo que vocs entendam
o conceito do particionamento de um disco rgido pelo Debian.
S para acrescentar, por uma questo de segurana, uma boa prtica atribuir ao
particionamento acima, o diretrio / (barra certa) em sda1, criando a partio onde sero
instalados os arquivos do sistema, separados do /home em sda2, ficando em outra partio os
arquivos e documentos dos usurios do sistema. Esta prtica muito til, pois se ocorrer
qualquer problema com o sistema na partio sda1, poder ser feita a reinstalao sem que
ocorra a perda dos dados dos usurio. Veremos com mais detalhes o sistema de arquivos em
nosso curso. 25

Para finalizar, quando iniciarmos a instalao e for pedido para escolher o tipo de
particionamento desejado, vamos selecionar o particionamento manual que possibilitar maior
controle para que possamos escolher as opes que foram exemplificadas nas tabelas acima.
Agora que entendemos como funciona o particionamento, vamos iniciar a instalao na prtica.

Coloque seu CD contendo a imagem previamente gravada e reinicie seu computador,


no esquecendo de mudar no SETUP de sua mquina o boot para unidade de CD-ROM, e
desabilitando a opo de monitoramento de vrus no MBR descrito anteriormente.

Assim que ele carregar o CD voc dever visualizar a seguinte tela:

Pressione a tecla F3 e selecione a opo Advanced options.


Em seguida, selecione Graphical expert install.

26

Na prxima tela ser solicitado que voc escolha a linguagem do sistema. Voc dever
selecionar primeiro o pas (Brasil) e nas telas seguintes a linguagem do seu pas.
27

No suporte linguagem voc pode escolher pt_BR ou pt_BR_UTF-8 relacionado a


locales, que nada mais do que a linguagem local que o sistema utilizar.
Aqui em nosso exemplo selecionei a opo pt_BR_UTF8, aproveitei e ativei o suporte
ao ingls selecionando en_US.

28

No prximo passo, ser solicitado a escolher o layout de nosso teclado, que poder ser
ABNT2 para teclado com a tecla .
Layouts selecionados, no prximo passo o sistema tentar detectar a unidade de CD
ou DVD que est sendo usado para instalar.

29

Na tela abaixo, vemos um dos mdulos de kernel que responsvel pela USB para
pendrives. Na dvida, deixe o sistema escolher.
Na prxima tela, voc ser questionado se necessita de suporte a cartes PCMCIA. Se
voc estiver instalando em um notebook, selecione sim, caso contrrio no. Esta opo poder
surgir vrias vezes durante a instalao e voc responder sempre a mesma.

30

Na duas prximas telas verificamos que nosso CD de instalao foi totalmente


detectado pelo sistema.
Nesta etapa, simplesmente clique em continuar para prosseguir com a instalao.

31

Na prxima tela sero solicitados mdulos adicionais para o kernel. Voc poder
selecionar o cfdisk que um particionador e tambm selecione o suporte a parties ntfs. Caso
voc esteja instalando em um notebook selecione suporte a rede wireless (sem fio).
Aqui o sistema tentar detectar todo o seu hardware e tambm sua placa de rede. Nas
verses atuais, a deteco de hardware geralmente bem-sucedida.

32

Novamente na prxima tela, s selecione sim se voc estiver instalando em um


notebook.
Na prxima etapa, provavelmente se sua placa foi detectada com sucesso, ser
solicitado que seja escolhido o tipo de rede para configur-la.

33

Na prxima etapa, necessrio saber o tipo de rede que voc possui. Se for DHCP, a
configurao ser feita automaticamente, caso contrrio voc precisar obter informaes do
seu provedor ou administrador de rede.
Em nosso exemplo, na prxima tela optei por selecionar rede com IP esttico e no
DHCP. Assim, poderei demonstrar para vocs como inserir as informaes neste tipo de rede.
Digite separado por pontos o IP de seu computador como no exemplo e clique em continuar.

34

No prximo passo ser solicitado que seja digitada a mscara de rede. Digite como no
exemplo abaixo (voc precisar saber qual sua mscara, verifique isso com seu administrador
de rede ou provedor de internet).
Na prxima tela solicitado o gateway padro, ou seja, o IP do roteador de sua rede.
Caso no saiba, consulte seu administrador de rede ou provedor de internet. Aps digitar
corretamente, clique em continuar.

35

Prosseguindo com a configurao de nossa rede, voc dever digitar o DNS conforme
o exemplo. Voc poder colocar at trs DNS's separados por um espao. Caso no saiba,
solicite ao seu administrador ou provedor de acesso.
36

Na prxima etapa ser solicitado que voc digite um nome de Host. Este ser o nome
que sua mquina aparecer na rede. Optei por escolher Curso Linux para o nome de Host no
nosso exemplo.
Na prxima tela ser solicitado o nome do domnio de sua rede. Se voc no tiver ou
no souber esta informao, deixe-a em branco e tecle continuar. Em nosso exemplo, est
demonstrado o formato habitual de um nome de domnio.

37

As duas prximas telas referem-se ao nosso fuso horrio e ao modo como desejamos
sincronizar a hora de nosso sistema.
38

Se voc desejar que o Debian Linux sincronize o relgio do sistema com um servidor
NTP confivel, voc pode clicar em sim que ele o far sempre que estiver conectado internet.

Neste ponto nos ser perguntado se queremos sincronizar a hora do sistema por meio
do NTP (Network Time Protocol).
Aqui digitamos nosso servidor NTP. O padro o servidor do Debian org, no entanto,
convm que seja utilizado um servidor que esteja dentro do fuso horrio de sua regio. Caso no
conhea, voc poder deixar em branco. Ao finalizar clique em continuar.

39

Caso voc esteja conectado e tenha selecionado o servidor NTP, o Debian faz a
sincronizao inicial. Isto til porque quando houver mudana no horrio de vero, voc no
precisar se preocupar em acertar a hora de seu sistema, ele o far automaticamente por meio
do NTP.
40

Aqui devemos selecionar o fuso horrio da cidade onde estamos instalando nosso
sistema. No meu caso, So Paulo.
No prximo passo o sistema ir detectar seu disco rgido (HD) para que seja feito o
particionamento do disco.

41

Observe que na tela abaixo o sistema ir inicializar o particionador de disco que no


caso do Debian utilizado o Gparted. Clique em continuar.
No prximo passo voc deve selecionar o particionamento manual que lhe possibilitar
maior controle sobre o particionamento do disco.

42

Na tela podemos verificar que o disco no nosso exemplo a ser particionado um disco
SATA ou SCSI (reconhecido pelo Debian como sda). Podemos verificar que um HD de 3.2
Gbytes.
43

Se seu HD for novo e no estiver particionado, poder aparecer esta tela. Neste caso,
digite sim e voc ver que criaremos uma tabela de partio inicial que pode ser qualquer
sistema. No nosso caso, e por uma questo de familiaridade, escolhi uma tabela do DOS.

Selecione a opo msdos e clique em continuar.


44

O prximo passo iniciar o particionamento do disco para instalar nosso sistema.


Temos agora, no exemplo abaixo, a representao do espao livre do disco em um partio
nica. Tecle em continuar.

No prximo passo selecione criar uma nova partio e tecle em continuar.


45

No prximo passo ser solicitado que voc digite o tamanho da partio para a
instalao do nosso sistema. Aqui selecionei 2.0 GB para minha primeira partio, onde sero
colocados os arquivos do sistema (/) do Debian. Tecle em continuar aps entrar com o tamanho.
No prximo passo ser solicitado o tipo de partio. Selecione primria. Podemos ter
no mximo quatro parties primrias em um mesmo disco rgido. A partir da quinta partio s
poderemos selecionar parties lgicas. Tecle em continuar.

46

Na prxima tela, selecionamos se queremos cri-la no incio ou no fim do espao em


disco. A no ser que voc saiba o que est fazendo, sempre selecione no incio e clique em
continuar.
Nesta tela, poderemos ver o tipo de filesystem que no caso deve ser selecionado
EXT3. Caso no esteja, voc deve clicar duas vezes em cima da linha Usar como e selecionar
este tipo de sistema. O ponto de montagem deve ser o (/) barra e o restante voc pode deixar
como est. Se quiser coloque um rtulo (sistema, por exemplo) e clique em continuar.

47

No prximo passo, vamos selecionar nosso espao livre e criar a segunda partio
onde colocaremos nosso /home que ser a partio dos arquivos dos usurio. Selecione um
tamanho, lembrando sempre de deixar espao para nossa SWAP (rea de troca). Clique duas
vezes sobre o espao livre.
48

Clique duas vezes em Usar como: e selecione EXT3, ponto de montagem: /home, em
rtulo sugiro: Documentos e finalizar a configurao da partio. No altere as outras opes.
Clique em continuar.
Podemos ver na prxima tela, como est ficando nosso particionamento. Observe o
espao selecionado, tipo de filesystem (ext3) e os pontos de montagens do sistema (/ e /home).
Vamos agora criar nossa Swap. Clique duas vezes sobre o espao livre.

49

Nas opes que aparecem, selecione: rea de troca (swap) e clique em continuar. Nela
no necessrio selecionar o tipo de filesystem, nem indicar ponto de montagem. Clique em
continuar.
No exemplo abaixo, podemos visualizar como ficou particionado nosso disco.
Utilizamos o espao livre para a swap que ficou com 271.4 Mb de espao, mais que o suficiente
para nossa rea de troca. Clique em finalizar o particionamento e continuar.

50

Finalmente somos alertados para as mudanas que sero efetuadas no disco e aps
este passo todas as parties sero criadas e formatadas com seu filesystem selecionado e
teremos o disco pronto para prosseguir com a instalao. Selecione Sim e continuar.
Na prxima etapa ser instalado o sistema bsico e os arquivos sero copiados para o
disco para preparar o sistema para inicializao posterior. Clique em continuar.

51

Aps o instalador copiar alguns arquivos, ser mostrada a tela abaixo. Selecione a
verso do kernel que o sistema oferece a voc. Ele sempre oferece a melhor verso para seu
tipo de mquina. S selecione uma verso diferente caso sua instalao trave neste ponto. Voc
poder reiniciar e quando chegar novamente nesta tela, selecione outro kernel.
52

O instalador lhe solicitar que escolha um kernel genrico que inclui drivers para quase
todo o hardware existente e um kernel mais enxuto, contendo os drivers necessrios para o
sistema onde est sendo instalado. Caso no funcione com esta opo, tente com a outra
opo.

A prxima etapa ser para criar a senha para o superusurio e criar um usurio normal
atribuindo senha a eles. O instalador pedir a confirmao da senha para ambos. Lembre-se que
no Debian, so diferenciadas letras minsculas de maisculas.
53

Nesta etapa, selecione sim. Senhas de sombra (shadow) uma particularidade do


Debian para tornar as senhas mais seguras. Veremos isso com detalhes posteriormente em
nosso curso. A segunda opo tambm ser detalhada mais adiante, por hora selecione sim e
tecle em continuar.
A prxima etapa ser para criar a senha para o superusurio e criar um usurio normal
atribuindo-lhe uma senha. O instalador pedir a confirmao da senha para ambos. Digite com
cautela, lembrando que no Debian, so diferenciadas letras minsculas de maisculas e tecle
em continuar.

54

Como o prprio sistema sugere, vamos criar uma conta de usurio normal (sem
privilgios de superusurio) para que possamos efetuar tarefas como navegar, editar texto e
executar tarafas simples. Por questes de segurana, no recomendado usar a conta de root
para tarefas do dia a dia.
55

Em nosso exemplo, criei um usurio chamado aluno linux. Voc pode, se preferir,
digitar seu nome e sobrenome e o Debian pegar seu primeiro nome para o nome de login do
usurio normal, como pode ser verificado na prxima tela. Tecle continuar.
A tela abaixo exemplifica o nome do usurio normal que ser o login no sistema. Tecle
em continuar.

56

O prximo passo ser configurar nosso gerenciador de pacotes que ser o responsvel
pelo tipo de sistema que teremos, ou seja se teremos Interface Grfica ou no, se teremos
servidor Web e de Banco de Dados ou no, etc. Clique em continuar.
Nesta etapa, se voc possuir mais conjuntos de CD's de instalao a hora de coloc-
los um a um no drive de CD-ROM para que sejam catalogados pelo instalador. Em caso de DVD,
teremos somente um porque todos os sete CD's de instalao do Debian cabem em um DVD.

57

Nesta etapa, voc escolhe se usar os CD's ou DVD para instalar ou se ir configurar
um espelho (mirror) com repositrio de arquivos Debian para prosseguir a instalao.
Nota: O tempo de instalao vai depender da velocidade de sua banda de internet.
Tecle em continuar aps escolher.

58

Na prxima etapa, iremos selecionar os pacotes e o ambiente que queremos em nosso


micro, ou seja, Desktop, servidor sem interface grfica, etc. Clique em continuar.
Na prxima tela, ser perguntado se voc deseja fazer parte de uma estatstica que
existe da utilizao de pacotes Debian. Deixo por sua conta, pois isso totalmente opcional no
interferindo em nada em seu sistema.

59

Na prxima etapa, selecione Sistema Bsico e Ambiente Desktop para que voc tenha
um ambiente com todos os recursos necessrios de uma estao de trabalho (Desktop). Tecle
em continuar.
60

Aps selecionar os pacotes a serem instalados, na prxima tela voc ver uma barra
de progresso com a quantidade de pacotes a serem copiados e instalados.
Quando for mostrada a tela seguinte, significa que o Debian est quase completando
sua instalao. Aqui ele pergunta se desejamos instalar o gerenciador de boot GRUB em nosso
disco rgido. Selecione esta opo e clique em continuar.

61

Aqui voc ser inquirido a escolher entre o Grub verso 1 e 2. Vamos selecionar a
verso 1 por questes de compatibilidade e tambm porque a verso 2 ainda no
suficientemente estvel. Selecione no e clique em continuar.
Na tela abaixo, podemos observar o progresso da instalao do Grub no MBR (Master
Boot Record) do disco rgido. Caso voc possua outro sistema operacional em outra partio do
disco e o Grub o reconheceu, ele criar um menu de opes automaticamente para voc
selecionar entre o Debian e o outro sistema.

62

A seguir podemos verificar que no caso de minha instalao exemplo, no havia outro
sistema no disco, por isso ele est dizendo que parece ser o nico sistema existente. Mesmo
assim, ele est me questionando se eu desejo confirmar a gravao do Grub no MBR. Para
ambos os casos a opo aqui Sim. Clique em continuar.
No prximo passo surge a tela com opo de colocar uma senha no GRUB. Em minha
instalao optei por no colocar senha. Caso voc coloque, antes de entrar em qualquer sistema
do disco, ser solicitada a digitao da mesma.

63

Finalmente, se voc fez tudo certinho como nos exemplos, ser apresentada esta tela
para que a instalao seja finalizada. Clique em continuar.
Finalmente, na tela abaixo, seremos inquiridos a selecionar o relgio do sistema para
UTC (Universal Time Clock). Como anteriormente configuramos nosso fuso horrio e tambm
escolhemos nosso NTP para sincronizar o relgio, aqui a opo ser no. Clique em continuar.

Nota: UTC o tempo Unix, em segundos, deste sua criao as 00h00 do dia
01/01/1970. conhecido tambm como Times Stamp.

64

Parabns se voc conseguiu chegar at aqui. O Debian abrir sua unidade de CD,
solicitando que voc remova o CD de instalao e far a inicializao de sua mquina com o
sistema instalado.
65

O Debian diferente dos outros sistemas. Quando o Linux est utilizando a unidade de
CD-ROM, voc no conseguir abri-la, a menos que ele permita. Veremos isso com detalhes
futuramente.

Aps seu computador concluir o boot, a tela que se apresenta a seguir mostra o menu
do GRUB com todos os sistemas operacionais reconhecidos e que podem ser inicializados a
partir do menu. Utiliza-se as setas de direo para fazer a seleo. Por default, o Debian
aguarda cinco segundos para que voc selecione o sistema operacional que deseja. Ao trmino
deste tempo ele carregar o sistema que estiver configurado como default no Grub (no nosso
caso, Debian GNU/Linux Kernel-2.6.26-1-686). A outra opo para manuteno em caso de
problemas com o kernel instalado. Chama-se modo Single user. Em cima dos menus, o Grub
tambm mostra o valor da rea de memria baixa (638 KB), a de memria alta (260032 KB) no
meu caso, alm de sua verso (0.97). As linhas abaixo do menu referem-se a opes avanadas
de configurao do Grub que foge ao escopo de nosso curso.
66

Podemos verificar na prxima tela, o filesystem sendo inicializado (EXT3 FS on sda2),


a rea de troca sendo ativada (swap), a interface de rede sendo inicializada, vrios mdulos.
Finalmente, o Debian carrega sua Interface Grfica (xserver-xorg) e utiliza o
gerenciador de janelas Gnome para apresentar o ambiente Desktop ao usurio.

A telinha ao centro solicitando o Login do usurio e posteriormente sua senha


conhecido como GDM.

67

Para entrar no sistema, digite seu usurio criado como mostrado abaixo, e tecle enter.
Em seguida, digite a senha do usurio aluno. Note que ao digitar so mostrados
apenas asteriscos. Cuidado, o Debian sensvel a letras maisculas e minsculas. Digite e em
seguida tecle enter.

68

Finalmente, se voc digitou corretamente seu login e senha, ser apresentada a tela
do Desktop com o cones padres, seu menu pop-up na barra superior, juntamente com o cone
do navegador e do cliente de e-mail. Mais a direita podemos observar o dia da semana, o relgio
do sistema, hora local e o alto falante do sistema.
69

Aqui, podemos visualizar o menu pop-up sendo acessado, mostrando diversas opes
da Interface Grfica que estudaremos em mdulos futuros.
2 LINHA DE COMANDO MODO TEXTO

2.1 PS-INSTALAO

70

Independente de nossa Interface Grfica que j se encontra funcional, no Linux


possvel abrir at 63 terminais em modo texto, no entanto para as necessidades de simples
mortais que somos, podemos ter seis terminais abertos ao mesmo tempo da seguinte maneira.
Se digitar simultaneamente as teclas CTRL + Alt + F1, F2, F3, F4, F5 e F6, abriremos seis
terminais, isto , nossa interface grfica ficar oculta at que digitemos a combinao CTRL + Alt
+ F7 para que retornemos a ela. Mais adiante veremos a praticidade de podermos abrir tantos
terminais e, ento, saciaremos sua curiosidade. Por enquanto, vou pedir que vocs cliquem no
menu Aplicaes, Ferramentas de Sistema, Terminal. A tela a seguir ser aberta:
Voc pode observar que o terminal abriu por cima da interface grfica e nele podemos
perceber o prompt de comando onde se l: jamaral@debian5:~$ que significa o usurio jamaral
em uma mquina (host) com nome debian5. O $ no prompt do Debian significa que estou
logado como usurio normal, sem privilgios de superusurio. Diferentemente, o prompt do
superusurio (root) seria debian5:~# indicando superusurio em uma mquina chamada debian5
e a cerquilha indicando o prompt caracterstico do superusurio (root).
71
Podemos abrir vrios terminais a partir deste primeiro terminal aberto, simplesmente
clicando com o mouse no menu Arquivo na parte superior do terminal e escolher a opo
Arquivo-> Abrir Aba. Sero abertos quantos forem necessrios dentro dos limites j
anteriormente citados. O prximo screenshot mostra o mesmo terminal anterior com mais trs
abertos, totalizando quatro terminais abertos na mesma janela.

Bem acima do prompt podemos verificar os quatro terminais abertos com o ttulo
Terminal-jamaral@d...; se quisermos fech-los, basta clicar com o mouse no X direita de
cada um e ele ser finalizado.

Vocs devem estar se perguntando, porque abriria mo de uma cmoda interface


grfica para trabalhar com um terminal em modo texto?
Aqui comeamos a nos aventurar no modo texto, pois quando precisamos executar
alguns procedimentos ps-instalao, vocs vero que ele tem sua utilidade.

Vou comear apresentando a vocs o comando apt que baixa e instala pacotes Debian
praticamente sem nenhum esforo. Vamos supor que eu queira encontrar um pacote que
contenha um determinado programa. Por exemplo, eu quero instalar um aplicativo que coloca
em minha tela um bando de pinguins malucos andando de um lado para outro. uma proteo 72
de tela denominada xpenguins. Para exemplificar o uso do apt, vou demonstrar como podemos
localizar este pequeno aplicativo e instal-lo sem nenhum esforo.

Para isso, eu irei digitar na linha de comando, inicialmente o comando: apt-cache


search <nome do pacote> que faz uma busca do cache do repositrio para encontrar o pacote.
Mas, antes disso, vamos ver como se tornar o root (superusurio) dentro do mesmo terminal que
abrimos. Basta digitar o comando su (vem de switch ou substitute user) e fornecer a senha do
root. Observe na prxima tela:

Aps digitarmos su no terminal, pedido senha e ento temos que digitar a senha de
root. Cuidado, pois em modo texto, enquanto voc digita, no aparece nenhum caractere, nem
mesmo os asteriscos. Digite enter e voc j estar como superusurio, caso tenha digitado a
senha corretamente.

apt-cache search xpenguins

73

Observe que ele encontrou os pacotes que contm o xpenguins. So eles: o xpenguins
e o xpenguins-applet. Do lado direito podemos ver uma pequena descrio do contedo do
pacote. Agora que sabemos o nome dos pacotes que contm o nome de nosso aplicativo, basta
instalarmos utilizando o comando apt-get install <nome do pacote>. o que pode ser visualizado
no prximo screenshot.
apt-get install xpenguins xpenguins-applet

74

Aps digitar enter, o Linux faz a busca no repositrio que est configurado e avisa que
sero instalados dois pacotes novos, o espao em disco que ser ocupado e pede confirmao.
Note que o S/n o S est em caixa alta. No Debian quando isso ocorrer, significa que se voc
der enter prevalecer a opo que est em maisculo, no caso Sim o default.

Aps a instalao, o aplicativo estar pronto para uso. Voc poder inici-lo a partir do
modo texto simplesmente digitando xpenguins e enter.

Nota: Para que seu terminal no fique travado enquanto o aplicativo executado,
voc pode usar um recurso muito til do Linux que executar um programa em background, ou
seja, por debaixo dos panos como se costuma dizer. Basta que voc digite o comando com o
smbolo & (e comercial) logo em seguida.

Voc poder observar na prxima tela, um bando de pinguins malucos voando,


andando de skate e at lendo um livro, provavelmente de Linux. Eles se movimentam por toda a
sua tela, andando em cima de obstculos, no caso a tela do terminal.
75

Geralmente quando instalamos um aplicativo por meio do apt, ele automaticamente


passa a fazer parte dos menus pop-up da interface grfica. No entanto, em algumas ocasies e
dependendo do aplicativo ou pacote instalado, pode acontecer do Debian no gerar o menu.
Neste caso, existe uma soluo que reiniciar a interface grfica para que os menus sejam
atualizados com os pacotes que foram instalados. Note que eu falei em reiniciar a interface
grfica e no o computador. No Linux, so raros os casos em que precisaremos reiniciar a
mquina para fazer valer as alteraes. Geralmente isto feito aps uma compilao de kernel
ou uma atualizao de segurana muito crtica. Para reiniciar somente a interface grfica, basta
que digitemos uma combinao de teclas. So elas: CTRL + Alt + Backspace. A tecla backspace
uma tecla retangular com o desenho de uma seta apontando para a esquerda que fica
localizada em cima da tecla Enter no teclado.

Um ltimo detalhe antes de prosseguir. No Debian Linux, todos os comandos de modo


texto que veremos a partir de agora so digitados em letras minsculas e como j dissemos
anteriormente, o Debian sensvel caixa alta, de modo que se voc digitar um comando com
letras maisculas ou errado em sua sintaxe ser emitida uma mensagem de erro do tipo
comand not found, ou seja, comando no encontrado.
2.2 PRIMEIROS COMANDOS

Agora que j estamos familiarizados com o nosso terminal de texto, vamos nos
aprofundar um pouco mais. Vamos aprender a fazer uma srie de tarefas teis, utilizando este
recurso do Debian Linux. Inicialmente, vamos aprender a criar e remover usurios, atribuir 76

senhas a eles e vamos conhecer onde ficam armazenadas as senhas dos usurios.

Para ilustrar isso e treinar os comandos relacionados a eles, vamos criar um usurio
denominado Cadu, em homenagem ao pinguim principal daquele filme estrelado por pinguins de
diversas espcies. Vamos utilizar o comando useradd para criar este usurio e em seguida
vamos atribuir uma senha a ele denominada linux com o comando passwd. Sua sintaxe bem
simples:

useradd <nome do usurio>

passwd <usurio>

Aps digitar passwd <usurio>, o Debian solicitar que digitemos a senha e que a
confirmemos. Observe abaixo.
Podemos ver na tela acima a criao de nosso usurio Cadu, e o comando para criar
uma senha para ele.

Notem que o Debian solicita uma nova senha Unix para o novo usurio e depois
solicita a confirmao da mesma senha. Por fim, vemos que foi criado e atualizado com sucesso.

Nota: Aqui solicitado como Unix por ser o sistema de onde originou o Linux e por ser
ambos perfeitamente compatveis. 77

As senhas dos usurios ficam armazenadas em um arquivo inacessvel ao usurio


normal. Somente como root que podemos acess-la, mas no muito recomendvel sob o
risco de danificar os arquivos de senhas. Elas ficam guardadas no arquivo /etc/passwd e
/etc/shadow. No passwd esto guardadas apenas referncias senha. dentro do passwd que
se encontram as senhas encriptadas. Voc se lembra durante a instalao que lhe foi
perguntado sobre se desejava sombra de senha? Pois , quando voc respondeu sim para
aquela opo, o sistema configurou as senhas encriptadas dentro do shadow, pois um arquivo
mais restrito, por isso mais seguro.

Da mesma forma que criamos, podemos remover um usurio. O comando o userdel


e sua sintaxe :

userdel <usurio>

Aps digitar enter, seu usurio ser removido do sistema, juntamente com a senha que
foi atribuda a ele.

2.3 COMANDOS PARA OBTER INFORMAES


De todos os comandos do Debian Linux, um dos mais utilizados, por razes bvias o
comando man. Esse comando conhecido como pginas de manuais do Linux e sua sintaxe
bem simples:

man <comando que se deseja obter as informaes>

78
Digamos que voc queira saber tudo o que o comando useradd pode fazer, suas flags,
opes avanadas, etc. O comando man til quando necessitamos saber o que determinado
comando faz e quais suas opes de uso.

A m notcia que a maior parte do material de ajuda a contido est em ingls. Mas
possvel encontrar ajuda para alguns comandos em portugus.

Na tela a seguir, um exemplo de utilizao do comando man.

Observe que no Debian, o espao entre o comando e suas flags ou parmetros faz
parte da sintaxe.

man useradd
Na tela acima temos uma descrio resumida da sada que o comando retornou.
Podemos observar que em Name vem o comando e uma descrio do que ele faz, em Synopsis,
uma descrio exemplificada resumida, em Description, uma descrio completa e em Options
h vrias opes de uso.

Comando who 79

Este comando utilizado para verificar quem est on-line e em que terminal. Sua
sintaxe bem simples:

who

Este comando dado sem argumentos e ele retornar o nome do usurio que est on-
line e qual terminal ele est logado. Se voc abrir um terminal e digitar who, ver que retornar
seu nome de usurio, o terminal que est logado, no caso o tty7 que equivale Interface Grfica
e novamente seu nome de usurio em pts/0 que o terminal aberto. Esta sigla se refere a um
socket que est aberto provendo seu terminal por cima da Interface Grfica. Se voc abrir abas
de um mesmo terminal, sero acrescidos mais sockets, indicando que voc est logado em
vrios terminais via sockets.

Comando whoami
O comando whoami serve para identificar o usurio que est logado em vrios
terminais. Ele til para descobrirmos como estamos logados naquele momento, ou seja, aps
abrirmos vrios terminais e por meio do comando su mudamos para superusurio, ou para outro
usurio qualquer do sistema, em dado momento podemos nos esquecer de quem somos no
sistema. Ele identifica que usurio naquele exato momento.

80

Na tela acima estvamos logados como usurio comum (jamaral). Mudamos para root
com o comando su e logo em seguida digitamos whoami e verificamos que realmente agora
somos o root.

Comando date
Verifica ou ajusta a data e a hora do sistema. Voc s poder executar este comando
se estiver logado como root (superusurio). A sintaxe bem simples:

date -s <h:m:s> para alterar a hora do sistema.

81

date -s <ano-mes-dia> para alterar a data do sistema.

Comando uptime

O comando uptime retorna o tempo que nosso servidor ou estao de trabalho se


encontra trabalhando desde que foi inicializado. A sintaxe deste comando no requer
argumentos.

Comando uname

O comando uname retorna o nome do sistema e verso, verso e tipo de kernel que
estamos utilizando, a data e hora da compilao e para que arquitetura aquele kernel. Abaixo,
um exemplo de retorno do comando com a flag -a:

uname a
Linux debian5 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686 GNU/Linux

Linux debian5 refere-se ao Lenny, 2.6.26-1-686#1 SMP refere-se verso do kernel,


arquitetura intel e Suporte a Multiprocessamento.

82

2.4 COMANDOS PARA MANIPULAO DE DIRETRIOS

Os comandos que veremos nesta seo, nos auxiliam na organizao dos dados
armazenados em discos rgidos, mdias pticas (CD e DVD) e pendrives.

Comando pwd

A sintaxe pwd sem argumentos. Este comando retorna o caminho, ou seja, o diretrio
em que nos encontramos atualmente. Na tela, podemos observar que estamos dentro do
diretrio /home/jamaral que o diretrio de trabalho do usurio jamaral.
83

Comando cd

O comando cd utilizado para entrar e sair de diretrios. Sua sintaxe tambm bem
simples:

cd <caminho completo> Note que h um espao entre o comando e o caminho.

Exemplo 1: Na tela anterior, vimos que o caminho onde estvamos era /home/jamaral.

Supondo que estejamos no diretrio raiz do sistema e quisssemos entrar no diretrio


/jamaral, bastaramos a digitar como exemplificado abaixo:

cd /home/jamaral e finalizando com um enter.


Nota: Observe que entre o cd e o /home, existe um espao e o nome dos diretrios
juntos.

Exemplo 2: Agora, se estivssemos dentro do diretrio /home e desejssemos entrar


no diretrio /jamaral, voc no precisa digitar o caminho completo com as barras, basta digitar da
seguinte maneira: 84

cd jamaral e finalizando com um enter.

Nota: Novamente alerto para o espao existente entre o comando cd e o diretrio


jamaral.

Outra caracterstica do comando cd que caso estejamos em qualquer diretrio que


no seja o nosso diretrio de trabalho (nosso home), bastar que voc digite cd sem argumentos
para que voc seja levado automaticamente para seu diretrio /home.
Podemos observar na tela acima. Estvamos em /usr. Dentro de /usr digitei cd sem
argumentos e finalizei com enter. Na linha seguinte, digitei o pwd e verificamos que voltamos
para /home/jamaral.

Isso muito prtico quando trabalhamos em modo texto. Podemos tambm voltar um
nvel por vez para o diretrio Pai. Se quisssemos sair de /jamaral e ir para o /home podemos
simplesmente digitar cd .. para descermos um nvel e voltarmos para o /home. 85

Comando mkdir

O comando mkdir (make directory) cria diretrios para que possamos organizar os
nossos arquivos. O diretrio criado ser de propriedade do usurio que o criou, sendo que
somente este ter permisso de acess-lo. Veremos mais adiante detalhes de
permissionamento. A sintaxe :

mkdir <nome do diretrio>

Para exemplificar o uso do comando mkdir, vamos fazer um exerccio para poder
compreender sua utilidade.

Estando dentro de seu diretrio home (nome, meu caso /home/jamaral, ou


simplesmente /jamaral), utilizando o comando mkdir crie um diretrio chamado casa. Entre
dentro do diretrio casa utilizando o comando cd e crie quatro subdiretrios denominados sala,
quarto, cozinha e banheiro. Em seguida, entre em casa e crie subdiretrios nomeados como se
fossem utenslios existentes dentro deles, por exemplo: em sala, crie um diretrio tv e outro sof;
em quarto crie um subdiretrio cama e guarda-roupa; em banheiro, um box e um pia; e
finalmente em cozinha crie um com nome fogo e geladeira.
Este exerccio til para voc treinar a criao e organizao de diretrios e acess-
los de forma correta. Aps executar este exerccio, sua estrutura de diretrios deve ser similar a
esta que aparece na prxima tela:

86

Observe a tela. No repare meu erro (command not found). Digitei o comando mdkir
erroneamente e o sistema me alertou. Utilizando o mkdir e o cd, criei toda a estrutura de
diretrios conforme descrito anteriormente. Voc pode tentar esse exerccio para ver se
consegue entender bem o conceito.
87

Na tela acima voc pode visualizar a estrutura toda criada. Utilizei o comando du que
retorna os diretrios e subdiretrios do local onde voc est, com informaes de utilizao do
espao em disco, arquivos e diretrios.

Na primeira linha, utilizei o comando pwd s para voc visualizar que me encontrava
dentro do diretrio casa.

Comando rmdir

O comando rmdir remove diretrios previamente criados. Para que ele remova o
diretrio necessrio que o mesmo esteja vazio, ou seja, no pode conter subdiretrios ou
arquivos. A sintaxe :

rmdir <nome do diretrio>


Comando ls

O comando ls um dos mais utilizados no terminal do Linux. Ele retorna uma listagem
do diretrio corrente contendo todos os arquivos, subdiretrios e links se houverem. A sintaxe :
88

ls sem argumentos ou se preferir ls <caminho do diretrio>

ls sem argumentos produzir uma sada dos diretrios e arquivos existentes em forma
de colunas.

Ele pode vir acompanhado de flags que alteram o retorno da listagem apresentada.

As flags mais utilizadas so: -l para retornar uma listagem completa dos arquivos
contendo tipo arquivo ou diretrio, links ligados a ele, proprietrio e grupo, tamanho em bytes e
data e hora da criao ou ltimo acesso. Abaixo, temos um exemplo de listagem completa com a
flag -l que listou o diretrio casa e o arquivo bookmarks.html. Veremos mais adiante em nosso
curso, detalhes do permissionamento dos arquivos. Note que o arquivo tem um - na primeira
posio, indicando ser ele um arquivo regular e o segundo tem um d de diretrio, indicando que
casa um diretrio.

ls -l

-rw-r--r-- 1 jamaral jamaral 151126 Fev 23 10:32 bookmarks.html

drwxr-xr-x 6 jamaral jamaral 4096 Mar 1 14:14 casa

Podemos tambm utilizar combinao de flags. Por exemplo, para visualizarmos


arquivos ocultos, podemos utilizar sozinha a flag -a ou us-la em combinao com a -l. No Linux,
todos os arquivos que possurem um . (ponto) no incio do nome do arquivo, estaro com o
atributo oculto no sendo possvel visualiz-lo com o ls a no ser que seja utilizada a flag -a.
Veja o exemplo abaixo:

Digitando-se o comando ls -la

-rw-r--r-- 1 jamaral jamaral 151126 Fev 23 10:32 bookmarks.html


89
drwxr-xr-x 6 jamaral jamaral 4096 Mar 1 14:14 casa

-rw-r--r-- 1 jamaral jamaral 0 Mar 1 14:47 .modulo.txt

Note que com o uso da flag -a combinada com a -l aparecer na listagem o arquivo
modulo.txt que oculto, apesar de ser um arquivo regular, pois possui o - no incio da listagem
e tambm tem um ponto no incio do nome que faz com que ele fique oculto.

2.5 COMANDOS PARA MANIPULAO DE ARQUIVOS

Veremos agora alguns comandos para manipulao de arquivos texto. No Linux, a


maioria dos arquivos de configurao se encontra em texto puro. Para que possamos manipul-
los e alter-los, existe uma srie de comandos que veremos agora.

Comando cat
Este comando lista o contedo de um arquivo texto sem paginao. No utilize este
comando em arquivos binrios, pois no possvel ver o contedo de arquivos executveis. A
sintaxe :

cat <nome do arquivo texto>


90

Na tela abaixo podemos ver um exemplo de utilizao deste comando no arquivo


.bashrc que um arquivo oculto de configuraes existente no diretrio do usurio.

Podemos observar que o cat varreu o arquivo todo sem fazer pausa de pgina para
que pudssemos ler. Para contornar isso, podemos usar outro comando para fazer a paginao
e nos dar tempo para ler as linhas do arquivo. o prximo comando que aprenderemos.
Comando more

O comando more similar ao cat. A diferena que ele exibe o contedo de um


arquivo texto com paginao. Para paginar basta que acionemos a barra de espao do teclado.
Se quisermos que a leitura seja linha a linha, iremos digitando enter. A sintaxe : 91

more <nome do arquivo texto>

Outro comando similar ao more o less que tem a funcionalidade idntica. Sua sintaxe
:

less <nome do arquivo texto>

A paginao feita da mesma forma que o more, utilizando a tecla de barra de espao
para paginar ou enter para avanar linha a linha.

Algumas vezes, o arquivo texto a ser analisado muito extenso e precisamos apenas
ler as primeiras linhas ou as ltimas. o caso quando se analisa os arquivos de logs em busca
de informaes. Para isso, o Debian possui dois comandos que so o head e o tail.

Comando head

O comando head retorna por default as primeiras dez linhas de um arquivo texto. Sua
sintaxe :
head <nome do arquivo texto>

Sero impressas na tela as primeiras dez linhas do arquivo texto. Ele possui flags para
controlar a sada e a mais usual a flag -n que apresenta na sada as primeiras n linhas
fornecidas. Exemplo:
92

head -n 5 .bashrc

Ser impresso na tela as primeiras cinco linhas do arquivo texto .bashrc.

O comando tail

O comando tail retorna por default as ltimas dez linhas de um arquivo texto. Sua
sintaxe :

tail <nome do arquivo texto>

Assim como o head, este comando possui flags para controlar a sada de texto
apresentada. A flag mais comum a -n que apresenta na sada, as ltimas n linhas fornecidas.
Exemplo:

tail -n 5 .bashrc
Sero impressas na tela as ltimas cinco linhas do arquivo texto .bashrc.

O comando wc

93

O comando wc (word count) conta as linhas de um arquivo texto. Sua sintaxe :

wc <arquivo texto>

Por exemplo, se digitarmos wc .bashrc ser retornado a seguinte sada:

99 434 3116

Indica que o arquivo .bashrc tem 99 linhas, 434 palavras e o tamanho de 3116 bytes.

O comando file

O comando file retorna o tipo arquivo alvo, ou seja, se ele um arquivo texto, binrio,
etc. Sua sintaxe :

file <nome do arquivo>


Se, por exemplo, digitarmos file .bashrc, ser retornado o tipo deste arquivo conforme
abaixo:

.bashrc: ASCII English text indica que um arquivo ASCII texto em ingls.

94

Se digitarmos o comando file em um arquivo executvel (binrio) como, por exemplo, o


comando halt que veremos mais adiante, o retorno de file halt seria:

halt: POSIX shell script text executable indicando que um script de shell texto
executvel, ou seja, arquivo binrio.

Comando touch

O comando touch utilizado para criar arquivos comuns de comprimento zero, ou seja,
criando um arquivo vazio. Sua sintaxe : touch <nome do arquivo>

Exemplo: touch amaral.txt ser criado o arquivo amaral com extenso .txt vazio.

Comando cp
Este um dos comandos mais utilizados no Linux. Com ele podemos fazer cpias de
arquivos e diretrios. Sua sintaxe :

cp <origem> <destino>

95

Para ficar mais fcil o entendimento, demonstrarei o uso do cp por meio de exemplos.
Se, por exemplo, quisermos copiar o arquivo anteriormente criado para o subdiretrio casa
criado nos exerccios anteriores, procederamos assim:

Estando em /home/jamaral onde se encontra o arquivo criado com o touch, digitamos:


cp amaral.txt casa/

Podemos verificar na tela acima que o arquivo foi copiado. Aps executar a cpia, voc
pode verificar que eu utilizei o comando ls -l casa/ para poder verificar que o arquivo foi copiado.

Podemos tambm utilizar caracteres coringas para executar mltiplas cpias. Um dos
coringas muito utilizado o * asterisco.
Vamos supor que queremos copiar todos os arquivos existentes em /home/jamaral
para dentro do subdiretrio /casa/sala/sofa. Aqui precisaremos indicar o caminho completo do
destino dos arquivos. Nossa linha de comando seria assim: cp *.* /casa/sala/sofa ou seja,
copie todos os arquivos com todas as extenses (*.*) para dentro do subdiretrio sof.

96

Voc pode verificar na tela acima que aps fazer a cpia dos mltiplos arquivos, usei o
comando ls -l para verificar se realmente foram copiados todos os arquivos para dentro do
diretrio sof.

Eu poderia tambm utilizar o caractere curinga de outra forma. Suponha que eu queira
copiar somente os arquivos com a extenso .png para dentro do subdiretrio casa/quarto/cama.
Para executar esta cpia, o comando seria o seguinte:

cp *.png casa/quarto/cama
Observem que, aps fazer a cpia, utilizei o comando ls -l novamente para verificar se
foram copiados os arquivos com a extenso png para dentro do diretrio cama. Existem n
maneiras de utilizao deste comando. Peo que treinem bem o conceito e apliquem em seu
terminal a fim de entender o funcionamento do comando cp.

97

Comando mv

No Linux, o comando mv, tanto move um arquivo de um diretrio para outro como
tambm renomeia este arquivo. Sua sintaxe :

mv <origem> <destino>

ou
mv <nome do arquivo> <novo nome do arquivo>

Por exemplo, se quisssemos mover um arquivo de /home/jamaral para dentro do


diretrio casa/cozinha, por exemplo, faramos da seguinte maneira:

98

mv amaral.txt casa/cozinha o arquivo amaral.txt seria movido para o diretrio cozinha.

Nota: Observe que o mv move o arquivo e no mantm uma cpia na origem, diferente
do cp que mantm uma cpia na origem.

Para utiliz-lo para renomear arquivos, por exemplo, se quisssemos renomear o


arquivo amaral.txt para jamaral.txt, bastaramos digitar o comando da seguinte maneira:

mv amaral.txt jamaral.txt O nome do arquivo amaral seria mudado para jamaral, sem que seu
contedo sofresse qualquer alterao.

Comando rm

O comando rm, remove tanto arquivos quanto diretrios. Use este comando com
cautela, pois uma vez removido o arquivo ou diretrio, a ao irreversvel. Sua sintaxe :

rm -flags <nome do arquivo ou diretrio>


Para remover o arquivo amaral.txt basta digitar: rm amaral.txt

O rm possui duas flags que utilizadas em conjunto so muito perigosas, pois removem
tanto arquivos, quanto diretrios, no importando se eles esto ou no vazios. Use-as com muita
cautela, pois a ao delas irreversvel. Se, por exemplo, quisermos remover o diretrio /cama
dentro do diretrio /quarto para onde copiamos diversos arquivos com extenso png, poderamos 99

executar o seguinte comando:

rm -rf casa/quarto/cama o diretrio cama ser removido, mesmo que no esteja vazio.

Nota: A flag -f significa remover forado, ou seja, de qualquer forma e a flag -r significa,
recursivamente, ou seja, diretrios e subdiretrios.

Comando locate

O comando locate utilizado para encontrar diretrios e/ou arquivos em nosso


sistema. Para isso, ele se utiliza de uma base de dados que contm referncias a tudo que est
em nosso sistema. Esta base de dados deve ser atualizada de tempos em tempos, medida que
instalamos mais aplicativos em nosso sistema. Para atualiz-la basta digitarmos o comando
updatedb &. Aps executarmos esse comando, podemos utilizar o locate com mais preciso.
Agora, suponhamos que desejamos encontrar o diretrio que contm meus documentos texto
dentro do diretrio PortalEducao. Bastaria que eu digitasse:

locate Portal Educacao


E como retorno obteria as seguintes informaes:

jamaral@dtm221:~$ locate PortalEducacao/

/home/jamaral/PortalEducacao/CursoLinuxEAD.doc

100

Seriam mostradas informaes acerca do diretrio do PortalEducacao, onde guardo os


arquivos do nosso curso, relacionando todo o seu contedo.

Agora que conhecemos os principais e mais usuais comandos do Linux, voc est
pronto para conhecer o editor de textos padro do Linux. um editor que voc pode usar tanto
para criar seus textos, como para administrar seu desktop ou servidor acessando os arquivos de
configuraes com ele. Observo que ele muito mais do que aparenta ser. No entanto, vamos
aprender a utilizar suas funcionalidades bsicas. Para carreg-lo em nosso terminal, basta que
digitemos:

vi <nome do arquivo>.

Voc pode digitar tambm vi sem argumentos, criando um novo arquivo sem nome
enquanto a segunda opo editar o arquivo contido em nome do arquivo. Abaixo, apresento a
vocs a tela de edio do vi aps ser carregado.
101

Podemos observar o nome do vi, sua verso, o nome do seu criador e outras
informaes gerais.

Nas prximas linhas vou apresentar a vocs um resumo dos comandos mais comuns
para usar o vi quando se quer editar arquivos textos. Sugiro que treine bastante ele em seu
terminal.

O editor de textos vi baseado no sistema Linux. Em muitas distribuies, ele o


editor padro do sistema. O vi possui trs modos de trabalho, a saber: modo de edio, modo de
linha e modo de comando. Para ir de um modo ao outro necessrio o uso da tecla ESC. Para
chavear para o modo de linha, digite os dois pontos ":"

Opes do modo de linha e sua funo

:w [nome do arquivo] - Salva o arquivo em disco, nomeado em nome de arquivo.

:q termina a digitao do texto.

:q! termina a digitao e abandona a edio sem salvar o arquivo.


:e utilizado para editar outro arquivo.

:! [comando] utilizado para executar o comando especificado.

:r [arquivo] ler arquivo a partir da posio do cursor.

:x sai e salva.

:1.10s/Amaral /jota g - substitui da linha 1 a 10, toda ocorrncia de Amaral por jota. 102

:%s/umano/humano g - substitui em todo o texto, toda ocorrncia de umano pela


palavra correta humano.

Opes do Modo Comando: Movimentao do Cursor

k - movimenta o cursor para cima.

j - movimenta o cursor para baixo.

l - movimenta o cursor para a direita.

h - movimenta o cursor para a esquerda.

0 - movimenta o cursor para o incio da linha corrente (zero).

S - movimenta o cursor para o final da linha corrente.

sh+g ou G - movimenta o cursor para o final do arquivo.


Comando para Busca

f - c - posiciona o cursor no primeiro caractere "c" encontrado na linha corrente.

/amaral - posiciona na primeira palavra "amaral" encontrada abaixo do cursor. 103

?amaral - posiciona na primeira palavra "amaral" encontrada acima do cursor.

n - repete a busca para os comandos "/" e "?" (next ou prximo)

Comandos para Insero

o - insere na linha abaixo do cursor.

sh+o ou O - insere na linha acima do cursor.

r - insere texto no incio da linha corrente (onde se encontra posicionado o cursor).

a - insere aps o cursor.

sh+a ou A - insere ao final da linha.

i - insere imediatamente sob o cursor.

CTRL - h - apaga o ltimo caractere.

CTRL - w - apaga a ltima palavra minscula.

ESC - passa para o modo Comando.


Subcomandos para Movimentao pelo Texto

CTRL - f - passa para a prxima tela (paginao).

CTRL - b -passa para a tela anterior (paginao).

H - move o cursor para a primeira linha da tela (Home). 104

M - move o cursor para o meio da tela.

L - move o cursor para a ltima linha da tela.

h - move o cursor para caractere esquerda.

J - move o cursor para a linha abaixo.

k - move o cursor para a linha acima.

w - move o cursor para o incio da prxima palavra ignorando pontuao.

W - move o cursor para o incio da prxima palavra sem ignorar a pontuao.

b - move o cursor para o incio da palavra anterior ignorando pontuao.

B - move o cursor para o incio da palavra anterior sem ignorar a pontuao.

0 - move o cursor para o incio da linha corrente (zero).

^ - move o cursor para o primeiro caractere no branco da linha.

$ - move o cursor para o fim da linha corrente.

nG - move o cursor para a linha n. Exemplo: 3G mover o cursor para a terceira linha.

G - move o cursor para a ltima linha do arquivo.


Subcomandos para Localizao de Texto

:palavra - procura pela palavra ou caractere acima ou abaixo do texto.

?palavra - move para a ocorrncia anterior da palavra (para repetir a busca digitar "n"). 105

n - repete o ltimo / ou ?

N - repete o ltimo / ou ? na direo reversa.

CTRL + g - mostra o nome do arquivo, o nmero da linha corrente e o total de linhas do


arquivo.

Subcomandos para Alterao de Texto

x - deleta um caractere que est sob o cursor.

dw - deleta a palavra do incio da posio do cursor at o fim.

dd - deleta a linha inteira onde o cursor estiver.

D - deleta a linha a partir da posio do cursor em diante.

rx - substitui o caractere sob o cursor pelo especificado em x.

Rtexto - substitui o texto corrente pelo texto indicado.

cw - substitui a palavra corrente.

cc - substitui a linha corrente.

C - substitui o restante da linha corrente.


u - desfaz a ltima modificao.

U - Desfaz todas as modificaes feitas na linha (se o cursor no mudar de linha).

J - une duas linhas - a corrente e a prxima.

s:/antigo/atual - substitui a primeira ocorrncia de "antigo" por "atual".

106

Comandos para Remoo

x - remove caractere.

dd - remove toda a linha corrente.

sh+d ou D - remove at o final da linha -> o texto removido fica na memria e pode ser
colado.

p - insere o texto removido para a memria a partir do cursor.

sh+p ou P - insere o contedo da memria antes do cursor.

Comandos para Alterao

r - troca o caractere sob o cursor por outro a ser digitado aps.

sh+r ou R - inicia modo sobrescrevendo os caracteres at ser digitando a tecla ESC.

cw - troca a palavra.

cl - troca o caractere e entra em modo de insero.


Comando para Desfazer o ltimo Comando

u - desfaz ltima alterao, insero ou remoo.

^r refaz.

107

Nota: Caso voc no queira ou no possua o vi instalado em sua mquina, voc tem a
opo de usar na mquina virtual Linux em http://linuxzoo.net/ que totalmente free, bastando
que voc faa um cadastro e acesse, e a partir do terminal usar o vi.

2.6 COMANDOS DE REDIRECIONAMENTO DE ENTRADA/SADA

Os operadores de redireo so utilizados para direcionar a entrada ou sada de


programas ou comandos. Os operadores de redirecionamento do Linux so:

> Redireciona a sada padro para um arquivo, se for o caso e substitui o seu
contedo. Se o arquivo no existir ele ser criado.

>> Redireciona a sada padro para um arquivo, se for o caso e no substitui seu
contedo, pelo contrrio, acrescenta a sada padro ao texto existente no arquivo.

< Redireciona a entrada

<< Redireciona a entrada e a mantm aberta at que seja digitado Ctrl + D. o


editor de textos mais simples do Linux.
Abaixo apresento exemplos prticos dos operadores de redireo. Suponha que voc
queira listar um diretrio que contenha muitos arquivos e guardar a sada em um arquivo texto.
Para isso voc pode usar o redirecionamento.

Exemplo 1: ls -l > saida.txt


108

A listagem gerada pelo comando ls -l ser gravada em um arquivo denominado


saida.txt, como pode ser verificado na tela acima. Para checar se foi gravada a listagem no
arquivo saida.txt, utilizamos o comando cat que j foi aprendido.

Exemplo 2: Vamos agora executar um comando ls -l em outro diretrio, e armazenar


sua sada no arquivo saida.txt, sem apagar o contedo anterior. Para isso, iremos executar o ls -l
com o operador de redireo >>

ls -l casa/ >> saida.txt


109

Observe que aps o comando dado, visualizamos com cat novamente o contedo do
arquivo saida.txt e podemos perceber que aps a linha que d o total, verificamos que estamos
agora visualizando o ls -l casa/, pois ali aparecem os subdiretrios cozinha, quarto e sala, alm
de uma cpia do arquivo amaral.txt na primeira linha. Outro exemplo seria o editor de textos mais
simples que existe no mundo Linux. Se usarmos o comando cat combinado com o operador >>
teremos um editor simples e todo o contedo digitado seria gravado no arquivo texto, aps
digitarmos o comando Ctrl + D. Por exemplo, digite cat >> editor.txt
Exemplo 3: Podemos tambm direcionar o contedo de um arquivo texto para nossa
sada padro que a tela do terminal. Para isso, utilizamos o operador de redirecionamento <.

cat < amaral.txt

110

Observe na tela acima. Digitamos o comando cat com o operador de redireo em


amaral.txt e o contedo do arquivo texto foi exibido na tela.

Exemplo 4: Nosso ltimo operador de redireo pode ser considerado o editor de


textos mais bsico existente no Linux. Ele manter a entrada padro aberta at que seja digitado
um Ctrl + D.

cat << amaral.txt

A diferena que mesmo aps ser digitado o Ctrl + D no ser gravado nada no
arquivo amaral.txt, limitando-se a mostrar na tela o que foi digitado.
2.7 COMPACTADORES E EMPACOTADORES

O Linux possui alguns compactadores e empacotadores de arquivos. Em nosso curso


vamos estudar os mais utilizados no mundo Linux. Trata-se do compactador gzip e o
empacotador de arquivos tar. 111

O gzip possui uma taxa de compactao muito boa e tambm compatvel com
programas compactadores de outros sistemas.

A sintaxe :

gzip <nome do arquivo>

No exemplo seguinte compactaremos o arquivo bookmarks.html


Observe acima que, aps digitarmos o comando gzip, foi criado o arquivo
bookmarks.html.gz que nosso arquivo compactado.

Para descompactar um arquivo compactado com gzip, basta usar seu descompactador
gunzip.

A sintaxe :
112

gunzip <nomearquivo.extenso.gz>

Aps digitarmos enter, o arquivo voltar para seu tamanho original com a extenso
.html.

O empacotador de arquivos tar utilizado para empacotar os arquivos que foram


compactados com gzip.

Sua sintaxe :

tar -cvf arquivos.tar <nomes dos arquivos>

Vamos ver um exemplo prtico. Compactaremos o diretrio /teste e aps a


compactao de todos os arquivos, empacotaremos todos em um arquivo chamado arquivos.tar.

Vejamos:

Primeiro compactaremos todos os arquivos dentro do diretrio /teste com o comando:


gzip *.*
113

Observe acima, usei o ls -l para visualizar todos os arquivos do diretrio que foram
compactados e esto todos com a extenso original mais a extenso .gz.

Na prxima tela vou executar o comando tar para empacotar todos os arquivos
compactados em um s pacote chamado arquivos.tar.
Observe que logo aps digitar o comando, foram listados os arquivos compactados e
utilizei o comando ls -l para visualizar o arquivos.tar que foi gerado e que contm todos os
arquivos .gz empacotados.

Na prxima tela vou apagar todos os arquivos com extenso .gz deixando o .tar e a
partir do uso do desempacotador, poderemos verificar que os .gz retornaro ao nosso diretrio
teste. 114

Observe que logo aps o comando ls -l na tela acima, o diretrio /teste s contm o
arquivos.tar. Na linha logo a seguir, digitei o comando tar xfv arquivo.tar e podemos verificar os
arquivos compactados sendo desempacotados.

O prximo passo ser descompact-los com gzip e teremos todos os arquivos de volta
ao nosso diretrio teste.
115

Observamos que todos os arquivos retornaram aps o comando gzip *.*. Podemos
notar tambm que o comando ignorou o arquivo.tar por ser uma extenso .tar e, portanto,
desconhecida para este, uma vez que omiti a flag que faria com que o gzip percebe-se o arquivo
tar.

2.8 SHELL - CONCEITOS

O shell do Linux o ambiente em modo texto no qual se capaz de executar todo o


tipo de comandos ou configuraes do sistema.

Trata-se de um interpretador de comandos que faz a interface entre o ser humano e a


mquina propriamente dita.

No Debian Linux existem vrios tipos de shells. O Bash o shell desenvolvido para
projeto GNU, da Free Software Foudation, que se tornou padro nas vrias distribuies Linux.
Pode ser usado tambm com outros sistemas operacionais como o Unix. compatvel com o
Borne shell (sh), incorporando os melhores recursos do C Shell (csh) e do korn shell (ksh).

A relao de shells disponveis em seu sistema pode ser encontrada no arquivo


/etc/shells. No entanto, no muito recomendvel voc alterar o seu shell, pois se voc carregar
um shell que no o usual, pode ser que alguns comandos que estamos aprendendo no
funcionem. Portanto, vou deixar esta abordagem de shell para um curso mais avanado. 116

O comando que altera o shell o chsh com a flag -s seguida do nome do usurio que
desejamos alterar o shell. A sintaxe :

chsh -s <nome do shell> <nome do usurio>

Para verificar qual shell voc est atualmente utilizando, usamos o comando echo com
a seguinte sintaxe:

echo $SHELL O retorno deste comando /bin/bash, indicando que estamos


utilizando o shell bash que o padro para o Debian Linux.

2.9 APLICATIVOS QUE USAM INTERNET EM MODO TEXTO

Existem aplicativos que podemos utilizar em modo texto por meio da Internet para
executar uma srie de tarefas. O primeiro que vamos estudar o ftp que utiliza o protocolo ftp
(file tranfer protocol) para transferncia de arquivos de uma mquina remota para seu
computador. Sua sintaxe :

ftp <IP do host remoto> ou <URL do host remoto>


Para exemplificar vou acessar o repositrio da USP via ftp como usurio anonymous
utilizando uma senha de convidado denominada guest.

117

Na tela acima vocs podem observar que estou conectado ao servidor de arquivos ftp
da USP. Os comandos que podemos utilizar so get para baixar um arquivo ou mget para baixar
mltiplos arquivos e put para enviar um arquivo ou mput para enviar mltiplos arquivos. Tambm
podemos utilizar os comandos do Linux para navegar nos diretrios e listar os arquivos e
diretrios. Para listar o diretrio da mquina remota a que estamos logados utilizamos, por
exemplo, o ls -l normalmente. Se quisermos listar os diretrios da nossa mquina local,
digitamos o comando ls precedido do smbolo exclamao (!) como podemos ver na tela:
118

Podemos tambm navegar nos diretrios do host remoto ou do nosso, bastando para
isso digitar cd e nome do diretrio que se deseja entrar ou se for em nossa mquina local, cd
precedido do smbolo ! (exclamao).

Logo abaixo vemos um exemplo:


119

Observe na tela anterior que utilizando o comando cd entrei no diretrio MEC, utilizei o
comando pwd para me certificar de que estou mesmo nele e por fim listei o contedo do
diretrio. Vamos fazer o download via ftp do primeiro arquivo listado, utilizando o get. No
utilizarei aqui o mget para no sobrecarregar a banda baixando os trs arquivos listados. A
sintaxe :

get <nome do arquivo.extenso>

Podemos observar que aps digitarmos enter, a transferncia inicializada e uma


sequncia de smbolos # vo indicando o progresso do download. Isso acontece porque
quando acessei via ftp, digitei o comando hash sem argumentos que ativam este controle de
progresso de transmisso.

Na tela abaixo podemos ver uma srie de informaes. Vemos que o arquivo foi
baixado com sucesso e para ter certeza de que ele veio mesmo usei novamente o comando !ls
para listar meu diretrio local e verificar que o arquivo est realmente (est na terceira coluna na
quinta linha) baixei o prv20001.exe.
Podemos tambm alternar para modo binrio ou modo texto digitando simplesmente
bin para baixar arquivos binrios (executveis) na linha de comando do ftp ou ascii (texto). Para
finalizar a conexo com o servidor ftp, digitamos o comando quit que ser encerrada.

120

2.10 SSH ACESSO REMOTO SEGURO

O ssh o aplicativo de acesso remoto mais seguro que existe. Ele muito utilizado
porque estabelece uma conexo segura com encriptao dos dados transmitidos e recebidos, ao
contrrio do telnet que estabelece uma conexo sem segurana e que por isso no deve ser
utilizado para acesso remoto. O ssh (security shell) ou shell seguro, utilizado para
administrao remota de servidores. Agora comea a fazer sentido porque o Debian Linux
possui tantos terminais. Podemos acessar via ssh vrios servidores ao mesmo tempo, um de
cada terminal, agilizando assim a administrao de diversos servidores ao mesmo tempo.

Sua sintaxe bem simples:


ssh <IP do host remoto> ou ssh <URL do host remoto>

Voc precisar possuir um login e senha para se autenticar no host destino. Abaixo,
vou demonstrar como acesso meu computador na USP que est com o servidor ssh habilitado e
configurado para que eu possa administrar minha mquina a distncia.
121

Como podem observar, digitei o comando ssh, seguido do meu IP e o host remoto me
solicitou a senha para acessar como usurio comum. Podemos notar o prompt do host remoto
(jamaral@dtm221:~$) indicando que estou conectado via terminal.
3 IMPRESSO, ESTRUTURA DE ARQUIVOS E PROCESSOS

3.1 COMANDOS DE IMPRESSO

122

No Linux, os arquivos de spool das impressoras configuradas que armazenam a fila


dos trabalhos (jobs) que sero impressos, e a definio das impressoras instaladas esto no
arquivo /etc/printcap.

Sempre que enviamos um documento para a impressora, ele entra em uma fila onde
so organizados. Esta fila chama-se spool de impresso e nada mais que um arquivo que
recebe os documentos a serem impressos, organiza-os por ordem de chegada e a partir da so
enviados para a porta padro onde a impressora se encontra instalada ou mesmo para uma
impressora de rede. Isto serve tambm para controlar o fluxo com que os documentos so
enviados para a impressora.

Veremos em nosso curso, os principais comandos para impresso a partir de um


terminal do Linux.

Comando lpr

O comando lpr utilizado para enviar arquivos para uma fila de impresso. O daemon
que mantm esta fila chama-se lpd. Como a maioria dos comandos do Linux, o lpr possui
algumas flags para auxiliar.
Nota: Aqui utilizei o nome daemon para me referir ao lpd. Fao um parntese agora
para explicar o conceito de daemon. No Debian Linux, daemon um programa residente na
memria que fica rodando em segundo plano (background), podendo ser identificado por seu
(PID) ou Process Identifier.

Como padronizao, todo programa que um daemon, recebe imediatamente aps


seu nome a letra d, podendo assim ser facilmente identificado. Por exemplo, o programa que 123
prov o servio de servidor ssh o daemon sshd, o daemon do ftp o ftpd e assim por diante. A
sintaxe do comando lpr :

lpr -P <impressora> -#<nmero de cpias> -flags <nome do arquivo a ser impresso>

Por exemplo, para que eu imprima um arquivo texto que est em meu disco rgido,
supondo que minha impressora que est instalada uma HP 660C e que o sistema enviasse um
e-mail me avisando que terminou a impresso, eu faria assim:

lpr -Php660c -#2 -m saida.txt

Isso faria com que ele imprimisse o arquivo saida.txt em minha impressora hp660C,
com duas cpias e aps o trmino enviasse um e-mail para meu usurio.

Nota: Aqui, ele enviar para o e-mail do usurio do sistema. Para ler a mensagem
voc teria que digitar no terminal o comando mail para ler todos os e-mails que o sistema lhe
envia. Observe o prximo screenshot.
124

Podemos observar a mensagem nmero 55 enviada para o usurio jamaral em


debian5, avisando sobre a tarefa de impresso completada.

Existe um servio (daemon) no Debian Linux que o responsvel pela leitura de um


arquivo que contm informao acerca das impressoras que se encontram instaladas no
sistema, qual a impressora a padro, etc. Este arquivo pode receber requisies de impresso
tanto da mquina local como de uma mquina remota.

Comando lpq

O comando lpq utilizado para verificar quais impressoras esto instaladas e prontas
aguardando trabalhos (jobs) para serem impressos e que estejam na fila de impresso que so
mantidas pelo daemon lpd. Sua sintaxe :
lpq -P<nome da impressora>

Podemos verificar abaixo um exemplo deste comando:

lpq -Php660c 125

hp660c est pronto e imprimindo

Rank Proprietrio Trabalho Arquivo(s) Tamanho Total

active jamaral 7 saida.txt 1024 bytes

Comando lprm

O comando lprm remove todos os trabalhos que estejam na fila de impresso para
aquela impressora especificada com a flag -P. Sua sintaxe :

lprm -Php660c

O retorno seria:

hp660c est pronto

nenhuma entrada
3.2 O SISTEMA DE ARQUIVOS DO DEBIAN LINUX

O sistema de arquivos do Debian Linux se caracteriza por uma estrutura hierrquica e


de proteo dos arquivos e diretrios. Apesar de pequenas diferenas na estrutura dos diretrios
entre as diversas distribuies, todas so semelhantes seguindo uma padronizao existente em 126

todos os sistemas Unix.

A estrutura de diretrios do Debian tem um diretrio raiz (/) e diretrios filhos. Cada n
desta rvore um diretrio que contm arquivos. Voc pode especificar um diretrio pelo
caminho completo conhecido tambm como caminho absoluto.

Cada diretrio do Debian armazena arquivos especficos. Essa organizao


resultado de um esforo conjunto de padronizao chamado de Linux File System Standard. A
seguir, veremos cada um dos diretrios existentes com seu correspondente contedo.

/ - (barra) Abaixo do diretrio barra onde so montados todos os outros diretrios.


a raiz da estrutura de diretrios.
/bin Neste diretrio so armazenados arquivos binrios dos usurios do sistema,
podendo tambm ser utilizado pelo superusurio (root). Contm comandos como, por exemplo, o
cat, cp, date, etc.
/dev Neste diretrio so armazenados arquivos referncia para os dispositivos de
hardware do sistema. No Debian, cada dispositivo (device) tem um arquivo associado. Por
exemplo, a primeira controladora SATA referenciada pelo arquivo /dev/sda.
/etc Armazena arquivos e diretrios de configurao que so locais ao sistema. Por
exemplo, o arquivo /etc/passwd possui informaes dos usurios e suas senhas.
/home Diretrio de arquivos dos usurios do sistema, exceto o root.
/lib Este diretrio armazena todas as bibliotecas do sistema.
/mnt Diretrio onde montamos sistemas de arquivos temporariamente como, por
exemplo, drive a (floppy) e unidade de CD/DVD ROM.
/media Similar ao /mnt, neste montamos sistemas de arquivos temporariamente de
mdias removveis como, por exemplo, pendrives, mp3, cmeras digitais, etc.
/proc - Sistema de arquivos que mantm informaes sobre os processos, memria
utilizada, CPU, etc.
/root - Diretrio home do superusurio (root).
/sbin - Neste diretrio temos arquivos binrios necessrios ao sistema, como, por
exemplo, o shutdown, reboot, entre outros que s podem ser acessados pelo prprio sistema ou 127
eventualmente pelo superusurio (root).
/tmp - Neste diretrio ficam os arquivos de uso temporrio. preciso atentar que a cada
inicializao do sistema, este diretrio limpo, ou seja, tudo dentro dele apagado, portanto no
deixe arquivos importantes dentro dele.
/usr - Diretrio destinado ao armazenamento de arquivos que so compartilhados por
todos os usurios do sistema, como, por exemplo, o firefox. Geralmente ele montado somente
leitura e tambm pode ser montado em uma partio separada do resto do sistema.
/usr/bin - Comandos que no esto armazenados no /bin ou /sbin podem ser
encontrados neste diretrio. Geralmente so comuns a todos os usurios.
/usr/sbin - Contm arquivos utilizados pelo superusurio (root) para a administrao do
sistema.
/usr/lib - Contm todas as bibliotecas padres dos aplicativos instalados.
/var - Contm diretrios de spool, arquivos de controle de uso do computador (logs),
arquivos com dados administrativos, arquivos do news, e-mail, etc.

Antes que possamos prosseguir, vou fazer alguns comentrios adicionais a respeito da
estrutura do filesystem que acabamos de estudar. Como j havamos comentado, por motivo de
segurana, alguns destes diretrios podem ser montados em outra partio, outro disco rgido e
at mesmo em outra mquina remota. O motivo disso sempre segurana. Por exemplo, se
adotarmos o hbito de montarmos o diretrio /home que contm todos os arquivos dos usurios,
em outra partio ou disco, caso tenhamos um incidente que danifique o sistema, podemos
reinstalar todo o sistema, sem que alteremos um s arquivo na outra partio onde se encontra o
/home.

Essa somente uma das vantagens que podemos ter com este tipo de procedimento.
Em alguns servidores, por exemplo, o /var que contm armazenados os arquivos de log do
sistema, so montados em outro disco rgido ou partio com a finalidade de se evitar que o
sistema fique paralisado, caso um ataque de negao de servio deixe os arquivos de log's
inchados a ponto de ocupar todo o disco ou partio, causando o travamento do servidor. Se o
/var estiver em outra partio ou disco, o sistema continuar operacional e avisar da situao
crtica naquele diretrio, permitindo que o administrador tome providncias, evitando-se assim
que o servidor seja derrubado.
128

3.3 COMANDOS PARA MONTAR DISPOSITIVOS E PARTIES

No Debian, assim como em todos os sistemas Linux, no possvel acessar um


dispositivo diretamente. Para podermos gravar e ler informaes em discos, parties, unidade
de CD/DVD, pendrives, entre outros, necessrio mont-los associando os mesmos a um
diretrio que chamado de ponto de montagem.

Mesmo o diretrio / (barra) e os outros diretrios que so montados automaticamente


pelo sistema durante o boot, o dispositivo fsico est associado a um ponto de montagem.

No caso do sistema, os pontos de montagem esto armazenados em um arquivo de


configurao denominado fstab que fica dentro do diretrio /etc. Como o prprio nome do arquivo
nos indica, ele contm a tabela do filesystem. No prximo screenshot podemos visualizar o
arquivo fstab de meu sistema.
129

No fstab ao lado podemos ver que meu dispositivo sda7 est montado em barra (/),
com sistema de arquivos tipo ext3, com a opo de remontagem caso ocorra erro. Nas duas
ltimas colunas temos a ordem de checagem para o programa fsck. O 1 deve ser passado para
o filesystem root e 2 para os demais sistemas. O valor 0 indica que o filesystem no deve ser
checado. Podemos observar tambm que a swap (/dev/sda6) no est associada a ponto de
montagem algum, pois se trata de uma partio para uso do sistema como memria auxiliar. Nas
trs linhas finais do arquivo, temos os dispositivos /dev/scd0, /dev/hdd e /dev/fd0.

O primeiro a unidade DVD SATA que possui associado o ponto de montagem


/media/cdrom0, com sistema de arquivos iso9660 e opo de montagem manual pelo usurio
(noauto). A segunda unidade de CD-ROM (/dev/hdd, por ser IDE), est associada ao ponto de
montagem /media/cdrom1, com sistemas de arquivos tambm iso9660 e finalmente o dispositivo
/dev/fd0 associado ao ponto de montagem /media/floppy0, que ser detectado o sistema de
arquivos automaticamente (auto) com opo leitura e gravao (rw) pelo usurio sem opes de
checagem (0 e 0).
Vocs podem notar que no meu caso escolhi o ponto de montagem /media para todos
os dispositivos ao invs do /mnt. O ponto de montagem, neste caso, opcional no afetando em
nada o desempenho do sistema.

Agora que conhecemos um pouco o assunto, vamos estudar como podemos montar
manualmente um filesystem ou mesmo um dispositivo. Vamos estudar dois comandos do Debian
Linux que so utilizados para montagem de dispositivos fixos e externos. 130

O comando mount

Para acessar arquivos contidos em outras parties, independente do filesystem


(desde que seu kernel esteja compilado com o mdulo referente ao suporte aquele sistema de
arquivos), pendrives, cd's ou DVD's.

Vou exemplificar utilizando a unidade de disquete (floppy) para que possamos


entender mais facilmente. A sintaxe do comando mount a seguinte:

mount -t <tipo filesystem> diretrio/dispositivo pontodemontagem/diretrio

A flag -t uma das muitas utilizadas e deve sempre vir acompanhada do tipo de
filesystem. Existe uma infinidade de filesystems para serem referenciados como, por exemplo:
ext, ext2, ext3, iso9660, msdos, ntfs, smbfs, vfat, etc.

Outra flag muito utilizada a -r quando se deseja montar o filesystem somente leitura
ou a -a que monta todos os filesystem referenciados dentro do arquivo fstab que j estudamos.

Se quisermos montar em modo texto um CD que contenha arquivos para


posteriormente copiar estes arquivos para nosso disco rgido, executamos os seguintes passos.
Primeiro, verificamos se dentro do nosso diretrio, onde temos o ponto de montagem
(/mnt), temos um diretrio /cdrom ou /cdrom0 ou /cdrom1, dependendo de como est no seu
sistema. Caso no possua, crie um com o comando mkdir j estudado.

Aps nos certificarmos disso, inserimos o CD na unidade e executamos o comando no


modo texto, como no exemplo abaixo:

131

mount /dev/cdrom /mnt/cdrom

ou ento mount /dev/cdrom /media/cdrom

caso voc esteja utilizando o ponto de montagem /media

Se executarmos um comando df -h poderemos verificar se foi montado o cd.

Nota: O comando df apresenta em sua sada, todas as parties que se encontram


montadas e o espao disponvel nelas. A flag -h (human) faz com que em sua sada sejam
mostrados os espaos de disco no formato de Kbytes, Mbytes e Gbytes para que nos humanos
possamos entender melhor.

Abaixo um exemplo de uma sada gerada pelo comando df:

Sist. Arq. Tam Usad Disp Uso% Montado em

/dev/sda7 6,1G 4,4G 1,5G 76% /

/dev/sdb1 994M 697M 297M 71% /media/MP3

Observe a sada acima. Temos informaes de onde o sistema de arquivos est


montado, espao total da partio, espao utilizado e disponvel, a porcentagem do uso da
partio e na ltima coluna o ponto de montagem.
O comando umount

O comando umount utilizado para desmontar uma partio. altamente


recomendvel que desmontemos somente aquela partio que foi montada manualmente,
deixando as que foram montadas pelo sistema sob o controle deste, salvo se soubermos o que 132

estamos fazendo em caso de uma manuteno do disco com o utilitrio fsck que veremos mais
adiante.

Outro detalhe que devemos atentar: no podemos desmontar uma partio que se
encontra sendo utilizada, caso contrrio, receberemos uma mensagem de dispositivo est
ocupado e este no ser desmontado.

Sua sintaxe idntica ao comando mount como podemos verificar a seguir. Vamos
desmontar o dispositivo que montamos com o comando mount.

umount /dev/cdrom /mnt/cdrom

ou ento umount /dev/cdrom /media/cdrom

O retorno deste comando seria algo parecido com: /dev/dispositivo no montado ou


como no meu exemplo abaixo, utilizando umount para desmontar meu MP3.

debian5:~# umount /dev/sdb1 /media/MP3/

umount: /dev/sdb1: no montado

umount: /dev/sdb1: no montado


3.4 FERRAMENTAS MTOOLS

O mtools um conjunto de ferramentas para manipulao de arquivos MS-DOS.


Utilizamos quando, por exemplo, desejamos copiar arquivos padro MS-DOS ou de outro 133
sistema operacional que se utilize de verses deste sistema (fat16 e fat32) sem que seja
necessrio montarmos este dispositivo. Com esta ferramenta, podemos copiar arquivos do
nosso disco rgido para um disquete, sem que seja necessrio montarmos o dispositivo (floppy).

Para sabermos se temos a ferramenta mtools instalada, basta digitarmos na linha de


comando mtools e, caso j esteja, aparecer a seguinte sada:

mtools

Supported commands:

mattrib, mbadblocks, mcat, mcd, mclasserase, mcopy, mdel, mdeltree

mdir, mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount

mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype

mwrite, mzip

debian5:/home/jamaral#

Podemos observar acima, os comandos suportados pelo mtools. Os mais usuais so:
mcopy, mdel, mdir, mren, respectivamente copiar arquivos, apagar arquivos, listar diretrios e
renomear arquivos.

Para ver uma lista completa dos comandos acima, basta utilizar as pginas man que j
aprendemos.
No entanto, caso a ferramenta mtools no se encontre instalada, basta utilizar o
comando apt-get para instalarmos.

Para exemplificar o uso da ferramenta mtools, vamos copiar alguns arquivos do nosso
disco rgido para um disquete utilizando essa ferramenta.

Vou utilizar um disquete que est formatado com o sistema MS-DOS e vou copiar um
arquivo texto que se encontra no disco rgido. No exemplo abaixo podemos ver que digitei ls -l 134

*.txt para listar arquivos texto em meu diretrio /home e, em seguida, utilizando a ferramenta
mtools, utilizei o comando mcopy para copiar o arquivo amaral.txt para a unidade de disquete a
(floppy), tudo isso feito sem montar o dispositivo fd0. Em seguida, utilizei o comando mdir sem
parmetros, uma vez que ele lista os diretrios e arquivos do disquete por default, verificando
que so retornadas informaes como: Volume do drive A, nmero de srie do volume, o arquivo
que foi copiado, o espao ocupado (215 bytes) e o espao disponvel no disquete (1.457.152
bytes free).

debian5:/home/jamaral# ls -l *.txt

-rw-r--r-- 1 jamaral jamaral 216 Mar 1 17:53 amaral.txt

-rw-r--r-- 1 jamaral jamaral 218 Mar 1 17:59 editor.txt

-rw-r--r-- 1 jamaral jamaral 120 Mar 7 18:42 saida.txt

debian5:/home/jamaral# mcopy amaral.txt a:

debian5:/home/jamaral# mdir

Volume in drive A has no label

Volume Serial Number is 3705-DAFA

Directory for A:/

amaral txt 216 2009-03-14 14:50 amaral.txt


1 file 216 bytes

1 457 152 bytes free

debian5:/home/jamaral#

135

Comando fdformat

Podemos tambm formatar disquetes utilizando o prprio sistema Debian ebian. O


comando responsvel por formatar disquetes em baixo nvel e o fdformat. Sua sintaxe
fdformat -flags <dispositivo>.

No existe a necessidade de se indicar o ponto de montagem. Abaixo, o exemplo de


formatao de um disquete de alta densidade, 3 com 1440 Kbytes de capacidade:

debian5:/home/jamaral# fdformat /dev/fd0

Dupla face, 80 trilhas, 18 setores/trilha. Capacidade total de 1440 Kb.

Formatando...concludo

Verificando...concludo

debian5:/home/jamaral#

3.5 O COMANDO FSCK FILESYSTEM CONSISTENCY CHECK


Estudaremos agora um comando muito especial utilizado para a checagem do sistema
de arquivos do Debian Linux. Ele anlogo ao comando chkdsk do MS-DOS que fazia a
checagem de arquivos, diretrios e da mdia do disco.

No caso do Debian e de todos os sistemas Linux, no podemos utilizar este comando


com o nosso filesystem montado, pois caso isso ocorra, podero ocorrer inconsistncias
imprevisveis no sistema. Normalmente, quando desligamos nosso computador 136
inadequadamente, o Debian, ao reiniciar, verifica se existe uma determinada assinatura no
disco que o avisa de um desligamento correto. Caso esta assinatura no esteja presente, o
prprio Debian inicia o fsck antes de montar nosso sistema, inicialmente checando o / (barra) e
em seguida os outros filesystems. Por default, o Debian executa checagem preventiva do
sistema no disco rgido a cada vinte inicializaes ou a cada seis meses, o que ocorrer primeiro.

No entanto, o fsck apenas um atalho para comandos que so especficos para cada
tipo filesystem. Por exemplo, para o filesystem ext2 do Linux temos o e2fsck.

Sua sintaxe fsck -flags <dispositivo>

As flags do comando fsck so:

-A Executa fsck para todos os filesystem contidos no arquivo fstab.

-R Exclui o filesystem root (/) da checagem quando utilizamos a flag a.

-a Aplica todas as correes automtica sem perguntar ao usurio.

-t tipofs Em tipofs, indica-se o tipo de filesystem que ser checado.

-V Mtodo verboso, ou seja, envia um relatrio detalhado da checagem.

Caso existam danos graves no filesystem checado, ele falhar a checagem e o sistema
tentar uma nova checagem de modo interativo com o usurio root. Quando isto ocorre, ele
exibe uma mensagem de alerta e solicita a senha do root para entrar em modo de manuteno
ou pergunta se quer prosseguir sem efetuar tal manuteno digitando-se control-D (Ctrl + D).
Dificilmente obtm-se sucesso com essa opo, mas se voc quiser tentar, pior do que est no
ir ficar.

Outro detalhe, quando quisermos saber qual filesystem est com problemas, basta
utilizarmos ele com a seguinte sintaxe:

137
fsck -A -V ; echo$?

O comando echo$? ir produzir uma sada contendo cdigos de sada do comando


fsck, representando somatrios que podem ser verificados segundo a tabela abaixo:

Cdigo Descrio
0 Nenhum erro ocorreu
1 Todos os erros foram corrigidos
2 O sistema deve ser reinicializado
4 Os erros encontrados no foram corrigidos
8 Erro de operao
16 Erro de sintaxe
128 Erro de biblioteca

Abaixo, podemos observar a sada produzida pela tentativa de executar o fsck com o
filesystem montado, que j sabemos no ser recomendado:

debian5:/home/jamaral# fsck -A -V ; echo $?

fsck 1.41.3 (12-Oct-2008)

Checking all file systems.

[/sbin/fsck.ext3 (1) -- /] fsck.ext3 /dev/sda7


e2fsck 1.41.3 (12-Oct-2008)

/dev/sda7 is mounted.

WARNING!!! Running e2fsck on a mounted filesystem may cause

SEVERE filesystem damage.

Do you really want to continue (y/n)? 138

Observem a mensagem de alerta (WARNING): Executando e2fsck com o filesystem


montado podero ocorrer severos danos ao filesystem.

Comando sync

Acabamos de estudar como podemos reparar inconsistncias no filesystem, mas seria


bom que soubssemos como evitar que tais inconsistncias ocorressem. Uma boa prtica para
preservar nosso filesystem utilizando o comando sync.

Sempre que formos, por exemplo, desligar o computador, reinicializ-lo, desmontar


dispositivos externos ou parties do disco rgido uma boa prtica antes de faz-lo digitar pelo
menos duas vezes o comando sync.

O sync grava tudo que estiver nos buffers de memria para os blocos do disco,
atualizando o superblock do seu HD, evitando que erros de gravao ocorram, ou que ao
desligar seu micro no tenha tido tempo de gravar suas alteraes no disco rgido. Sua sintaxe
muito simples, bastando digitar sync sem parmetros:

sync; sync
muito comum digitarmos duas vezes separados por ponto e vrgula, pois assim
garantimos que tudo foi atualizado.

Nota: O ponto e vrgula muito utilizado no mundo Debian Linux. Podemos executar
diversos comandos em uma linha bastando separ-los por ponto e vrgula. Observe o exemplo
abaixo:

139

debian5:/home/jamaral# ls ; ls -l *.txt ; ls -a

aa-sarge.pdf amaral.txt casa editor.txt lpr Musicas prv20001.exe teste

altera bookmarks.html Desktop lpq mbox pessoal saida.txt

At aqui temos a execuo do primeiro comando ls

-rw-r--r-- 1 jamaral jamaral 216 Mar 1 17:53 amaral.txt

-rw-r--r-- 1 jamaral jamaral 218 Mar 1 17:59 editor.txt

-rw-r--r-- 1 jamaral jamaral 120 Mar 7 18:42 saida.txt

At aqui temos a execuo do segundo comando ls -l *.txt

. .cache .gimp-2.4 .kde .recently-used.xbel

.. .casa .gksu.lock .local .nautilus

E finalmente at aqui temos o ltimo comando ls -a

Todos foram digitados em uma s linha separados com pontos e vrgulas (;)
Comando shutdown

O comando shutdown utilizado para reiniciar o computador. No Debian Linux,


podemos utilizar a combinao das teclas Ctrl + alt + delete para executar a inicializao do
sistema. De todas as flags que podem ser utilizadas com o shutdown, a mais til e usual a -t 140

sec, que se utilizada executa o comando aps decorridos o nmero de segundos constante do
parmetro sec. Sua sintaxe :

shutdown -t10 reinicializa o sistema depois de decorridos 10 segundos.

Comando halt

O comando halt utilizado para desligarmos o sistema.

Sua sintaxe halt

Aps digitarmos enter, o sistema ser imediatamente desligado.

Nota: altamente recomendvel utilizar sync antes desses dois ltimos comandos
estudados.
3.6 PROPRIEDADE DOS ARQUIVOS E PERMISSIONAMENTO

As propriedades e as permisses so fundamentais para a segurana. de vital


importncia que saibamos utiliz-las, mesmo quando somos o nico usurio em uma estao de 141
trabalho.

O permissionamento nos sistemas Linux um dos maiores responsveis pela


segurana que estes sistemas possuem. No entanto, necessrio conhecermos bem como
aplic-las, pois se voc atribuir a um diretrio ou arquivo uma permisso errada, voc poder
ficar impedido de utilizar determinado diretrio, arquivos ou at mesmo seu servio de e-mail.
Quando tentamos acessar um diretrio ou arquivos que no possumos permisso, uma
mensagem enviada do tipo: Permission denied (Permisso negada).

Se a recebemos, significa que ns mesmos ou algum, muito provavelmente o


superusurio, administrador do sistema (root), atribuiu uma propriedade ou permisso que
restringe o acesso.

Vamos estudar agora como funcionam estas permisses. Existem trs permisses no
Debian Linux:

A permisso read (leitura) significa que voc pode ver o contedo do arquivo, mas
no pode alter-lo;
A permisso write (gravao) significa que voc pode ver o contedo, alterar e at
mesmo apagar;
A permisso execute (execuo) significa que voc pode executar este arquivo
como um programa (arquivo binrio).

Quando criamos um arquivo no Debian, o sistema atribui algumas permisses default


que funcionam bem, atendendo s necessidades do usurio.
Por exemplo: ele dar permisso de leitura e gravao para o proprietrio (owner ou
dono) do arquivo, mas a maioria das pessoas que utiliza o computador ter apenas permisso
de leitura.

No caso de um programa executvel, gerado por um compilador, ele atribui


automaticamente a permisso de execuo (arquivo binrio).

No entanto, existem ocasies que as permisses default no so suficientes para 142

atender s necessidades de uso daquele arquivo. Se, por exemplo, voc criar um script de shell,
voc ter que atribuir manualmente a permisso de execuo para poder utilizar este arquivo
como um executvel.

Para os diretrios, as permisses funcionam de maneira um pouco diferente. Vejamos:

A permisso de leitura (read) significa que voc pode listar o contedo deste
diretrio;
A permisso de gravao (write) significa que voc pode acrescentar ou remover
arquivos deste diretrio;
A permisso de execuo (execute) significa que voc pode listar informaes
deste diretrio.

No se preocupe com a diferena entre a permisso de leitura e de gravao para os


diretrios, pois elas andam juntas. Atribua ambas ou nenhuma.

3.6.1 Proprietrios e Grupos

Vamos estudar agora os proprietrios e grupos, ou seja, quem tem estas permisses.
Para possibilitar que os usurios trabalhem juntos, no caso de uma rede, o Debian tem trs
nveis de permisso: proprietrio (user ou owner), grupo (group) e outros (other).
Os outros so todas as pessoas que tm acesso ao sistema e que no so
proprietrias ou membros do grupo ao qual o arquivo pertena. Esta ideia de pertencer a um
grupo para que um conjunto de usurios, como, por exemplo, uma equipe de programadores,
permita o acesso a um ou mais arquivos comuns quele grupo de usurios.

Um exemplo bem prtico seria: um programador criando um cdigo fonte poder


reservar a permisso de gravao para si mesmo, mas permitir que os membros de seu grupo 143
tenham acesso de leitura por meio de uma permisso do grupo e negando qualquer permisso
para acesso aos arquivos aos usurios que pertenam ao grupo outros (other).

Cada arquivo possui um proprietrio e um grupo. Geralmente o proprietrio (owner) o


usurio que criou o arquivo. Cada usurio tambm pertence a um grupo default e este grupo
atribudo a cada arquivo que o usurio cria. Nada impede que voc crie muitos grupos e atribua
cada usurio a diversos grupos.

Por exemplo, na listagem abaixo podemos observar que o arquivo amaral.txt pertence
ao proprietrio jamaral, do grupo jamaral, assim como o arquivo bookmarks.html pertence ao
usurio cristina que pertence ao grupo users e finalmente o arquivo .bashrc que pertence ao
proprietrio root do grupo root.

u g o

-rw-rw- r-- 1 jamaral users 216 Mar 1 17:53 amaral.txt

-rw-r-- r-- 1 cristina users 151126 Fev 23 10:32 bookmarks.html

-rw-r-- r-- 1 root root 904 Mar 14 17:03 .bashrc

drwxr-xr-x 5 jamaral users 4096 Mar 1 16:38 casa

Deste modo, temos todos os elementos do nosso sistema de segurana: trs


permisses (leitura, gravao e execuo rwx) e trs nveis (usurio, grupo e outros ugo).
Quando usamos o comando ls -l, vemos a lista dos arquivos no formato longo. Ou seja,
aparecem vrias informaes a respeito dos diretrios e arquivos. Vamos analisar, por exemplo,
o arquivo amaral.txt

Neste caso, ele pertence ao usurio jamaral e ao grupo jamaral. Tem um tamanho de
216 bytes e foi criado, ou alterado pela ltima vez em 1 de maro s 17h53.

Na extremidade esquerda da linha, temos as seguintes informaes: 144

-rw- r-- r--. Analisando da esquerda para a direita, temos:

- o primeiro hfen representa que um arquivo regular. Reparem que na ltima


linha de nossa listagem aparece um d de diretrio.

rw- esta primeira sequncia representa as permisses do proprietrio jamaral. Ou


seja, ele pode ler e gravar o arquivo (read e write).

rw- esta segunda sequncia representa as permisses do grupo users. Ou seja, os


membros pertencentes ao grupo users podero ler e gravar (read e write).

r-- esta terceira sequncia representa as permisses para os outros. Ou seja,


eles s podero ler o arquivo (read).

Se em um dos casos anteriores, aparecesse no ltimo hfen de uma dada sequncia a


letra x (execute), haveria permisso para execuo do arquivo. Veja no exemplo a seguir:

-rwx rwx r-- 1 jamaral users 120 Mar 7 18:42 script1.sh

Neste caso, o proprietrio jamaral e os membros do grupo users tm permisso para


executar o arquivo script1.sh, alterando propriedade, grupo e permisses.
No Debian, assim como em todos os sistemas Linux, existem comandos que podem
ser utilizados para alterar as permisses, os proprietrios ou os grupos de arquivos ou diretrios.
Vejamos estes comandos:

Comando chown
145

Este comando serve para alterar o dono ou grupo de um determinado arquivo ou


diretrio. Sua sintaxe :

chown [flags] <proprietrio do arquivo>.<grupo do arquivo>

L-se: chown proprietrio do arquivo ponto grupo do arquivo.

Nota: Voc s poder executar este arquivo como superusurio (root).

Das flags que podem ser utilizadas com o chown, a mais usual a r, que altera
recursivamente as permisses do diretrio e de seus contedos.

Exemplo:

Para alterar o dono do arquivo abaixo de jamaral para cristina:

-rwx rwx r-- 1 jamaral users 120 Mar 7 18:42 script1.sh

chown cristina script1.sh

O resultado ser -rwx rwx r-- 1 cristina users 120 Mar 7 18:42 script1.sh
Se, por exemplo, eu quisesse mudar o dono e grupo do arquivo simultaneamente,
poderia fazer da seguinte maneira:

chown jamaral.jamaral script1.sh

146

O resultado ser -rwx rwx r-- 1 jamaral jamaral 120 Mar 7 18:42 script1.sh

O arquivo script1.sh passaria a ser de propriedade do usurio jamaral do grupo


jamaral. Observe que este comando s pode ser executado pelo superusurio (root).

Comando chmod

O comando chmod altera as permisses de acesso aos arquivos. O parmetro modo


determina quais sero as permisses que sero dadas ou removidas do arquivo. Podemos usar
duas maneiras de se escrever o parmetro modo:

Especificando o modo simbolicamente

Esse parmetro dividido em trs partes: o cdigo para a classe de acesso (u = user,
owner ou dono do arquivo, o = outros e a: para todos os anteriores e os operadores +, - ou =
para fazermos a atribuio de um ou mais cdigos de acesso aos arquivos que so: r para read
(leitura), w para write (gravao) e x para execute (executar).
A flag mais utilizada a -r que aplica as modificaes de maneira recursiva. Vamos ver
alguns exemplos. Veja a listagem abaixo:

-rw-r--r-- 1 root root 0 Mar 18 14:49 amaral.txt

-rw-r--r-- 1 root root 0 Mar 18 14:49 cristina.sh 147

Vamos alterar as permisses de acesso ao arquivo amaral.txt de propriedade do


superusurio (root) para que ele e seu grupo possam ler, gravar e executar este arquivo. O
comando que faria isto seria:

chmod u=rwx,g=rwx,o=+r amaral.txt

Verificando com ls

ls -l *sh *txt

-rwxrwxr-- 1 root root 0 Mar 18 14:49 amaral.txt

-rw-r--r-- 1 root root 0 Mar 18 14:49 cristina.sh

Se eu quisesse que o superusurio s pudesse ler e executar o arquivo, faria assim:

chmod u=+rx,-w,g=+rx,-w amaral.txt

ls -l *sh *txt

-r-xr-xr-- 1 root root 0 Mar 18 14:49 amaral.txt

-rw-r--r-- 1 root root 0 Mar 18 14:49 cristina.sh


Nota: Observe que o sinal de + atribui a permisso, o sinal de remove a permisso, o
x concede permisso de execuo.

Quanto ao cdigo de acesso, a letra a representa que a permisso ser aplicada a


todos (usurio, grupo e outros). Repare tambm que a vrgula separa os modos.

Treine bastante esses modos at ter certeza de que entendeu bem. Outro modo de se
utilizar o parmetro modo utilizar a forma numrica. 148

Para isso, cada classe de acesso deve ser tratada separadamente para fornecer um
nmero que a representa. Cada tipo de acesso tem seu valor numrico dado por: read = 4; write
= 2; e execute = 1. Se quisssemos ter o tipo de acesso dado por r--, por exemplo, temos que
represent-lo pelo nmero 4; no caso do tipo ser igual a r-x, ter o valor dado pela soma dos
tipos escolhidos, ou seja, r=4 mais x=1, portanto o nmero para o tipo dado por r-x 5.

Feito isso para cada classe de acesso, agora s precisamos colocar os valores
obtidos, lado a lado, em que teremos, da esquerda para a direita, as permisses para:
proprietrio (user ou owner, dono), grupo e os outros.

Vejamos alguns exemplos:

-r-xr-xr-- 1 root root 0 Mar 18 14:49 amaral.txt

-rw-r--r-- 1 root root 0 Mar 18 14:49 cristina.sh

Se eu digitasse chmod 600 cristina.sh, as permisses para este arquivo ficariam


assim:

-rw --- --- 1 root root 0 Mar 18 14:49 cristina.sh


Ou seja, permisso de leitura e gravao para o dono do arquivo (user), sem
permisso de acesso ao grupo e aos outros.

Se digitasse chmod 701 cristina.sh, as permisses seriam:

149

-rwx --- --x root root 0 Mar 18 14:49 cristina.sh

Ou seja, permisso de leitura, gravao e execuo para o dono do arquivo, sem


permisso para o grupo e somente permisso de execuo para os outros.

Se digitasse chmod 644 cristina.sh, as permisses seriam:

-rw- r-- r-- root root 0 Mar 18 14:49 cristina.sh

Ou seja, permisso de leitura e gravao para o dono do arquivo, permisso de leitura


para o grupo e permisso de leitura para os outros.

Grande parte da segurana dos sistemas baseados no Debian Linux se deve a estas
permisses, pois com elas controlamos quem acessa determinado diretrio ou arquivo, no
havendo como mudar as permisses se voc no for o root, exceto se voc for o dono do
arquivo no qual esto sendo mudadas as permisses. Voc s conseguir mudar as permisses
de seus arquivos. Na tabela abaixo, o detalhe de nosso ltimo exemplo:

Tipo arquivo User (dono) Grupo Outros Informaes de tam., data e hora
- 6 4 4 0 Mar 18 14:49 cristina.sh
3.7 CONTROLANDO PROCESSOS NO DEBIAN

Sempre que se ativa um utilitrio ou um programa no Debian Linux, o sistema inicia um


processo. Um processo nada mais do que um programa em execuo, com recursos do 150
sistema reservados para tal. Sendo um sistema multitarefa, o Debian capaz de rodar vrios
processos simultaneamente. O kernel do Debian controla o tempo e as prioridades de execuo
dos processos, permitindo que eles sejam criados e encerrados.

Existem dois tipos, ou nveis, de processos: os do usurio e os do sistema (ou do


kernel). Sempre que voc inicializa um utilitrio, inicia-se um processo de usurio. J os
processos de sistema so iniciados pelo prprio kernel para manter o controle preciso do
sistema operacional. Por exemplo, o kernel inicia um processo de sistema (ou como
conhecido, uma chamada de sistema) toda vez que um programa necessita de memria para ser
executado. Estes processos de sistema so, em sua maioria, transparentes para os usurios.

3.7.1 Background

No Debian, podemos colocar um processo em background, isto , o processo continua


a execuo enquanto o shell liberado para outras atividades. Para se colocar um comando em
background, utilizado o sinal & ao final da linha de comando.

Para exemplificar a utilidade deste sinal, veremos como podemos utiliz-lo. Existe um
comando no Debian que, ao ser digitado, executa a atualizao de um banco de dados que
contm referncias a todos os arquivos que esto instalados em nosso sistema. Ele
extremamente til quando queremos localizar algum arquivo com o comando locate que vimos
nos primeiros mdulos de nosso curso.
Vamos, ento, atualizar nossa base de dados com o comando updatedb sendo
utilizado em background, para que nosso terminal no fique ocupado aguardando que o mesmo
termine.

Updatedb &
151

E ao digitarmos enter, seria retornada a seguinte informao:

[1] 5406

dtm221:/home/jamaral#

O nmero 1 indica que temos apenas um processo rodando em background e o


nmero 5406, indica o nmero deste processo. Se quisermos verificar se o processo que se
refere ao updatedb foi finalizado ou se ainda est rodando, basta digitar o comando jobs como
exemplificado abaixo:

dtm221:/home/jamaral# jobs

[1]+ Done updatedb

dtm221:/home/jamaral#

Podemos verificar que no nosso caso o processo referente ao updatedb foi feito
(done), ou seja, foi finalizado.

Comando ps
O comando ps utilizado quando desejamos visualizar os processos que esto
rodando no sistema naquele exato momento. Observe que o ps exibe o estado do processo no
momento em que voc executou o comando, como se fosse uma fotografia do momento.
Existem vrias flags que podem ser utilizadas com este comando, no entanto as mais utilizadas
so:

152

-ef para visualizar todos os processos;

-u apresenta o nome do usurio e a hora em que o processo foi iniciado;

-r mostram apenas processos que esto rodando (running);

-txx mostra os processos controlados pelo terminal nmero xx.

Abaixo, um exemplo do comando ps com a flag -u:

jamaral@debian5:~$ ps -u

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

jamaral 3460 0.0 0.1 6236 2980 pts/0 Rs 09:29 0:00 bash

jamaral 3543 0.0 0.0 4268 1044 pts/0 R+ 09:51 0:00 ps -u

jamaral@debian5:~$

Observe que foi exibido aps o enter, o nome do usurio, o nmero do processo,
informaes de uso de memria, terminal, status, data e hora e o comando associado.

Outro exemplo:

jamaral@debian5:~$ ps -r
PID TTY STAT TIME COMMAND

3548 pts/0 R+ 0:00 ps -r

jamaral@debian5:~$

Aqui, temos a flag -r que mostra os processos que se encontram no estado running, ou 153

seja, rodando e, neste caso, o prprio comando ps que executei.

Comando top

O comando top lista os processos que esto utilizando a CPU. Ele disponibiliza uma
listagem das atividades de processamento em tempo real. Exibe uma lista de tarefas que usam
mais intensamente a CPU, e pode disponibilizar uma interface interativa de manipulao de
processos. Voc tambm pode ordenar os processos por uso de CPU, memria, sendo que tais
informaes so mostradas em tempo de execuo.

Sua sintaxe simplesmente top, sem necessidade de qualquer argumento.

Exemplo de comando top em minha mquina no momento que escrevia este curso:

top - 10:18:07 up 59 min, 2 users, load average: 0.09, 0.14, 0.10

Tasks: 93 total, 1 running, 92 sleeping, 0 stopped, 0 zombie

Cpu(s): 1.1%us, 0.6%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.2%hi, 0.0%si, 0.0%st

Mem: 2076312k total, 893520k used, 1182792k free, 45952k buffers

Swap: 497972k total, 0k used, 497972k free, 644880k cached


PID USER PR NI VIRT RES SHRSS %CPU %MEM TIME+ COMMAND

3431 jamaral 20 0 163m 31m 9920S 3 1.5 0:48.32 xfmedia

2878 root 20 0 109m 22m 6092S 1 1.1 0:47.91 Xorg

3416 lp 20 0 480m 1068m 840S 1 0.1 2:56.11 Parallel

3579 jamaral 20 0 24424m 13m 8252S 1 0.6 0:00.26 Xfce4


154

Bom, vamos entender o que so essas informaes: na primeira linha aps o top,
temos: hora que iniciei o top, o tempo que o computador encontra-se ligado (59 min.), temos dois
usurios logados, e em seguida algumas mdias de uso de CPU e memria.

Na segunda linha, temos: o total de tarefas executadas, tarefas rodando (1) e


aguardando (92) no temos no momento processos parados nem zumbis.

Na terceira linha, mais parmetros de uso de CPU, sistema, memria, etc. Na quarta
linha, informaes mais claras de uso de memria usada, total e livre. Na quinta linha, podemos
verificar que nossa swap nem foi utilizada. Isto um bom sinal. A partir da sexta linha, temos
informaes de que tipo de aplicativos o usurio jamaral est utilizando e que est efetivamente
ocupando recursos do sistema. Observamos que o processo 3431 refere-se a um dos muitos
tocadores de msicas que o Debian possui e que aqui no caso estou utilizando o xfmedia para
ouvir msica enquanto digito o curso para vocs, afinal ningum de ferro.

O processo 2878 do superusurio refere-se ao servidor grfico Xorg que veremos mais
adiante em nosso curso. Sem ele, no teramos como utilizar uma interface grfica.

O processo 3416 particularmente interessante, pois est relacionado a um usurio lp


que nada mais que nosso servidor de impresso, portanto um daemon do sistema de
impresso e que sem ele no conseguiria imprimir nossos textos.

Finalmente, o processo da ltima linha refere-se ao gerenciador de janelas xfce que


estou utilizando no momento. Existem diversos gerenciadores de janelas e veremos detalhes
deles no ltimo mdulo de nosso curso.
Comando kill

O comando kill utilizado para matar um processo ou reinicializ-lo (HUP) pela


informao de seu nmero (PID Process Identifier). Este comando envia um sinal especfico
para o processo. Se no for enviando um sinal especfico, o sistema envia o sinal TERM. O kill 155

finalizar os processos que no capturaram este sinal. Pode ser necessrio enviar o sinal kill (9)
para determinados processos. A opo -l lista os sinais que podem ser enviados para um
determinado processo.

altamente recomendvel utilizar o sinal -15 para finalizar um processo corretamente.


O sinal -9 s dever ser usado em casos extremos, pois ele mata o processo sem que sejam
transferidos corretamente os dados dos buffers para o disco. A flag -HUP tambm
extremamente til.

Imagine a seguinte situao: Voc administrador de um servidor que prov para os


usurios de uma empresa, um servidor Web (servidor de pginas de internet), um servidor de e-
mail (o exim4, por exemplo) e um servidor proxy (por exemplo, o squid). Por alguma razo, seu
servidor de e-mail parou de responder as requisies e voc precisar reinici-lo, mas voc no
pode derrubar os outros servios (Web e proxy). Este um caso em que a mquina no deve
ser reinicializada, pois outros servios esto sendo utilizados e no podem ser interrompidos. A
soluo bem simples: reinicializa-se somente o servio que est com problemas, no nosso
caso hipottico, o servidor de e-mail. Abaixo, veremos um exemplo desta situao.

A sintaxe do comando kill : kill <-sinal> <PID>

No exemplo abaixo, utilizamos o comando ps -ef em pipe com o comando grep para
localizarmos o nmero do processo que se refere ao exim4 e teremos como retorno, duas linhas:
a primeira, refere-se ao exim4; e a segunda, ao nosso comando ps -ef | grep exim4. O que nos
interessa o nmero do processo do servio que desejamos reiniciar, neste caso, o PID 4019.
De posse desta informao, basta executar o kill -HUP 4019 como mostrado no segundo
exemplo.
Exemplo1 descobrindo o processo do exim4

debian5:/etc/init.d# ps -ef | grep exim4

101 4019 1 0 11:38 ? 00:00:00 /usr/sbin/exim4 -bd -q30m

root 4027 3738 0 11:38 pts/0 00:00:00 grep exim4 156

Exemplo2 reinicializando o exim4 com o comando kill -HUP

No entanto, se mesmo assim desejarmos matar o processo do exim4, faria assim:

Exemplo3 parando o exim4 e deixando os usurios sem acesso ao e-mail.

debian5:/etc/init.d# kill -15 4019

debian5:/etc/init.d# ps -ef | grep exim4

root 4038 3738 0 11:49 pts/0 00:00:00 grep exim4

Nota: Observe que no usei o -9 e sim -15. Vocs j sabem o motivo, certo? Ao
procurar o exim4 com o comando ps -ef, s visualizamos a linha referente a este comando.

Comando nohup
O nohup utilizado quando no desejamos que um determinado comando que
demorar a ser executado pelo sistema, seja interrompido aps finalizarmos nossa sesso
em um terminal. Sua sintaxe :

nohup <comando>
157

Exemplo:

nohup grep consulta /etc/passwd > resultado.dat &

No exemplo acima, estamos supondo que o comando grep demorar para ser
completamente executado e desejamos sair do sistema (sair do terminal e no desligar o
computador).

S para esclarecer o comando acima, busca ocorrncias da palavra consulta, dentro


do arquivo passwd, localizado dentro do diretrio /etc, e armazena as sadas no arquivo
resultado.dat. Note que a linha finalizada com o & que executa o processo em background,
como j aprendemos anteriormente.
4 ADMINISTRAO E INTERFACE GRFICA

4.1 IMPLEMENTANDO SEGURANA BSICA

158

Antes de nos aventurarmos na interface grfica, vamos executar alguns procedimentos


a fim de implementar alguma segurana e automatizar algumas tarefas em nosso Debian.

Primeiro, vamos verificar quais portas esto abertas em nossa mquina, fechando as
que no esto sendo utilizadas.

No Linux, cada servio utiliza uma porta para enviar ou receber informaes. Por
exemplo, para acessarmos a Web utilizamos as portas 80 e/ou 8080, dependendo do tipo de
servidor que estamos acessando. Da mesma forma, quando utilizamos o ftp utilizamos a porta
21, o ssh utiliza a porta 22 e assim por diante.

No existe sentido algum e tampouco seguro deixarmos portas abertas de servios


que no estamos utilizando. Se, por exemplo, nossa mquina no for um servidor de e-mail, no
existe necessidade de deixarmos a porta 25 aberta, que a porta utilizada pelo protocolo smtp
do e-mail.

O comando que utilizamos para verificar quais portas esto abertas e o nmap. Sua
sintaxe bem simples nmap <host ou endereo ip>, onde host pode ser seu computador
(localhost ou 127.0.0.1) ou qualquer host remoto.

Nota importante: Por se tratar de um sniffer, o nmap no deve ser utilizado em


mquinas remotas de sites de terceiros, pois corremos o risco de sermos acusados de tentativa
de invaso daquele computador.

No use em hiptese alguma este comando contra sites governamentais, bancos, etc.,
pois quando o fazemos, o ip de nossa mquina registrado na mquina destino e caso ocorra
algum problema de ordem legal, voc poder ser localizado e responsabilizado.
Caso voc no tenha este comando instalado em seu Debian, utilize o apt aprendido
anteriormente para baixar o pacote. No se esquea de executar os prximos passos como
usurio root.

Inicialmente, fui scannear as portas locais de minha mquina a fim de verificar quais se
encontram abertas. Para isso, digite em um terminal o comando nmap da seguinte forma:

159

nmap localhost

Observe que aps digitar enter, uma srie de informaes ser apresentada na tela:

debian5:/home/jamaral# nmap localhost

Starting Nmap 4.68 (http://nmap.org ) at 2009-03-21 13:22 BRT

Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.

Interesting ports on localhost (127.0.0.1):

Not shown: 1712 closed ports

PORT STATE SERVICE

111/tcp open rpcbind

113/tcp open auth

631/tcp open ipp

Nmap done: 1 IP address (1 host up) scanned in 0.089 seconds

debian5:/home/jamaral#
Podemos observar que temos trs portas abertas. So elas: 111, 113 e 631. Para
fecharmos essas portas, precisamos procurar dentro do arquivo inetd.conf que fica localizado
dentro do diretrio /etc, uma linha que no est comentada (ou seja, no inicia com o caracter #),
denominada:

ident stream tcp wait identd /usr/sbin/identd identd 160

Esta linha indica o daemon identd rodando, mas no temos necessidade deste
daemon em nosso desktop.

Para desabilitar o identd, precisamos acrescentar o caracter # no incio da linha para


coment-la no arquivo inetd.conf.

Utilize o vi aprendido anteriormente e aps salvar e sair do arquivo /etc/inetd.conf


precisaremos inicializar o processo do programa inetd que o daemon que utiliza o arquivo que
acabamos de alterar. Utilizaremos os conhecimentos que aprendemos sobre processos no
mdulo anterior, a fim de enviar um sinal HUP ao inetd, fazendo com que ele seja reinicializado
sem que necessitemos desligar a ligar nossa mquina. Vamos inicialmente descobrir o nmero
do processo associado ao inetd da seguinte forma:

ps -ef | grep inetd

No meu caso, o comando acima retornou a seguinte informao:

debian5:/etc# ps -ef | grep inetd

root 2774 1 0 09:19 ? 00:00:00 /usr/sbin/inetd

root 4390 4265 0 13:41 pts/0 00:00:00 grep inetd


Podemos verificar que o processo associado ao meu daemon inetd o de nmero
2774. Agora, basta enviarmos o sinal HUP para reinici-lo e verificar se as portas foram
fechadas.

kill -HUP 2774


161

Se digitarmos agora o comando nmap localhost, verificaremos que ainda restam duas
portas abertas: 111 e 631, pois nosso procedimento s fechou a 113.

Para descobrirmos os servios que esto utilizando as portas que ainda esto abertas,
vamos utilizar o comando lsof com a flag -i.

Sua sintaxe bem simples:

lsof -i:<nmero da porta>

debian5:/etc# lsof -i:111

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

portmap 2034 daemon 4u IPv4 5002 0t0 UDP *:sunrpc

portmap 2034 daemon 5u IPv4 5013 0t0 TCP *:sunrpc (LISTEN)

Podemos observar que esta porta est sendo utilizada pelo programa portmap.

Agora, vamos descobrir qual o nmero do processo associado a este programa para
que possamos par-lo utilizando o comando kill -15.

debian5:/etc# ps -ef | grep portmap

daemon 2034 1 0 09:19 ? 00:00:00 /sbin/portmap


root 4450 4265 0 14:14 pts/0 00:00:00 grep portmap

Agora que descobrimos o nmero do processo (2034), basta par-lo com o comando
kill kill -15 2034.

Para evitar que este servio seja ativado quando inicializarmos nosso computador, 162
basta que no diretrio onde se encontra o executvel portmap, em /etc/init.d/ utilizemos o
comando chmod j estudado, para tirar sua permisso de execuo.

chmod 444 portmap

Finalmente, quanto porta 631, no iremos executar este procedimento, pois se trata
de nosso servidor de impresso denominado cupsd, a no ser que vocs queiram ficar sem
servio de impresso, o que acho pouco provvel. Portanto, ficaremos com apenas esta porta
aberta, mas por uma boa razo.

4.2 INSTALANDO UM FIREWALL BSICO

Para que tenhamos um nvel de segurana bom e sem precisar de conhecimentos


profundos, vamos utilizar o aplicativo firestarter que nos proporciona o firewall muito fcil de ser
instalado. O primeiro passo instal-lo via apt-get. Para isso, digite em um terminal o seguinte
comando:

apt-get install firestarter


Aps o firestarter ser baixado e instalado pelo sistema, caso ele no inicialize
automaticamente, voc pode digitar o seguinte comando:

Nota: Vamos aprender uma coisa nova. Digite o comando abaixo somente at a letra
e e depois digite a tecla TAB no teclado ao lado da letra Q.

163
Assim, ./fire <TAB>

Voc perceber que aps digitar TAB o Debian completa o nome do programa. Nos
sistemas Linux em geral, isto muito usual e prtico e funciona com todos os comandos. Caso
exista um comando ou programa que comece com letras idnticas, o Linux preenche at onde
ambos so idnticos, e a partir da, se voc digitar novamente TAB, ele listar todos os
comandos ou aplicativos que iniciam com aquela sequncia de letras.

./firestarter

Voc pode opcionalmente, chamar o firestarter pelo menu da interface grfica em


Sistema Administrao Firestarter.

Basta que voc aceite as configuraes que ele oferece para ter um nvel de
segurana ideal para uma mquina que est sendo utilizada como desktop.

4.3 SINCRONIZANDO O RELGIO DE NOSSO DESKTOP COM NTPDATE

No Debian, temos um comando conhecido como ntpdate que utilizado para


sincronizar o relgio da mquina com servidores confiveis existentes em diversos locais da
internet. Ao escolher um servidor de ntpdate, tenha em mente que voc precisa sincronizar com
um que esteja no mesmo fuso horrio de sua localidade.

O primeiro passo baixar e instalar o ntpdate utilizando o apt-get:

apt-get install ntpdate 164

Aps baixarmos o ntpdate escolhemos um servidor confivel, que no meu caso o


servidor ntp.usp.br da Universidade de So Paulo. Digitamos na linha de comando o seguinte:
ntpdate -s ntp.usp.br

Existe uma maneira mais prtica de executar este comando, ou seja, podemos
automatizar a sincronizao do horrio de nosso computador. Sempre que quisermos agendar
alguma tarefa no Debian, utilizamos um programa chamado cron. O cron um agendador de
tarefas do Debian. Caso voc no tenha instalado, faa sua instalao utilizando o apt.

Feita a instalao, basta digitarmos na linha de comando: crontab -e

O agendamento deve ser colocado da seguinte maneira:

Minuto Hora Dia Ms Dia da semana Comando

0 * * * * /usr/sbin/ntpdate -s ntp.usp.br

Vamos entender a sintaxe do agendamento do cron:

Minuto: deve ser colocado o minuto em que deve ser executado o programa.

Hora: deve ser colocada a hora em que deve ser executado o programa.

Dia: deve ser colocado o dia em que deve ser executado o programa.

Ms: deve ser colocado o ms em que deve ser executado o programa.


Comando: deve ser indicado o programa que ser executado com seu caminho
completo.

No nosso exemplo acima, o comando ser executado de hora em hora, todos os dias
de todos os meses de todos os dias da semana.

Outro exemplo: se quisssemos executar a sincronizao do relgio de nosso micro


em intervalos de quatro horas. 165

Minuto Hora Dia Ms Dia da semana Comando

0 */4 * * * /usr/sbin/ntpdate -s ntp.usp.br

4.4 AUTOMATIZANDO A ATUALIZAO DO NOSSO SISTEMA

Podemos tornar nosso sistema capaz de fazer suas prprias atualizaes


automaticamente. altamente recomendvel que nosso sistema seja atualizado pelo menos
uma vez ao dia para que correes de bugs de segurana e novos aplicativos sejam baixados
para nosso computador, mantendo assim nosso sistema seguro e o mais atual possvel. Este
script vai ajudar o seu trabalho de manter o sistema atualizado.

Crie em seu terminal, um script de shell denominado debian-update.sh, como


exemplificado abaixo, utilizando o editor de textos vi j estudado anteriormente.

Nota: O caractere # na primeira linha no se trata de um comentrio, pois todo script


de shell deve necessariamente iniciar com a linha #!/bin/bash.

#!/bin/bash
PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin

export PATH

# atualizar a lista de pacotes disponveis

apt-get update

# fazer o upgrade dos pacotes 166

apt-get -y upgrade

# apagar os pacotes que foram baixados no diretrio /var/cache/apt/archives/

apt-get clean

Aps salvar o arquivo, vamos torn-lo propriedade do superusurio com o seguinte


comando:

chown root.root debian-update.sh

Em seguida, vamos alterar suas permisses para que s o proprietrio do arquivo


tenha permisso de acesso total.

chmod 750 debian-update.sh

Finalmente, vamos mov-lo para o diretrio /usr/local/sbin com o comando abaixo:

mv debian-update.sh /usr/local/sbin
Agora, vamos congurar o cron para executar o nosso shell script debian-update.sh de
hora em hora, sempre no minuto zero de cada hora (0:00h, 1:00h, 2:00h).

Para iniciar a edio do arquivo de congurao do cron execute:

crontab -e 167

O trecho abaixo deve ser acrescentado s linhas j criadas do cron:

#manter o sistema atualizado

0 * * * * /usr/local/sbin/debian-update.sh 2&> 1> /dev/null

Pronto, se fizemos tudo certo, teremos o sistema sincronizando e atualizando tudo de


hora em hora. Para verificar se tudo est sendo executado conforme determinamos, podemos
utilizar os comandos j estudados tail, head ou cat para visualizar o arquivo de log do sistema,
localizado em /var/log/syslog e checarmos se est sendo executado nosso script a cada hora.
Abaixo, um exemplo do comando cat no arquivo /var/log/syslog de minha mquina:

Mar 21 17:00:01 debian5 /USR/SBIN/CRON[6532]: (root) CMD (/usr/sbin/ ntpdate -s


ntp.usp.br)

Mar 21 17:00:01 debian5 /USR/SBIN/CRON[6533]: (root) CMD (/usr/local/sbin/debian-


update.sh 2&> 1> /dev/null)

Podemos observar que exatamente s 17 horas foram executados os comandos que


agendamos no cron, inclusive nosso script debian-update.sh.
4.5 VERIFICAR A INTEGRIDADE DO SISTEMA

O Debian possui um comando para checar a integridade do sistema. Este comando o


chkrootkit. Vamos executar uma vericao da integridade do sistema instalado. Neste
momento, possvel garantir que nosso computador no foi vtima de qualquer craker. No 168

entanto, este procedimento deve fazer parte do seu cotidiano. Voc responsvel pela
segurana da sua mquina! Basta execut-lo como usurio root. Sua sintaxe :

chkrootkit

Fique atento para as mensagens que vo aparecer na sua tela. Em um computador


no invadido voc deve esperar pelas seguintes palavras: not found, not infected, nothing found
e nothing deleted.

4.6 XORG SERVIDOR GRFICO

O servidor grfico do Linux, diferentemente de outros sistemas operacionais, no a


interface grfica propriamente dita, apesar de ser o elemento de ligao entre os gerenciadores
de janela como o Gnome, XFCE, Kde, etc. Na verdade, ele um servidor de vdeo que fornece
ao programa que ficar no controle da interface, condies de acessar o controlador de vdeo,
mouse e teclado. O programa que utilizar estes recursos por meio do servidor grfico
(conhecido tambm como X ou como Xorg) denominado Gerenciador de Janelas, que a
interface grfica que interage diretamente com o usurio.
Independente desta interface, temos que saber que a multitarefa do Debian ocorre em
nvel de kernel, simultaneamente, independente se o sistema esteja com a interface grfica
instalada ou no. Interfaces grficas so programas que rodam sobre o X, proporcionando um
ambiente amigvel ao usurio final. Elas so responsveis por fornecer recursos como
gerenciamento de janelas, menus, efeitos de som, e diversas ferramentas e utilitrios que podem
ser facilmente acessadas pelos usurios.
169

4.7 CONFIGURANDO O XORG MANUALMENTE

Em nosso curso, quando aprendemos bem no incio a instalar o Debian, j o fizemos


com a opo Ambiente Desktop habilitado para que fosse instalado automaticamente. No
entanto, nada impede que faamos a instalao do servidor grfico ou dos gerenciadores de
janelas, separadamente. Como default, no nosso caso, foi instalada a interface grfica Gnome
que a interface padro na instalao do Debian.

Existem centenas delas e vamos demonstrar como instalar algumas separadamente ou


simultaneamente, como preferirem. Por exemplo, se vocs souberem o modelo exato da placa
de vdeo que est no computador, podemos baixar uma verso especfica que pode funcionar
utilizando todos os recursos daquela placa de vdeo. Caso voc no tenha esta informao o
comando que baixa o xorg e detecta automaticamente suas configuraes so:

apt-get install xorg

Se por acaso voc j estiver com o xorg instalado, receber uma mensagem como:
xorg j a verso mais nova.
Vou usar como exemplo minha mquina que est com o xorg j instalado e vou instalar
o xorg especfico para minha placa de vdeo Nvidia. Para saber qual arquivo baixar, utilizamos
aquele recurso que aprendemos nos mdulos anteriores. Digite:

apt-cache search xorg*

Este comando me retorna tudo que existe referente ao xorg em um repositrio. Para
percorrer toda a listagem posso utilizar um recurso do Debian que pressionar a tecla SHIFT 170

que se encontra em cima da tecla Ctrl, juntamente com as teclas PageUp e PageDown que
fazem a rolagem da tela do terminal. No meu caso, encontrei o seguinte pacote:

xserver-xorg-video-nv - X.Org X server -- NV display driver

Este pacote o xorg para placas Nvidea. Para instal-lo, basta digitar:

apt-get install xserver-xorg-video-nv

Se tudo correr bem, o servidor grfico ser instalado e configurado. Raramente ocorre
algum problema, mas se mesmo assim acontecer, voc ter que tentar configurar o seu servidor
grfico manualmente ou, se preferir, pode tentar instalar o driver genrico que funciona com
quase tudo que existe. Para instal-lo digite o comando abaixo:

apt-get install xserver-xorg-video-vesa

Infelizmente, devo lhe avisar que se no funcionar com este driver, voc tem grandes
problemas para resolver, mas no desista. Voc pode tentar configurar manualmente. Para isso,
digite na linha de comando o seguinte comando:
dpkg-reconfigure xserver-xorg

Aps digitar este comando, sero apresentadas as telas a seguir:

Digite sim para utilizar o framebuffer do kernel. 171

Em seguida, diga sim para autodetectar o layout de teclado.


172
173

Na prxima tela, se seu teclado for Abnt2 digite br se for layout americano digite
us_intl.
Na prxima tela, para conjunto de regras, deixe por conta do xorg.

174

Novamente, se seu teclado for abnt2 digite como na figura, caso contrrio us_intl. A
prxima tela muito similar a anterior.
175

Preencha corretamente e digite TAB para ir para o <ok> e enter. Repita o anterior para
a variante do teclado e finalize com ok.
O procedimento mostrado acima raramente utilizado, pois como j havia comentado,
o Debian reconhece automaticamente quase todo tipo de hardware. Se algo de errado ocorrer e
sua interface grfica parar de funcionar, voc pode utilizar o procedimento de recuperao do
backup criado automaticamente para restaurar suas configuraes. Basta que voc v ao
diretrio /etc/X11 e localize a cpia mais recente de seu xorg.conf (no meu caso o da ltima
linha) e restaurar a configurao da interface grfica da seguinte maneira:
176

cp xorg.conf.20090321173848 xorg.conf

Abaixo, uma listagem exemplo do diretrio /etc/X11:

debian5:/etc/X11# pwd

/etc/X11

debian5:/etc/X11# ls -l xorg.conf*

-rw-r--r-- 1 root root 1107 Mar 21 18:17 xorg.conf

-rw-r--r-- 1 root root 1107 Mar 21 17:24 xorg.conf.20090321172422

-rw-r--r-- 1 root root 1107 Mar 21 17:38 xorg.conf.20090321173848

Voc tambm pode digitar dpkg configure -a para resolver problemas com o apt,
caso ele emita mensagem de erro de pacotes (pacotes quebrados).

4.8 INSTALANDO UMA OU MAIS INTERFACES GRFICAS


Finalmente, vamos instalar algumas interfaces conhecidas tambm como
gerenciadores de janelas. No Debian existem centenas de gerenciadores; no entanto, algumas
so mais utilizadas por terem recursos visuais que auxiliam os usurios. Independente das que
sero sugeridas aqui, sintam-se vontade para pesquisar e baixar quantas vocs quiserem.

Como havia dito anteriormente, a interface padro da instalao a Gnome. Ento,


vou digitar um comando que baixaria trs interfaces de uma s vez. Se voc tiver em mo o DVD 177
com todos os CD's do Debian a instalao e relativamente rpida. No entanto, se voc for baixar
a partir da internet, dependendo da velocidade de sua conexo, esta instalao pode levar
horas. Vamos instalar duas das mais leves interfaces existentes para Debian: fluxbox e blackbox.

Para isso, utilizamos o comando:

apt-get install fluxbox blackbox

Ao digitar enter voc ver uma tela como abaixo:


Percebam que no momento que capturei esta tela, restavam apenas 1:51 minutos para
encerrar a instalao das duas interfaces.

Para entrarmos com a nova interface, basta que inicializemos o servidor grfico,
teclando simultaneamente as teclas Ctrl + backspace e quando iniciarmos a nova sesso, antes
de digitarmos a senha, selecione na opo sesso a interface desejada. Abaixo, uma imagem de
uma sesso utilizando o gerenciador de janela Fluxbox que instalamos. Observem os menus 178
pop-ups.

Sintam-se livres para experimentar todas as interfaces grficas que vocs conseguirem
encontrar e instalar.
4.9 FACILIDADES DA INTERFACE GRFICA TOCANDO MSICAS

Uma interface grfica no seria nada se no fornecesse recursos para que ns


usurios pudssemos tirar o mximo proveito dela.
179
Um gerenciador de janelas que se preze, precisa conter aplicativos a fim de contentar
todas as pessoas, ou, ao menos, fornecer facilidades para que possamos instalar tudo o que
precisarmos para nosso trabalho ou lazer.

Por padro, quando instalamos o Gnome em nossa instalao, o Debian se


encarregou de colocar um aplicativo que possibilita que toquemos msicas no formato mp3. Este
aplicativo chama-se xfmedia e possui alguns controles bem simples para que possamos
controlar a faixa que estamos ouvindo, controle de volumes, etc. Abaixo segue uma imagem do
xfmedia em uso.
Como podemos observar, ele bem simples e fcil de usar, com poucos recursos. Por
isso, vamos instalar um que possui mais recursos e tambm muito popular entre os usurios
do Debian. O nome dele e Amarok, mas j vou adiantando a vocs que nada tenho a ver com o
nome dado a ele.

Para instalar, j estamos habituados, basta utilizar o apt.

180

apt-get install amarok

Abaixo alguns screenshots do amarok sendo executado.


Podemos observar as configuraes da primeira execuo. Ele oferece uma tela para
que voc localize os diretrios que contm todas as suas msicas. Basta selecionar a caixa com
o mouse e clicar em next.

181

Observe alguns controles na parte inferior, como, por exemplo, o play, percentual de
volume ajustado e entre eles um painel que contm um vumeter digital.

4.10 GRAVANDO CD'S E DVD'S - K3B

No Debian tambm temos um aplicativo muito til para gravar CD's e DVD's, tanto de
udio como de vdeo. com este aplicativo que criamos os CD's e DVD's bootveis com nossas
imagens ISO. O K3B possui estas funcionalidades, alm de muitas outras que fogem ao escopo
de nosso curso.

Para instalar o K3B podemos utilizar o apt via terminal ou o Synaptic via interface
grfica, por meio do menu Sistema Administrao. O Synaptic tem a mesma funo do apt, mas
com uma tela bem amigvel e fcil de utilizar. Observe abaixo o K3B em execuo:

182

Normalmente, aps a instalao de qualquer aplicativo no Debian, o mesmo


automaticamente inserido nos menus. No entanto, caso aps uma instalao voc perceba que
o aplicativo baixado e instalado no esteja constando nos menus, bastar que voc utilize o
comando estudado anteriormente para reinicializar somente a interface grfica (Ctrl +
Backspace) para resolver o problema.

Na imagem do K3B acima, podemos ver diversas opes de gravao muito similares
h alguns programas comerciais. A opo que cria CD e DVD com boot so as duas ltimas da
direita. Sugiro que voc explore bem todos os recursos do K3B, tenho certeza que vocs vo
perceber como ele fcil e prtico.
4.11 ASSISTINDO FILMES TOTEM

Alm de ouvir msicas, podemos tambm assistir a filmes de diversos formatos, pois
atualmente temos muitos codecs que compatibilizam os formatos de vdeos existentes, entre
eles: avi, mpeg, etc. 183

No Debian temos vrios aplicativos para assistir filmes, sendo os mais populares o
totem, kaffeine, etc. Em nosso curso vou demonstrar como instalar facilmente o totem utilizando
o apt.

apt-get install totem

Aps baixar os pacotes, voc pode cham-los pelo menu, ou diretamente da linha de
comando: totem & o resultado pode ser visto abaixo:
Ao lado podemos ver o totem em execuo com seus menus e botes para podermos
criar listas de reproduo, controle de volumes, tempo, etc.

Estamos encerrando nosso curso com a apresentao do totem. Espero que vocs
tenham gostado dos tpicos abordados e que possam tirar proveito do Debian Linux tanto na
vida profissional, como tambm no seu dia a dia, seja para seu aprendizado como para sua
diverso. 184

Para aqueles que sentiram dificuldades em iniciar o uso deste sistema operacional,
estarei sempre disposio para sanar qualquer dvida que porventura exista e gostaria
tambm de me despedir com uma frase que me norteia. Ela foi deixada por um dos maiores
avatares do sculo passado.

Um brilhante cientista que se tivesse conhecido o Linux, com certeza t-lo-ia adotado
por sua filosofia. Trata-se de Albert Einstein e a frase :

Nos Domnios dos Mistrios, nos prometem as mais belas experincias.


REFERNCIAS

FILHO, A. S. Domnio Linux Do Bsico aos Servidores. Florianpolis: VisualBooks, 2004

MENDONA, T. A. GNU/LINUX Aprenda a Operar o Sistema na Prtica. Santa Cruz do Rio 185
Pardo: Viena, 2008

MORIMOTO, C. E. Linux Ferramentas Tcnicas. So Paulo: Sul Editores, 2005

TIBET, C. V. Linux Administrao e Suporte. So Paulo: Novatec, 2001

Sites consultados:

http://pt.wikipedia.org/wiki/P%C3%A1gina_principal

http://www.br.debian.org/

http://wiki.forumdebian.com.br/index.php/Sistemas_de_arquivos

http://www.4newbies.com.br/?artigo&ver=115

http://www.gnu.org/ (em Ingls)

http://www.fsf.org/
http://linuxzoo.net/

http://www.jamaral.net

http://www.bonix.net
186

You might also like