SlideShare uma empresa Scribd logo
1 de 148
Baixar para ler offline
Debian Básico ­ Desktop
Paraná
Debian Básico - Desktop Paraná
Direitos autorais:
Essa Apostila está licenciada sob uma Licença Creative Commons Atribuição-Uso Não-Comercial-
Compartilhamento pela mesma licença 2.0 Brazil. Pode ser copiada, distribuída e modificada. Para ver uma
cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.0/br/ ou envie uma carta para
Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Assembleia.
2
Documento Debian Básico - Desktop Paraná
Versão 1.0-4
Data de Revisão 09 de março de 2009 por José Manuel da Pena Rosa
10 de março de 2009 por Fábio Tobich
20 de abril de 2009 por Felipe Camargo de Pauli
07 de maio de 2009 por Felipe Camargo de Pauli
21 de maio de 2009 por Felipe Camargo de Pauli
15 de julho de 2009 por Felipe Camargo de Pauli
05 de agosto de 2009 por Felipe Camargo de Pauli
21 de agosto de 2009 por Felipe Camargo de Pauli
Equipe Técnica Mantenedor: Felipe Camargo de Pauli
Revisor: Fábio Tobich
Colaboradores:
André Lucas Falco
David Alves França
Coordenação do projeto: Jonsue Trapp Martins
Páginas 148 páginas
Debian Básico - Desktop Paraná
Índice
Introdução.......................................................................................................................................................9
História do GNU/LINUX................................................................................................................................10
Multics, Unix e Minix: os avós do GNU/Linux............................................................................................10
O surgimento do projeto GNU....................................................................................................................11
Nasce o Kernel Linux.................................................................................................................................12
O encontro do GNU com o Pinguim..........................................................................................................13
Debian.......................................................................................................................................................13
Discos e partições de disco.........................................................................................................................15
O que são partições?.................................................................................................................................15
Partição primária, estendida e lógica.........................................................................................................16
Sistemas de arquivos...................................................................................................................................20
Blocos........................................................................................................................................................20
Journaling..................................................................................................................................................20
Principais diferenças entre os principais....................................................................................................21
Abstração de hardware................................................................................................................................23
Nós de dispositivos....................................................................................................................................23
Nomeação de dispositivos.........................................................................................................................26
Estrutura de diretórios.................................................................................................................................28
Endereços..................................................................................................................................................29
Diretórios do Sistema................................................................................................................................30
Exercícios de fixação (parte 1)....................................................................................................................33
Iniciação........................................................................................................................................................34
Como obter ajuda?....................................................................................................................................34
Terminais...................................................................................................................................................34
Usuários e grupos......................................................................................................................................35
Entendendo o terminal...............................................................................................................................37
Comandos para informações sobre sessões.............................................................................................37
Coringas....................................................................................................................................................38
Recursividade............................................................................................................................................39
Redirecionadores.......................................................................................................................................40
2>...............................................................................................................................................................42
VIM.................................................................................................................................................................44
Criando um arquivo...................................................................................................................................44
Editando um arquivo existente...................................................................................................................44
Modos do vim............................................................................................................................................44
Comandos essenciais..................................................................................................................................46
cd...............................................................................................................................................................46
ls................................................................................................................................................................47
pwd............................................................................................................................................................48
mkdir..........................................................................................................................................................49
> (De novo este redirecionador)................................................................................................................50
cp...............................................................................................................................................................50
mv..............................................................................................................................................................51
rm..............................................................................................................................................................52
diff..............................................................................................................................................................53
file..............................................................................................................................................................54
tree............................................................................................................................................................54
O completo APT............................................................................................................................................56
Repositórios...............................................................................................................................................57
Utilizando o apt..........................................................................................................................................57
dpkg...........................................................................................................................................................61
Exercícios de fixação (parte 2)....................................................................................................................65
Comandos para visualização de conteúdo de arquivos ..........................................................................68
sort.............................................................................................................................................................68
cat..............................................................................................................................................................68
tac..............................................................................................................................................................69
head...........................................................................................................................................................69
tail..............................................................................................................................................................70
5
Debian Básico - Desktop Paraná
more..........................................................................................................................................................71
less............................................................................................................................................................71
nl................................................................................................................................................................71
Comandos para pesquisa............................................................................................................................72
find.............................................................................................................................................................72
locate.........................................................................................................................................................73
grep...........................................................................................................................................................74
Comandos diversos......................................................................................................................................75
alias...........................................................................................................................................................75
badblocks...................................................................................................................................................75
clear...........................................................................................................................................................76
date............................................................................................................................................................76
df................................................................................................................................................................77
dmesg........................................................................................................................................................78
echo...........................................................................................................................................................78
free............................................................................................................................................................78
ln................................................................................................................................................................80
su...............................................................................................................................................................82
time............................................................................................................................................................82
touch..........................................................................................................................................................83
uname........................................................................................................................................................83
uptime........................................................................................................................................................84
whatis........................................................................................................................................................84
watch.........................................................................................................................................................85
which.........................................................................................................................................................85
reboot........................................................................................................................................................85
halt.............................................................................................................................................................86
shutdown...................................................................................................................................................86
Montagem de Dispositivos (mount e umount)............................................................................................86
Exercícios de fixação (parte 3)....................................................................................................................89
Comandos para gerenciamento de rede.....................................................................................................90
Informações básicas..................................................................................................................................90
Ifconfig.......................................................................................................................................................92
/etc/network/interfaces...............................................................................................................................92
ping............................................................................................................................................................94
route..........................................................................................................................................................94
nmap..........................................................................................................................................................95
hostname...................................................................................................................................................97
Exercícios de fixação (parte 4)....................................................................................................................98
Comandos de gerenciamento de contas....................................................................................................99
Arquivos de contas de usuários e grupos..................................................................................................99
adduser....................................................................................................................................................101
userdel.....................................................................................................................................................101
addgroup..................................................................................................................................................102
groupdel...................................................................................................................................................102
passwd.....................................................................................................................................................103
id..............................................................................................................................................................103
groups......................................................................................................................................................103
getent.......................................................................................................................................................103
Comandos para gerenciamento de processos........................................................................................105
ps.............................................................................................................................................................106
top............................................................................................................................................................107
kill............................................................................................................................................................107
killall.........................................................................................................................................................108
jobs..........................................................................................................................................................108
fg..............................................................................................................................................................109
bg.............................................................................................................................................................109
Comandos para gerenciamento de permissões.......................................................................................111
Proprietários, grupos e outros usuários....................................................................................................111
Tipos de permissões................................................................................................................................111
6
Debian Básico - Desktop Paraná
Diretórios..................................................................................................................................................112
Arquivos...................................................................................................................................................113
chown.......................................................................................................................................................114
chgrp........................................................................................................................................................114
chmod......................................................................................................................................................115
umask......................................................................................................................................................116
newgrp.....................................................................................................................................................117
usermod...................................................................................................................................................119
Exercícios de fixação (parte 5)..................................................................................................................120
Instalação de impressoras.........................................................................................................................122
Abrindo o Gerenciador.............................................................................................................................122
Definindo uma impressora padrão...........................................................................................................122
Adicionar uma nova impressora..............................................................................................................123
Remover uma impressora........................................................................................................................125
SSH..............................................................................................................................................................126
Instalando e iniciando o serviço...............................................................................................................126
Conectando-se ao servidor......................................................................................................................127
Copiando com o ssh................................................................................................................................128
Anexo I (Instalação do Sistema Operacional – Desktop Paraná 2.0 - Zandor)......................................130
Primeira etapa da instalação...................................................................................................................130
Segunda Etapa da Instalação..................................................................................................................131
Anexo II (Alsa).............................................................................................................................................133
Eventuais problemas...............................................................................................................................133
Referências Bibliográficas.........................................................................................................................134
7
Debian Básico - Desktop Paraná
Índice de Figuras
Figura 1: Richard M Stallman.........................................................................................................11
Figura 2: Linus Torvalds.................................................................................................................12
Figura 3: O casamento: GNU e Linux.............................................................................................13
Figura 4: Algumas distribuições......................................................................................................13
Figura 5: MBR - Master Boot Record.............................................................................................16
Figura 6: Informações que definem uma partição..........................................................................17
Figura 7: Quatro partições primárias..............................................................................................18
Figura 8: Três primárias mais uma lógica.......................................................................................18
Figura 9: Uma primária mais três lógicas.......................................................................................19
Figura 10: Estrutura de diretórios...................................................................................................27
Figura 11: Cilindros, trilhas e setores..............................................................................................80
Figura 12: Adduser x Userdel.......................................................................................................101
Figura 13: Caixa de diálogo "Configuração da impressora"..........................................................123
Figura 14: Definindo uma impressora padrão...............................................................................123
Figura 15: Procurando o dispositivo.............................................................................................124
Figura 16: Instalando uma impressora que esteja no Windows....................................................126
Figura 17: Instalando o driver da impressora...............................................................................127
Figura 18: Menu de contexto para remover uma impressora.......................................................127
8
Debian Básico - Desktop Paraná
INTRODUÇÃO
A migração de diversos serviços que possuem seus códigos-fonte fechados para alternativas livres é
uma realidade dentro do estado do Paraná. É uma questão de tempo até que todas as estações de trabalho
de todas as secretarias estejam com a distribuição Debian personalizada pela Celepar, denominada
Desktop Paraná, e diversas ferramentas do projeto GNU e de outros projetos alternativos livres estejam
instalados e em produção. A CPPC (Coordenação de Projetos, Pesquisa e Capacitação) é a coordenação
dentro da Celepar responsável por tentar diminuir o impacto dessa transição, através de uma ampla
documentação de serviços adotados pelo estado e cursos para usuários e técnicos. Esta apostila é a
primeira de uma série de três volumes. São eles: Debian Básico; Debian Intermediário; e Debian Avançado.
Todos estes volumes visam fazer com que os administradores de redes que desenvolvem trabalhos dentro
do estado do Paraná ou qualquer interessado da comunidade consigam realizar suas competências já
existentes de gerenciamento, mas agora com ferramentas completamente livres.
O curso de Debian Básico tem como objetivo transmitir aos técnicos interessados conceitos básicos
de informática, introdução a conceitos utilizados nas versões Unix like, e ensinar-lhes vários comandos para
serem utilizados para gerenciamento de uma rede. Este curso é básico, por isso terá uma série de
introduções a assuntos sem aprofundamento. O estudante terá a possibilidade de manusear uma série de
ferramentas e entender o que acontece com o computador, mas as soluções e análises mais profundas do
sistema, capacidade de criação de projetos de redes complexas, será adquirida apenas com a conclusão
dos três volumes.
A release atual do Desktop Paraná possui o codinome Zandor, que possui a estrutura do Debian
Lenny com as alterações feitas pela Celepar. Será esta a distribuição que este curso irá abordar, porém,
deve-se ficar claro que qualquer outra distribuição, até mesmo uma Unix-Like sem vínculos com o Debian,
segue os mesmos princípios do Zandor e possui muitos comandos e arquivos idênticos ou parecidos.
Tenham um bom curso!
9
Debian Básico - Desktop Paraná
HISTÓRIA DO GNU/LINUX
Sem um sistema operacional não conseguimos utilizar o computador para
nada, pois é o sistema operacional que permite a interação entre o homem
e a máquina. Para entendermos melhor sobre o surgimento do Debian, o
sistema operacional adotado pelo Paraná, vamos ver um pouco da história
dos sistemas operacionais.
MULTICS, UNIX E MINIX: OS AVÓS DO GNU/LINUX
Apesar de não ter sido o primeiro sistema operacional criado, vamos começar nossa história com o
MULTICS, por volta de 1969. Cientistas da computação, em um encontro que ocorreu no MIT
(Massachusetts Institute of Technology), inclinaram-se sobre uma ideia que quase todos tinham em comum:
a possibilidade de se criar um sistema operacional time-sharing. Ele teria características de tempo de
compartilhamento, que nada mais é do que vários usuários compartilhando os recursos de um computador.
Até então, os computadores não permitiam tal tarefa. Somente um processo poderia rodar por vez em cada
computador. De uma ideia surgiu um consenso. De um consenso surgiu um esboço. De um esboço surgiu
um projeto e sobre este projeto derramou-se muito dinheiro. O que antes só existia em mentes e papéis
passava a ganhar linhas de códigos em computadores de vários programadores.
Os investidores de recursos financeiros e humanos uniram-se no esforço de um único fim. Eram eles:
 ARPA – Departamento de defesa dos EUA – (principal auxílio: recurso financeiro.
Interessado em novas tecnologias para serem usadas em armas cada vez mais precisas e
devastadoras);
 General Eletric (principal auxílio: espaço físico e computadores);
 Laboratórios Bell da AT&T (principal auxílio: programadores renomados, sendo o mais
importante para nós: Ben Thompson);
 MIT (principal auxílio: programadores renomados e o esboço do projeto).
Os anos foram se passando e, devido a complexidade maior do que esperada da tarefa, os
resultados desejados não foram atingidos. Isto fez com que o projeto MULTICS perdesse força e, aos
poucos, cada uma das entidades envolvidas foram o abandonando. O sonho do multiprocessamento em um
sistema operacional foi morrendo. Foi morrendo até que morreu. Em 1969 o projeto foi abandonado.
Ken Thompsom, funcionário dos Laboratórios Bell e ex-integrante do grupo que desenvolvia o
MULTICS, continuou estudando o sistema e decidiu criar um outro sistema operacional mais simples, mas
que conservasse as ideias básicas do MULTICS, nascendo assim o UNICS (Uniplexed Information and
Computing Service), que mais tarde passou a se chamar UNIX. Ele ficou bom e convincente, fazendo assim
com que a AT&T resolvesse patrociná-lo. Era a volta do sistema operacional multiprocessado.
Inicialmente o UNIX foi escrito em Assembly, o que causava grandes dificuldades pelo fato de que
praticamente o sistema operacional só funcionaria em uma arquitetura. Como Assembly é uma linguagem
de baixo nível e muito complicada, Thompson tinha a intenção de passar o Unix para uma linguagem de alto
nível. Após algumas tentativas mal sucedidas, surgiu a linguagem C, e o UNIX finalmente foi reescrito sob
esta linguagem no ano de 1973.
10
Debian Básico - Desktop Paraná
O UNIX cresceu muito na AT&T, que até então, não o comercializava e o distribuía gratuitamente para
às universidades para fins educacionais. Mas com o seu crescimento, a partir da versão UNIX System IV
(em 1983), a AT&T começou a comercializá-lo cobrando pelo seu uso e não disponibilizando mais seu
código fonte.
Por não ter mais acesso ao código fonte do UNIX, o professor universitário, Dr Andrew Tanenbaum,
motivado por fins educacionais, resolveu desenvolver um novo sistema operacional baseado no UNIX,
criando assim o MINIX. Era um sistema operacional limitado, pois possuía apenas fins didáticos, e nesta
tarefa cumpria bem seu papel, mas para ser usado para outros fins era considerado fraco.
O SURGIMENTO DO PROJETO GNU
“Em 1984, Richard M. Stallman descobriu que software proprietário fazia vítimas diretas quando ele
mesmo se tornou uma delas.”
Tudo começou quando a Xerox resolveu presentear o Laboratório
de Inteligência Artificial do MIT (o mesmo laboratório de onde surgiu o
projeto do MULTICS e local onde Richard M. Stallman trabalhava) com
uma super impressora Laser de ponta.
A impressora era extremamente instável, ou seja, travava toda
hora. Alguém mandava algum trabalho para ser impresso e quando ia
buscar depois de meia hora, descobria que a impressora havia travado
na metade do trabalho. Arrumava-a, enviava novamente o trabalho e
depois de uma hora retornava para buscar, mas adivinha o que ele
descobria? Que a impressora havia novamente travado há 59 minutos
(haja paciência).
Antes de ganhar essa impressora da xerox, eles tinham uma
outra impressora que apresentara o mesmo problema. Como não era
possível fazer alterações no hardware da impressora para corrigir os problemas devido a falta de tecnologia
da época, eles faziam alterações no driver da mesma, adicionando algumas funções (gambiarras).
Uma dessa funções que eles haviam adicionado fazia com que aparecesse uma mensagem na tela
de cada usuário que havia mandado uma impressão informando se a tal estava pronta ou não. Avisava
também problemas na impressão, caso isso ocorresse. Assim, quando havia algum problema, alguém iria
correndo para sanar o problema o quanto antes. Então já haviam encontrado não a solução, mas um jeito
de fazer com que a remediação fosse mais rápida. Bastava implementar as mesmas alterações no driver
dessa outra impressora. E isso foi feito? Infelizmente não era possível pois o driver daquela impressora era
proprietário, pertencia à Xerox, e só estava disponível na forma binária. O código-fonte era exclusivo da
xerox. Para se alterar um programa é necessário seu código-fonte (como se fosse a receita de um bolo. É o
código em que encontramos toda a programação que faz um programa funcionar). Richard e seus
companheiros de trabalho estavam impotentes diante desse problema.
Quando Richard soube que um colega de outra universidade tinha o código fonte para esse driver,
procurou-o. Para sua surpresa, o colega se negou a lhe repassar o código-fonte, pois ele havia assinado um
acordo de responsabilidade que o impedia, legalmente, de compartilhar essa informação com quem quer
11
Figura 1: Richard M Stallman
Debian Básico - Desktop Paraná
que fosse. Se Richard Stallman quisesse ter acesso ao código fonte ele teria que assinar um acordo igual
ao que seu colega assinara. Isso ia contra seus princípios.
Muito pouco tempo depois de tudo isso, o MIT desencadeou um processo de reestruturação
tecnológica. Os softwares que já estavam obsoletos foram substituídos. Os novos softwares, apesar de
mais sofisticados e fáceis de se usar, vieram com acordos iguais àquele que seu colega havia assinado,
permitindo a ele alterar os programas, mas não os redistribuir. Além disso, não poderia divulgar o código
fonte original. Richard se viu então num grande impasse: se ele quisesse continuar a trabalhar com
informática, ele teria que assinar o mesmo tipo de acordo que havia feito ele conviver com uma impressora
destruidora de paciência. Ele sentia que não podia assinar esse contrato, mas ao mesmo tempo isso
passava a ser tendência do mercado. Ele era contra tudo isso e não queria mais jogar dessa forma, mas
não passava em sua mente deixar a informática.
Foi então que, no ano de 1984, Richard resolveu não assinar o acordo, sair da MIT e fundar a FREE
SOFTWARE FOUNDATION, com a proposta de lutar para que as pessoas pudessem ter acesso a
softwares livres, com direito a olhar seu código fonte, modificar e distribuir os programas livremente,
promovendo o livre fluxo de ideias na área de softwares.
Através da FREE SOFTWARE FOUNDATION foi criado o projeto GNU, que idealizava a criação de
um alternativa livre para cada software proprietário existente. Claro que uma das metas era um sistema
operacional completamente livre. Qualquer pessoa teria o direito de usar, modificar e redistribuir esses
softwares, desde que fossem garantidos esses mesmos direitos aos softwares derivados. O nome GNU foi
escolhido porque, além do significado original do mamífero Gnu, é um acrônimo recursivo de “GNU is Not
Unix” (em português “Gnu Não é Unix”). Esse sistema operacional deveria ser compatível com o UNIX, mas
não poderia usar nenhuma parte do código fonte do UNIX, já que este era fechado. Assim a partir de 1984,
liderados por Richard Stallman, um grupo de programadores que aderiram à causa começaram a
desenvolver as principais peças de um sistema operacional e aplicativos diversos.
Em 1991 o sistema operacional GNU estava quase pronto, mas ainda faltava a sua parte mais
importante: o seu núcleo, que na informática é chamado de kernel. Assim Richard e sua equipe
concentraram seus esforços na criação do kernel chamado Hurd. Enquanto isso...
NASCE O KERNEL LINUX
Num outro lugar do mundo, um cara chamado Linus Torvalds, finlandês, estudante de Ciências da
Computação na Universidade de Helsink, deparou-se com o MINIX. Lembram-se que o código fonte do
UNIX passou a não ser mais disponibilizado fazendo com que Tanembaum criasse o MINIX para que os
acadêmicos pudessem estudar sistemas operacionais na prática? Então! Lá estava o MINIX sendo
explorado por Linus. Só que o MINIX era muito limitado, afinal de contas, fora desenvolvido para fins
didáticos. Mas foi suficiente para despertar em Linus, em 1991, a ideia de
criar um novo sistema operacional mais completo, baseado no UNIX,
utilizando as diretrizes POSIX, regras também observadas na criação do
MINIX.
Linus teve a ideia e a divulgou na Usenet, um sistema de
comunicação instantânea remota que foi precursor da internet. No fim de
12
Figura 2: Linus Torvalds
Debian Básico - Desktop Paraná
1991 disponibilizou na rede a primeira versão do kernel criado por ele. Linus queria que todos os
programadores que quisessem se envolver no projeto, auxiliassem-no a melhorar sua criação. Essa mesma
comunidade que o ajudou a fazer com que o kernel crescesse, resolveu homenageá-lo dando o nome ao
kernel de Linux, que é a contração de Linus (idealizador) e Unix (sistema em que o Linux foi baseado).
Mas o Linux ainda era apenas um kernel, e precisava de todo restante dos programas para funcionar
como um sistema operacional completo. Por coincidência, faltava exatamente o que fora produzido no
projeto GNU. Mas a junção de tudo não era algo fácil. Para utilizar o Linux, o próprio usuário tinha que
encontrar os outros programas do projeto GNU, compilá-los e configurá-los; talvez por isso, o Linux tenha
começado a ter fama de sistema operacional para técnicos.
O ENCONTRO DO GNU COM O PINGUIM
O Linux atingiu um nível de desenvolvimento que
nenhum kernel criado pela Free Software Foundation havia
alcançado, além de suportar todas as peças do sistema
operacional GNU. Foi aí que, numa dedução óbvia, pensou-se em unir os dois, GNU e Linux. Um
completaria o outro, e assim, surgiu um sistema operacional forte, completo e o melhor, com todo seu
código aberto!
Atualmente, o sistema operacional GNU com o kernel Linux é conhecido como GNU/Linux, que é
como o projeto solicita aos utilizadores que se refiram ao sistema completo, embora a maioria das pessoas
se refiram ao sistema apenas como Linux, por uma questão de facilidade.
DEBIAN
Qual é a diferença entre um buffet e um prato à la
carte? No primeiro, você poderá escolher, dentro de todas as
opções oferecidas pelo restaurante, o que mais lhe agrada.
No segundo, você diz o nome do prato e este vem pronto com
os ingredientes e proporções que o restaurante define. Os
sistemas operacionais proprietários e livres funcionam
analogamente aos buffets e pratos prontos. Sistemas
proprietários vêm prontos, permitindo que você configure
somente aquilo que tem permissão e que insira programas
feitos para eles. Já os livres permitem que, dentre todos os
softwares do projeto GNU ou qualquer outro projeto, você
escolha quais quer ter e como eles devem interagir. O
GNU/Linux é, então, o restaurante que fornece uma gama
grandíssima de opções para que você escolha qual deseja
usar e como eles devem trabalhar juntos. Qualquer pessoa
pode criar seu próprio “prato”. E esses “pratos” é que são as
distribuições. O Debian é uma distribuição GNU/Linux, já
que ele pega o que deseja do projeto GNU, encaixa ao kernel
13
Figura 4: Algumas distribuições
Figura 3: O casamento: GNU e Linux
Debian Básico - Desktop Paraná
Linux, insere outros softwares criados por ele ou terceiros (alguns programas até proprietários, como o java)
e os deixa prontos para serem utilizados. Outros exemplos de distribuição são Ubuntu, SuSE, Mandriva, etc.
Veja na figura 4 logos das principais.
O Debian nasceu em 1993, mais precisamente no dia 16 de agosto daquele ano. Seu criador foi Ian
Murdock. A ideia de Murdock era criar um sistema operacional que fosse livre, consoante à filosofia da
comunidade criada por Stallman. No começo Ian conseguiu a ajuda de alguns hackers e da própria Free
Software Fundation. Eles tinham como preocupação compilar os vários pacotes do GNU/LINUX, mas
seguindo um método que tornava o controle do sistema organizado. Cada pacote (conjunto de arquivos que
ganham um rótulo. Será visto na página 56) tinha um mantenedor que era responsável por resolver
problemas de dependências, instabilidade, novas versões, ou seja, tudo que envolvesse estes pacotes.
Além disso, ferramentas permitiam que a instalação fosse facilitada, sendo criado até um repositório, que é
um servidor de pacotes acessível através de um simples comando. Padrões de criação de pacotes,
documentação de tudo, fases de maturação, tudo isso e mais várias outras coisas fizeram com que o
Debian crescesse e se tornasse uma das distribuições mais completas, maduras, robustas e organizada de
todas. Hoje a empresa conta com uma constituição, contrato social e padrão para organização de pacotes.
Qualquer um pode contribuir com o projeto, só que seus pacotes devem seguir as regras da comunidade.
Murdock, antes de se envolver com o projeto do Debian, trabalhou no filme Toy Story. Como ficou
emocionalmente envolvido com os personagens, resolveu dar o nome de um personagem do desenho a
cada nova release do Debian. Veja alguns deles:
 Debian 1.1 Buzz (17 de junho de 1996)
 Debian 1.2 Rex (12 de dezembro de 1996)
 Debian 1.3 Boo (05 de junho de 1997)
 Debian 2.0 Ham (24 de julho de 1998)
 Debian 2.1 Slink (09 de março de 1999)
 Debian 2.2 Potato (15 de agosto de 2000)
 Debian 3.0 Woody (19 de julho de 2002)
 Debian 3.1 Sarge (6 de junho de 2005)
 Debian 4.0 Etch VERSÃO ESTÁVEL
 Debian Lenny VERSÃO DE TESTE
 Debian Sid VERSÃO INSTÁVEL PARA SEMPRE
ebian vem da contração do nome de Ian Murdock com o da sua mulher, Debra.
DEBra e IAN MurdockD
14
Debian Básico - Desktop Paraná
DISCOS E PARTIÇÕES DE DISCO
Antes de começarmos a estudar os comandos para administração do Debian, precisaremos ver
alguns conceitos de informática necessários no decorrer deste curso. Iremos abordar esses conceitos
primeiramente de uma forma genérica, depois iremos analisá-los sob a ótica Debian.
O QUE SÃO PARTIÇÕES?
Alguns dispositivos de armazenamento permitem-nos criar divisões lógicas de seu espaço total. Ao
criar partições, aos olhos do sistema operacional, cada uma delas é como se fosse um dispositivo de
armazenamento diferente. Essa diferenciação permite que: (a) tenhamos mais segurança dos dados
armazenados em situações críticas; (b) mais de um tipo de sistema operacional no mesmo dispositivo físico;
(c) uma otimização na utilização do espaço disponível. Existem mais razões, mas essas são as principais.
(a) Segurança da integridade de dados
Ao criar mais de uma partição, poderemos definir uma natureza para cada uma delas. Vejamos uma
situação hipotética, a qual sugerimos que adote (inclusive na instalação, no final do curso, iremos utilizar
essa configuração):
Nome Natureza
/boot Partição destinada aos dados de inicialização do sistema. Mesmo existindo uma partição com
este fim, ainda será necessário alguns arquivos de inicialização dentro do diretório barra (/).
/ Partição onde ficam os dados essenciais e não essenciais ao funcionamento do sistema básico.
Extremamente necessária para se ter suporte a todos os recursos do computador.
/home Partição destinada apenas ao armazenamento de informações e documentos pessoais de cada
usuário.
Swap É a área de troca do sistema operacional. Sempre que a utilização real da memória principal
atingir 60%, os dados armazenados em cache por mais tempo começam a ser realocados para a
swap. Desta forma, os dados continuam alocados em cache para serem utilizados quando
requisitados e libera-se a memória principal para novos processos ou processos ativos que
necessitem do espaço em memória de imediato.
Essa divisão básica e muito utilizada permite que tenhamos mais segurança durante a manipulação
dos dados. O computador, em seu estado normal, inicia o sistema operacional a partir de uma imagem do
sistema básico armazenada no /boot. Depois ele carrega outros aplicativos que são importantes para a
exploração máxima do potencial do computador. Estes aplicativos ficam no /. Após a inicialização do
sistema básico, o computador carrega as informações do usuário que iniciar a sessão, armazenadas dentro
do /home. Caso uma dessas partições acabe sendo danificada, as outras manterão-se intactas. Se o /boot
for danificado é possível iniciar o computador através de um disco de inicialização e restaurar a partição que
falta, voltando, assim, a ter acesso a todos os programas, configurações e arquivos pessoais dos usuários.
Caso o / esteja com problema, é possível que você inicie o computador no modo de segurança e tente
consertar o que está de errado. Caso pense-se em apenas reinstalar todo o computador, mas pretenda-se
manter os arquivos pessoais dos usuários, basta reinstalar o sistema operacional mantendo o /home. Mais
organização e segurança, com certeza.
15
Debian Básico - Desktop Paraná
(b) Mais de um sistema operacional
A maioria dos sistemas operacionais possuem sistemas de arquivos diferentes entre eles (este
assunto será abordado na página 20). Não é possível se ter um dispositivo com mais de um sistema de
arquivos. Criando partições, temos, virtualmente, vários dispositivos diferentes. Cada um deles pode ter um
sistema operacional. Isso nos permite ter instalado, por exemplo, num mesmo disco rígido, o Windows e o
Debian. Para decidir qual será carregado usamos os chamados boot-loaders. O mais conhecido é o GRUB
do projeto GNU. Ao instalar o Debian, o GRUB é instalado por padrão (se você quiser poderá optar por não
o instalar). Você deve conhecer parte dele. Lembra da tela azul que aparece após o computador ter sido
ligado que todos os sistemas operacionais aparecem? Esse é o safado.
(c) Otimização da utilização do espaço disponível
Cada sistema de arquivos possui um padrão de unidade mínima de armazenamento, chamada bloco.
Se você enviar a um bloco alguma arquivo com tamanho inferior a ele, o espaço vazio será perdido. Como
existem arquivos de sistema que possuem um desempenho melhor com arquivos grandes e outros com
tamanhos pequenos, é interessante definir sistemas de arquivos diferentes para partições diferentes, de
forma que eles explorem melhor o potencial do hardware (velocidade e real utilização do disco rígido).
PARTIÇÃO PRIMÁRIA, ESTENDIDA E LÓGICA
As partições primárias e lógicas têm funções iguais: criar divisões em um dispositivo de
armazenamento para que o sistema operacional pense se tratar de mais de um dispositivo físico. A partição
estendida já tem um papel diferente. Ela define onde a partição lógica inicia. Para entender isso é
necessário que saibamos como é a estruturada a MBR.
A MBR (Master Boot Record) é um local situado no início de um disco rígido que aloca a tabela de
partições e os boot-loaders. Seu tamanho é de 512 bytes. Veja na figura 5 como esses bytes são
distribuídos.
Os 64 bytes referentes a tabela de partições são divididos em quatro partes, tendo 16 bytes cada
uma. Dentro desse espaço de 16 bytes é onde encontramos a diferença entre os tipos de partições. Ele
pode conter informações a respeito de uma partição ou então o endereço do espaço que contém as
informações da próxima partição lógica.
16
Figura 5: MBR - Master Boot Record
Debian Básico - Desktop Paraná
Dentro da MBR Informações que definem uma partição Primária
Dentro da MBR Referência para a primeira partição lógica Estendida
Fora da MBR Informações a respeito de uma partição no primeiro espaço de 16 bytes;
referência para a próxima lógica, se existir, nos outros 16 bytes; e 32 bytes
finais sem nada (espaço perdido mesmo)
Lógica
Mas o que são essas informações que definem uma partição? São os dados que definem exatamente
onde começa e onde termina uma partição. Esses dados são mostrados na tabela abaixo:
A figura 6 mostra o que cada 16 bytes dentro da MBR armazena. Quando temos uma partição
estendida, esses 16 bytes só terão o endereço do espaço que contém a primeira partição lógica. Cada
espaço fora da MBR que tenha informações sobre uma partição lógica também terá 64 bytes, só que será
organizada de uma forma diferente. Os primeiros 16 bytes serão reservados para definir a partição, como
mostrado na figura 6. Os outros 16 bytes indicam qual é o endereço da nova partição lógica. Os outros 32
bytes não armazenam nada, só existindo para que assuma o mesmo padrão da MBR. É como se
tivéssemos uma tabela de partições da MBR de 64 bytes para cada partição lógica.
Propriedades importantes
1. As partições primárias só podem existir dentro da MBR, por isso, o número máximo desta
partição que podemos ter em um disco rígido é quatro.
2. A partição estendida só serve para criar um vínculo entre a MBR e a primeira partição lógica,
por isso não enxergamos ela.
3. Cada nova partição lógica deve ser referenciada por uma lógica anterior, sendo que a
primeira delas deve ser referenciada pela partição estendida dentro da MBR.
4. A última partição lógica encerrará com uma assinatura, para que o sistema saiba que
acabaram as partições.
5. Não será possível, após criar uma partição estendida, criar uma partição primária.
6. O máximo de partições que se pode criar em um disco rígido é dezesseis, sendo que
somente quinze são utilizáveis, já que uma será a estendida.
17
Figura 6: Informações que definem uma partição
Debian Básico - Desktop Paraná
Exemplos de divisões de um disco rígido
 Com 4 partições primárias:
 Com 3 partições primárias, uma estendida apontado para a primeira lógica de 1:
 Com 1 partição primária, 1 estendida apontando para a primeira lógica de 3:
18
Figura 8: Três primárias mais uma lógica
Figura 7: Quatro partições primárias
Figura 9: Uma primária mais três lógicas
Debian Básico - Desktop Paraná
Esse sistema de máximo de partições primárias, partição estendida e encadeamento de lógicas existe
pois, antigamente, os sistemas operacionais só trabalhavam com partições primárias. Quatro partições eram
suficientes, já que os discos tinham os incríveis tamanhos de 30MB, 540MB, 730MB, 850MB, além dos mais
sofisticados e de alta capacidade de armazenamento, de 1.28GB! Hoje em dia, com discos de 80GB,
120GB, 160GB, 500GB e outras capacidades maiores, mais partições são necessárias. Para que pudessem
ser criadas mais de quatro partições havendo compatibilidade com sistemas antigos, foi necessário criar um
sistema em que as informações de partições ficassem fora da MBR, já que somente os 64 bytes não eram
suficientes para armazenar tantas informações. O método explicado anteriormente foi a solução encontrada.
19
Debian Básico - Desktop Paraná
SISTEMAS DE ARQUIVOS
Sistemas de arquivos, ou filesystem, é o que chamamos de formatação lógica de um disco. A primeira
formatação é a física, feita pelo fabricante do disco. Ela não será abordada neste curso. A segunda
formatação é a lógica, feita pelo sistema operacional, sendo esse o motivo de cada sistema operacional ter
suporte a sistemas de arquivos diferentes. Essa formatação tem função de preparar o disco para ser
utilizado pelo sistema. Também possui um conjunto de regras que define como os dados serão
manipulados, ou seja, armazenados e recuperados. Alguns tipos de sistemas de arquivos possuem recursos
a mais do que outros, como por exemplo journaling, tail, etc, além de blocos de tamanhos diferentes.
BLOCOS
O bloco é a menor unidade de armazenamento em um disco. Imagine um banco da Suíça. Você é
milionário e possui uma seção só para você, e dentro dessa seção existem várias maletas. A política do
banco não permite que você entre em sua seção por motivo de segurança. Sempre que você queira colocar
ou retirar algo do banco, você precisará solicitar uma maleta específica que esteja dentro da sua seção.
Você tem 50 anéis de ouro na maleta A e apenas um de prata na B. Se você quiser retirar o anel de prata,
terá que solicitar a maleta B inteira. Se você quiser apenas um de ouro, terá que solicitar a maleta A inteira
do mesmo jeito. Essa maleta é como o bloco dos sistemas de arquivos. O tamanho real de um arquivo não
importa, e sim a soma do total de bytes dos blocos que ele usa.
E a diferença entre bloco e setor é que este é criado pela formatação física e é muito pequeno. Serve
como referência para que a formatação lógica possa definir quantos setores representarão a menor unidade
do sistema de arquivos, ou seja, quantos setores representarão um bloco de dados.
or padrão, os sistemas de arquivos não misturam dados de arquivos diferentes dentro
do mesmo bloco. Se temos um arquivo A que precisa de 2 blocos e meio, a metade do
terceiro não será usado para armazenamento de um arquivo B. Os dados são armazenados
no quarto bloco. Isso por padrão, mas existem alguns recursos que possuem blocos
especiais que armazenam “caldas” de arquivos (daí tail). Os dados que completam blocos
cheios são gravados sequencialmente e os dados finais de todos os arquivos, os restos, são
armazenados num bloco especial. Este recurso chama-se tail packing.
P
JOURNALING
É um recurso que registra tudo que o sistema de arquivos faz, permitindo que em caso de queda de
energia ou travamento não haja corrompimentos. Quando abrimos um arquivo ou programa, ele é carregado
na memória. Tudo que fazemos é alterado na memória e, somente após um tempo determinado pelo
aplicativo, sistema operacional ou usuário (através das opções de salvar, sincronizar, etc), será feita a
alteração dos dados no disco. Essa alteração não é gravada sobre os dados anteriores, mas sim em um
espaço novo no disco. O espaço que continha os dados antigos é considerado como disponível, mas
continuará com os dados antigos até que o sistema realmente precise dele. Se durante o processo de
sincronia de dados entre memória RAM e disco – momento esse em que um novo espaço no disco é
20
Debian Básico - Desktop Paraná
referenciado como local de armazenamento do arquivo – houver uma queda de energia ou travamento, o
sistema de arquivos perderá a ligação com o espaço antigo e o espaço novo terá somente parte dos dados
atualizados. O arquivo estará corrompido. Com o sistema de journaling, antes de realizar qualquer tarefa, o
sistema de arquivos a registrará. No caso de haver um problema, como no exemplo anterior, o sistema de
arquivos saberá o endereço do espaço antigo e conseguirá recuperá-lo. Não teremos o espaço atualizado,
já que esse nunca foi passado completamente da memória RAM para o disco, mas teremos o arquivo no
estado anterior, que já é alguma coisa (as vezes muita coisa).
PRINCIPAIS DIFERENÇAS ENTRE OS PRINCIPAIS
Existe uma série de testes que foram feitos para averiguar as principais características de cada
sistema de arquivos. Os principais sistemas de arquivos no linux são Ext3, ReiserFS e XFS. Após analisar
vários relatórios podemos concluir o seguinte.
Capacidade de armazenamento
A porcentagem definida pela razão entre blocos utilizáveis e total de blocos mostra que, na maioria
dos relatórios o ReiserFS e XFS são mais eficazes que o Ext3. Isso quer dizer que o Ext3 possui muitos
blocos perdidos para controle de si mesmo, enquanto o sistema dos outros sistemas de arquivos é mais
inteligente.
Criação, montagem e desmontagem de sistemas de arquivos
Para criação de sistemas de arquivos, o pior sistema de arquivos é o Ext3. Em um teste realizado
pelo site www.debian-administration.org, para se criar o Ext3 em um HD de 20GB, levou-se 14,7 segundos,
enquanto os outros dois levaram menos de 2 segundos. Mas o ReiserFS foi o pio no quesito montagem de
dispositivos. E foi feio, já que levou de 5 a 15 vezes (cerca de 2,3 segundos) mais tempo do que os outros
dois para executar a tarefa (menos de 0,5 segundo) e cerca de 1 a 3 vezes (0,4 segundo) mais tempo para
desmontar que os outros. O XFS foi quase que unânime, porém durante a desmontagem utiliza o dobro de
processamento que os outros sistemas de arquivos. O computador utilizado para os testes tinha um
processador Intel Celeron 533 com 512MB de RAM. Para criação e montagem, todos exigem quase a
mesma coisa do processador, cerca de 60% de sua capacidade para criar e cerca de 40% para montar.
Porém, para desmontar, o XFS mostrou-se muito menos “econômico” juntamente com o Ext3, já que
exigiram o dobro do processador (cerca de 40%) que o ReiserFS exigiu (cerca de 20%).
Operações com arquivos grandes
O ReiserFS é o mais lento para criar uma cópia de um arquivo grande de outra partição ou da mesma
partição. O Ext3 ficou em segundo e o XFS é o que criou as cópias mais rapidamente, mostrando-se ser o
melhor sistema de arquivos para ser utilizado com este tipo de arquivos. Na remoção de um arquivo grande,
o XFS deu uma lição nos outros sistemas de arquivos, sendo 100 vezes mais rápido que os outros dois,
sendo o Ext3 o mais lento na realização desta atividade. Quanto a utilização do processador, o ReiserFS faz
feio. Nas cópias tudo é parecido, mas na remoção, ele exige 50% da capacidade do processador enquanto
os outros dois pedem precisam de somente 10% para realizar a mesma tarefa.
21
Debian Básico - Desktop Paraná
Operações com arquivos pequenos
Os testes mostraram, em sua maioria, que em relação a arquivos pequenos a utilização do
processador e o tempo de execução de tarefas (cópias e remoções) todos os sistemas de arquivos são
parecidos. Apesar disso, o ReiserFS se mostrou um pouco pior que os outros dois. A única vez que ganhou
dos outros foi na velocidade para remoção de arquivos, perdendo ou empatando em todos outros quesitos.
22
Debian Básico - Desktop Paraná
ABSTRAÇÃO DE HARDWARE
Sempre que iniciamos o computador, o sistema operacional faz uma varredura procurando todos os
dispositivos de hardware disponíveis para utilização. Quando encontrados, cada um deles recebe um nome
e é criado dentro do diretório /dev um arquivo especial chamado de nó de dispositivo, que nada mais é
que um espaço na memória RAM que será o local ao qual o hardware enviará e receberá dados do sistema
e vice-versa. Sempre que um aplicativo precisar acessar alguma informação do hardware, ele só precisará
abrir o arquivo especial referente.
NÓS DE DISPOSITIVOS
Cada nó precisará de um driver para funcionar. No Windows, sempre que você adiciona um
dispositivo, é necessário que você instale o driver que tenha as instruções de funcionamento dele. Após
instalado, aparece no gerenciador de dispositivos um ícone pelo qual o administrador consegue fazer as
configurações necessárias. Os aplicativos que precisam dele criam referências apontando para este
“representante”. No Debian, quase sempre os dispositivos de hardware encontrados já têm suporte do
sistema e funcionam sem necessidade de configuração. Quando isto não acontecer, o administrador terá
que inserir um módulo que dará suporte ao dispositivo (o módulo ensina o sistema a utilizar aquele
dispositivo). Se tudo estiver certo, o dispositivo aparecerá dentro do diretório /dev.
O comando abaixo irá mostrar todos os nós de dispositivos que o sistema encontrou.
$ls -l /dev
brw-rw---- 1 root disk 3, 1 Nov 21 13:27 hda1
Existem quatro tipos de nós de dispositivos. Sempre que executamos o comando ls mostrado
anteriormente (comando este que será abordado na página 47), podemos verificar várias informações a
respeito dos arquivos e diretórios. O primeiro set de configuração (a primeira letra) é responsável por
informar qual é o tipo de arquivo listado. Veja quais são os arquivos especiais abaixo:
Nós de dispositivos de bloco (b)
São os dispositivos de hardware que trocam informações em blocos, ou seja, vários pacotes de
dados são trafegados simultaneamente entre o dispositivo e o sistema. Além disso, estes dispositivos
podem ser formatados em blocos, o que permite que o sistema consiga acessar exatamente a informação
desejada. Se tivéssemos apenas um bloco para armazenamento no HD inteiro, por exemplo, toda vez que
precisássemos de alguma informação de dentro dele, todo o bloco teria que ser copiado para a memória.
Imagine você tentando abrir um documento de 100 bytes armazenado em um HD de 160 gigabytes? Se
houvesse apenas um bloco de 160GB, todo ele deveria ir para a memória para você acessar o seu
documento. Com os blocos, o sistema pode solicitar a cópia apenas daqueles blocos que são necessários,
ou seja, você iria praticamente direto aos dados que deseja e só carregaria na memória o que fosse
necessário. Mais rápido e melhor para a memória. Normalmente estes blocos têm 4 kB, podendo variar de
acordo com a formatação do disco (varia por causa do sistema de arquivos escolhido e/ou configurações do
administrador).
23
Debian Básico - Desktop Paraná
Nós de dispositivos de caractere (c)
São os dispositivos de hardware que trocam informações em série, ou seja, apenas um pacote por
vez é trafegado entre o dispositivo e o sistema. Além disso, eles possuem apenas um bloco de dados que
muda dinamicamente. Toda alteração é enviada ao sistema para que ele possa interpretar a mudança e
realizar as atividades necessárias. Por exemplo, o mouse ao ser movido irá enviar os dados das variações
percebidas pelos seus dispositivos de captação de movimento para o arquivo /dev/psaux. O envio é feito
serialmente, ou seja, um bloco por vez.
Nós de dispositivos de soquete (s)
São um pouco diferentes dos outros nós, já que ele representa um dispositivo físico, mas não
direciona as informações que chagam a ele diretamente para o representado, mas sim para um processo
que gerencia os dados do dispositivo. Os dispositivos de soquete são uma versão dos arquivos FIFO
melhorados (tantos que os FIFO já estão em desuso). Eles funcionam como os pipes do shell (a barra
vertical, “|”), que envia o resultado de um comando para outro. Os arquivos de soquete possuem sempre 0
byte, isso porque eles só fazem ligações entre aplicativos. Quando o administrador configura uma
impressora com o protocolo de soquete, todos os trabalhos enviados à impressora são, na verdade,
enviadas para o soquete dela (o arquivo especial). Todos os dados que entram são, então, enviados para o
gerenciador de trabalhos da impressora, que é um programa que roda na própria impressora ou no servidor
de impressão. Ou seja, é o ponto de ligação entre processos de aplicativos. Todos os dados que são
enviados para este arquivo seguem o mesmo padrão do antigo FIFO (First In, First Out – Primeiro que
Entra, Primeiro que Sai). Os primeiros dados que chegam ao soquete são os primeiros que são enviados
para o gerenciador de trabalhos da impressora. Funciona, então, como uma primeira fila de impressão.
Nós de dispositivos de pipe (p)
Quase igual aos dispositivos de soquete, com a diferença que realizam conexões entre aplicações
que não representam dispositivos. Informações são enviadas de aplicações para o arquivo pipe, que as
encaminha para entrada de outro aplicação.
Mesmo que não tenhamos visto nenhum comando, execute exatamente os comandos abaixo para
que possa ter uma visualização desse tipo de arquivo.
1.Abra a console através do caminho Aplicações/Acessórios/Terminal;
2.Crie um arquivo pipe com o comando abaixo:
mkfifo Arquivo-Pipe <Enter>
3.Agora iremos enviar dados para o arquivo Pipe:
echo “Eu quero aparecer em outra aba” > Arquivo-Pipe
4.O comando acima enviou a informação “Eu quero aparecer em outra aba” para o Arquivo-Pipe que
a armazenou. Esta frase fica em “stand-by” até que outro aplicativo permitido requeira as informações. Abra
um novo terminal clicando, no menu do terminal, em Arquivo/Abrir Aba;
5.Nessa nova aba, veja o conteúdo do arquivo “Arquivo-Pipe” utilizando o comando abaixo:
cat Arquivo-Pipe
24
Debian Básico - Desktop Paraná
6.A mensagem “Eu quero aparecer em outra aba” aparecerá. Se você voltar para a primeira aba,
perceberá que o comando que estava em primeiro plano foi finalizado, já que ele enviou a informação que
guardava para um outro comando.
Os arquivos pipe têm a mesma função do redirecionador “|”, também conhecido pelo nome pipe.
Veremos vários redirecionadores na página 40.
Pseudo dispositivos
Estes nós aparentam ser nós de dispositivos, mas não necessariamente representam um dispositivo
físico, real. Eles são interessantes para algumas tarefas do sistema operacional. Veja quais são os pseudo
dispositivos:
seudo dispositivo é um grupo que abrange nós de dispositivos que compartilham uma
mesma característica: serem falsos. Existem vários deles.P
/dev/null (dispositivo de caractere)
Este arquivo vai receber todos os dados enviados a ele, porém os descartará sem nenhuma saída. É
como se fosse um buraco negro em que tudo que cai ali dentro se perde para sempre. Se você configurar
uma impressora como local e definir que o nó que o referencia é o null, todos os trabalhos de impressão não
apresentarão erro, já que o arquivo o aceitará, porém não serão impressos, mas sim descartados. Execute
o comando abaixo para entender melhor:
fcamargo@amontoado:~$ ls -l
total 389200
drwx------ 5 fcamargo celepar 41 Dez 23 15:53 Acervo
drwx------ 3 fcamargo celepar 16 Dez 24 09:25 Backup
drwx------ 7 fcamargo celepar 4096 Dez 23 15:51 Desktop
fcamargo@amontoado:~$
fcamargo@amontoado:~$ ls -l > /dev/null
fcamargo@amontoado:~$
No exemplo acima, o primeiro comando resulta na listagem dos subdiretórios e arquivos do diretório
corrente. No segundo comando, a saída (a listagem) foi redirecionada da tela para o null, que a recebeu
tranquilamente sem apresentar erros, mas depois a ignorou e mandou-a para o “além”. Num futuro, quando
você estiver criando um script e usar um comando que normalmente traz um resultado na tela, mas você
não desejar que ela apareça, você poderá direcionar a saída para o null sem interferir na tarefa por ele
executado.
/dev/random (dispositivo de caractere)
Este arquivo, quando solicitado, envia um fluxo de caracteres aleatórios para a saída solicitada.
Utilidades aparecem a partir do momento que você se familiarizar com outras ferramentas do Debian.
/dev/zero (dispositivo de caractere)
Igual ao random, já que produz um fluxo de caracteres, mas todos os caracteres são o zero. Ideal
para “zerar” trechos conhecidos do hd, como por exemplo a MBR. Você verá como fazer isso em conjunto
do comando dd no curso de Debian Avançado.
25
Debian Básico - Desktop Paraná
NOMEAÇÃO DE DISPOSITIVOS
Os arquivos especiais não recebem um nome qualquer de acordo com a criatividade e humor do
sistema operacional. Existe um padrão, e agora veremos como ele nomeia alguns dos principais
dispositivos.
Na maioria das vezes teremos um prefixo que identificará qual é a interface utilizada pelo dispositivo
para se comunicar com a unidade central de processamento.
hda Dispositivo conectado ao “IDE 0” mestre.
hdb Dispositivo conectado ao “IDE 0” escravo.
hdc Dispositivo conectado ao “IDE 1” mestre.
hdd Dispositivo conectado ao “IDE 1” escravo.
hda1 Primeira partição do dispositivo conectado ao “IDE 0” mestre.
sda Dispositivo conectado ao primeiro slot SATA ou a uma porta USB.
sda5 Quinta partição do dispositivo conectado ao primeiro slot SATA.
fd0 Drive de disquete.
ttyS0 Porta serial 0.
psaux Mouse.
video0 Nó da webcam.
wlan0 Primeira placa de rede wireless (sem fio).
eth1 Segunda placa de rede wired (com fio).
Vamos ver um exemplo prático de nomeação dos discos rígidos IDE. Começaremos então com a
seguinte configuração:
1. Disco rígido conectado à IDE0 como mestre;
2. Drive DVD conectado à IDE1 como mestre;
3. Gravador de DVD conectado à IDE1 como escravo.
A nomeação é fácil e invariável. Veja como é feita:
➔ Prefixo de acordo com a forma de conexão +
➔ Letra de a a e referente ao slot conectado +
➔ Números de partições.
As letras seguem a seguinte regra:
IDE 0 (primeira) mestre (master) LETRA a
IDE 0 (primeira) mestre (master) LETRA b
IDE 1 (segunda) escravo (slave) LETRA c
IDE 1 (segunda) escravo (slave) LETRA d
Agora ficou fácil. Voltando ao exemplo anterior, vejamos como cada dispositivo seria nomeado:
1. Disco rígido conectado à IDE0 como mestre = hda;
2. Drive DVD conectado à IDE1 como mestre = hdc;
3. Gravador de DVD conectado à IDE1 como escravo = hdd.
Se existisse um arquivo em determinada partição do disco rígido hda, para que possamos trabalhar
26
Debian Básico - Desktop Paraná
com ele teríamos que informar ao sistema exatamente onde ele está. Se ele estiver na segunda partição
lógica do disco, então o endereço será hda6. Mas por quê?
● As partições primárias são nomeadas de 1 a 4, de acordo com a ordem;
● Se mais de 4 partições forem necessárias, faz-se necessária a criação de partições lógicas
que sempre começam a ser nomeadas a partir do número 5 e vão até o número 16;
● Para que exista uma partição lógica, é necessário que exista uma partição estendida
referenciando a primeira das lógicas. Esta partição assumirá um número assim como as primárias
(de 1 a 4);
● Se a partição estendida assumir um número de 1 a 3, as partições restantes até 4 serão
inutilizadas.
Se tivermos uma partição primária e uma partição lógica:
Partição primária 1
Partição estendida (mesmo que não apareça) 2
Partição lógica 5
Se tivermos quatro partições primárias, não haverá espaço para a estendida, o que acarretará em
impossibilidade de utilização das partições lógicas.
Partição primária 1
Partição primária 2
Partição primária 3
Partição primária 4
27
Debian Básico - Desktop Paraná
ESTRUTURA DE DIRETÓRIOS
É essencial que, antes de se iniciar o estudo dos comandos e interação com o interpretador de
comandos, o estudante tenha pleno domínio sobre a estrutura de diretórios utilizada pelo Debian.
Sempre teremos apenas dois gêneros de dados em nosso computador: arquivos ou diretórios. Os
arquivos podem ser de várias espécies: arquivo de texto, binários, links (bastante conhecido como atalho),
etc. Já os diretórios só podem ser ou diretórios ou links para outros diretórios. Os diretórios existem para
criar uma divisão lógica dentro do disco de armazenamento, tornando a alocação dos arquivos muito melhor
organizada.
É preciso que tenhamos um ponto de origem a partir do qual uma árvore de subdiretórios repouse.
Este ponto será a base de todo o sistema. Abstratamente, todos os arquivos e diretórios estarão dentro
dele. Podemos comparar o / (barra) ao “Meu computador” do Windows. O “Meu computador” representará o
sistema inteiro e todos os locais aos quais o usuário tem acesso: disquetes (A://), partições de discos rígidos
e drives de CD/DVD (C://, D://, E:// e assim por diante). Já no Debian, temos o / (barra – diretório raiz) e
dentro dele temos acesso a disquetes (/media/floppy0), partições de discos rígidos (/boot, /home e os outros
diretórios do /) e qualquer local que o usuário tenha acesso a partir do seu sistema. Na figura abaixo é
possível visualizar o funcionamento da estrutura de diretórios:
A estrutura começa com o / e depois vai indo níveis abaixo. Os diretórios etc, dev, lib e media estão
um nível abaixo em relação ao / (primeiro nível) e no mesmo nível em relação a eles. Os arquivos fstab,
sudoers e o diretórios pendrive estão no mesmo nível em relação ao / (segundo nível), mas estão em
diretórios diferentes.
28
Figura 10: Estrutura de diretórios
Debian Básico - Desktop Paraná
ENDEREÇOS
A estrutura de diretórios é muito simples, como foi visto anteriormente, principalmente no modo
gráfico. Mas quando estivermos utilizando linhas de comando através de um terminal virtual (interpretador
de comandos), é necessário saber trabalhar com endereços.
Endereços Absolutos
É o caminho que deve ser seguido do diretórios raiz (o /) até o diretório ou arquivo desejado. Sempre
que se muda de nível, coloca-se uma barra para fazer a separação. Usando a figura 10 como referência,
veja alguns endereços absolutos.
Diretório corrente é aquele diretório que o usuário está no momento.
Arquivo ou diretório que se
deseja ter o endereço absoluto
Diretório corrente Endereço absoluto
Arquivo fstab /etc/ /etc/fstab
Arquivo sudoers /home/felipe /etc/sudoers
Diretório pendrive /etc/ /media/pendrive/
Diretório dev /etc/ /dev/
Diretório / /home/tiaogalinha/Desktop /
Perceba que o diretório corrente nada interfere no endereço absoluto.
Endereços Relativos
O endereço absoluto é o caminho do / até o arquivo ou diretório desejado, independente do diretório
corrente. Já o endereço relativo é o caminho do diretório corrente ao arquivo ou diretório desejado.
Arquivo ou diretório que se
deseja ter o endereço relativo
Diretório corrente Endereço relativo
Arquivo fstab /etc/ fstab
Arquivo sudoers /home/felipe ../../etc/sudoers
Diretório pendrive / media/pendrive/
Diretório dev /etc/ ../dev
Diretório / / .
É possível perceber dois fatos no quadro acima: os endereços relativos, diferente dos absolutos, não
começam com /; e quando o arquivo ou diretório não está vinculado verticalmente ao diretório corrente, é
melhor usar o endereço absoluto.
s dois pontos consecutivos (..) indicam o diretório de um nível acima enquanto o ponto
simples (.) indica diretório corrente.O
29
Debian Básico - Desktop Paraná
DIRETÓRIOS DO SISTEMA
Agora que você já sabe como funciona o mecanismo da estrutura dos diretórios, vamos ver a forma
como o Debian organiza seus arquivos. Através do comando mostrado abaixo, é possível listar os diretórios
visíveis do diretório raiz.
fcamargo@amontoado:~$ ls -l /
total 41
drwxr-xr-x 2 root root 4096 Nov 27 06:41 bin
drwxr-xr-x 5 root root 1024 Nov 18 11:44 boot
drwxr-xr-x 11 root root 3720 Dez 2 06:45 dev
drwxr-xr-x 103 root root 8192 Dez 2 08:12 etc
drwxr-xr-x 8 root root 95 Nov 25 09:01 home
drwxr-xr-x 14 root root 4096 Nov 27 06:40 lib
drwxr-xr-x 12 root root 139 Nov 21 13:39 media
drwxr-xr-x 2 root root 6 Ago 5 13:17 mnt
dr-xr-xr-x 118 root root 0 Nov 21 11:27 proc
drwxr-xr-x 17 root root 4096 Nov 26 17:01 root
drwxr-xr-x 2 root root 4096 Nov 27 06:41 sbin
drwxrwxrwt 16 root root 4096 Dez 2 08:34 tmp
drwxr-xr-x 11 root root 109 Nov 17 10:12 usr
drwxr-xr-x 14 root root 140 Nov 17 10:13 var
/boot
Possui a imagem do sistema básico do kernel e arquivos importantes para inicialização do sistema.
Esta imagem é o sistema básico que vai ser carregado na memória principal quando o computador for
inicializado.
/dev
Todos os arquivos especiais ficam dentro deste diretório. Eles não ocupam espaço no disco rígido, já
que têm a função apenas de criar uma conexão entre os aplicativos e os componentes de hardware na
memória RAM. Além disso, o arquivo binário makedev, responsável por criar os arquivos especiais também
é alocado dentro do /dev.
/etc
É o centro nervoso do Debian. Possui quase todos os arquivos de configuração de tudo. Todos os
arquivos que ali estão devem ser de texto. Deve-se evitar alocar arquivos binários dentro deste diretório.
/home
Todos as configurações pessoais dos usuários são gravadas dentro de uma pasta pessoal que ganha
o seu nome e é armazenada dentro do diretório /home. Além disso, os arquivos pessoais dos usuários
também são armazenadas dentro de seus respectivos diretórios.
30
Debian Básico - Desktop Paraná
/lib
Possui as bibliotecas necessárias para a inicialização dos serviços, módulos e aplicativos após o
carregamento do sistema básico da imagem do kernel que fica dentro do /boot.
/media
É o diretório que contém subdiretórios que servem de pontos de montagem de dispositivos. Veremos
montagem de dispositivos na página 86). Sugere-se que dentro do /media tenha-se apenas pontos de
montagem permanentes, como o drive de cd, dvd, compartilhamentos, disquete, etc.
/mnt
É um diretório destinado a montagem de dispositivos temporariamente. Caso deseje-se montar um
dispositivo permanentemente, é recomendado utilizar o /media.
/root
Diretório pessoal do superusuário. Ele não fica dentro do /home para evidenciar que o diretório é do
superusuário e para no caso do sistema estar crítico e não for possível montar as outras partições, será
possível acessar mesmo assim os arquivos pessoais do superusuário, já que ele fica dentro da mesma
partição do sistema. É como o capitão que não abandona o navio.
/sbin
Os arquivos binários essenciais para o funcionamento do sistema ficam dentro deste diretório.
Normalmente esses binários não podem ser executados pelos usuários sem privilégios de superusuário.
/bin
Comandos essenciais para o sistema que estão disponíveis para todos os usuários.
/tmp
Qualquer arquivo temporário poderá ser armazenado dentro deste diretório. Aplicativos também o
usam sem você saber. Toda vez que o computador é reiniciado o conteúdo deste diretório é apagado.
/usr
Contração de Unix ShaRe. É o diretório que possui o maior volume de dados. A ideia deste diretório é
criar um local em que as aplicações não essenciais para o sistema fiquem a disposição de todos os
usuários, mas somente com permissão de leitura. Um aplicativo alocado aqui pode ser acessado com suas
respectivas bibliotecas e arquivos de configuração, mas qualquer coisa que o usuário crie e modifique ficará
dentro da sua pasta pessoal.
31
Debian Básico - Desktop Paraná
Subdiretórios Descrição
/usr/bin Contém os aplicativos destinados aos usuários. Não são essenciais ao sistema.
/usr/sbin Contém os aplicativos do sistema que não são essenciais para o seu
funcionamento. Normalmente servem para explorar melhor o potencial do
computador.
/usr/lib Contém as bibliotecas utilizadas pelos aplicativos alocados no /usr/bin e /usr/sbin.
/usr/share Dados que sempre serão instalados, independente da arquitetura para qual o
pacote foi criado. Documentação,plugins, configurações básicas, páginas de
manuais, dicionários e imagens de ícones são alguns exemplos.
/var
Um bom sistema operacional precisa de um local em que dados variáveis possam ser criados,
modificados e excluídos dinamicamente por processos . O /var tem essa função. Vejamos alguns dos seus
principais subdiretórios:
Subdiretórios Descrição
/var/cache Alguns aplicativos precisam de um diretório para armazenar alguns dados que
utilizam sempre, tornando a reutilização desses dados mais rápida.
/var/log Existem alguns daemons (gerenciadores de serviços) que criam entradas de log em
arquivos para que o administrador possa saber o que está acontecendo no
computador. Estes registros ficam dentro deste diretório.
/var/spool Possui filas de dados para aplicativos. O CUPS envia os trabalhos de impressão
para o /var/spool/cups/tmp.
/var/tmp Semelhante ao /tmp, porém os dados de dentro dele não serão apagados após a
reinicialização do sistema. Alguns aplicativos precisam armazenar dados
temporariamente, mas exigem que para apagá-los seja enviada uma ordem para
isso.
32
Debian Básico - Desktop Paraná
EXERCÍCIOS DE FIXAÇÃO (PARTE 1)
1.A base do Debian (GNU/Linux) possui influências de qual sistema operacional?
a)Minix
b)Windows
c)Unix
d)Mac OS
2.Qual era a proposta da Free Software Foundation?
3.GNU e Linux são a mesma coisa? Se não, defina-os.
4.Qual é a diferença entre uma partição lógica e uma estendida?
5.Faça a associação das colunas:
(a) /boot (I) Arquivos e diretórios essenciais para o sistema
básico e quase todos os outros arquivos e
diretórios de aplicativos.
(b) / (II) Área dentro do disco destinada ao
armazenamento de dados da memória por
esgotamento da mesma.
(c) /home (III) Local padrão de alocamento de diretórios de
todos os usuários, exceto do root e de usuários
do sistema, com seus respectivos arquivos e
configurações pessoais.
(d) swap (IV) Imagem do sistema básico.
Resposta: a = ___ , b = ___ , c = ___ , d = ___
6.Assinale com um V as proposições verdadeiras e com um F as proposições falsas:
( ) A MBR não pode ser alterada, já que se trata de uma memória ROM;
( ) É possível se ter uma partição lógica sem uma estendida;
( ) Dentro da MBR podem ser armazenadas informações de até 16 partições;
( ) Após a criação de uma partição lógica, não é possível criar uma partição primária;
7.Qual é a menor unidade de armazenamento que temos em um disco?
8.Indique qual é o tipo de arquivo criado pelo Debian para se comunicar com o:
a)Mouse
b)Disco Rígido
c)Memória Ram
9.Escreva o nome atribuído pelo Debian a:
a)3ª partição lógica de um disco conectado à IDE 0 configurado como slave
b)1º pendrive conectado a um computador com um disco IDE
c)2º pendrive conectado a um computador com um disco SATA
d)Drive de disquete de um computador com dois discos SATA e um IDE
10. Qual é o diretório que contém os pontos de montagem, por padrão, do drive de cd e pendrive?
11. O que, em um comando, caracteriza um endereço absoluto?
12. Qual foi a intenção ao se criar o diretório /usr ?
33
Debian Básico - Desktop Paraná
INICIAÇÃO
Antes de iniciarmos a utilização efetiva do interpretador de comandos, devemos ter algumas noções
básicas bem claras. Mas ainda, antes disso, é importante que o estudante saiba onde encontrar
informações a respeito de comandos e funcionamento do sistema operacional, já que nem sempre
encontrará suas dúvidas sanadas por apostilas, manuais e cursos. Tudo isso será visto neste capítulo.
COMO OBTER AJUDA?
Internet
Alguns sites são muito bons para se procurar informações. Visite-os antes, durante e depois de
apareceram as dúvidas:
➔ Site oficial do Debian (http://www.debian.org);
➔ Guia foca linux - Básico – Intermediário – Avançado (http://focalinux.cipsga.org.br/gol.html);
➔ Vários tutoriais em inglês sobre linux (http://www.howtoforge.com/);
Fórum
Em alguns casos, a experiência de outras pessoas é o melhor caminho para se encontrar uma
solução. Esses links levam a fóruns interessantes a respeito do Debian:
➔ http://www.forumdebian.com.br
➔ http://wiki.forumdebian.com.br
➔ http://ubuntuforum-br.org
Manuais
Quase todos os comandos e arquivos de configuração possuem manuais. Para acessá-los, basta
digitar man antes deles no interpretador de comandos.
fcamargo@amontoado:~$ man interfaces (é um arquivo)
fcamargo@amontoado:~$ man ifconfig (é um comando)
Para sair dos manuais pressione a tecla <q> do teclado. Q de quit, sair em inglês.
TERMINAIS
Para poder entregar dados para que a unidade central do computador possa fazer os devidos
processamentos, é necessário que você interaja com o sistema operacional. Os terminais permitem que
essa conexão seja feita. Vejamos agora as principais formas de se fazer isso.
Terminal virtual
É o interpretador de comandos que independe de modo gráfico. Para que possa ser acessado e ser
iniciada uma sessão com um usuário válido, o usuário deve pressionar simultaneamente as teclas
<CTRL>+<ALT>+<F[1 a 6]> se estiver no modo gráfico ou então somente <ALT> + <F[1 a 6]>.
Qualquer aplicativo que precise de suporte do servidor gráfico não funcionará neste terminal. O
34
Debian Básico - Desktop Paraná
interessante dele é que se o modo gráfico travar, o administrador poderá fazer seu diagnostico e corrigir
eventuais problemas através de outro acesso ao sistema operacional.
Terminal emulado
É uma emulação do terminal virtual. Ele é inciado a partir do modo gráfico. A diferença é que no
emulado é possível alterar o perfil da tela (cores, transparência, fundo de tela, etc), mas caso o modo
gráfico trave, o terminal emulado também travará. Para acessá-lo vá em:
Aplicações/Acessórios/Terminal
Modo gráfico
Por fim, o modo gráfico é outra forma de interação. Com ele, após iniciar uma sessão, o usuário
contará com uma interface gráfica e o auxílio do mouse em suas atividades. O problema é que o modo
gráfico nem sempre disponibiliza uma forma de se acessar ou alterar alguns arquivos e locais que
administradores precisam configurar.
USUÁRIOS E GRUPOS
O Debian é um sistema multiusuário. Isso quer dizer que vários usuários podem utilizar o mesmo
sistema ao mesmo tempo. Mas aí você vem e me diz que isso é impossível, já que só existem conectores
para um mouse e um teclado. Quer dizer que se dois usuários quiserem utilizar o mesmo sistema, cada um
terá de usar uma metade do teclado e somente um botão do mouse? Calma filha. Utilizam-se terminais
virtuais. Pode-ser ter vários usuários conectados em terminais diferentes sendo utilizados um de cada vez
através do mesmo conjunto de teclado e monitor; ou então usuários sendo manipulados remotamente por
uma ou mais pessoas. Para que haja uma organização das sessões iniciadas, são criados os usuários, que
podem ser os de sistema (utilizados somente pelo sistema operacional) e os usuários normais: o joao, a
maria, etc. Cada usuário terá locais dentro do computador para armazenar arquivos pessoais e informações
referentes às suas preferências. É como se fosse o Documents and Settings do Windows. No linux, o
diretório que contém as pastas pessoais é o /home. Se eu me logo como macale, qualquer arquivo que eu
gravar em minha pasta pessoal ou Desktop, alterações no GNOME (como temas e papéis de parede),
variáveis de ambiente do interpretador de comandos (como definição de proxy, shell padrão do usuário e
path), ficam dentro da sua respectiva pasta dentro do /home/macale. Além disso, processos (programas
carregados na memória) são gerenciados através de uma série de identificações. Dentre elas, o proprietário
e grupo de cada instância do processo.
Usuários e grupos servem, então, para que seja possível um bom funcionamento das permissões,
gerenciamento de instâncias de processos e armazenamento de configurações pessoais.
Superusuário (root)
Para que o sistema fique mais seguro, os sistemas baseados no GNU/Linux possuem um usuário
administrador que é o único que tem plenos poderes sobre o sistema. Sempre que o administrador precisar
fazer alguma configuração, instalação, ou qualquer tarefa de gerenciamento do sistema, deverá estar
logado como superusuário, caso contrário esbarrá em proibições devido a falta de permissões. O nome que
é dado ao superusuário é root.
35
Debian Básico - Desktop Paraná
Usuário normal
São todos usuários que não sejam o superusuário. Eles, por padrão, só tem permissão de realizar
tarefas nos locais e processos que são proprietários. Isso faz com que um usuário não interfira no trabalho
do outro. Possuem seus arquivos e configurações alocados dentro de suas pastas pessoais, que por sua
vez ficam no endereço /home.
pasta pessoal do superusuário é a única que não fica dentro do /home. Fica dentro do
próprio diretório raiz. Seu endereço é /root.A
Grupos
Grupos são obrigatórios nos sistemas baseados no GNU/Linux. Eles é que permitem que usuários
com privilégios iguais compartilhem as mesmas permissões de uma forma mais fácil. Se existirem 1000
usuários numa rede, mas somente 10 podem acessar um diretório chamado CAIXA PRETA, deve-se criar
um grupo com tal permissão e inserir essas 10 pessoas ao grupo. As outras 990 pessoas serão barradas.
Iniciando/finalizando uma sessão
Para iniciar uma sessão com um usuário qualquer é necessário que se informe o nome do usuário e a
sua respectiva senha. Se as duas chaves estiverem certas, a pessoa terá acesso a todos os locais
permitidos ao usuário logado, e o sistema carregará todas as suas configurações feitas anteriormente. A
sessão pode ser iniciada em qualquer interface mostrada anteriormente. Vejamos como iniciar a sessão
através dos terminais virtuais.
Debian Gnu Linux 5.0 amontoado tty1
amontoado login:
A tela acima é acessível, caso o usuário esteja no modo gráfico, através do comando
<CTRL><ALT><F[1 a 6]>, ou então escolhendo a opção SINGLE MODE no grub. Será necessário inserir
primeiramente o nome do usuário e depois a senha.
Debian Gnu Linux 5.0 amontoado tty1
amontoado login: fcamargo
password: <Digite a senha Normalmente. Os asteriscos não
aparecem para aumentar a segurança>
Last login: Thu Jan 29 11:00:00 BRST 2009 on tty5
Linux amontoado 2.6.26-1-686 #1 SMP Mon Dec 15 18:15:07 UTC 2008 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribuition terms of each program are described in the
individual files in /unix/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to extent permitted by
aplicable law.
fcamargo@amontoado:~$
o iniciar um terminal emulado, a sessão será iniciada automaticamente com o usuário
que entrou no modo gráfico, sem necessidade de digitar novamente a senha.A
36
Debian Básico - Desktop Paraná
ENTENDENDO O TERMINAL
Sempre que você logar no BASH, um dos terminais mais utilizados pelos usuários Linux, uma linha
de comando fica disponível para que o usuário digite os comandos. Entenda as informações que aparecem
nessa linha:
<nome_do_usuário>@<nome_do_computador>:<diretório_corrente>[caractere_de_status]
Ex: fcamargo@amontoado:/tmp/$
O caractere cifrão ($) indica que o usuário logado não é o superusário. Isso é obvio, mas com o
passar do tempo você notará que esse caractere é mais fácil de se visualizar que o nome do usuário. Para o
usuário root, o nome do usuário e o “@” não aparecem, e o caractere de status muda para o jogo da velha.
Ex: amontoado:/etc/#
Recursos do terminal
Comandos Resultado
CTRL+C Termina a execução de um programa que esteja sendo executado em 1º plano.
CTRL+Z Pára (pausa) a execução de um programa que esteja sendo executado em 1º plano.
CTRL+L Limpa a tela e mantém o comando escrito na linha de comando.
CTRL+D Sai do sistema (mesma coisa que digitar “logout”).
CTRL+U Apaga (similar ao recurso “RECORTAR”) tudo que estiver entre o cursor do teclado
e o início da linha de comando.
CTRL+Y Insere o trecho recortado com o CTRL+U a partir de onde o cursos estiver.
TAB (Completando automaticamente)
A tecla <TAB> do teclado permite que o usuário do BASH peça para que ele complete um comando
ou um endereço automaticamente, de acordo com as possibilidades existentes. Por exemplo, se
# if <TAB> <TAB>
if ifconfig ifdown ifup
# ifc <TAB> Será automaticamente completado para
# ifconfig
A mesma coisa acontece com o os endereços.
# cd /m <TAB> <TAB>
media/ mnt/
# cd /me <TAB> Será automaticamente completado para
# cd /media/
COMANDOS PARA INFORMAÇÕES SOBRE SESSÕES
who (quem?)
Com o comando who é possível ver todos os usuários que estão conectados ao sistema (usuários
normais e superusuário, não usuários do sistema, como daemon ou games).
37
Debian Básico - Desktop Paraná
fcamargo@amontoado:~$ who
root tty2 2009-01-29 11:00
fcamargo tty7 2009-01-27 09:56 (:0)
fcamargo pts/0 2009-01-29 15:40 (:0.0)
fcamargo pts/1 2009-01-29 15:46 (10.15.15.15)
Como pode-se observar, os dados apresentados são:
[usuário_conectado] [terminal] [data e hora do início da conexão] [interface intermediária]
A interface intermediária é aquele que fica entre o sistema operacional e a interface em questão. Se o
usuário se loga no modo gráfico, este modo faz uma ponte entre o usuário e um terminal virtual. Como o
primeiro modo gráfico é representado por ( : 0 ), então na interface intermediária teremos essa
representação. Caso a conexão seja remota, o terminal utilizado sempre será pts/n (onde o “n” é o próximo
número disponível), e o intermediário será o IP ou HOSTNAME (nome) do computador remoto.
No caso de um terminal emulado, este também utilizará o formato pts/n, porém a interface
intermediária será um termo composto pela representação do modo gráfico mais “.0”.
e um usuário se logar no modo gráfico, travar a tela e um novo usuário se logar, este
novo modo gráfico ganhará a representação ( : 20 ) e se conectará ao terminal tty8.S
who am i (quem sou eu?)
Este comando mostra o nome do usuário proprietário do terminal. Se existirem 5 abas abertas em um
terminal emulado, com este comando você sabe exatamente qual é o usuário dono do terminal em que o
comando foi executado e as demais informações vistas anteriomente.
fcamargo@amontoado:~$ who am i
fcamargo pts/0 2009-01-29 15:40 (:0.0)
CORINGAS
Existem alguns caracteres que servem como os famosos coringas do baralho. Eles representam
muitos outros caracteres. Alguns coringas representam todos caracteres, outros restringem-se a grupos
específicos. Eles fazem com que uma tarefa que envolvesse vários arquivos e/ou diretórios acabe se
tornando muito mais fácil e rápida.
Casas
Cada caractere ocupa uma casa. Entende-se como caractere qualquer um dos símbolos presentes
nas tabelas de caracteres ASCII ou UTF.
[4 casas] Eita
[9 casas] Meu Saci!
[13 casas] Thunder cats!
[28 casas] O Roger come como um cavalo.
* (tudo)
Este caractere representa todos os caracteres, independente do número de casas.
*.odt Representa todos os arquivos terminados em “.odt”.
38
Debian Básico - Desktop Paraná
Ex: Como deixar de ser feio.odt – CPPC.odt
Co* Representa tudo que começa com “Co”.
Ex: Comanda.odg – Como deixar de ser feio.odt
Co*.odt Representa tudo que começa com “Co” e termina com “.odt”.
Ex: Como deixar de ser feio.odt
? (um caractere)
É quase igual ao asterisco (*), porém em vez de aceitar ilimitados caracteres no lugar do coringa, terá
um número fixo de casas. O número de casas vai ser igual ao número de interrogações que se colocar.
B*ço Representa todos os arquivos que começam com “B” e terminam em “ço”.
Ex: Bati no Robzila com um ouriço – Beiço
B??ço Representa todos os arquivos que começam com “B” e terminam em “ço”, que
possuem apenas duas casas entre os dois critérios.
Ex: Beiço [2 casas entre B e ço]
[ ] (definindo o caractere)
Esta é a forma mais precisa de coringa, pois o usuário poderá definir exatamente quais caracteres
deverão ser usados como critérios. Cada duplo colchete, independente do número de termos que contiver
dentro deles, representarão uma casa (exceto para o caso dos colchetes).
[15adB] Representa todos os caracteres que estão dentro das chaves.
[a-n] Representa os caracteres que estiverem entre “a” e “n” (somente letras minúsculas).
[a-fh] Representa os caracteres que estiverem entre “a” e “f” (somente letras minúsculas)
mais a letra “h”.
[a-zA-C] Representa todos as letras minúsculas mais as letras maiúsculas entre “A” e “C”.
{oi,oe}[14-6] Representa arquivos que tenham nas duas primeiras casas a palavra exata “oi” ou
“oe” e na terceira casa qualquer número entre o “4” e “6” mais o “1”.
s chaves servem para que os critérios sejam palavras inteiras (não caracter por
caracter) e devem substituir os colchetes, não ficar dentro deles. [HD][HD] poderá
retornará ou HH ou HD ou DH ou DD. {HD} retornará somente HD.
A
RECURSIVIDADE
Este termo deve ficar bem claro, já que frequentemente um usuário ou administrador terá que utilizá-
lo. Vocês cansarão de usar o “-R”. Veja o esquema abaixo para entender a ideia da recursividade.
Quando você ler isto pela segunda vez, a recursividade terá acabado. Se for a primeira vez,
leia o parágrafo abaixo.
Se este for o último parágrafo, apague-o e vá para o parágrafo acima, caso contrário, vá
para o próximo parágrafo.
Se este for o último parágrafo, apague-o e vá para o parágrafo acima, caso contrário, vá
para o próximo parágrafo.
Se este for o último parágrafo, apague-o e vá para o parágrafo acima, caso contrário, vá
para o próximo parágrafo.
39
Debian Básico - Desktop Paraná
A recursividade atribuída a um comando faz com que este comando seja executado sobre os arquivos
e subdiretórios do último nível, depois nos arquivos e subdiretórios de um nível acima e assim por diante,
até chegar a um diretório final que acaba com a recursividade. Você entenderá ele melhor quando
começarmos a utilizar alguns comandos.
REDIRECIONADORES
Programas são compilações de ordens bem definidas que possuem objetivos. Então dados são
recebidos, processados pelo processador sob os comandos dos programas e um resultado surge. Podemos
dividir este processo em três etapas:
1. Entrada de dados. Isto se dá através do que chamamos Entrada de um comando;
2. Processamento e geração de um resultado, que fica registrado na memória principal
aguardando uma indicação de o quê fazer com os dados;
3. Saída dos dados. Isto se dá através do que chamamos Saída de um comando.
Os comandos possuem entradas e saídas definidas, que chamamos de entrada e saída Padrão, mas
o usuário poderá a qualquer momento alterar a forma de coleta e entraga de dados de um comando. Isso é
feito através dos redirecionadores.
>
Altera a saída de um comando. Iremos usar um exemplo muito simples para que vocês possam
entendê-lo. Se dermos um echo em um bash qualquer, a mensagem digitada será mostrada dentro do bash
em que o comando rodou (o comando echo será visto na página 78). Este é o padrão, é a saída padrão do
comando. Mas podemos fazer com que, em vez de sair no bash corrente, ele saia em outro bash. Vejamos
o exemplo a seguir.
blanka@amontoado:~$ echo Bom dia estrela do planeta Terra!
Bom dia estrela do planeta Terra!
Agora iremos abrir uma nova aba utilizando as teclas de atalho <Ctrl>+<Shift>+<t>. Nesta aba,
teremos que descobrir qual é o nome da sua interface.
blanka@amontoado:~$ who am i
fcamargo pts/1 2009-03-10 15:50 (:0.0)
Agora iremos voltar para o outro bash eredirecionar a saída para o /dev/pts/1.
blanka@amontoado:~$ echo Bom dia estrela do planeta Terra! > /dev/pts/1
blanka@amontoado:~$
Desta vez não apareceu nenhum resultado. Agora vá até o terminal /dev/pts/1 e veja o resultado.
Quando um arquivo é usado como saída e usa-se este redirecionar, se o arquivo não existir será
criado automaticamente e se o arquivo existir será sobrescrito, tendo como conteúdo o resultado do
comando executado antes do “>”.
bozo@amontoado:~$ ls / > eita.txt
bozo@amontoado:~$ cat eita.txt
40
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes
Debian Básico - Guia Completo para Iniciantes

Mais conteúdo relacionado

Mais de SoftD Abreu

Detecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionaisDetecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionaisSoftD Abreu
 
Conexão remota e segurança de rede
Conexão remota e segurança de redeConexão remota e segurança de rede
Conexão remota e segurança de redeSoftD Abreu
 
A ferramenta rpm
A ferramenta rpmA ferramenta rpm
A ferramenta rpmSoftD Abreu
 
Livro do pfsense 2.0
Livro do pfsense 2.0Livro do pfsense 2.0
Livro do pfsense 2.0SoftD Abreu
 
Manual wireshark
Manual wiresharkManual wireshark
Manual wiresharkSoftD Abreu
 
Livro nmap mapeador de redes
Livro  nmap mapeador de redesLivro  nmap mapeador de redes
Livro nmap mapeador de redesSoftD Abreu
 
Um Modelo de Segurança de Redes para Ambientes Cooperativo
Um Modelo de Segurança de Redes para Ambientes CooperativoUm Modelo de Segurança de Redes para Ambientes Cooperativo
Um Modelo de Segurança de Redes para Ambientes CooperativoSoftD Abreu
 
Teste de Intrusão Em Redes corporativas
Teste de Intrusão Em Redes corporativasTeste de Intrusão Em Redes corporativas
Teste de Intrusão Em Redes corporativasSoftD Abreu
 
Hacker inside-vol.-2
Hacker inside-vol.-2Hacker inside-vol.-2
Hacker inside-vol.-2SoftD Abreu
 
Hacker inside-vol.-1
Hacker inside-vol.-1Hacker inside-vol.-1
Hacker inside-vol.-1SoftD Abreu
 
Apostila linux curso_basico
Apostila linux curso_basicoApostila linux curso_basico
Apostila linux curso_basicoSoftD Abreu
 
Apostila linux.lmpt
Apostila linux.lmptApostila linux.lmpt
Apostila linux.lmptSoftD Abreu
 
O impacto da engenharia social na segurança da informaçao
O impacto da engenharia social na segurança da informaçaoO impacto da engenharia social na segurança da informaçao
O impacto da engenharia social na segurança da informaçaoSoftD Abreu
 
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃO
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃOO IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃO
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃOSoftD Abreu
 
Linux Mint 17-Guia
Linux Mint 17-GuiaLinux Mint 17-Guia
Linux Mint 17-GuiaSoftD Abreu
 
Redes Linux comandos gerais e servidores de redes
Redes Linux comandos gerais e servidores de redesRedes Linux comandos gerais e servidores de redes
Redes Linux comandos gerais e servidores de redesSoftD Abreu
 
Linux Redes e Servidores - guia pratico
Linux  Redes e Servidores - guia pratico Linux  Redes e Servidores - guia pratico
Linux Redes e Servidores - guia pratico SoftD Abreu
 

Mais de SoftD Abreu (20)

Detecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionaisDetecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionais
 
Conexão remota e segurança de rede
Conexão remota e segurança de redeConexão remota e segurança de rede
Conexão remota e segurança de rede
 
A ferramenta rpm
A ferramenta rpmA ferramenta rpm
A ferramenta rpm
 
Livro do pfsense 2.0
Livro do pfsense 2.0Livro do pfsense 2.0
Livro do pfsense 2.0
 
Manual wireshark
Manual wiresharkManual wireshark
Manual wireshark
 
Livro nmap mapeador de redes
Livro  nmap mapeador de redesLivro  nmap mapeador de redes
Livro nmap mapeador de redes
 
Um Modelo de Segurança de Redes para Ambientes Cooperativo
Um Modelo de Segurança de Redes para Ambientes CooperativoUm Modelo de Segurança de Redes para Ambientes Cooperativo
Um Modelo de Segurança de Redes para Ambientes Cooperativo
 
Teste de Intrusão Em Redes corporativas
Teste de Intrusão Em Redes corporativasTeste de Intrusão Em Redes corporativas
Teste de Intrusão Em Redes corporativas
 
Roteadores
RoteadoresRoteadores
Roteadores
 
Hacker inside-vol.-2
Hacker inside-vol.-2Hacker inside-vol.-2
Hacker inside-vol.-2
 
Hacker inside-vol.-1
Hacker inside-vol.-1Hacker inside-vol.-1
Hacker inside-vol.-1
 
Gimp
GimpGimp
Gimp
 
Apostila linux curso_basico
Apostila linux curso_basicoApostila linux curso_basico
Apostila linux curso_basico
 
Apostila linux.lmpt
Apostila linux.lmptApostila linux.lmpt
Apostila linux.lmpt
 
O impacto da engenharia social na segurança da informaçao
O impacto da engenharia social na segurança da informaçaoO impacto da engenharia social na segurança da informaçao
O impacto da engenharia social na segurança da informaçao
 
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃO
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃOO IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃO
O IMPACTO DA ENGENHARIA SOCIAL NA SEGURANÇA DA INFORMAÇÃO
 
Guia Red Hat 9
Guia Red Hat 9Guia Red Hat 9
Guia Red Hat 9
 
Linux Mint 17-Guia
Linux Mint 17-GuiaLinux Mint 17-Guia
Linux Mint 17-Guia
 
Redes Linux comandos gerais e servidores de redes
Redes Linux comandos gerais e servidores de redesRedes Linux comandos gerais e servidores de redes
Redes Linux comandos gerais e servidores de redes
 
Linux Redes e Servidores - guia pratico
Linux  Redes e Servidores - guia pratico Linux  Redes e Servidores - guia pratico
Linux Redes e Servidores - guia pratico
 

Debian Básico - Guia Completo para Iniciantes

  • 2. Debian Básico - Desktop Paraná Direitos autorais: Essa Apostila está licenciada sob uma Licença Creative Commons Atribuição-Uso Não-Comercial- Compartilhamento pela mesma licença 2.0 Brazil. Pode ser copiada, distribuída e modificada. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.0/br/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Assembleia. 2
  • 3. Documento Debian Básico - Desktop Paraná Versão 1.0-4 Data de Revisão 09 de março de 2009 por José Manuel da Pena Rosa 10 de março de 2009 por Fábio Tobich 20 de abril de 2009 por Felipe Camargo de Pauli 07 de maio de 2009 por Felipe Camargo de Pauli 21 de maio de 2009 por Felipe Camargo de Pauli 15 de julho de 2009 por Felipe Camargo de Pauli 05 de agosto de 2009 por Felipe Camargo de Pauli 21 de agosto de 2009 por Felipe Camargo de Pauli Equipe Técnica Mantenedor: Felipe Camargo de Pauli Revisor: Fábio Tobich Colaboradores: André Lucas Falco David Alves França Coordenação do projeto: Jonsue Trapp Martins Páginas 148 páginas
  • 4.
  • 5. Debian Básico - Desktop Paraná Índice Introdução.......................................................................................................................................................9 História do GNU/LINUX................................................................................................................................10 Multics, Unix e Minix: os avós do GNU/Linux............................................................................................10 O surgimento do projeto GNU....................................................................................................................11 Nasce o Kernel Linux.................................................................................................................................12 O encontro do GNU com o Pinguim..........................................................................................................13 Debian.......................................................................................................................................................13 Discos e partições de disco.........................................................................................................................15 O que são partições?.................................................................................................................................15 Partição primária, estendida e lógica.........................................................................................................16 Sistemas de arquivos...................................................................................................................................20 Blocos........................................................................................................................................................20 Journaling..................................................................................................................................................20 Principais diferenças entre os principais....................................................................................................21 Abstração de hardware................................................................................................................................23 Nós de dispositivos....................................................................................................................................23 Nomeação de dispositivos.........................................................................................................................26 Estrutura de diretórios.................................................................................................................................28 Endereços..................................................................................................................................................29 Diretórios do Sistema................................................................................................................................30 Exercícios de fixação (parte 1)....................................................................................................................33 Iniciação........................................................................................................................................................34 Como obter ajuda?....................................................................................................................................34 Terminais...................................................................................................................................................34 Usuários e grupos......................................................................................................................................35 Entendendo o terminal...............................................................................................................................37 Comandos para informações sobre sessões.............................................................................................37 Coringas....................................................................................................................................................38 Recursividade............................................................................................................................................39 Redirecionadores.......................................................................................................................................40 2>...............................................................................................................................................................42 VIM.................................................................................................................................................................44 Criando um arquivo...................................................................................................................................44 Editando um arquivo existente...................................................................................................................44 Modos do vim............................................................................................................................................44 Comandos essenciais..................................................................................................................................46 cd...............................................................................................................................................................46 ls................................................................................................................................................................47 pwd............................................................................................................................................................48 mkdir..........................................................................................................................................................49 > (De novo este redirecionador)................................................................................................................50 cp...............................................................................................................................................................50 mv..............................................................................................................................................................51 rm..............................................................................................................................................................52 diff..............................................................................................................................................................53 file..............................................................................................................................................................54 tree............................................................................................................................................................54 O completo APT............................................................................................................................................56 Repositórios...............................................................................................................................................57 Utilizando o apt..........................................................................................................................................57 dpkg...........................................................................................................................................................61 Exercícios de fixação (parte 2)....................................................................................................................65 Comandos para visualização de conteúdo de arquivos ..........................................................................68 sort.............................................................................................................................................................68 cat..............................................................................................................................................................68 tac..............................................................................................................................................................69 head...........................................................................................................................................................69 tail..............................................................................................................................................................70 5
  • 6. Debian Básico - Desktop Paraná more..........................................................................................................................................................71 less............................................................................................................................................................71 nl................................................................................................................................................................71 Comandos para pesquisa............................................................................................................................72 find.............................................................................................................................................................72 locate.........................................................................................................................................................73 grep...........................................................................................................................................................74 Comandos diversos......................................................................................................................................75 alias...........................................................................................................................................................75 badblocks...................................................................................................................................................75 clear...........................................................................................................................................................76 date............................................................................................................................................................76 df................................................................................................................................................................77 dmesg........................................................................................................................................................78 echo...........................................................................................................................................................78 free............................................................................................................................................................78 ln................................................................................................................................................................80 su...............................................................................................................................................................82 time............................................................................................................................................................82 touch..........................................................................................................................................................83 uname........................................................................................................................................................83 uptime........................................................................................................................................................84 whatis........................................................................................................................................................84 watch.........................................................................................................................................................85 which.........................................................................................................................................................85 reboot........................................................................................................................................................85 halt.............................................................................................................................................................86 shutdown...................................................................................................................................................86 Montagem de Dispositivos (mount e umount)............................................................................................86 Exercícios de fixação (parte 3)....................................................................................................................89 Comandos para gerenciamento de rede.....................................................................................................90 Informações básicas..................................................................................................................................90 Ifconfig.......................................................................................................................................................92 /etc/network/interfaces...............................................................................................................................92 ping............................................................................................................................................................94 route..........................................................................................................................................................94 nmap..........................................................................................................................................................95 hostname...................................................................................................................................................97 Exercícios de fixação (parte 4)....................................................................................................................98 Comandos de gerenciamento de contas....................................................................................................99 Arquivos de contas de usuários e grupos..................................................................................................99 adduser....................................................................................................................................................101 userdel.....................................................................................................................................................101 addgroup..................................................................................................................................................102 groupdel...................................................................................................................................................102 passwd.....................................................................................................................................................103 id..............................................................................................................................................................103 groups......................................................................................................................................................103 getent.......................................................................................................................................................103 Comandos para gerenciamento de processos........................................................................................105 ps.............................................................................................................................................................106 top............................................................................................................................................................107 kill............................................................................................................................................................107 killall.........................................................................................................................................................108 jobs..........................................................................................................................................................108 fg..............................................................................................................................................................109 bg.............................................................................................................................................................109 Comandos para gerenciamento de permissões.......................................................................................111 Proprietários, grupos e outros usuários....................................................................................................111 Tipos de permissões................................................................................................................................111 6
  • 7. Debian Básico - Desktop Paraná Diretórios..................................................................................................................................................112 Arquivos...................................................................................................................................................113 chown.......................................................................................................................................................114 chgrp........................................................................................................................................................114 chmod......................................................................................................................................................115 umask......................................................................................................................................................116 newgrp.....................................................................................................................................................117 usermod...................................................................................................................................................119 Exercícios de fixação (parte 5)..................................................................................................................120 Instalação de impressoras.........................................................................................................................122 Abrindo o Gerenciador.............................................................................................................................122 Definindo uma impressora padrão...........................................................................................................122 Adicionar uma nova impressora..............................................................................................................123 Remover uma impressora........................................................................................................................125 SSH..............................................................................................................................................................126 Instalando e iniciando o serviço...............................................................................................................126 Conectando-se ao servidor......................................................................................................................127 Copiando com o ssh................................................................................................................................128 Anexo I (Instalação do Sistema Operacional – Desktop Paraná 2.0 - Zandor)......................................130 Primeira etapa da instalação...................................................................................................................130 Segunda Etapa da Instalação..................................................................................................................131 Anexo II (Alsa).............................................................................................................................................133 Eventuais problemas...............................................................................................................................133 Referências Bibliográficas.........................................................................................................................134 7
  • 8. Debian Básico - Desktop Paraná Índice de Figuras Figura 1: Richard M Stallman.........................................................................................................11 Figura 2: Linus Torvalds.................................................................................................................12 Figura 3: O casamento: GNU e Linux.............................................................................................13 Figura 4: Algumas distribuições......................................................................................................13 Figura 5: MBR - Master Boot Record.............................................................................................16 Figura 6: Informações que definem uma partição..........................................................................17 Figura 7: Quatro partições primárias..............................................................................................18 Figura 8: Três primárias mais uma lógica.......................................................................................18 Figura 9: Uma primária mais três lógicas.......................................................................................19 Figura 10: Estrutura de diretórios...................................................................................................27 Figura 11: Cilindros, trilhas e setores..............................................................................................80 Figura 12: Adduser x Userdel.......................................................................................................101 Figura 13: Caixa de diálogo "Configuração da impressora"..........................................................123 Figura 14: Definindo uma impressora padrão...............................................................................123 Figura 15: Procurando o dispositivo.............................................................................................124 Figura 16: Instalando uma impressora que esteja no Windows....................................................126 Figura 17: Instalando o driver da impressora...............................................................................127 Figura 18: Menu de contexto para remover uma impressora.......................................................127 8
  • 9. Debian Básico - Desktop Paraná INTRODUÇÃO A migração de diversos serviços que possuem seus códigos-fonte fechados para alternativas livres é uma realidade dentro do estado do Paraná. É uma questão de tempo até que todas as estações de trabalho de todas as secretarias estejam com a distribuição Debian personalizada pela Celepar, denominada Desktop Paraná, e diversas ferramentas do projeto GNU e de outros projetos alternativos livres estejam instalados e em produção. A CPPC (Coordenação de Projetos, Pesquisa e Capacitação) é a coordenação dentro da Celepar responsável por tentar diminuir o impacto dessa transição, através de uma ampla documentação de serviços adotados pelo estado e cursos para usuários e técnicos. Esta apostila é a primeira de uma série de três volumes. São eles: Debian Básico; Debian Intermediário; e Debian Avançado. Todos estes volumes visam fazer com que os administradores de redes que desenvolvem trabalhos dentro do estado do Paraná ou qualquer interessado da comunidade consigam realizar suas competências já existentes de gerenciamento, mas agora com ferramentas completamente livres. O curso de Debian Básico tem como objetivo transmitir aos técnicos interessados conceitos básicos de informática, introdução a conceitos utilizados nas versões Unix like, e ensinar-lhes vários comandos para serem utilizados para gerenciamento de uma rede. Este curso é básico, por isso terá uma série de introduções a assuntos sem aprofundamento. O estudante terá a possibilidade de manusear uma série de ferramentas e entender o que acontece com o computador, mas as soluções e análises mais profundas do sistema, capacidade de criação de projetos de redes complexas, será adquirida apenas com a conclusão dos três volumes. A release atual do Desktop Paraná possui o codinome Zandor, que possui a estrutura do Debian Lenny com as alterações feitas pela Celepar. Será esta a distribuição que este curso irá abordar, porém, deve-se ficar claro que qualquer outra distribuição, até mesmo uma Unix-Like sem vínculos com o Debian, segue os mesmos princípios do Zandor e possui muitos comandos e arquivos idênticos ou parecidos. Tenham um bom curso! 9
  • 10. Debian Básico - Desktop Paraná HISTÓRIA DO GNU/LINUX Sem um sistema operacional não conseguimos utilizar o computador para nada, pois é o sistema operacional que permite a interação entre o homem e a máquina. Para entendermos melhor sobre o surgimento do Debian, o sistema operacional adotado pelo Paraná, vamos ver um pouco da história dos sistemas operacionais. MULTICS, UNIX E MINIX: OS AVÓS DO GNU/LINUX Apesar de não ter sido o primeiro sistema operacional criado, vamos começar nossa história com o MULTICS, por volta de 1969. Cientistas da computação, em um encontro que ocorreu no MIT (Massachusetts Institute of Technology), inclinaram-se sobre uma ideia que quase todos tinham em comum: a possibilidade de se criar um sistema operacional time-sharing. Ele teria características de tempo de compartilhamento, que nada mais é do que vários usuários compartilhando os recursos de um computador. Até então, os computadores não permitiam tal tarefa. Somente um processo poderia rodar por vez em cada computador. De uma ideia surgiu um consenso. De um consenso surgiu um esboço. De um esboço surgiu um projeto e sobre este projeto derramou-se muito dinheiro. O que antes só existia em mentes e papéis passava a ganhar linhas de códigos em computadores de vários programadores. Os investidores de recursos financeiros e humanos uniram-se no esforço de um único fim. Eram eles:  ARPA – Departamento de defesa dos EUA – (principal auxílio: recurso financeiro. Interessado em novas tecnologias para serem usadas em armas cada vez mais precisas e devastadoras);  General Eletric (principal auxílio: espaço físico e computadores);  Laboratórios Bell da AT&T (principal auxílio: programadores renomados, sendo o mais importante para nós: Ben Thompson);  MIT (principal auxílio: programadores renomados e o esboço do projeto). Os anos foram se passando e, devido a complexidade maior do que esperada da tarefa, os resultados desejados não foram atingidos. Isto fez com que o projeto MULTICS perdesse força e, aos poucos, cada uma das entidades envolvidas foram o abandonando. O sonho do multiprocessamento em um sistema operacional foi morrendo. Foi morrendo até que morreu. Em 1969 o projeto foi abandonado. Ken Thompsom, funcionário dos Laboratórios Bell e ex-integrante do grupo que desenvolvia o MULTICS, continuou estudando o sistema e decidiu criar um outro sistema operacional mais simples, mas que conservasse as ideias básicas do MULTICS, nascendo assim o UNICS (Uniplexed Information and Computing Service), que mais tarde passou a se chamar UNIX. Ele ficou bom e convincente, fazendo assim com que a AT&T resolvesse patrociná-lo. Era a volta do sistema operacional multiprocessado. Inicialmente o UNIX foi escrito em Assembly, o que causava grandes dificuldades pelo fato de que praticamente o sistema operacional só funcionaria em uma arquitetura. Como Assembly é uma linguagem de baixo nível e muito complicada, Thompson tinha a intenção de passar o Unix para uma linguagem de alto nível. Após algumas tentativas mal sucedidas, surgiu a linguagem C, e o UNIX finalmente foi reescrito sob esta linguagem no ano de 1973. 10
  • 11. Debian Básico - Desktop Paraná O UNIX cresceu muito na AT&T, que até então, não o comercializava e o distribuía gratuitamente para às universidades para fins educacionais. Mas com o seu crescimento, a partir da versão UNIX System IV (em 1983), a AT&T começou a comercializá-lo cobrando pelo seu uso e não disponibilizando mais seu código fonte. Por não ter mais acesso ao código fonte do UNIX, o professor universitário, Dr Andrew Tanenbaum, motivado por fins educacionais, resolveu desenvolver um novo sistema operacional baseado no UNIX, criando assim o MINIX. Era um sistema operacional limitado, pois possuía apenas fins didáticos, e nesta tarefa cumpria bem seu papel, mas para ser usado para outros fins era considerado fraco. O SURGIMENTO DO PROJETO GNU “Em 1984, Richard M. Stallman descobriu que software proprietário fazia vítimas diretas quando ele mesmo se tornou uma delas.” Tudo começou quando a Xerox resolveu presentear o Laboratório de Inteligência Artificial do MIT (o mesmo laboratório de onde surgiu o projeto do MULTICS e local onde Richard M. Stallman trabalhava) com uma super impressora Laser de ponta. A impressora era extremamente instável, ou seja, travava toda hora. Alguém mandava algum trabalho para ser impresso e quando ia buscar depois de meia hora, descobria que a impressora havia travado na metade do trabalho. Arrumava-a, enviava novamente o trabalho e depois de uma hora retornava para buscar, mas adivinha o que ele descobria? Que a impressora havia novamente travado há 59 minutos (haja paciência). Antes de ganhar essa impressora da xerox, eles tinham uma outra impressora que apresentara o mesmo problema. Como não era possível fazer alterações no hardware da impressora para corrigir os problemas devido a falta de tecnologia da época, eles faziam alterações no driver da mesma, adicionando algumas funções (gambiarras). Uma dessa funções que eles haviam adicionado fazia com que aparecesse uma mensagem na tela de cada usuário que havia mandado uma impressão informando se a tal estava pronta ou não. Avisava também problemas na impressão, caso isso ocorresse. Assim, quando havia algum problema, alguém iria correndo para sanar o problema o quanto antes. Então já haviam encontrado não a solução, mas um jeito de fazer com que a remediação fosse mais rápida. Bastava implementar as mesmas alterações no driver dessa outra impressora. E isso foi feito? Infelizmente não era possível pois o driver daquela impressora era proprietário, pertencia à Xerox, e só estava disponível na forma binária. O código-fonte era exclusivo da xerox. Para se alterar um programa é necessário seu código-fonte (como se fosse a receita de um bolo. É o código em que encontramos toda a programação que faz um programa funcionar). Richard e seus companheiros de trabalho estavam impotentes diante desse problema. Quando Richard soube que um colega de outra universidade tinha o código fonte para esse driver, procurou-o. Para sua surpresa, o colega se negou a lhe repassar o código-fonte, pois ele havia assinado um acordo de responsabilidade que o impedia, legalmente, de compartilhar essa informação com quem quer 11 Figura 1: Richard M Stallman
  • 12. Debian Básico - Desktop Paraná que fosse. Se Richard Stallman quisesse ter acesso ao código fonte ele teria que assinar um acordo igual ao que seu colega assinara. Isso ia contra seus princípios. Muito pouco tempo depois de tudo isso, o MIT desencadeou um processo de reestruturação tecnológica. Os softwares que já estavam obsoletos foram substituídos. Os novos softwares, apesar de mais sofisticados e fáceis de se usar, vieram com acordos iguais àquele que seu colega havia assinado, permitindo a ele alterar os programas, mas não os redistribuir. Além disso, não poderia divulgar o código fonte original. Richard se viu então num grande impasse: se ele quisesse continuar a trabalhar com informática, ele teria que assinar o mesmo tipo de acordo que havia feito ele conviver com uma impressora destruidora de paciência. Ele sentia que não podia assinar esse contrato, mas ao mesmo tempo isso passava a ser tendência do mercado. Ele era contra tudo isso e não queria mais jogar dessa forma, mas não passava em sua mente deixar a informática. Foi então que, no ano de 1984, Richard resolveu não assinar o acordo, sair da MIT e fundar a FREE SOFTWARE FOUNDATION, com a proposta de lutar para que as pessoas pudessem ter acesso a softwares livres, com direito a olhar seu código fonte, modificar e distribuir os programas livremente, promovendo o livre fluxo de ideias na área de softwares. Através da FREE SOFTWARE FOUNDATION foi criado o projeto GNU, que idealizava a criação de um alternativa livre para cada software proprietário existente. Claro que uma das metas era um sistema operacional completamente livre. Qualquer pessoa teria o direito de usar, modificar e redistribuir esses softwares, desde que fossem garantidos esses mesmos direitos aos softwares derivados. O nome GNU foi escolhido porque, além do significado original do mamífero Gnu, é um acrônimo recursivo de “GNU is Not Unix” (em português “Gnu Não é Unix”). Esse sistema operacional deveria ser compatível com o UNIX, mas não poderia usar nenhuma parte do código fonte do UNIX, já que este era fechado. Assim a partir de 1984, liderados por Richard Stallman, um grupo de programadores que aderiram à causa começaram a desenvolver as principais peças de um sistema operacional e aplicativos diversos. Em 1991 o sistema operacional GNU estava quase pronto, mas ainda faltava a sua parte mais importante: o seu núcleo, que na informática é chamado de kernel. Assim Richard e sua equipe concentraram seus esforços na criação do kernel chamado Hurd. Enquanto isso... NASCE O KERNEL LINUX Num outro lugar do mundo, um cara chamado Linus Torvalds, finlandês, estudante de Ciências da Computação na Universidade de Helsink, deparou-se com o MINIX. Lembram-se que o código fonte do UNIX passou a não ser mais disponibilizado fazendo com que Tanembaum criasse o MINIX para que os acadêmicos pudessem estudar sistemas operacionais na prática? Então! Lá estava o MINIX sendo explorado por Linus. Só que o MINIX era muito limitado, afinal de contas, fora desenvolvido para fins didáticos. Mas foi suficiente para despertar em Linus, em 1991, a ideia de criar um novo sistema operacional mais completo, baseado no UNIX, utilizando as diretrizes POSIX, regras também observadas na criação do MINIX. Linus teve a ideia e a divulgou na Usenet, um sistema de comunicação instantânea remota que foi precursor da internet. No fim de 12 Figura 2: Linus Torvalds
  • 13. Debian Básico - Desktop Paraná 1991 disponibilizou na rede a primeira versão do kernel criado por ele. Linus queria que todos os programadores que quisessem se envolver no projeto, auxiliassem-no a melhorar sua criação. Essa mesma comunidade que o ajudou a fazer com que o kernel crescesse, resolveu homenageá-lo dando o nome ao kernel de Linux, que é a contração de Linus (idealizador) e Unix (sistema em que o Linux foi baseado). Mas o Linux ainda era apenas um kernel, e precisava de todo restante dos programas para funcionar como um sistema operacional completo. Por coincidência, faltava exatamente o que fora produzido no projeto GNU. Mas a junção de tudo não era algo fácil. Para utilizar o Linux, o próprio usuário tinha que encontrar os outros programas do projeto GNU, compilá-los e configurá-los; talvez por isso, o Linux tenha começado a ter fama de sistema operacional para técnicos. O ENCONTRO DO GNU COM O PINGUIM O Linux atingiu um nível de desenvolvimento que nenhum kernel criado pela Free Software Foundation havia alcançado, além de suportar todas as peças do sistema operacional GNU. Foi aí que, numa dedução óbvia, pensou-se em unir os dois, GNU e Linux. Um completaria o outro, e assim, surgiu um sistema operacional forte, completo e o melhor, com todo seu código aberto! Atualmente, o sistema operacional GNU com o kernel Linux é conhecido como GNU/Linux, que é como o projeto solicita aos utilizadores que se refiram ao sistema completo, embora a maioria das pessoas se refiram ao sistema apenas como Linux, por uma questão de facilidade. DEBIAN Qual é a diferença entre um buffet e um prato à la carte? No primeiro, você poderá escolher, dentro de todas as opções oferecidas pelo restaurante, o que mais lhe agrada. No segundo, você diz o nome do prato e este vem pronto com os ingredientes e proporções que o restaurante define. Os sistemas operacionais proprietários e livres funcionam analogamente aos buffets e pratos prontos. Sistemas proprietários vêm prontos, permitindo que você configure somente aquilo que tem permissão e que insira programas feitos para eles. Já os livres permitem que, dentre todos os softwares do projeto GNU ou qualquer outro projeto, você escolha quais quer ter e como eles devem interagir. O GNU/Linux é, então, o restaurante que fornece uma gama grandíssima de opções para que você escolha qual deseja usar e como eles devem trabalhar juntos. Qualquer pessoa pode criar seu próprio “prato”. E esses “pratos” é que são as distribuições. O Debian é uma distribuição GNU/Linux, já que ele pega o que deseja do projeto GNU, encaixa ao kernel 13 Figura 4: Algumas distribuições Figura 3: O casamento: GNU e Linux
  • 14. Debian Básico - Desktop Paraná Linux, insere outros softwares criados por ele ou terceiros (alguns programas até proprietários, como o java) e os deixa prontos para serem utilizados. Outros exemplos de distribuição são Ubuntu, SuSE, Mandriva, etc. Veja na figura 4 logos das principais. O Debian nasceu em 1993, mais precisamente no dia 16 de agosto daquele ano. Seu criador foi Ian Murdock. A ideia de Murdock era criar um sistema operacional que fosse livre, consoante à filosofia da comunidade criada por Stallman. No começo Ian conseguiu a ajuda de alguns hackers e da própria Free Software Fundation. Eles tinham como preocupação compilar os vários pacotes do GNU/LINUX, mas seguindo um método que tornava o controle do sistema organizado. Cada pacote (conjunto de arquivos que ganham um rótulo. Será visto na página 56) tinha um mantenedor que era responsável por resolver problemas de dependências, instabilidade, novas versões, ou seja, tudo que envolvesse estes pacotes. Além disso, ferramentas permitiam que a instalação fosse facilitada, sendo criado até um repositório, que é um servidor de pacotes acessível através de um simples comando. Padrões de criação de pacotes, documentação de tudo, fases de maturação, tudo isso e mais várias outras coisas fizeram com que o Debian crescesse e se tornasse uma das distribuições mais completas, maduras, robustas e organizada de todas. Hoje a empresa conta com uma constituição, contrato social e padrão para organização de pacotes. Qualquer um pode contribuir com o projeto, só que seus pacotes devem seguir as regras da comunidade. Murdock, antes de se envolver com o projeto do Debian, trabalhou no filme Toy Story. Como ficou emocionalmente envolvido com os personagens, resolveu dar o nome de um personagem do desenho a cada nova release do Debian. Veja alguns deles:  Debian 1.1 Buzz (17 de junho de 1996)  Debian 1.2 Rex (12 de dezembro de 1996)  Debian 1.3 Boo (05 de junho de 1997)  Debian 2.0 Ham (24 de julho de 1998)  Debian 2.1 Slink (09 de março de 1999)  Debian 2.2 Potato (15 de agosto de 2000)  Debian 3.0 Woody (19 de julho de 2002)  Debian 3.1 Sarge (6 de junho de 2005)  Debian 4.0 Etch VERSÃO ESTÁVEL  Debian Lenny VERSÃO DE TESTE  Debian Sid VERSÃO INSTÁVEL PARA SEMPRE ebian vem da contração do nome de Ian Murdock com o da sua mulher, Debra. DEBra e IAN MurdockD 14
  • 15. Debian Básico - Desktop Paraná DISCOS E PARTIÇÕES DE DISCO Antes de começarmos a estudar os comandos para administração do Debian, precisaremos ver alguns conceitos de informática necessários no decorrer deste curso. Iremos abordar esses conceitos primeiramente de uma forma genérica, depois iremos analisá-los sob a ótica Debian. O QUE SÃO PARTIÇÕES? Alguns dispositivos de armazenamento permitem-nos criar divisões lógicas de seu espaço total. Ao criar partições, aos olhos do sistema operacional, cada uma delas é como se fosse um dispositivo de armazenamento diferente. Essa diferenciação permite que: (a) tenhamos mais segurança dos dados armazenados em situações críticas; (b) mais de um tipo de sistema operacional no mesmo dispositivo físico; (c) uma otimização na utilização do espaço disponível. Existem mais razões, mas essas são as principais. (a) Segurança da integridade de dados Ao criar mais de uma partição, poderemos definir uma natureza para cada uma delas. Vejamos uma situação hipotética, a qual sugerimos que adote (inclusive na instalação, no final do curso, iremos utilizar essa configuração): Nome Natureza /boot Partição destinada aos dados de inicialização do sistema. Mesmo existindo uma partição com este fim, ainda será necessário alguns arquivos de inicialização dentro do diretório barra (/). / Partição onde ficam os dados essenciais e não essenciais ao funcionamento do sistema básico. Extremamente necessária para se ter suporte a todos os recursos do computador. /home Partição destinada apenas ao armazenamento de informações e documentos pessoais de cada usuário. Swap É a área de troca do sistema operacional. Sempre que a utilização real da memória principal atingir 60%, os dados armazenados em cache por mais tempo começam a ser realocados para a swap. Desta forma, os dados continuam alocados em cache para serem utilizados quando requisitados e libera-se a memória principal para novos processos ou processos ativos que necessitem do espaço em memória de imediato. Essa divisão básica e muito utilizada permite que tenhamos mais segurança durante a manipulação dos dados. O computador, em seu estado normal, inicia o sistema operacional a partir de uma imagem do sistema básico armazenada no /boot. Depois ele carrega outros aplicativos que são importantes para a exploração máxima do potencial do computador. Estes aplicativos ficam no /. Após a inicialização do sistema básico, o computador carrega as informações do usuário que iniciar a sessão, armazenadas dentro do /home. Caso uma dessas partições acabe sendo danificada, as outras manterão-se intactas. Se o /boot for danificado é possível iniciar o computador através de um disco de inicialização e restaurar a partição que falta, voltando, assim, a ter acesso a todos os programas, configurações e arquivos pessoais dos usuários. Caso o / esteja com problema, é possível que você inicie o computador no modo de segurança e tente consertar o que está de errado. Caso pense-se em apenas reinstalar todo o computador, mas pretenda-se manter os arquivos pessoais dos usuários, basta reinstalar o sistema operacional mantendo o /home. Mais organização e segurança, com certeza. 15
  • 16. Debian Básico - Desktop Paraná (b) Mais de um sistema operacional A maioria dos sistemas operacionais possuem sistemas de arquivos diferentes entre eles (este assunto será abordado na página 20). Não é possível se ter um dispositivo com mais de um sistema de arquivos. Criando partições, temos, virtualmente, vários dispositivos diferentes. Cada um deles pode ter um sistema operacional. Isso nos permite ter instalado, por exemplo, num mesmo disco rígido, o Windows e o Debian. Para decidir qual será carregado usamos os chamados boot-loaders. O mais conhecido é o GRUB do projeto GNU. Ao instalar o Debian, o GRUB é instalado por padrão (se você quiser poderá optar por não o instalar). Você deve conhecer parte dele. Lembra da tela azul que aparece após o computador ter sido ligado que todos os sistemas operacionais aparecem? Esse é o safado. (c) Otimização da utilização do espaço disponível Cada sistema de arquivos possui um padrão de unidade mínima de armazenamento, chamada bloco. Se você enviar a um bloco alguma arquivo com tamanho inferior a ele, o espaço vazio será perdido. Como existem arquivos de sistema que possuem um desempenho melhor com arquivos grandes e outros com tamanhos pequenos, é interessante definir sistemas de arquivos diferentes para partições diferentes, de forma que eles explorem melhor o potencial do hardware (velocidade e real utilização do disco rígido). PARTIÇÃO PRIMÁRIA, ESTENDIDA E LÓGICA As partições primárias e lógicas têm funções iguais: criar divisões em um dispositivo de armazenamento para que o sistema operacional pense se tratar de mais de um dispositivo físico. A partição estendida já tem um papel diferente. Ela define onde a partição lógica inicia. Para entender isso é necessário que saibamos como é a estruturada a MBR. A MBR (Master Boot Record) é um local situado no início de um disco rígido que aloca a tabela de partições e os boot-loaders. Seu tamanho é de 512 bytes. Veja na figura 5 como esses bytes são distribuídos. Os 64 bytes referentes a tabela de partições são divididos em quatro partes, tendo 16 bytes cada uma. Dentro desse espaço de 16 bytes é onde encontramos a diferença entre os tipos de partições. Ele pode conter informações a respeito de uma partição ou então o endereço do espaço que contém as informações da próxima partição lógica. 16 Figura 5: MBR - Master Boot Record
  • 17. Debian Básico - Desktop Paraná Dentro da MBR Informações que definem uma partição Primária Dentro da MBR Referência para a primeira partição lógica Estendida Fora da MBR Informações a respeito de uma partição no primeiro espaço de 16 bytes; referência para a próxima lógica, se existir, nos outros 16 bytes; e 32 bytes finais sem nada (espaço perdido mesmo) Lógica Mas o que são essas informações que definem uma partição? São os dados que definem exatamente onde começa e onde termina uma partição. Esses dados são mostrados na tabela abaixo: A figura 6 mostra o que cada 16 bytes dentro da MBR armazena. Quando temos uma partição estendida, esses 16 bytes só terão o endereço do espaço que contém a primeira partição lógica. Cada espaço fora da MBR que tenha informações sobre uma partição lógica também terá 64 bytes, só que será organizada de uma forma diferente. Os primeiros 16 bytes serão reservados para definir a partição, como mostrado na figura 6. Os outros 16 bytes indicam qual é o endereço da nova partição lógica. Os outros 32 bytes não armazenam nada, só existindo para que assuma o mesmo padrão da MBR. É como se tivéssemos uma tabela de partições da MBR de 64 bytes para cada partição lógica. Propriedades importantes 1. As partições primárias só podem existir dentro da MBR, por isso, o número máximo desta partição que podemos ter em um disco rígido é quatro. 2. A partição estendida só serve para criar um vínculo entre a MBR e a primeira partição lógica, por isso não enxergamos ela. 3. Cada nova partição lógica deve ser referenciada por uma lógica anterior, sendo que a primeira delas deve ser referenciada pela partição estendida dentro da MBR. 4. A última partição lógica encerrará com uma assinatura, para que o sistema saiba que acabaram as partições. 5. Não será possível, após criar uma partição estendida, criar uma partição primária. 6. O máximo de partições que se pode criar em um disco rígido é dezesseis, sendo que somente quinze são utilizáveis, já que uma será a estendida. 17 Figura 6: Informações que definem uma partição
  • 18. Debian Básico - Desktop Paraná Exemplos de divisões de um disco rígido  Com 4 partições primárias:  Com 3 partições primárias, uma estendida apontado para a primeira lógica de 1:  Com 1 partição primária, 1 estendida apontando para a primeira lógica de 3: 18 Figura 8: Três primárias mais uma lógica Figura 7: Quatro partições primárias Figura 9: Uma primária mais três lógicas
  • 19. Debian Básico - Desktop Paraná Esse sistema de máximo de partições primárias, partição estendida e encadeamento de lógicas existe pois, antigamente, os sistemas operacionais só trabalhavam com partições primárias. Quatro partições eram suficientes, já que os discos tinham os incríveis tamanhos de 30MB, 540MB, 730MB, 850MB, além dos mais sofisticados e de alta capacidade de armazenamento, de 1.28GB! Hoje em dia, com discos de 80GB, 120GB, 160GB, 500GB e outras capacidades maiores, mais partições são necessárias. Para que pudessem ser criadas mais de quatro partições havendo compatibilidade com sistemas antigos, foi necessário criar um sistema em que as informações de partições ficassem fora da MBR, já que somente os 64 bytes não eram suficientes para armazenar tantas informações. O método explicado anteriormente foi a solução encontrada. 19
  • 20. Debian Básico - Desktop Paraná SISTEMAS DE ARQUIVOS Sistemas de arquivos, ou filesystem, é o que chamamos de formatação lógica de um disco. A primeira formatação é a física, feita pelo fabricante do disco. Ela não será abordada neste curso. A segunda formatação é a lógica, feita pelo sistema operacional, sendo esse o motivo de cada sistema operacional ter suporte a sistemas de arquivos diferentes. Essa formatação tem função de preparar o disco para ser utilizado pelo sistema. Também possui um conjunto de regras que define como os dados serão manipulados, ou seja, armazenados e recuperados. Alguns tipos de sistemas de arquivos possuem recursos a mais do que outros, como por exemplo journaling, tail, etc, além de blocos de tamanhos diferentes. BLOCOS O bloco é a menor unidade de armazenamento em um disco. Imagine um banco da Suíça. Você é milionário e possui uma seção só para você, e dentro dessa seção existem várias maletas. A política do banco não permite que você entre em sua seção por motivo de segurança. Sempre que você queira colocar ou retirar algo do banco, você precisará solicitar uma maleta específica que esteja dentro da sua seção. Você tem 50 anéis de ouro na maleta A e apenas um de prata na B. Se você quiser retirar o anel de prata, terá que solicitar a maleta B inteira. Se você quiser apenas um de ouro, terá que solicitar a maleta A inteira do mesmo jeito. Essa maleta é como o bloco dos sistemas de arquivos. O tamanho real de um arquivo não importa, e sim a soma do total de bytes dos blocos que ele usa. E a diferença entre bloco e setor é que este é criado pela formatação física e é muito pequeno. Serve como referência para que a formatação lógica possa definir quantos setores representarão a menor unidade do sistema de arquivos, ou seja, quantos setores representarão um bloco de dados. or padrão, os sistemas de arquivos não misturam dados de arquivos diferentes dentro do mesmo bloco. Se temos um arquivo A que precisa de 2 blocos e meio, a metade do terceiro não será usado para armazenamento de um arquivo B. Os dados são armazenados no quarto bloco. Isso por padrão, mas existem alguns recursos que possuem blocos especiais que armazenam “caldas” de arquivos (daí tail). Os dados que completam blocos cheios são gravados sequencialmente e os dados finais de todos os arquivos, os restos, são armazenados num bloco especial. Este recurso chama-se tail packing. P JOURNALING É um recurso que registra tudo que o sistema de arquivos faz, permitindo que em caso de queda de energia ou travamento não haja corrompimentos. Quando abrimos um arquivo ou programa, ele é carregado na memória. Tudo que fazemos é alterado na memória e, somente após um tempo determinado pelo aplicativo, sistema operacional ou usuário (através das opções de salvar, sincronizar, etc), será feita a alteração dos dados no disco. Essa alteração não é gravada sobre os dados anteriores, mas sim em um espaço novo no disco. O espaço que continha os dados antigos é considerado como disponível, mas continuará com os dados antigos até que o sistema realmente precise dele. Se durante o processo de sincronia de dados entre memória RAM e disco – momento esse em que um novo espaço no disco é 20
  • 21. Debian Básico - Desktop Paraná referenciado como local de armazenamento do arquivo – houver uma queda de energia ou travamento, o sistema de arquivos perderá a ligação com o espaço antigo e o espaço novo terá somente parte dos dados atualizados. O arquivo estará corrompido. Com o sistema de journaling, antes de realizar qualquer tarefa, o sistema de arquivos a registrará. No caso de haver um problema, como no exemplo anterior, o sistema de arquivos saberá o endereço do espaço antigo e conseguirá recuperá-lo. Não teremos o espaço atualizado, já que esse nunca foi passado completamente da memória RAM para o disco, mas teremos o arquivo no estado anterior, que já é alguma coisa (as vezes muita coisa). PRINCIPAIS DIFERENÇAS ENTRE OS PRINCIPAIS Existe uma série de testes que foram feitos para averiguar as principais características de cada sistema de arquivos. Os principais sistemas de arquivos no linux são Ext3, ReiserFS e XFS. Após analisar vários relatórios podemos concluir o seguinte. Capacidade de armazenamento A porcentagem definida pela razão entre blocos utilizáveis e total de blocos mostra que, na maioria dos relatórios o ReiserFS e XFS são mais eficazes que o Ext3. Isso quer dizer que o Ext3 possui muitos blocos perdidos para controle de si mesmo, enquanto o sistema dos outros sistemas de arquivos é mais inteligente. Criação, montagem e desmontagem de sistemas de arquivos Para criação de sistemas de arquivos, o pior sistema de arquivos é o Ext3. Em um teste realizado pelo site www.debian-administration.org, para se criar o Ext3 em um HD de 20GB, levou-se 14,7 segundos, enquanto os outros dois levaram menos de 2 segundos. Mas o ReiserFS foi o pio no quesito montagem de dispositivos. E foi feio, já que levou de 5 a 15 vezes (cerca de 2,3 segundos) mais tempo do que os outros dois para executar a tarefa (menos de 0,5 segundo) e cerca de 1 a 3 vezes (0,4 segundo) mais tempo para desmontar que os outros. O XFS foi quase que unânime, porém durante a desmontagem utiliza o dobro de processamento que os outros sistemas de arquivos. O computador utilizado para os testes tinha um processador Intel Celeron 533 com 512MB de RAM. Para criação e montagem, todos exigem quase a mesma coisa do processador, cerca de 60% de sua capacidade para criar e cerca de 40% para montar. Porém, para desmontar, o XFS mostrou-se muito menos “econômico” juntamente com o Ext3, já que exigiram o dobro do processador (cerca de 40%) que o ReiserFS exigiu (cerca de 20%). Operações com arquivos grandes O ReiserFS é o mais lento para criar uma cópia de um arquivo grande de outra partição ou da mesma partição. O Ext3 ficou em segundo e o XFS é o que criou as cópias mais rapidamente, mostrando-se ser o melhor sistema de arquivos para ser utilizado com este tipo de arquivos. Na remoção de um arquivo grande, o XFS deu uma lição nos outros sistemas de arquivos, sendo 100 vezes mais rápido que os outros dois, sendo o Ext3 o mais lento na realização desta atividade. Quanto a utilização do processador, o ReiserFS faz feio. Nas cópias tudo é parecido, mas na remoção, ele exige 50% da capacidade do processador enquanto os outros dois pedem precisam de somente 10% para realizar a mesma tarefa. 21
  • 22. Debian Básico - Desktop Paraná Operações com arquivos pequenos Os testes mostraram, em sua maioria, que em relação a arquivos pequenos a utilização do processador e o tempo de execução de tarefas (cópias e remoções) todos os sistemas de arquivos são parecidos. Apesar disso, o ReiserFS se mostrou um pouco pior que os outros dois. A única vez que ganhou dos outros foi na velocidade para remoção de arquivos, perdendo ou empatando em todos outros quesitos. 22
  • 23. Debian Básico - Desktop Paraná ABSTRAÇÃO DE HARDWARE Sempre que iniciamos o computador, o sistema operacional faz uma varredura procurando todos os dispositivos de hardware disponíveis para utilização. Quando encontrados, cada um deles recebe um nome e é criado dentro do diretório /dev um arquivo especial chamado de nó de dispositivo, que nada mais é que um espaço na memória RAM que será o local ao qual o hardware enviará e receberá dados do sistema e vice-versa. Sempre que um aplicativo precisar acessar alguma informação do hardware, ele só precisará abrir o arquivo especial referente. NÓS DE DISPOSITIVOS Cada nó precisará de um driver para funcionar. No Windows, sempre que você adiciona um dispositivo, é necessário que você instale o driver que tenha as instruções de funcionamento dele. Após instalado, aparece no gerenciador de dispositivos um ícone pelo qual o administrador consegue fazer as configurações necessárias. Os aplicativos que precisam dele criam referências apontando para este “representante”. No Debian, quase sempre os dispositivos de hardware encontrados já têm suporte do sistema e funcionam sem necessidade de configuração. Quando isto não acontecer, o administrador terá que inserir um módulo que dará suporte ao dispositivo (o módulo ensina o sistema a utilizar aquele dispositivo). Se tudo estiver certo, o dispositivo aparecerá dentro do diretório /dev. O comando abaixo irá mostrar todos os nós de dispositivos que o sistema encontrou. $ls -l /dev brw-rw---- 1 root disk 3, 1 Nov 21 13:27 hda1 Existem quatro tipos de nós de dispositivos. Sempre que executamos o comando ls mostrado anteriormente (comando este que será abordado na página 47), podemos verificar várias informações a respeito dos arquivos e diretórios. O primeiro set de configuração (a primeira letra) é responsável por informar qual é o tipo de arquivo listado. Veja quais são os arquivos especiais abaixo: Nós de dispositivos de bloco (b) São os dispositivos de hardware que trocam informações em blocos, ou seja, vários pacotes de dados são trafegados simultaneamente entre o dispositivo e o sistema. Além disso, estes dispositivos podem ser formatados em blocos, o que permite que o sistema consiga acessar exatamente a informação desejada. Se tivéssemos apenas um bloco para armazenamento no HD inteiro, por exemplo, toda vez que precisássemos de alguma informação de dentro dele, todo o bloco teria que ser copiado para a memória. Imagine você tentando abrir um documento de 100 bytes armazenado em um HD de 160 gigabytes? Se houvesse apenas um bloco de 160GB, todo ele deveria ir para a memória para você acessar o seu documento. Com os blocos, o sistema pode solicitar a cópia apenas daqueles blocos que são necessários, ou seja, você iria praticamente direto aos dados que deseja e só carregaria na memória o que fosse necessário. Mais rápido e melhor para a memória. Normalmente estes blocos têm 4 kB, podendo variar de acordo com a formatação do disco (varia por causa do sistema de arquivos escolhido e/ou configurações do administrador). 23
  • 24. Debian Básico - Desktop Paraná Nós de dispositivos de caractere (c) São os dispositivos de hardware que trocam informações em série, ou seja, apenas um pacote por vez é trafegado entre o dispositivo e o sistema. Além disso, eles possuem apenas um bloco de dados que muda dinamicamente. Toda alteração é enviada ao sistema para que ele possa interpretar a mudança e realizar as atividades necessárias. Por exemplo, o mouse ao ser movido irá enviar os dados das variações percebidas pelos seus dispositivos de captação de movimento para o arquivo /dev/psaux. O envio é feito serialmente, ou seja, um bloco por vez. Nós de dispositivos de soquete (s) São um pouco diferentes dos outros nós, já que ele representa um dispositivo físico, mas não direciona as informações que chagam a ele diretamente para o representado, mas sim para um processo que gerencia os dados do dispositivo. Os dispositivos de soquete são uma versão dos arquivos FIFO melhorados (tantos que os FIFO já estão em desuso). Eles funcionam como os pipes do shell (a barra vertical, “|”), que envia o resultado de um comando para outro. Os arquivos de soquete possuem sempre 0 byte, isso porque eles só fazem ligações entre aplicativos. Quando o administrador configura uma impressora com o protocolo de soquete, todos os trabalhos enviados à impressora são, na verdade, enviadas para o soquete dela (o arquivo especial). Todos os dados que entram são, então, enviados para o gerenciador de trabalhos da impressora, que é um programa que roda na própria impressora ou no servidor de impressão. Ou seja, é o ponto de ligação entre processos de aplicativos. Todos os dados que são enviados para este arquivo seguem o mesmo padrão do antigo FIFO (First In, First Out – Primeiro que Entra, Primeiro que Sai). Os primeiros dados que chegam ao soquete são os primeiros que são enviados para o gerenciador de trabalhos da impressora. Funciona, então, como uma primeira fila de impressão. Nós de dispositivos de pipe (p) Quase igual aos dispositivos de soquete, com a diferença que realizam conexões entre aplicações que não representam dispositivos. Informações são enviadas de aplicações para o arquivo pipe, que as encaminha para entrada de outro aplicação. Mesmo que não tenhamos visto nenhum comando, execute exatamente os comandos abaixo para que possa ter uma visualização desse tipo de arquivo. 1.Abra a console através do caminho Aplicações/Acessórios/Terminal; 2.Crie um arquivo pipe com o comando abaixo: mkfifo Arquivo-Pipe <Enter> 3.Agora iremos enviar dados para o arquivo Pipe: echo “Eu quero aparecer em outra aba” > Arquivo-Pipe 4.O comando acima enviou a informação “Eu quero aparecer em outra aba” para o Arquivo-Pipe que a armazenou. Esta frase fica em “stand-by” até que outro aplicativo permitido requeira as informações. Abra um novo terminal clicando, no menu do terminal, em Arquivo/Abrir Aba; 5.Nessa nova aba, veja o conteúdo do arquivo “Arquivo-Pipe” utilizando o comando abaixo: cat Arquivo-Pipe 24
  • 25. Debian Básico - Desktop Paraná 6.A mensagem “Eu quero aparecer em outra aba” aparecerá. Se você voltar para a primeira aba, perceberá que o comando que estava em primeiro plano foi finalizado, já que ele enviou a informação que guardava para um outro comando. Os arquivos pipe têm a mesma função do redirecionador “|”, também conhecido pelo nome pipe. Veremos vários redirecionadores na página 40. Pseudo dispositivos Estes nós aparentam ser nós de dispositivos, mas não necessariamente representam um dispositivo físico, real. Eles são interessantes para algumas tarefas do sistema operacional. Veja quais são os pseudo dispositivos: seudo dispositivo é um grupo que abrange nós de dispositivos que compartilham uma mesma característica: serem falsos. Existem vários deles.P /dev/null (dispositivo de caractere) Este arquivo vai receber todos os dados enviados a ele, porém os descartará sem nenhuma saída. É como se fosse um buraco negro em que tudo que cai ali dentro se perde para sempre. Se você configurar uma impressora como local e definir que o nó que o referencia é o null, todos os trabalhos de impressão não apresentarão erro, já que o arquivo o aceitará, porém não serão impressos, mas sim descartados. Execute o comando abaixo para entender melhor: fcamargo@amontoado:~$ ls -l total 389200 drwx------ 5 fcamargo celepar 41 Dez 23 15:53 Acervo drwx------ 3 fcamargo celepar 16 Dez 24 09:25 Backup drwx------ 7 fcamargo celepar 4096 Dez 23 15:51 Desktop fcamargo@amontoado:~$ fcamargo@amontoado:~$ ls -l > /dev/null fcamargo@amontoado:~$ No exemplo acima, o primeiro comando resulta na listagem dos subdiretórios e arquivos do diretório corrente. No segundo comando, a saída (a listagem) foi redirecionada da tela para o null, que a recebeu tranquilamente sem apresentar erros, mas depois a ignorou e mandou-a para o “além”. Num futuro, quando você estiver criando um script e usar um comando que normalmente traz um resultado na tela, mas você não desejar que ela apareça, você poderá direcionar a saída para o null sem interferir na tarefa por ele executado. /dev/random (dispositivo de caractere) Este arquivo, quando solicitado, envia um fluxo de caracteres aleatórios para a saída solicitada. Utilidades aparecem a partir do momento que você se familiarizar com outras ferramentas do Debian. /dev/zero (dispositivo de caractere) Igual ao random, já que produz um fluxo de caracteres, mas todos os caracteres são o zero. Ideal para “zerar” trechos conhecidos do hd, como por exemplo a MBR. Você verá como fazer isso em conjunto do comando dd no curso de Debian Avançado. 25
  • 26. Debian Básico - Desktop Paraná NOMEAÇÃO DE DISPOSITIVOS Os arquivos especiais não recebem um nome qualquer de acordo com a criatividade e humor do sistema operacional. Existe um padrão, e agora veremos como ele nomeia alguns dos principais dispositivos. Na maioria das vezes teremos um prefixo que identificará qual é a interface utilizada pelo dispositivo para se comunicar com a unidade central de processamento. hda Dispositivo conectado ao “IDE 0” mestre. hdb Dispositivo conectado ao “IDE 0” escravo. hdc Dispositivo conectado ao “IDE 1” mestre. hdd Dispositivo conectado ao “IDE 1” escravo. hda1 Primeira partição do dispositivo conectado ao “IDE 0” mestre. sda Dispositivo conectado ao primeiro slot SATA ou a uma porta USB. sda5 Quinta partição do dispositivo conectado ao primeiro slot SATA. fd0 Drive de disquete. ttyS0 Porta serial 0. psaux Mouse. video0 Nó da webcam. wlan0 Primeira placa de rede wireless (sem fio). eth1 Segunda placa de rede wired (com fio). Vamos ver um exemplo prático de nomeação dos discos rígidos IDE. Começaremos então com a seguinte configuração: 1. Disco rígido conectado à IDE0 como mestre; 2. Drive DVD conectado à IDE1 como mestre; 3. Gravador de DVD conectado à IDE1 como escravo. A nomeação é fácil e invariável. Veja como é feita: ➔ Prefixo de acordo com a forma de conexão + ➔ Letra de a a e referente ao slot conectado + ➔ Números de partições. As letras seguem a seguinte regra: IDE 0 (primeira) mestre (master) LETRA a IDE 0 (primeira) mestre (master) LETRA b IDE 1 (segunda) escravo (slave) LETRA c IDE 1 (segunda) escravo (slave) LETRA d Agora ficou fácil. Voltando ao exemplo anterior, vejamos como cada dispositivo seria nomeado: 1. Disco rígido conectado à IDE0 como mestre = hda; 2. Drive DVD conectado à IDE1 como mestre = hdc; 3. Gravador de DVD conectado à IDE1 como escravo = hdd. Se existisse um arquivo em determinada partição do disco rígido hda, para que possamos trabalhar 26
  • 27. Debian Básico - Desktop Paraná com ele teríamos que informar ao sistema exatamente onde ele está. Se ele estiver na segunda partição lógica do disco, então o endereço será hda6. Mas por quê? ● As partições primárias são nomeadas de 1 a 4, de acordo com a ordem; ● Se mais de 4 partições forem necessárias, faz-se necessária a criação de partições lógicas que sempre começam a ser nomeadas a partir do número 5 e vão até o número 16; ● Para que exista uma partição lógica, é necessário que exista uma partição estendida referenciando a primeira das lógicas. Esta partição assumirá um número assim como as primárias (de 1 a 4); ● Se a partição estendida assumir um número de 1 a 3, as partições restantes até 4 serão inutilizadas. Se tivermos uma partição primária e uma partição lógica: Partição primária 1 Partição estendida (mesmo que não apareça) 2 Partição lógica 5 Se tivermos quatro partições primárias, não haverá espaço para a estendida, o que acarretará em impossibilidade de utilização das partições lógicas. Partição primária 1 Partição primária 2 Partição primária 3 Partição primária 4 27
  • 28. Debian Básico - Desktop Paraná ESTRUTURA DE DIRETÓRIOS É essencial que, antes de se iniciar o estudo dos comandos e interação com o interpretador de comandos, o estudante tenha pleno domínio sobre a estrutura de diretórios utilizada pelo Debian. Sempre teremos apenas dois gêneros de dados em nosso computador: arquivos ou diretórios. Os arquivos podem ser de várias espécies: arquivo de texto, binários, links (bastante conhecido como atalho), etc. Já os diretórios só podem ser ou diretórios ou links para outros diretórios. Os diretórios existem para criar uma divisão lógica dentro do disco de armazenamento, tornando a alocação dos arquivos muito melhor organizada. É preciso que tenhamos um ponto de origem a partir do qual uma árvore de subdiretórios repouse. Este ponto será a base de todo o sistema. Abstratamente, todos os arquivos e diretórios estarão dentro dele. Podemos comparar o / (barra) ao “Meu computador” do Windows. O “Meu computador” representará o sistema inteiro e todos os locais aos quais o usuário tem acesso: disquetes (A://), partições de discos rígidos e drives de CD/DVD (C://, D://, E:// e assim por diante). Já no Debian, temos o / (barra – diretório raiz) e dentro dele temos acesso a disquetes (/media/floppy0), partições de discos rígidos (/boot, /home e os outros diretórios do /) e qualquer local que o usuário tenha acesso a partir do seu sistema. Na figura abaixo é possível visualizar o funcionamento da estrutura de diretórios: A estrutura começa com o / e depois vai indo níveis abaixo. Os diretórios etc, dev, lib e media estão um nível abaixo em relação ao / (primeiro nível) e no mesmo nível em relação a eles. Os arquivos fstab, sudoers e o diretórios pendrive estão no mesmo nível em relação ao / (segundo nível), mas estão em diretórios diferentes. 28 Figura 10: Estrutura de diretórios
  • 29. Debian Básico - Desktop Paraná ENDEREÇOS A estrutura de diretórios é muito simples, como foi visto anteriormente, principalmente no modo gráfico. Mas quando estivermos utilizando linhas de comando através de um terminal virtual (interpretador de comandos), é necessário saber trabalhar com endereços. Endereços Absolutos É o caminho que deve ser seguido do diretórios raiz (o /) até o diretório ou arquivo desejado. Sempre que se muda de nível, coloca-se uma barra para fazer a separação. Usando a figura 10 como referência, veja alguns endereços absolutos. Diretório corrente é aquele diretório que o usuário está no momento. Arquivo ou diretório que se deseja ter o endereço absoluto Diretório corrente Endereço absoluto Arquivo fstab /etc/ /etc/fstab Arquivo sudoers /home/felipe /etc/sudoers Diretório pendrive /etc/ /media/pendrive/ Diretório dev /etc/ /dev/ Diretório / /home/tiaogalinha/Desktop / Perceba que o diretório corrente nada interfere no endereço absoluto. Endereços Relativos O endereço absoluto é o caminho do / até o arquivo ou diretório desejado, independente do diretório corrente. Já o endereço relativo é o caminho do diretório corrente ao arquivo ou diretório desejado. Arquivo ou diretório que se deseja ter o endereço relativo Diretório corrente Endereço relativo Arquivo fstab /etc/ fstab Arquivo sudoers /home/felipe ../../etc/sudoers Diretório pendrive / media/pendrive/ Diretório dev /etc/ ../dev Diretório / / . É possível perceber dois fatos no quadro acima: os endereços relativos, diferente dos absolutos, não começam com /; e quando o arquivo ou diretório não está vinculado verticalmente ao diretório corrente, é melhor usar o endereço absoluto. s dois pontos consecutivos (..) indicam o diretório de um nível acima enquanto o ponto simples (.) indica diretório corrente.O 29
  • 30. Debian Básico - Desktop Paraná DIRETÓRIOS DO SISTEMA Agora que você já sabe como funciona o mecanismo da estrutura dos diretórios, vamos ver a forma como o Debian organiza seus arquivos. Através do comando mostrado abaixo, é possível listar os diretórios visíveis do diretório raiz. fcamargo@amontoado:~$ ls -l / total 41 drwxr-xr-x 2 root root 4096 Nov 27 06:41 bin drwxr-xr-x 5 root root 1024 Nov 18 11:44 boot drwxr-xr-x 11 root root 3720 Dez 2 06:45 dev drwxr-xr-x 103 root root 8192 Dez 2 08:12 etc drwxr-xr-x 8 root root 95 Nov 25 09:01 home drwxr-xr-x 14 root root 4096 Nov 27 06:40 lib drwxr-xr-x 12 root root 139 Nov 21 13:39 media drwxr-xr-x 2 root root 6 Ago 5 13:17 mnt dr-xr-xr-x 118 root root 0 Nov 21 11:27 proc drwxr-xr-x 17 root root 4096 Nov 26 17:01 root drwxr-xr-x 2 root root 4096 Nov 27 06:41 sbin drwxrwxrwt 16 root root 4096 Dez 2 08:34 tmp drwxr-xr-x 11 root root 109 Nov 17 10:12 usr drwxr-xr-x 14 root root 140 Nov 17 10:13 var /boot Possui a imagem do sistema básico do kernel e arquivos importantes para inicialização do sistema. Esta imagem é o sistema básico que vai ser carregado na memória principal quando o computador for inicializado. /dev Todos os arquivos especiais ficam dentro deste diretório. Eles não ocupam espaço no disco rígido, já que têm a função apenas de criar uma conexão entre os aplicativos e os componentes de hardware na memória RAM. Além disso, o arquivo binário makedev, responsável por criar os arquivos especiais também é alocado dentro do /dev. /etc É o centro nervoso do Debian. Possui quase todos os arquivos de configuração de tudo. Todos os arquivos que ali estão devem ser de texto. Deve-se evitar alocar arquivos binários dentro deste diretório. /home Todos as configurações pessoais dos usuários são gravadas dentro de uma pasta pessoal que ganha o seu nome e é armazenada dentro do diretório /home. Além disso, os arquivos pessoais dos usuários também são armazenadas dentro de seus respectivos diretórios. 30
  • 31. Debian Básico - Desktop Paraná /lib Possui as bibliotecas necessárias para a inicialização dos serviços, módulos e aplicativos após o carregamento do sistema básico da imagem do kernel que fica dentro do /boot. /media É o diretório que contém subdiretórios que servem de pontos de montagem de dispositivos. Veremos montagem de dispositivos na página 86). Sugere-se que dentro do /media tenha-se apenas pontos de montagem permanentes, como o drive de cd, dvd, compartilhamentos, disquete, etc. /mnt É um diretório destinado a montagem de dispositivos temporariamente. Caso deseje-se montar um dispositivo permanentemente, é recomendado utilizar o /media. /root Diretório pessoal do superusuário. Ele não fica dentro do /home para evidenciar que o diretório é do superusuário e para no caso do sistema estar crítico e não for possível montar as outras partições, será possível acessar mesmo assim os arquivos pessoais do superusuário, já que ele fica dentro da mesma partição do sistema. É como o capitão que não abandona o navio. /sbin Os arquivos binários essenciais para o funcionamento do sistema ficam dentro deste diretório. Normalmente esses binários não podem ser executados pelos usuários sem privilégios de superusuário. /bin Comandos essenciais para o sistema que estão disponíveis para todos os usuários. /tmp Qualquer arquivo temporário poderá ser armazenado dentro deste diretório. Aplicativos também o usam sem você saber. Toda vez que o computador é reiniciado o conteúdo deste diretório é apagado. /usr Contração de Unix ShaRe. É o diretório que possui o maior volume de dados. A ideia deste diretório é criar um local em que as aplicações não essenciais para o sistema fiquem a disposição de todos os usuários, mas somente com permissão de leitura. Um aplicativo alocado aqui pode ser acessado com suas respectivas bibliotecas e arquivos de configuração, mas qualquer coisa que o usuário crie e modifique ficará dentro da sua pasta pessoal. 31
  • 32. Debian Básico - Desktop Paraná Subdiretórios Descrição /usr/bin Contém os aplicativos destinados aos usuários. Não são essenciais ao sistema. /usr/sbin Contém os aplicativos do sistema que não são essenciais para o seu funcionamento. Normalmente servem para explorar melhor o potencial do computador. /usr/lib Contém as bibliotecas utilizadas pelos aplicativos alocados no /usr/bin e /usr/sbin. /usr/share Dados que sempre serão instalados, independente da arquitetura para qual o pacote foi criado. Documentação,plugins, configurações básicas, páginas de manuais, dicionários e imagens de ícones são alguns exemplos. /var Um bom sistema operacional precisa de um local em que dados variáveis possam ser criados, modificados e excluídos dinamicamente por processos . O /var tem essa função. Vejamos alguns dos seus principais subdiretórios: Subdiretórios Descrição /var/cache Alguns aplicativos precisam de um diretório para armazenar alguns dados que utilizam sempre, tornando a reutilização desses dados mais rápida. /var/log Existem alguns daemons (gerenciadores de serviços) que criam entradas de log em arquivos para que o administrador possa saber o que está acontecendo no computador. Estes registros ficam dentro deste diretório. /var/spool Possui filas de dados para aplicativos. O CUPS envia os trabalhos de impressão para o /var/spool/cups/tmp. /var/tmp Semelhante ao /tmp, porém os dados de dentro dele não serão apagados após a reinicialização do sistema. Alguns aplicativos precisam armazenar dados temporariamente, mas exigem que para apagá-los seja enviada uma ordem para isso. 32
  • 33. Debian Básico - Desktop Paraná EXERCÍCIOS DE FIXAÇÃO (PARTE 1) 1.A base do Debian (GNU/Linux) possui influências de qual sistema operacional? a)Minix b)Windows c)Unix d)Mac OS 2.Qual era a proposta da Free Software Foundation? 3.GNU e Linux são a mesma coisa? Se não, defina-os. 4.Qual é a diferença entre uma partição lógica e uma estendida? 5.Faça a associação das colunas: (a) /boot (I) Arquivos e diretórios essenciais para o sistema básico e quase todos os outros arquivos e diretórios de aplicativos. (b) / (II) Área dentro do disco destinada ao armazenamento de dados da memória por esgotamento da mesma. (c) /home (III) Local padrão de alocamento de diretórios de todos os usuários, exceto do root e de usuários do sistema, com seus respectivos arquivos e configurações pessoais. (d) swap (IV) Imagem do sistema básico. Resposta: a = ___ , b = ___ , c = ___ , d = ___ 6.Assinale com um V as proposições verdadeiras e com um F as proposições falsas: ( ) A MBR não pode ser alterada, já que se trata de uma memória ROM; ( ) É possível se ter uma partição lógica sem uma estendida; ( ) Dentro da MBR podem ser armazenadas informações de até 16 partições; ( ) Após a criação de uma partição lógica, não é possível criar uma partição primária; 7.Qual é a menor unidade de armazenamento que temos em um disco? 8.Indique qual é o tipo de arquivo criado pelo Debian para se comunicar com o: a)Mouse b)Disco Rígido c)Memória Ram 9.Escreva o nome atribuído pelo Debian a: a)3ª partição lógica de um disco conectado à IDE 0 configurado como slave b)1º pendrive conectado a um computador com um disco IDE c)2º pendrive conectado a um computador com um disco SATA d)Drive de disquete de um computador com dois discos SATA e um IDE 10. Qual é o diretório que contém os pontos de montagem, por padrão, do drive de cd e pendrive? 11. O que, em um comando, caracteriza um endereço absoluto? 12. Qual foi a intenção ao se criar o diretório /usr ? 33
  • 34. Debian Básico - Desktop Paraná INICIAÇÃO Antes de iniciarmos a utilização efetiva do interpretador de comandos, devemos ter algumas noções básicas bem claras. Mas ainda, antes disso, é importante que o estudante saiba onde encontrar informações a respeito de comandos e funcionamento do sistema operacional, já que nem sempre encontrará suas dúvidas sanadas por apostilas, manuais e cursos. Tudo isso será visto neste capítulo. COMO OBTER AJUDA? Internet Alguns sites são muito bons para se procurar informações. Visite-os antes, durante e depois de apareceram as dúvidas: ➔ Site oficial do Debian (http://www.debian.org); ➔ Guia foca linux - Básico – Intermediário – Avançado (http://focalinux.cipsga.org.br/gol.html); ➔ Vários tutoriais em inglês sobre linux (http://www.howtoforge.com/); Fórum Em alguns casos, a experiência de outras pessoas é o melhor caminho para se encontrar uma solução. Esses links levam a fóruns interessantes a respeito do Debian: ➔ http://www.forumdebian.com.br ➔ http://wiki.forumdebian.com.br ➔ http://ubuntuforum-br.org Manuais Quase todos os comandos e arquivos de configuração possuem manuais. Para acessá-los, basta digitar man antes deles no interpretador de comandos. fcamargo@amontoado:~$ man interfaces (é um arquivo) fcamargo@amontoado:~$ man ifconfig (é um comando) Para sair dos manuais pressione a tecla <q> do teclado. Q de quit, sair em inglês. TERMINAIS Para poder entregar dados para que a unidade central do computador possa fazer os devidos processamentos, é necessário que você interaja com o sistema operacional. Os terminais permitem que essa conexão seja feita. Vejamos agora as principais formas de se fazer isso. Terminal virtual É o interpretador de comandos que independe de modo gráfico. Para que possa ser acessado e ser iniciada uma sessão com um usuário válido, o usuário deve pressionar simultaneamente as teclas <CTRL>+<ALT>+<F[1 a 6]> se estiver no modo gráfico ou então somente <ALT> + <F[1 a 6]>. Qualquer aplicativo que precise de suporte do servidor gráfico não funcionará neste terminal. O 34
  • 35. Debian Básico - Desktop Paraná interessante dele é que se o modo gráfico travar, o administrador poderá fazer seu diagnostico e corrigir eventuais problemas através de outro acesso ao sistema operacional. Terminal emulado É uma emulação do terminal virtual. Ele é inciado a partir do modo gráfico. A diferença é que no emulado é possível alterar o perfil da tela (cores, transparência, fundo de tela, etc), mas caso o modo gráfico trave, o terminal emulado também travará. Para acessá-lo vá em: Aplicações/Acessórios/Terminal Modo gráfico Por fim, o modo gráfico é outra forma de interação. Com ele, após iniciar uma sessão, o usuário contará com uma interface gráfica e o auxílio do mouse em suas atividades. O problema é que o modo gráfico nem sempre disponibiliza uma forma de se acessar ou alterar alguns arquivos e locais que administradores precisam configurar. USUÁRIOS E GRUPOS O Debian é um sistema multiusuário. Isso quer dizer que vários usuários podem utilizar o mesmo sistema ao mesmo tempo. Mas aí você vem e me diz que isso é impossível, já que só existem conectores para um mouse e um teclado. Quer dizer que se dois usuários quiserem utilizar o mesmo sistema, cada um terá de usar uma metade do teclado e somente um botão do mouse? Calma filha. Utilizam-se terminais virtuais. Pode-ser ter vários usuários conectados em terminais diferentes sendo utilizados um de cada vez através do mesmo conjunto de teclado e monitor; ou então usuários sendo manipulados remotamente por uma ou mais pessoas. Para que haja uma organização das sessões iniciadas, são criados os usuários, que podem ser os de sistema (utilizados somente pelo sistema operacional) e os usuários normais: o joao, a maria, etc. Cada usuário terá locais dentro do computador para armazenar arquivos pessoais e informações referentes às suas preferências. É como se fosse o Documents and Settings do Windows. No linux, o diretório que contém as pastas pessoais é o /home. Se eu me logo como macale, qualquer arquivo que eu gravar em minha pasta pessoal ou Desktop, alterações no GNOME (como temas e papéis de parede), variáveis de ambiente do interpretador de comandos (como definição de proxy, shell padrão do usuário e path), ficam dentro da sua respectiva pasta dentro do /home/macale. Além disso, processos (programas carregados na memória) são gerenciados através de uma série de identificações. Dentre elas, o proprietário e grupo de cada instância do processo. Usuários e grupos servem, então, para que seja possível um bom funcionamento das permissões, gerenciamento de instâncias de processos e armazenamento de configurações pessoais. Superusuário (root) Para que o sistema fique mais seguro, os sistemas baseados no GNU/Linux possuem um usuário administrador que é o único que tem plenos poderes sobre o sistema. Sempre que o administrador precisar fazer alguma configuração, instalação, ou qualquer tarefa de gerenciamento do sistema, deverá estar logado como superusuário, caso contrário esbarrá em proibições devido a falta de permissões. O nome que é dado ao superusuário é root. 35
  • 36. Debian Básico - Desktop Paraná Usuário normal São todos usuários que não sejam o superusuário. Eles, por padrão, só tem permissão de realizar tarefas nos locais e processos que são proprietários. Isso faz com que um usuário não interfira no trabalho do outro. Possuem seus arquivos e configurações alocados dentro de suas pastas pessoais, que por sua vez ficam no endereço /home. pasta pessoal do superusuário é a única que não fica dentro do /home. Fica dentro do próprio diretório raiz. Seu endereço é /root.A Grupos Grupos são obrigatórios nos sistemas baseados no GNU/Linux. Eles é que permitem que usuários com privilégios iguais compartilhem as mesmas permissões de uma forma mais fácil. Se existirem 1000 usuários numa rede, mas somente 10 podem acessar um diretório chamado CAIXA PRETA, deve-se criar um grupo com tal permissão e inserir essas 10 pessoas ao grupo. As outras 990 pessoas serão barradas. Iniciando/finalizando uma sessão Para iniciar uma sessão com um usuário qualquer é necessário que se informe o nome do usuário e a sua respectiva senha. Se as duas chaves estiverem certas, a pessoa terá acesso a todos os locais permitidos ao usuário logado, e o sistema carregará todas as suas configurações feitas anteriormente. A sessão pode ser iniciada em qualquer interface mostrada anteriormente. Vejamos como iniciar a sessão através dos terminais virtuais. Debian Gnu Linux 5.0 amontoado tty1 amontoado login: A tela acima é acessível, caso o usuário esteja no modo gráfico, através do comando <CTRL><ALT><F[1 a 6]>, ou então escolhendo a opção SINGLE MODE no grub. Será necessário inserir primeiramente o nome do usuário e depois a senha. Debian Gnu Linux 5.0 amontoado tty1 amontoado login: fcamargo password: <Digite a senha Normalmente. Os asteriscos não aparecem para aumentar a segurança> Last login: Thu Jan 29 11:00:00 BRST 2009 on tty5 Linux amontoado 2.6.26-1-686 #1 SMP Mon Dec 15 18:15:07 UTC 2008 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribuition terms of each program are described in the individual files in /unix/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to extent permitted by aplicable law. fcamargo@amontoado:~$ o iniciar um terminal emulado, a sessão será iniciada automaticamente com o usuário que entrou no modo gráfico, sem necessidade de digitar novamente a senha.A 36
  • 37. Debian Básico - Desktop Paraná ENTENDENDO O TERMINAL Sempre que você logar no BASH, um dos terminais mais utilizados pelos usuários Linux, uma linha de comando fica disponível para que o usuário digite os comandos. Entenda as informações que aparecem nessa linha: <nome_do_usuário>@<nome_do_computador>:<diretório_corrente>[caractere_de_status] Ex: fcamargo@amontoado:/tmp/$ O caractere cifrão ($) indica que o usuário logado não é o superusário. Isso é obvio, mas com o passar do tempo você notará que esse caractere é mais fácil de se visualizar que o nome do usuário. Para o usuário root, o nome do usuário e o “@” não aparecem, e o caractere de status muda para o jogo da velha. Ex: amontoado:/etc/# Recursos do terminal Comandos Resultado CTRL+C Termina a execução de um programa que esteja sendo executado em 1º plano. CTRL+Z Pára (pausa) a execução de um programa que esteja sendo executado em 1º plano. CTRL+L Limpa a tela e mantém o comando escrito na linha de comando. CTRL+D Sai do sistema (mesma coisa que digitar “logout”). CTRL+U Apaga (similar ao recurso “RECORTAR”) tudo que estiver entre o cursor do teclado e o início da linha de comando. CTRL+Y Insere o trecho recortado com o CTRL+U a partir de onde o cursos estiver. TAB (Completando automaticamente) A tecla <TAB> do teclado permite que o usuário do BASH peça para que ele complete um comando ou um endereço automaticamente, de acordo com as possibilidades existentes. Por exemplo, se # if <TAB> <TAB> if ifconfig ifdown ifup # ifc <TAB> Será automaticamente completado para # ifconfig A mesma coisa acontece com o os endereços. # cd /m <TAB> <TAB> media/ mnt/ # cd /me <TAB> Será automaticamente completado para # cd /media/ COMANDOS PARA INFORMAÇÕES SOBRE SESSÕES who (quem?) Com o comando who é possível ver todos os usuários que estão conectados ao sistema (usuários normais e superusuário, não usuários do sistema, como daemon ou games). 37
  • 38. Debian Básico - Desktop Paraná fcamargo@amontoado:~$ who root tty2 2009-01-29 11:00 fcamargo tty7 2009-01-27 09:56 (:0) fcamargo pts/0 2009-01-29 15:40 (:0.0) fcamargo pts/1 2009-01-29 15:46 (10.15.15.15) Como pode-se observar, os dados apresentados são: [usuário_conectado] [terminal] [data e hora do início da conexão] [interface intermediária] A interface intermediária é aquele que fica entre o sistema operacional e a interface em questão. Se o usuário se loga no modo gráfico, este modo faz uma ponte entre o usuário e um terminal virtual. Como o primeiro modo gráfico é representado por ( : 0 ), então na interface intermediária teremos essa representação. Caso a conexão seja remota, o terminal utilizado sempre será pts/n (onde o “n” é o próximo número disponível), e o intermediário será o IP ou HOSTNAME (nome) do computador remoto. No caso de um terminal emulado, este também utilizará o formato pts/n, porém a interface intermediária será um termo composto pela representação do modo gráfico mais “.0”. e um usuário se logar no modo gráfico, travar a tela e um novo usuário se logar, este novo modo gráfico ganhará a representação ( : 20 ) e se conectará ao terminal tty8.S who am i (quem sou eu?) Este comando mostra o nome do usuário proprietário do terminal. Se existirem 5 abas abertas em um terminal emulado, com este comando você sabe exatamente qual é o usuário dono do terminal em que o comando foi executado e as demais informações vistas anteriomente. fcamargo@amontoado:~$ who am i fcamargo pts/0 2009-01-29 15:40 (:0.0) CORINGAS Existem alguns caracteres que servem como os famosos coringas do baralho. Eles representam muitos outros caracteres. Alguns coringas representam todos caracteres, outros restringem-se a grupos específicos. Eles fazem com que uma tarefa que envolvesse vários arquivos e/ou diretórios acabe se tornando muito mais fácil e rápida. Casas Cada caractere ocupa uma casa. Entende-se como caractere qualquer um dos símbolos presentes nas tabelas de caracteres ASCII ou UTF. [4 casas] Eita [9 casas] Meu Saci! [13 casas] Thunder cats! [28 casas] O Roger come como um cavalo. * (tudo) Este caractere representa todos os caracteres, independente do número de casas. *.odt Representa todos os arquivos terminados em “.odt”. 38
  • 39. Debian Básico - Desktop Paraná Ex: Como deixar de ser feio.odt – CPPC.odt Co* Representa tudo que começa com “Co”. Ex: Comanda.odg – Como deixar de ser feio.odt Co*.odt Representa tudo que começa com “Co” e termina com “.odt”. Ex: Como deixar de ser feio.odt ? (um caractere) É quase igual ao asterisco (*), porém em vez de aceitar ilimitados caracteres no lugar do coringa, terá um número fixo de casas. O número de casas vai ser igual ao número de interrogações que se colocar. B*ço Representa todos os arquivos que começam com “B” e terminam em “ço”. Ex: Bati no Robzila com um ouriço – Beiço B??ço Representa todos os arquivos que começam com “B” e terminam em “ço”, que possuem apenas duas casas entre os dois critérios. Ex: Beiço [2 casas entre B e ço] [ ] (definindo o caractere) Esta é a forma mais precisa de coringa, pois o usuário poderá definir exatamente quais caracteres deverão ser usados como critérios. Cada duplo colchete, independente do número de termos que contiver dentro deles, representarão uma casa (exceto para o caso dos colchetes). [15adB] Representa todos os caracteres que estão dentro das chaves. [a-n] Representa os caracteres que estiverem entre “a” e “n” (somente letras minúsculas). [a-fh] Representa os caracteres que estiverem entre “a” e “f” (somente letras minúsculas) mais a letra “h”. [a-zA-C] Representa todos as letras minúsculas mais as letras maiúsculas entre “A” e “C”. {oi,oe}[14-6] Representa arquivos que tenham nas duas primeiras casas a palavra exata “oi” ou “oe” e na terceira casa qualquer número entre o “4” e “6” mais o “1”. s chaves servem para que os critérios sejam palavras inteiras (não caracter por caracter) e devem substituir os colchetes, não ficar dentro deles. [HD][HD] poderá retornará ou HH ou HD ou DH ou DD. {HD} retornará somente HD. A RECURSIVIDADE Este termo deve ficar bem claro, já que frequentemente um usuário ou administrador terá que utilizá- lo. Vocês cansarão de usar o “-R”. Veja o esquema abaixo para entender a ideia da recursividade. Quando você ler isto pela segunda vez, a recursividade terá acabado. Se for a primeira vez, leia o parágrafo abaixo. Se este for o último parágrafo, apague-o e vá para o parágrafo acima, caso contrário, vá para o próximo parágrafo. Se este for o último parágrafo, apague-o e vá para o parágrafo acima, caso contrário, vá para o próximo parágrafo. Se este for o último parágrafo, apague-o e vá para o parágrafo acima, caso contrário, vá para o próximo parágrafo. 39
  • 40. Debian Básico - Desktop Paraná A recursividade atribuída a um comando faz com que este comando seja executado sobre os arquivos e subdiretórios do último nível, depois nos arquivos e subdiretórios de um nível acima e assim por diante, até chegar a um diretório final que acaba com a recursividade. Você entenderá ele melhor quando começarmos a utilizar alguns comandos. REDIRECIONADORES Programas são compilações de ordens bem definidas que possuem objetivos. Então dados são recebidos, processados pelo processador sob os comandos dos programas e um resultado surge. Podemos dividir este processo em três etapas: 1. Entrada de dados. Isto se dá através do que chamamos Entrada de um comando; 2. Processamento e geração de um resultado, que fica registrado na memória principal aguardando uma indicação de o quê fazer com os dados; 3. Saída dos dados. Isto se dá através do que chamamos Saída de um comando. Os comandos possuem entradas e saídas definidas, que chamamos de entrada e saída Padrão, mas o usuário poderá a qualquer momento alterar a forma de coleta e entraga de dados de um comando. Isso é feito através dos redirecionadores. > Altera a saída de um comando. Iremos usar um exemplo muito simples para que vocês possam entendê-lo. Se dermos um echo em um bash qualquer, a mensagem digitada será mostrada dentro do bash em que o comando rodou (o comando echo será visto na página 78). Este é o padrão, é a saída padrão do comando. Mas podemos fazer com que, em vez de sair no bash corrente, ele saia em outro bash. Vejamos o exemplo a seguir. blanka@amontoado:~$ echo Bom dia estrela do planeta Terra! Bom dia estrela do planeta Terra! Agora iremos abrir uma nova aba utilizando as teclas de atalho <Ctrl>+<Shift>+<t>. Nesta aba, teremos que descobrir qual é o nome da sua interface. blanka@amontoado:~$ who am i fcamargo pts/1 2009-03-10 15:50 (:0.0) Agora iremos voltar para o outro bash eredirecionar a saída para o /dev/pts/1. blanka@amontoado:~$ echo Bom dia estrela do planeta Terra! > /dev/pts/1 blanka@amontoado:~$ Desta vez não apareceu nenhum resultado. Agora vá até o terminal /dev/pts/1 e veja o resultado. Quando um arquivo é usado como saída e usa-se este redirecionar, se o arquivo não existir será criado automaticamente e se o arquivo existir será sobrescrito, tendo como conteúdo o resultado do comando executado antes do “>”. bozo@amontoado:~$ ls / > eita.txt bozo@amontoado:~$ cat eita.txt 40