Este documento fornece instruções passo-a-passo para instalar o sistema operacional GNU/Debian em um computador. Ele explica como identificar o hardware, as opções de instalação, como instalar pacotes e configurar o ambiente gráfico. O documento também lista arquivos importantes e fontes de conhecimento adicional sobre o Debian.
1. Instalando o GNU/Debian
Apostila
2 de dezembro de 2004
Vers˜o 1.10
a
http://bonix.net
Elaborado por Edson Lima Monteiro (boni@usp.br) utilizando LTEX
A
2.
3. ´
Copyright (c) 2004 Edson Lima Monteiro. E dada permiss˜o para copiar, distribuir e/ou modificar
a
este documento sob os termos da Licen¸a de Documenta¸˜o Livre GNU, Vers˜o 1.1 ou qualquer
c ca a
vers˜o posterior publicada pela Free Software Foundation, com as Se¸oes Invariantes sendo os textos
a c˜
da Capa da Frente, isto ´,“Instalando o GNU/Debian”e “ Apostila”, e sem Textos da Quarta-Capa.
e
Uma c´pia da licen¸a pode ser obtida em http://www.gnu.org/licenses/fdl.html.
o c
7. Lista de Tabelas
2.1 Tabela com especificica¸˜o do hardware do computador. . . . . . . . . . . . . . . .
ca 9
4.1 Apontando o apt-get pra o Linorg. . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 Exemplo de como baixar o c´digo fonte. . . . . . . . . . . . . . . . . . . . . . . . 20
o
8.1 Arquivos de configura¸˜o de rede. . . . . . .
ca . . . . . . . . . . . . . . . . . . . . 44
8.2 Arquivos de configura¸˜o de usu´rios. . . . .
ca a . . . . . . . . . . . . . . . . . . . . 44
8.3 Arquivo de configura¸˜o do X Window. . . .
ca . . . . . . . . . . . . . . . . . . . . 45
8.4 Arquivo de configura¸˜o do apt-get. . . . . .
ca . . . . . . . . . . . . . . . . . . . . 45
iii
8.
9. Introdu¸˜o
ca
Este curso nasceu para ser simples, para mostrar como usar um computador com o sistema
operacional GNU/Linux. Recebi o convite para trabalhar nele como uma oportunidade de ajudar
mais pessoas a aprender como usar o GNU/Linux. O que era uma oportunidade transformou-se em
um desafio pois, uma coisa ´ ter conhecimento sobre algo, outra ´ saber compartilh´-lo!
e e a
Comecei com a id´ia fixa de que ”tinha que ser simples”. Comecei a escrever, escrever e escrever.
e
O ”simples”come¸ou a ficar grande. Depois n˜o cabia mais em um cap´
c a ıtulo, nem em uma apostila,
at´ chegarmos nesta vers˜o que vocˆ est´ lendo.
e a e a
J´ n˜o ´ mais simples e n˜o mostra muito ”como usar”, mas sim, ”como instalar”.
a a e a
Eu n˜o dormiria tranquilo se mostrasse como instalar e n˜o fechar as ”portas”. Tamb´m n˜o
a a e a
podia deixar de falar em como manter o sistema atualizado e automatizar isso. Isso pode levar a
uma espiral sem-fim de requisitos.
P´blico Alvo
u
´
O requisito inicial era apenas ser funcion´rio da USP. Era para ser um curso simples, n˜o deveria
a a
exigir quase nenhum conhecimento espec´ ıfico de inform´tica.
a
Isso revelou-se um engano! Escrevi um material que exige uma familiaridade maior do que o
desejado.
O ideal ´ ter algum conhecimento b´sico sobre Unix! Este ´ um requisito desej´vel a partir de
e a e a
agora. Fica claro a necessidade da cria¸˜o de um novo curso para fornecer a base de Unix.
ca
O CCE fornece uma s´rie de cursos da Cisco, dentre eles o de Unix. Este curso poderia ser
e
encarado com uma forma de iniciar com o p´-direito no Linux.
e
Para quem j´ usou alguma vers˜o de Windows e tem familiaridade com os processos de in-
a a
stala¸˜o, atualiza¸˜o e configura¸˜o manual de alguns ´
ca ca ca ıtens, o curso est´ adequado.
a
Para aquele usu´rio de Windows que apenas “usa”uma m´quina previamente preparada para ele,
a a
o curso n˜o est´ preparado para recebˆ-lo.
a a e
1
10. 2
Praticar, praticar e praticar.
Este curso ´ baseado na pr´tica e na repeti¸˜o! Uma vez que vocˆ completou um est´gio guiado
e a ca e a
pelo instrutor, vocˆ dever´ conseguir fazˆ-lo novamente, de preferˆncia sozinho.
e a e e
A aula utiliza esta apostila como base, mas nem tudo pode estar aqui. Mais detalhes podem ser
apresentados durante as discuss˜es e o conte´do sempre fica mais rico. A imagem do monitor do
o u
instrutor ´ projetada em um tel˜o e todos podem ver o que cada passo deve produzir.
e a
Vocˆ deve vir para este curso sabendo que ir´ praticar muitas vezes. Por isso ´ muito importante
e a e
conseguir equilibrar os conhecimentos m´ ınimos. Se um aluno tem muitas dificuldades o instrutor
vai parar a aula para que ele consiga chegar onde os outros est˜o. Se isso ocorrer muitas vezes, o
a
curso fica truncado, e pode causar muitas frusta¸oes a toda a sala.
c˜
Este n˜o ´ um curso para ouvir e, em casa ou no trabalho, tirar as d´vidas sobre os temas que
a e u
n˜o entendeu direito. Vocˆ receber´ toda a ajuda para aprender o que n˜o sabe, apenas certifique-se
a e a a
se est´ preparado para participar.
a
S˜o requisitos necess´rios:
a a
1. Ter pr´tica em digita¸˜o.
a ca
2. Familiaridade com instala¸˜o de software.
ca
3. Disposi¸˜o para ajudar o seu colega de bancada. Se vocˆ j´ terminou a configura¸˜o do seu
ca e a ca
computador e seu parceiro n˜o, ajude-o.
a
4. Leitura antecipada das apostilas do curso.
Requisito desej´vel:
a
1. Familiaridade com algum editor de texto que pode ser usando no console, por exemplo, o VI.
Visite o site www.vim.org e baixe a vers˜o para windows para praticar antes do curso.
a
2. Familiaridade com Unix.
Utiliza¸˜o em outros cursos
ca
Use como quiser, respeitando a Licen¸a!
c
Ficarei agradecido se me avisar do uso este material em algum curso seu ou do qual tenha par-
ticipado. Escreva-me um e-mail contando sua experiˆncia e suas sugest˜es, assim como a data e o
e o
local em que o curso aconteceu.
Isto n˜o ´ uma obriga¸˜o, apenas uma gentileza.
a e ca
11. 3
Novas Vers˜es
o
As atualiza¸oes poderer˜o ser encontradas em: http://www.linorg.usp.br/docs/curso-instalacao-
c˜ a
linux/ ou em http://bonix.net . Assim que receber uma vers˜o impressa, verifique no site se ´ a
a e
vers˜o mais nova.
a
Corre¸˜es
co
Se vocˆ encontrou erros nesta apostila, por favor, me avise para que eu possa corrig´
e ı-los. Apenas
tome o cuidado de verificar se o erro ainda existe no material que est´ dispon´ para “download”.
a ıvel
Ele pode ser mais recente do que o seu.
Lista de Discuss˜o
a
Existe uma lista de discuss˜o para os alunos do curso. Inscreva-se enviando um e-mail para
a
cursolinuxusp-subscribe@yahoogroups.com.
A id´ia ´ criar uma comunidade de usu´rios do GNU/Linux que participaram deste curso. Quando
e e a
u e a a e a a
tiver uma d´vida vocˆ poder´ procurar na lista. L´ vocˆ poder´ encontrar mais pessoas que est˜o
come¸ando e dispostas a ajud´-lo.
c a
Licen¸a
c
Esta apostila ´ publicada sob a Licen¸a de Documenta¸˜o Livre GNU. Vocˆ pode obter uma
e c ca e
c´pia no seguinte site: http://www.gnu.org/licenses/fdl.html .
o
Agradecimentos
Agrade¸o a paciˆncia e compreens˜o de todos os meus alunos. A ajuda deles est´ sendo muito
c e a a
importante na cria¸˜o desta apostila.
ca
Edson Lima Monteiro
12. 1
O que ´ o GNU/Debian
e
“O Debian ´ um sistema operacional (SO) livre para seu computador. Um sistema operacional
e
´ um conjunto de programas b´sicos e utilit´rios que fazem seu computador funcionar. O Debian
e a a
1
usa o kernel Linux, mas grande parte das ferramentas do sistema operacional vˆm do projeto GNU,
e
da´ o nome GNU/Linux.
ı
O Debian GNU/Linux ´ mais que um simples SO: ele vem com mais de 8710 pacotes contendo
e
softwares pr´-compilados e distribu´
e ıdos em um bom formato, que torna f´cil a instala¸˜o deles na
a ca
2
sua m´quina.”
a
http://www.br.debian.org/intro/about
http://www.br.debian.org/doc/manuals/project-history/ch-intro.pt.html
1.1 Pron´ncia
u
A pron´ncia oficial de Debian ´ ’d´bian’. O nome vem do nome do criador do Debian, Ian
u e e
3
Murdock, e sua esposa, Debra.
1.2 Quando surgiu?
O Projeto Debian foi oficialmente fundado por Ian Murdock em 16 de Agosto de 1993. Naquele
tempo, o conceito de uma ”distribui¸˜o”de Linux era novo. Ian pretendia que o Debian fosse uma
ca
distribui¸˜o criada abertamente, no mesmo esp´
ca ırito do Linux e do GNU (leia seu manifesto fornecido
como apˆndice nesse documento para maiores detalhes). A cria¸˜o do Debian teve o apoio do projeto
e ca
GNU da FSF durante um ano (Novembro de 1994 a Novembro de 1995). 4
1
N´cleo de um sistema operacional.
u
2
Retirado do site http://www.br.debian.org .
3
Retirado do site http://www.br.debian.org/doc/manuals/project-history/ch-intro.pt.html .
4
Retirado do site http://www.br.debian.org/doc/manuals/project-history/ch-intro.pt.html .
4
13. Main, Contrib e Non-Free 5
1.3 Codinomes
Para saber sobre os nomes que cada uma das vers˜es do Debian recebeu, leia esta referˆncia:
o e
http://www.br.debian.org/doc/manuals/project-history/ch-releases.pt.html
1.4 Stable, Testing e Unstable
O desenvolvimento da distribui¸˜o Debian segue um r´
ca ıgido controle de qualidade. A vers˜o con-
a
hecida como est´vel (stable) ´ exaustivamente testada e corrigida. Quando o conjunto de pacotes
a e
atinge esta maturidade, eles s˜o congelados (freeze) na vers˜o em que est˜o, e uma nova vers˜o
a a a a
est´vel ´ lan¸ada.
a e c
O intervalo de tempo entre o lan¸amento de duas vers˜es est´ves pode levar 1 ou at´ 2
c o a e
anos. O compromisso ´ com a qualidade, ao contr´rio de outras distribui¸oes que soltam “re-
e a c˜
leases”incompletos, devido as press˜es de mercado.
o
Isto ´ motivo de alguma confus˜o para aqueles n˜o habituados a utilizar o Debian. Quando
e a a
a e c
uma nova vers˜o de um pacote ´ lan¸ada, digamos o Apache da s´rie 2, ele n˜o ´ inclu´ na
e a e ıdo
vers˜o est´vel, que disponibiliza apenas a s´rie 1.3 . Somente problemas graves, como um “bug”de
a a e
seguran¸a, ´ que permitem a altera¸˜o de um pacote da distribui¸˜o est´vel.
c e ca ca a
Digamos que a vers˜o est´vel do Debian esteja utilizando o Apache 1.3.26. Se um “bug”de
a a
seguran¸a for encontrado neste pacote, o time de desenvolvimento do Apache vai lan¸ar a vers˜o
c c a
corrigida com o n´mero 1.3.27, por exemplo. O time de desenvolvimento do Debian tamb´m vai
u e
corrigir o pacote, mas o n´mero vers˜o dele ser´ alterado para 1.3.26-1, por exemplo. Algu´m n˜o
u a a e a
habituado com o Debian vai achar que est´ usando uma vers˜o errada.
a a
Na estrutura de diret´rios dos softwares a nova vers˜o do Debian est´ nas “´rvores”teste e
o a a a
inst´vel. O time de desenvolvimento coloca seus pacotes na ´rvore experimental. Em seguida os
a a
pacotes s˜o migrados para a inst´vel e, ap´s algum tempo, eles s˜o migrados para a ´rvore teste.
a a o a a
´
Isto significa que ele j´ teve um tempo suficiente para testes e n˜o apresentou problemas. E poss´
a a ıvel
fazer a instala¸˜o de um sistema com a ´rvore teste, mas isso exige conhecimento para resolver
ca a
problemas com pacotes “jovens”.
A vers˜o inst´vel exige grande conhecimento e capacidade de resolver problemas de configura¸˜o e
a a ca
instala¸˜o.
ca
1.5 Main, Contrib e Non-Free
Os pacotes podem ser classificados quanto ao tipo de Licen¸a de Software que seguem. No site
c
do Debian podemos encontrar a seguinte explica¸˜o:
ca
“Todos os pacotes inclu´
ıdos a distribui¸˜o oficial do Debian s˜o livres de acordo com a Defini¸˜o
ca a ca
Debian de Software Livre. Isso assegura uso livre e redistribui¸˜o de pacotes com seu c´digo fonte
ca o
completo. A distribui¸˜o oficial do Debian ´ a que est´ contida na se¸˜o main do reposit´rio do
ca e a ca o
14. 6 Custo versus Benef´
ıcio
Debian.
Como um servi¸o para nossos usu´rios, provemos pacotes em se¸oes separadas que n˜o podem ser
c a c˜ a
inclu´ na distribui¸˜o main por causa de uma licen¸a restritiva ou problemas legais. Eles incluem:
ıdas ca c
Contrib Pacotes nessa ´rea s˜o livremente licenciados pelo detentor do copyright mas dependem
a a
de outros pacotes que n˜o s˜o livres.
a a
Non-Free Pacotes nessa ´rea tˆm algumas condi¸˜es na licen¸a que restringem o uso ou redis-
a e co c
tribui¸˜o do software.
ca
Non-US/Main Pacotes nessa ´rea s˜o livres mas n˜o podem ser exportados de um servidor nos
a a a
EUA.
Non-US/Non-Free Pacotes nessa ´rea tˆm algumas condi¸˜es na licen¸a que restringem o uso ou
a e co c
redistribui¸˜o do software. Eles n˜o podem ser exportados dos EUA porque eles s˜o pacotes
ca a a
de criptografia que n˜o s˜o reconhecidos pelo procedimento de controle de exporta¸oes, que
a a c˜
´ usado para os pacotes que est˜o no Main. Ou ent˜o eles n˜o podem ser armazenados em
e a a a
um servidor nos EUA porque eles est˜o envolvidos com problema de patentes. Pacotes nessa
a
´rea n˜o necessariamente custam dinheiro, mas tˆm algumas condi¸˜es onerosas na licen¸a
a a e co c
restringindo o uso ou distribui¸˜o do software.
ca
Non-US/Main e Non-US/Non-Free Esses pacotes n˜o podem ser exportados dos EUA, eles
a
s˜o em sua maioria pacotes de software de criptografia ou software que est´ obstru´ por
a a ıdo
problemas com patentes. A maioria deles ´ livre mas alguns s˜o n˜o-livres.
e a a
Note que os mesmos pacotes podem aparecer em muitas distribui¸oes, mas com n´meros de
c˜ u
5
vers˜o diferentes.”
a
1.6 Custo versus Benef´
ıcio
Para evitarmos algums enganos ou incompreens˜es, precisamos falar acerca do elevado tempo
o
entre novas vers˜es do Debian. Quando uma vers˜o est´vel ´ liberada, ela n˜o ´ alterada a menos
o a a e a e
de algum bug. Quando isto ocorre, apenas o pacote problem´tico ´ corrigido e n˜o atualizado para
a e a
´ muito importante que vocˆ tenha isso em mente quando for fazer uma
a vers˜o mais recente. E
a e
instala¸˜o.
ca
Isso torna-se um incˆmodo pricipalmente quando se faz a instala¸˜o de uma esta¸˜o de trabalho.
o ca ca
Geralmente um usu´rio quer a vers˜o mais recente de determinado programa, seja por melhorias no
a a
o
c´digo, seja por novas caracter´ e
ısticas. Se vocˆ estiver usando a vers˜o est´vel, a unica forma de
a a ´
conseguir isso ´ instalar a vers˜o mais recente. Isso pode exigir desde a recompila¸˜o do pr´prio
e a ca o
programa, at´ a recompila¸˜o dele e de seus pr´-requisitos. Vocˆ n˜o vai conseguir isso fazendo o
e ca e e a
“apt-get install”.
Se a sua instala¸˜o for para um servidor, isso pode ser menos problem´tico. Na maior parte do
ca a
tempo vocˆ estar´ suficientemente provido de bons pacotes. Um servidor tamb´m precisa de um
e a e
5
http://www.br.debian.org/distrib/packages
15. Custo versus Benef´
ıcio 7
administrador experiente e capaz de manter o sistema funcionando. Teoricamente ele seria capaz
de instalar um pacote que n˜o est´ na distribui¸˜o Debian.
a a ca
Em alguns casos, o CD de instala¸˜o pode n˜o conter um “drive”para uma vers˜o nova de
ca a a
controladora SCSI. Isso vai exigir mais do administrador para que ele consiga fazer a instala¸˜o do
ca
sistema operacional. Eventualmente, ele poder´ gerar um disket com os m´dulos necess´rios. Em
a o a
casos como esse, as solu¸oes come¸am a deixar de ser triviais.
c˜ c
Com a intenc˜o de utilizar vers˜es mais novas de alguns pacotes, algu´m pode ter a id´ia de
a o e e
misturar a “´rvore”est´vel com a teste ou pior, com a inst´vel. Este procedimento pode gerar
a a a
resultados imprevis´ıveis, e nem sempre vocˆ poder´ encontrar ajuda por estar fazendo algo muito
e a
fora dos padr˜es.
o
Vocˆ deve saber isso antes de instalar um servidor ou uma m´quina “de mesa”. Se a vers˜o
e a a
est´vel pode ser “est´vel como uma rocha”, ela pode ser d˜o dura quanto se precisar de um pro-
a a a
grama nov´ıssimo!
16. 2
Identificar o Hardware
Vamos descobrir se o sistema tem os pr´-requisitos de hardware para a instala¸˜o.
e ca
2.1 Fontes de Informa¸˜o
ca
As fontes de informa¸˜es necesss´rias para o conhecimento do hardware de que dispomos s˜o:
co a a
• Manuais de cada compontente do computador.
• Na falta dos manuais, as caixas de embalagem dos compontes.
• Informa¸˜es fornecidas pela BIOS.
co
• Outro sistema operacional que j´ esteja instalado no computador.
a
• O administrador da sua rede local ou provedor de Internet.
A tabela 2.1 mostra as principais informa¸oes que devemos obter para cada compontente es-
c˜
pec´
ıfico:
2.2 Meu hardware ´ compat´ com o Linux?
e ıvel
Agora que temos a descri¸˜o dos principais componentes instalados em nosso computador, pre-
ca
cisamos saber se eles s˜o compat´
a ıveis com o Linux.
Al´m disso, ´ preciso saber se a vers˜o do Linux que iremos instalar suporta este hardware. As
e e a
vers˜es que s˜o desenvolvidas por grandes empresas como a Red Hat, Conectiva ou Suse, costumam
o a
ter os drives mais recentes. Outras vers˜es, como a Debian, n˜o contem estes drives em suas
o a
vers˜es est´veis.
o a
As fontes de informa¸˜o sobre a compatibilidade do hardware com a vers˜o do Linux, podem
ca a
ser, entre outras, as seguintes:
• Linux Hardware Compatibility HOWTO
(http://www.linorg.usp.br/LDP/HOWTO/Hardware-HOWTO/ )
8
17. Meu hardware n˜o ´ compat´ com o Linux!
a e ıvel 9
Informa¸oes para cada tipo de componente
c˜
Componente Quantidades ou Ordem ou Tipo Descri¸˜o dos Itens
ca
Quantos discos existem
A ordem em que est˜o instalados
a
Disco R´
ıgido Quais s˜o as parti¸oes
a c˜
Capacidade (Gb)
Modelo e fabricante
Resolu¸oes suportadas
c˜
Taxa de atualiza¸˜o horizontal (opcional)
ca
Monitor Taxa de atualiza¸˜o vertical (opcional)
ca
Tamanho da Tela (Polegadas)
Tipo: serial, ps2 ou usb
Mouse Fabricante
N´mero de Bot˜es
u o
Modelo e Fabricante
Taxa suportada (10 ou 100 Mb/s)
N´mero IP
u
Placa de Rede Netmask
Gateway
Servidor DNS
Nome do computador (host)
Dom´ ınio
Placa de V´
ıdeo Modelo e Fabricante
Mem´ria de v´
o ıdeo dispon´
ıvel
Placa de Som Modelo e Fabricante
Modelo e Fabricante
Mem´ria
o Quantidade dispon´ ıvel
Processador Modelo e Fabricante
Frequˆncia (Mhz)
e
Tabela 2.1: Tabela com especificica¸˜o do hardware do computador.
ca
• LinuxPrinting.org (http://www.linuxprinting.org/)
• Site do Fabriante do Hardware
• Grupos de Discuss˜o da vers˜o de Linux utilizada
a a
• Sites de Busca (http://www.google.com/)
2.3 Meu hardware n˜o ´ compat´ com o Linux!
a e ıvel
Neste caso, procure substituir o componente que n˜o ´ compat´
a e ıvel. Em geral, os componentes
mais antigos ou que existem no mercado h´ alguns meses, funcionam facilmente e at´ podem ser
a e
reconhecidos automaticamente.
Infelizmente, nem todos os fabricantes de hardware lan¸am drivers para o Linux!
c
18. 10 N˜o compre equipamento sem suporte para Linux
a
2.4 N˜o compre equipamento sem suporte para Linux
a
Se vocˆ tiver influˆncia nas decis˜es de compra de sua unidade, alerte seus colaboradores.
e e o
Na sua unidade de trabalho, explique os perigos da compra de hardware sem suporte para Linux.
No futuro, se vocˆ for tentar utilizar aquele computador com o Linux, poder´ ficar frustrado. Corre-
e a
se o risco de aprisionar-se duas vezes, uma quando comprar um software propriet´rio e, a outra,
a
quando comprar hardware com suporte para apenas um sistema operacional propriet´rio. a
Imagine as seguintes possibilidades:
• N˜o existem recursos para comprar um software propriet´rio e vocˆ decidiu que quer experi-
a a e
mentar um similar, mas que s´ roda em Linux.
o
• Um computador ser´ substitu´ por outro mais novo, e vocˆ gostaria de utilizar o antigo com
a ıdo e
Linux.
• O software mais adequado ou eficiente que vocˆ quer utilizar roda melhor no Linux (Apache
e
por exemplo).
Se vocˆ comprou a placa de rede nov´
e ıssima no mercado, de um fabricante que n˜o expecifica
a
nenhuma vers˜o de Linux em as plataformas suportadas, vocˆ est´ em uma armadilha. S´ poder´
a e a o a
utilizar os sistemas operacionais suportados, que provavelmente s˜o os propriet´rios.
a a
“Em uma empresa p´blica essa quest˜o ´ extremamente importante. O dinheiro p´blico deve ser
u a e u
gasto da melhor forma poss´
ıvel! Se a melhor alternativa for um produto propriet´rio, tudo bem, que
a
ven¸a o melhor. Mas se a melhor alternativa for Livre, n˜o fique aprisionado no hardware tamb´m1 .”
c a e
.
1
Nota do autor
19. 3
Instala¸˜o
ca
Vamos aprender a fazer a instala¸˜o do sistema b´sico. Ela ser´ feita atrav´s de uma interface
ca a a e
modo texto. Este tipo de procedimento n˜o consome mais do que 200MB de disco r´
a ıgido e pode
ser feito rapidamente, em 30 min vocˆ pode ter o sistema b´sico funcionando. Este tempo pode
e a
variar, dependendo da sua pr´tica.
a
Neste curso, faremos este tipo de instala¸˜o todos os dias. No primeiro dia ela ser´ bem lenta,
ca a
acompanhando os instrutor. Logo em seguida, os alunos repetir˜o o procedimento no seu pr´prio
a o
ritmo. Do segundo dia em diante, a primeira tarefa do aluno ao chegar a sala ´ refazer a instala¸˜o
e ca
do seu computador.
J´ ´ poss´ fazer a instala¸˜o do Debian utilizando uma interface gr´fica, igual ao do RedHat.
ae ıvel ca a
A empresa Progeny portou o programa anaconda para o Debian. Este programa ´ o respons´vel
e a
por aquele tipo de instala¸˜o gr´fica. Este tipo de instala¸˜o n˜o faz parte da distribui¸˜o oficial
ca a ca a ca
e o motivo ´ simples. O Debian suporta cerca de 11 arquiteturas, o que siginifica dizer que, o
e
procedimento de instala¸˜o, deve ser o mesmo em todas elas. O anaconda s´ est´ dispon´ para
ca o a ıvel
a arquitetura i386 e por isso n˜o foi incorporado na distribui¸˜o oficial. As imagens dos cds da
a ca
Progeny est˜o dispon´
a ıveis no Linorg em http://www.linorg.usp.br/iso/debian/progeny/ .
O procedimento de instala¸˜o descrito aqui ´ para o Debian 3.0, ele deve mudar para a vers˜o
ca e a
3.1. Quando a nova vers˜o for lan¸ada oficialmente, a apostila ser´ atualizada.
a c a
3.1 Formas de Instala¸˜o
ca
A instala¸˜o pode iniciar utilizando os seguintes meios:
ca
• Disket
• CD
• DVD
A instala¸˜o mais comum hoje em dia ´ aquela que inicia utilizando CDs. Hoje em dia a maior
ca e
parte dos computadores possui um leitor de CD. Os gravadores para este tipo de m´ tamb´m est˜o
ıda e a
se tornando muito comuns, o que facilita o acesso e utiliza¸˜o dos CDs. Muitas revistas tamb´m
ca e
11
20. 12 Instala¸˜o B´sica
ca a
distribuem os CDs de v´rias distribui¸˜es linux.
a co
Para fazer a instala¸˜o do Debian, o primeiro CD ´ o suficiente para o sistema b´sico. Se vocˆ
ca e a e
tiver acesso a uma rede r´pida, o demais pacotes ser˜o baixados pela rede. A instala¸˜o por CD ´
a a ca e
o m´todo que utilizaremos neste curso.
e
Se o acesso a rede fosse lento, os trˆs primeiro CDs seriam o suficiente para instalar o sistema
e
b´sico e os pacotes mais utilizados:
a
• http://www.linorg.usp.br/iso/debian/3.0 r2/debian-30r2-i386-binary-1.iso
• http://www.linorg.usp.br/iso/debian/3.0 r2/debian-30r2-i386-binary-2.iso
• http://www.linorg.usp.br/iso/debian/3.0 r2/debian-30r2-i386-binary-3.iso
Tamb´m ´ poss´ utilizar um DVD, mas ainda n˜o tive acesso para testar. A instala¸˜o por
e e ıvel a ca
disket est´ descrita no final da apostila. A distribui¸˜o Debian 3.0 utiliza sete CDs ao todo, ´ a que
a ca e
disp˜em a maior quantidade de programas. A nova vers˜o est´vel utilizar´ 13 CDs.
o a a a
3.2 Instala¸˜o B´sica
ca a
Passos para a instala¸˜o a partir do primeiro CD boot´vel:
ca a
´
1. FACA UMA COPIA DE SEGURANCA DE SEUS DADOS.
¸ ¸
2. Altere a BIOS do computador e selecione a unidade de CDROM como primeiro dispositivo de
boot.
3. Desabilite qualquer prote¸˜o contra v´ da BIOS.
ca ırus
4. Reboot o computador com o primeiro CD na unidade de CDROM.
5. Quando o sistema bootar, pressione a tecla F3 para conhecer quais as vers˜es do kernel
o
dispon´
ıveis para utilizar. N´s iremos escolher a op¸˜o bf24.
o ca
6. Dependendo de sua placa de rede, existe a chance dela ser detectada neste mo-
mento. Isto pode ser comprovado se, durante as mensagens que aparecer˜o na
a
tela, aparecer uma linha onde se pode ler “eth0”.
7. Configurar o Idioma.Selecione: Portuguˆs
e
8. Configure o teclado.Selecione: Brasileiro (teclado padr˜o EUA)
a
9. Particione o Sistema. Vocˆ ter´ que dividir o disco r´
e a ıgido em parti¸oes de swap ou ext3. Al´m
c˜ e
disso, ter´ que dizer qual parti¸˜o ext3 ´ “boot´vel”.
a ca e a
10. Inicializar e Ativar uma Parti¸˜o Swap
ca
11. Executar checagem de blocos. O sistema perguntar´ se vocˆ tem certeza que quer fazer a
a e
checagem, confirme.
21. Instala¸˜o B´sica
ca a 13
12. Inicializar uma Parti¸˜o Linux
ca
13. Executar checagem de blocos. O sistema perguntar´ se vocˆ tem certeza se quer fazer a
a e
checagem, confirme.
14. Montar uma Parti¸˜o Linux j´ Inicializada
ca a
15. Instalar o Kernel e os M´dulos a partir do CDROM. O sistema detectar´ um CDROM Debian
o a
e peguntar´ se poder´ us´-lo.
a a a
16. Configurar os M´dulos dos Controladores de Dispositivos
o
Principais M´dulos para nosso Hardware de Aula
o
Placa de Rede Procure pelo nome mais pr´ximo poss´
o ıvel.
17. Fazer a Instala¸˜o usando DHCP: N˜o.
ca a
18. Configurar a Rede.
HOSTNAME Insira o nome do seu computador.
DHCP N˜o iremos usar dhcp.
a
IP Digite o n´mero IP.
u
NETMASK Digite o n´mero de netmask.
u
GATEWAY Digite o n´mero do gateway.
u
DOMAIN Digite o nome do seu dom´
ınio.
DNS Digite o n´mero do servidor de DNS.
u
19. Instalar o Sistema B´sico
a
20. Fazer o Sistema Inicializ´vel
a
• Escolher em qual parti¸˜o ser´ gravada a informa¸˜o de boot. Neste momento iremos
ca a ca
alterar a MBR e escolheremos gravar na parti¸˜o /dev/hda.
ca
• Escolha a op¸˜o de “incluir todos”. Ela tenta adicionar `s op¸oes de boot todos os
ca a c˜
sistemas operacionais que ele encontrar.
• Crie o disco de boot!!!
• Agora iremos “reiniciar”o sistema. Quando for perguntado se deseja realmente fazer isso
poder´ retirar o cd do leitor de CDROM.
a
• Aceitar a op¸˜o de reiniciar o sistema.
ca
21. O Momento da Verdade: o computador reiniciar´ e dever´ carregar o linux.
a a
22. Configura¸˜o da Debian p´s-inicializa¸˜o (base). Sua instala¸˜o inicial foi bem sucedida e
ca o ca ca
agora vc iniciar´ a etapa final de instala¸˜o. Infelizmente a instala¸˜o vai continuar em Inglˆs.
a ca ca e
23. Configurando o Fuso Hor´rio
a
GMT ou Greenwich Mean Time Diga n˜o a esta op¸˜o.
a ca
Zona Geogr´fica Escolha Am´rica.
a e
22. 14 Discos R´
ıgidos N˜o Particonados
a
Zona Geogr´fica Escolha S˜o Paulo.
a a
24. Senhas MD5. Escolha YES. O MD5 ´ um algoritmo de encripta¸˜o de senhas mais seguro
e ca
que o padr˜o CRYPT.
a
25. Suporte a Senhas Ocultas (Shadow Password). Escolha YES.
26. Escolher a senha do usu´rio root
a
27. Criando um usu´rio comum (n˜o-root).
a a
28. Removendo PCMCIA. Escolha YES para removermos os pacotes de pcmcia.
29. Configurar o PPP: N˜o.
a
30. O sistema de instala¸˜o pergunta se queremos utilizar o PPP para fazer a instala¸˜o via rede.
ca ca
Escolha NO porque n˜o estamos usando modem.
a
31. Configurando o APT Vamos escolher de onde iremos baixar os pacotes do GNU/Debian.
• Meio de acesso ao reposit´rio de pacotes: HTTP.
o
• Classes de pacotes que vamos querer instalar no sistema. Diga YES para as op¸˜es
co
NON-US, NON-FREE e CONTRIB.
• Agora temos a op¸˜o de escolher um servidor de uma lista ou fornecer manualmente qual
ca
queremos usar. Vamos fazer manualmente para podermos cadastrar o Linorg.
• Hostname: www.linorg.usp.br
• O diret´rio onde est˜o os pacotes (/debian) j´ est´ selecionado, basta dar o OK.
o a a a
• Configura¸˜o de proxy. Deixe em branco e selecione OK.
ca
• Agora ser´ feito um teste para ver se ´ poss´ alcan¸ar o servidor www.linorg.usp.br.
a e ıvel c
• O sistema de instala¸˜o pergunta se queremos cadastrar outro servidor. Podemos dizer
ca
que n˜o, o Linorg j´ ´ o suficiente.
a ae
• O sistema de instala¸˜o quer saber se vamos buscar as atualiza¸oes de seguran¸a do site
ca c˜ c
security.debian.org. Selecione NO. Faremos este passo em outro momento.
• Quer adicionar outro servidor de onde baixar´ os programas: Selecione NO.
a
32. Agora seram apresentados dois m´todos de instala¸˜o de pacotes por categorias. Diga NO
e ca
para os dois m´todos: tasksel e deselect.
e
33. Configura¸˜o do EXIM: escolha a op¸˜o 5, isto ´, sem configura¸˜o do servidor de e-mail.
ca ca e ca
Depois nos iremos desativar este servi¸o.
c
34. Have fun!. Parab´ns, vocˆ conseguiu!
e e
3.3 Discos R´
ıgidos N˜o Particonados
a
Esta ´ a ocorrˆncia mais comun e precisamos tomar muito cuidado quando fizermos uma in-
e e
stala¸˜o. Os riscos de perda total do atual sistema instalado s˜o muito grandes, principalmente
ca a
quando ainda n˜o temos muita pr´tica em instala¸oes, at´ mesmo quando temos muita experiˆncia
a a c˜ e e
isso ocorre.
23. Instala¸˜o de dois Sitemas Operacionais
ca 15
Apenas Windows Instalado
Os passos podem ser resumidos assim:
• Fa¸a um ”scandisk” completo de todo o disco.
c
• Fa¸a a desfragmenta¸˜o de todo o disco.
c ca
• Anote quantos MBs de dados vocˆ tem instalados.
e
• Inicie a Instala¸˜o do Linux
ca
• No momento do particonamento, antes de fazer qualquer altera¸˜o, anote os tamanhos e os
ca
formatos das parti¸˜es existentes.
co
• Particone o disco. Apague a parti¸˜o Windows original, crie outra com um tamanho maior
ca
´
do que a capacidade utilizada, mas deixando um espa¸o para o Linux. E importante que vocˆ
c e
recrie a parti¸˜o Windows com o mesmo nome (tipo) que ela tinha antes de ser apagada.
ca
• Crie uma, pelo menos, duas parti¸oes para o Linux. Uma para “swap”e outra para o sistema
c˜
operacional.
• A partir daqui ´ s´ seguir o procedimento adequado para a distribui¸˜o GNU/Linux escolhida.
e o ca
Apenas Linux Instalado
Neste caso n˜o h´ o que ser feito. N˜o existe um procedimento que permita a continuidade do
a a a
atual sistema e a instala¸˜o do novo. Vocˆ pode fazer um backup da atual instala¸˜o, particionar
ca e ca
o disco e reinstalar a antiga e a nova vers˜o do GNU/Linux, cada uma em sua respectiva partic˜o.
a a
3.4 Instala¸˜o de dois Sitemas Operacionais
ca
Para instalar, do zero, dois ou trˆs sistemas operacionais, ´ preciso tomar cuidado quando um
e e
deles for o Windows98. Eu sempre li e ouvi que o Windows deveria ser instalado primeiro, mas
nunca soube qual a raz˜o exata e nem o que aconteceria se n˜o seguisse o conselho. At´ que eu
a a e
descobri e, garanto, vocˆ n˜o vai querer passar pela mesma situa¸˜o.
e a ca
A motiva¸˜o foi um scanner que n˜o tem suporte no Windows XP, ent˜o eu precisei instalar o
ca a a
Windows98. Para experimentar, eu resolvi contrariar a regra e fiz a instala¸˜o come¸ando com o
ca c
Linux. Particionei o disco r´
ıgido com 1 parti¸˜o VFAT, 3 Ext3 e 1 com NTFS, nesta ordem. Instalei
ca
primeiro o Linux e configurei tudo certinho. Fui para o XP, e fiz tudo novamente at´ completar a
e
instala¸˜o do ultimo drive. Por fim, veio a vez do Windows98. Ele reconheceu que haviam outras
ca ´
partic˜es com um formato diferente do VFAT. O que ele fez??? Sem pedir confirma¸˜o come¸ou a
o ca c
formatar as outras parti¸oes.
c˜
A esta altura vocˆ j´ pode imaginar a minha cara e o que eu estava dizendo em frente `quela
e a a
tela azul.
24. 16 Instala¸˜o de dois Sitemas Operacionais
ca
A solu¸˜o foi instalar o Windows98 primeiro, aproveitei para fazer o upgrade para o Millenium.
ca
O Windows XP foi o pr´ximo e n˜o apresentou ou causou algum problema. Por ultimo foram as
o a ´
duas instala¸oes de Linux. Uma parti¸˜o ficou para testes, quem sabe um espa¸o para algum BSD.
c˜ ca c
Para completar a hist´ria, al´m do scanner, a impressora s´ funcionava no Windows98. Certo dia
o e o
me pediram para imprimir um arquivo no formato .doc. Tranquilamente fiz o boot no Windows98
e pedi para ele ler o disket. Ao ler o disket ele n˜o s´ travou, como causou um dano em si mesmo,
a o
danificou o pr´prio sistema operacional impossibilitando o seu uso depois disso. N˜o adiantou re-
o a
bootar, n˜o aparecia nada na tela.
a
Pior ainda, eu n˜o poderia mais iniciar a re-instala¸˜o do Windows98 sem correr o risco de perder
a ca
tudo o que estava nas outras parti¸˜es.
co
Estou acorrentado ao software e ao hardeware! Por isso tome muito cuidado na hora de comparar
um hardware!
25. 4
Como instalar pacotes
4.1 Apt-get
O principal instalador de pacotes que vamos utilizar ´ o apt-get. A maior parte das vezes em
e
que precisarmos instalar ou remover um pacote ser´ com ele.
a
´
E frequente falarmos em pacotes ao inv´s de programas quando o assunto ´ instala¸˜o. Isso
e e ca
vem da id´ia de “empacotamento”de programas, que ´ a forma como cada distribui¸˜o organiza
e e ca
os programas que a constituem. No Debian, cada pacote termina com a extens˜o ”.deb”, nas
a
distribui¸˜es derivadas do RedHat a extens˜o ´ ”.rpm”.
co a e
Alguns pontos sobre como usar o “apt-get”devem ser ressaltados:
1. Apenas o usu´rio root pode instalar ou remover pacotes.
a
2. S´ uma instˆncia do “apt-get”pode ser executada. A segunta tentativa de iniciar, simultane-
o a
amente, a instala¸˜o de um pacote, vai gerar uma mensagem de erro.
ca
Para instalar um pacote o “apt-get”segue a seguinte ordem:
Baixa Ele acessa o mirror que vocˆ configurou e faz o “download”do pacote para o seu computador.
e
O diret´rio /var/cache/apt/archives recebe os pacotes baixados.
o
Abre o arquivo O pacote ´ ”aberto”para iniciar a instala¸˜o.
e ca
Configura Dependendo do pacote, antes de instalar, ´ necess´rio perguntar sobre algum tipo de
e a
preferˆncia ao usu´rio.
e a
Instala Todos os componentes do pacote s˜o copiados para os diret´rios devidos.
a o
As principais ac˜es que executaremos com este comando s˜o:
o a
apt-get update Existe uma lista que cont´m uma descri¸˜o de todos os pacotes dispon´
e ca ıveis para o
Debian. O “apt-get”n˜o ´ um advinho! Ele consulta esta lista para saber o que pode instalar.
a e
Este comando faz uma compara¸˜o entre a lista que vocˆ tem armazenada e a lista que est´
ca e a
no servidor de pacotes. Se a sua lista for mais velha, ele faz o “download”da mais recente. A
atualiza¸˜o de um unico pacote provoca o lan¸amento de um nova lista.
ca ´ c
17
26. 18 Apt-get
apt-get upgrade No caso de existir uma nova lista de pacotes, vocˆ deve verificar se, para algum
e
programa que est´ instalado em seu sistema, existe uma vers˜o mais recente. Ao executar
a a
o “apt-get upgrade”, se nenhum pacote for instalado, significa que o pacote que gerou a
emiss˜o da nova lista n˜o est´ instalado em seu sistema. Caso contr´rio, a nova vers˜o deste
a a a a a
programa ser´ instalada. N˜o ´ preciso dizer qual pacote vocˆ quer atualizar, independente
a a e e
de ser um ou dez, ele far´ tudo sozinho.
a
apt-get clean Ap´s a instala¸˜o de um pacote, n˜o precisamos mais manter o arquivo ”.deb”em
o ca a
nosso sistema. O processo de instala¸˜o n˜o remove os pacotes baixados! Se vocˆ n˜o
ca a e a
removˆ-los come¸ar´ a acumul´-los no disco r´
e c a a ıgido. Com o passar do tempo isso pode causar
um problema de falta de espa¸o.
c
apt-get install NOME Executamos este comando para instalar um pacote chamado “NOME”. Se
queremos instalar mais programas, basta escrever todos os nomes, separados por pelo menos
um espa¸o. Se um pacote precisa de outros para ser instalado, isto ´, se ele tem pr´-requisitos,
c e e
eles tamb´m ser˜o selecionados para instalar. Quando vocˆ pede para instalar um pacote que
e a e
n˜o tem dependˆncias, o “download”come¸a imediatamente. Caso existam dependˆncias,
a e c e
elas s˜o mostradas para vocˆ e o programa epera a sua confirma¸˜o (Y/n) para continuar.
a e ca
Existem v´rios motivos para ele esperar por uma confirma¸˜o: a lista de dependˆncias pode
a ca e
ser muito grande e vocˆ n˜o quer instalar todos os pacotes, vocˆ n˜o tem espa¸o em disco
e a e a c
suficiente para instalar o programa e/ou suas dependˆncias, o pacote ´ incompat´ com outro
e e ıvel
j´ instalado e ele exige que este seja removido.
a
apt-get remove NOME Para remover um ou mais pacotes executamos este comando. Estaremos
desfazendo a instala¸˜o, n˜o removendo o pacote com a extens˜o “.deb”do disco r´
ca a a ıgido. Em
alguns casos os arquivos de configura¸˜o do pacote s˜o mantidos. Isso pode ser bom ou mal.
ca a
Se vocˆ removeu um pacote por acidente, todo o seu trabalho de configura¸˜o dele ainda
e ca
estar´ preservado. Preste aten¸˜o `s mensagens mostradas durante a remo¸˜o de um pacote
a ca a ca
para saber o que est´ acontecendo.
a
apt-get –purge remove NOME Para remover um pacote e seus arquivos de configura¸˜o
ca
apt-get install –reinstall NOME Em algumas situa¸oes precisaremos reinstalar um pacotes j´
c˜ a
existente. Este ´ o comando que permite que isso aconte¸a. Tome o cuidade de fazer uma
e c
c´pia dos seus arquivos de configura¸˜o para n˜o ter surpresas. Esse comando ser´ usado
o ca a a
poucas vezes durante o curso. Se vocˆ seguir todos os passos nem precisar´ dele.
e a
Vocˆ deve estar se perguntando como fazer para saber o que instalar, ou qual o nome de um
e
determinado programa no Debian. Para responder a essas d´vias vamos aprent´-los a trˆs progra-
u a e
mas criados para resolver este problema.
apt-cache search NOME Para procurar por um pacote chamado NOME executamos este co-
mando. Ele faz uma pesquisa na lista de pacotes dispon´
ıveis para instalar. A sa´ apresenta
ıda
todos os pacotes que apresentam a palavra que vocˆ forneceu como argumento. Existem
e
formas mais complexas de busca que podem ser mais claras ou mais espec´ ıficas, geralmente
a utilza¸˜o do comando “grep”para filtrar a sa´ j´ ´ o suficiente.
ca ıda a e
apt-cache show NOME Uma vez descoberto o nome correto do pacote no Debian, vocˆ pode
e
querer uma descri¸˜o dele.
ca
27. Como encontrar pacotes que cont´m determinado arquivo
e 19
gnome-apt Interface gr´fica para o apt. Pode ser mais amig´vel para aqueles que n˜o gostam do
a a a
console como ambiente de trabalho.
synaptic Outra interface gr´fica. Ele tamb´m ´ utilizado em outras distribui¸oes, a Conectiva ´
a e e c˜ e
uma delas.
4.2 Como encontrar pacotes que cont´m determinado ar-
e
quivo
Em algumas situa¸oes, tais como a compila¸˜o de um programa atr´ves do c´digo fonte, faz-se
c˜ ca a o
necess´rio descobrir qual pacote possui determinado arquivo.
a
Imagine a situa¸˜o em que, durante a etapa de “configure ”do programa que vocˆ for compilar,
ca e
receba uma mensagens de erro apontando a falta do arquivo glibconfig.h. Como fazer para desco-
brir, em qual das centenas de pacotes, o pacote est´?
a
No “link”http://www.debian.org/distrib/packages, ao final da p´gina, vocˆ encontrar´ dois for-
a e a
mul´rios. O primeiro serve para procurarmos usando o nome, ou parte do nome, de um pacote.
a
Vocˆ encontrar´ nomes de pacotes que cont´m o texto que vocˆ forneceu ao formul´rio. Este
e a e e a
tipo de pesquisa tem uma sa´ semelhante ao “apt-cache search NOME”.
ıda
O segundo formul´rio procura por arquivos dentro de pacotes. Por exemplo, se eu quiser
a
descobrir qual pacote possui o arquivo glibconfig.h na distribui¸˜o Sarge ou testing o preenchi-
ca
mento do formul´rio ficaria assim:
a
Palavra chave glibconfig.h
Mostrar pacotes que cont´m arquivos ou diret´rios cujos nomes cont´m a palavra chave
e o e
Sens´ ` casa n˜o
ıvel a a
Distribui¸˜o testing
ca
Arquitetura Intel x86
O resultado desta pesquisa retornaria:
You have searched for glibconf in testing, architecture i386.
Found 2 matching files/directories, displaying files/directories 1 to 2.
FILE PACKAGE
usr/lib/glib-2.0/include/glibconfig.h libdevel/libglib2.0-dev
usr/lib/glib/include/glibconfig.h libdevel/libglib1.2-dev
Agora vocˆ descobriu que existem dois pacotes com o arquivo glibconfig.h: libglib2.0-dev e
e
libglib1.2-dev. Poder´ instalar um deles e reiniciar a compila¸˜o. Se vocˆ instalar a vers˜o 1.2,
a ca e a
pode ser que a mensagem de erro ao inv´s de reclamar a falta do arquivo glibconfig.h, reclame da
e
vers˜o. Neste caso, bastaria instalar o pacote com da vers˜o 2.0, isto ´, o pacote libglib2.0-dev.
a a e
28. 20 Ap´s reconfigurar a lista de pacotes
o
4.3 Reconfigurar a lista de pacotes
Os pacotes que instalaremos em nosso sistema est˜o dispon´
a ıveis em servidores ao redor do
mundo. Estes servidores cont´m todos os pacotes dispon´
e ıveis para o Debian. Eles s˜o criados com
a
uma t´cnica de espelhamento e, gra¸as a isto, podemos baixar os pacotes do servidor mais pr´ximo
e c o
de n´s, diminuindo o tempo de instala¸˜o.
o ca
A qualquer momento podemos reconfigurar a lista de servidores que utilizaremos atrav´s de uma
e
das duas possibilidades abaixo:
1. Editar o arquivo de configura¸˜o /etc/apt/sources.list
ca
2. Executar o comando apt-setup.
Com o passar do tempo vocˆ poder´ achar que a edi¸˜o do arquivo ´ mais r´pida ou mais
e a ca e a
confort´vel, principalmente se vocˆ estiver usando o editor VI1 .
a e
Neste curso n´s iremos editar o arquivo para que ele fique igual ao mostrado na tabela abaixo:
o
deb http://www.linorg.usp.br/debian woody main contrib non-free
deb http://www.linorg.usp.br/debian-non-US woody/non-US main contrib non-free
deb http://www.linorg.usp.br/debian-security woody/updates main contrib non-free
deb http://security.debian.org/debian-security woody/updates main contrib non-free
Tabela 4.1: Apontando o apt-get pra o Linorg.
A ordem das linhas faz diferen¸a, o primeiro servidor a ser consultado ´ o da primeira linha e
c e
assim por diante. Assim, devemos colocar o que est´ mais pr´ximo no in´ do arquivo. Tamb´m
a o ıcio e
n˜o pode haver espa¸o entre o in´ da linha e a palavra deb.
a c ıcio
Cada linha representa uma lista que dever´ ser copiada para o seu sistema.
a
Se vocˆ encontrar alguma linha que comece com ”deb-src”, poder´ coment´-la, isto ´, acrescen-
e a a e
tar o sinal “#”no in´ da linha. Este tipo de linha serve para baixar o c´digo fonte de um programa.
ıcio o
Lembre-se que os pacotes com extens˜o “.deb”j´ foram compilados para uma arquitetura espec´
a a ıfica,
por isso, ´ s´ pegar e instalar. Quando vocˆ quer compilar um programa, precisa do seu c´digo fonte.
e o e o
deb-src http://www.linorg.usp.br/debian woody main
Tabela 4.2: Exemplo de como baixar o c´digo fonte.
o
4.4 Ap´s reconfigurar a lista de pacotes
o
1
Brincadeirinha! Vocˆ pode preferir o VIM.
e
29. Dpkg 21
Todas as vezes que vocˆ alterar o arquivo /etc/apt/sources.list dever´ atualizar a(s) lista(s)
e a
existentes no seu sistema, fazendo:
# apt-get update
Se n˜o fizer isso e, tentar instalar um novo pacote, receber´ uma mensagem de erro.
a a
4.5 Dpkg
´
E importante lembrar do comando dpkg. Ele tamb´m instala, remove e reconfigura pacotes. E
e ´
menos usados para a instala¸˜o porque n˜o traz as dependˆncias. Se um pacote X tem os pacotes Y e
ca a e
Z como suas dependˆncias, vocˆ teria que baix´-los em sua m´quina e instal´-los antes do pacote X.
e e a a a
Imagine o problema que vocˆ pode enfrentar se os pacotes Y e Z tem dependˆncias. E se as
e e
e e o
dependˆncias destes tamb´m tem suas pr´prias dependˆncias? J´ percebeu onde isso leva, n˜o ´?
e a a e
O RedHat e o Conectiva possuem o comando equivalente chamado rpm. A Conectiva portou o
apt-get para a sua distribui¸˜o e o funcionamento ´ o mesmo do apt-get do Debian.
ca e
O dpkg ser´ importante quando quisermos reconfigurar o nosso servidor gr´fico fazendo:
a a
dpkg-reconfigure xserver-xfree86
Podemos usar o dpkg para saber quais os pacotes temos instalados no sistema:
dpkg -l
Abaixo temo uma sa´ resumida deste comando:
ıda
||/ Nome Vers~o
a Descri¸~o
ca
+++-============-==========-========================================
||/ Nome Vers~o
a Descri¸~o
ca
+++-===========-==========-=========================================
ii aalib1 1.4p5-13 ascii art library
ii abcde 2.0.3-1 A Better CD Encoder
ii acroread 5.06-0.4 Adobe Acrobat Reader: Portable Document Form
ii adduser 3.47 Add and remove users and groups
Outro uso muito importante do “dpkg”´ quando a instala¸˜o p´ra por algum problema de con-
e ca a
figura¸˜o. Este problema pode ter sido causado porque algum pacote em seu sitema est´ em um
ca a
estado incorreto. Guarde-o bem em sua mem´ria, ele poder´ lhe ajudar muito.
o a
dpkg –configure -a
Em outras palavras, vocˆ est´ pedindo para o “dpkg”verificar e corrigir a configura¸˜o de todos
e a ca
os pacotes. Se ele n˜o conseguir “arrumar a casa”pode ajudar a identificar qual o pacote prob-
a
lem´tico.
a
30. 22 Onde est´ a tal lista de pacotes para instala¸˜o?
a ca
4.6 Onde est´ a tal lista de pacotes para instala¸˜o?
a ca
A esta altura vocˆ j´ sabe que devemos manter a lista de pacotes dispon´
e a ıveis para instala¸˜o
ca
atualizada. Sempre que um bug de seguran¸a ´ descoberto, esta lista ´ atualizada. Somente ap´s
c e e o
a atualiza¸˜o da lista seremos capazes de descobrir se ´ preciso atualizar um pacote j´ instalado
ca e a
usando o comando apt-get upgrade.
Experimente ler a lista com o seguinte comando: less /var/lib/dpkg/available.
31. 5
Imediatamente ap´s a instala¸˜o
o ca
Neste ponto j´ temos uma m´quina com o sistema b´sico instalado. O que aprenderemos neste
a a a
cap´
ıtulo ´ essencial para uma “vida saud´vel”do seu servidor ou micro de mesa. Para vocˆ que est´
e a e a
fazendo este curso entenda que, para n´s, a instala¸˜o s´ acaba quando completar todos os passos
o ca o
deste cap´ıtulo.
Nas se¸oes seguintes aprenderemos atitudes essenciais para diminuir riscos de seguran¸a de nossa
c˜ c
instala¸˜o. Se a¸˜es como estas n˜o forem implementadas corremos o risco de, ao inv´s de instalar-
ca co a e
mos um sistema operacioanl, estarmos escancarando a nossa rede para invasores externos e internos.
Elas n˜o s˜o as unicas que vocˆ pode tomar e nem pretendem garantir-lhe “100%”de seguran¸a.
a a ´ e c
Tenha em mente que n˜o existe sistema seguro, ou instala¸˜o segura. O que existe s˜o re-
a ca a
comenda¸˜es para evitarmos problemas de seguran¸a. Se vocˆ tiver uma instala¸˜o Linux que foi
co c e ca
invadida, antes de acusar a distribui¸˜o, analise as medidas de seguran¸a que vocˆ implementou.
ca c e
Os procedimentos que estudaremos s˜o:
a
• Parar servi¸os “desnecess´rios”e fechar portas.
c a
• Habilitar o firewall.
• Acertar o rel´gio.
o
• Agendar a sincroniza¸˜o do rel´gio.
ca o
• Agendar a sincroniza¸˜o do sistema operacional.
ca
• Compilar o Kernel mais recente.
5.1 Parar servi¸os e fechar portas
c
Alguns servi¸os s˜o instalados por padr˜o nas instala¸oes do GNU/Linux e, algumas vezes, n˜o
c a a c˜ a
precisamos deles. Se estamos instalando um esta¸˜o de trabalho certamente n˜o precisamos de um
ca a
servidor de e-mail, ou um servidor de p´ginas rodando.
a
23
32. 24 Parar servi¸os e fechar portas
c
Por isso ´ muito importante prestar aten¸˜o ao que instalamos e, de tempos em tempos, verificar
e ca
se nada est´ sendo executado sem que queiramos.
a
Para checar se temos alguma porta aberta vamos instalar o pacote nmap. Esta ferramenta pode
ser uma faca de dois gumes se n˜o tomarmos cuidados ao us´-la. N˜o devemos usar como teste
a a a
uma m´quina que n˜o seja nossa ou que n˜o tenhamos autoriza¸˜o para fazˆ-lo. Alguns sistemas
a a a ca e
de seguran¸a podem interpretar um simples teste como um ataque hacker. Em caso de d´vida,
c u
consulte o administrador de sua rede.
Vamos fazer um scan em nossa pr´pria m´quina:
o a
$ su -
$ apt-get install nmap
$ nmap localhost
Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on debian (127.0.0.1):
(The 1547 ports scanned but not shown below are in state: closed)
Port State Service
9/tcp open discard
13/tcp open daytime
37/tcp open time
Nmap run completed -- 1 IP address (1 host up) scanned in 0 seconds
A primeira pista para fecharmos as portas acima ´ procurar no arquivo /etc/inetd.conf. No
e
arquivo da m´quina usada para o exemplo acima, podemos ler:
a
discard stream tcp nowait root internal
discard dgram udp wait root internal
daytime stream tcp nowait root internal
Estes servi¸os s˜o conhecidos como daemons e rodam permanentemente, a partir da inicializa¸˜o,
c a ca
em nosso computador. Os daemons s˜o muito uteis em casos em que n˜o podemos prever quando
a ´ a
um servi¸o ser´ solicitado. Podemos citar como exemplos os servidores de SMTP ou POP onde, a
c a
qualquer instante, algu´m poder´ usar para enviar um e-mail. Tais sistemas seriam imposs´
e a ıveis de
existir se tiv´ssemos que rodar o programa de smtp toda vez que quisess´mos enviar uma mensagem.
e e
Os servi¸os deixados abertos em nosso exemplo n˜o s˜o necess´rios e devemos desabilit´-los.
c a a a a
Deixamos a vocˆ a pesquisa sobre o que eles fazem. Para desabilit´-los deveremos inserir o s´
e a ımbolo
# no in´ de cada linha do arquivo /etc/inetd.conf .
ıcio
# discard stream tcp nowait root internal
# discard dgram udp wait root internal
# daytime stream tcp nowait root internal
O arquivo /etc/inetd.conf ´ utilizado pelo programa inetd. Agora precisarmos fazer com que
e
o programa releia suas configura¸oes. Temos que descobrir o n´mero do processo associado ao
c˜ u
programa inetd e enviar o sinal HUP, fazendo-o reler suas configura¸oes.
c˜
33. Habilitar o firewall 25
# ps -ef | grep inetd
UID PID PPID C STIME TTY TIME CMD
root 224 1 0 Jul24 ? 00:00:00 /usr/sbin/inetd
root 599 394 0 00:23 pts/3 00:00:00 grep inetd
Podemos ver que o programa inetd tem o n´mero de processo (PID) 224.
u
# kill -HUP 224
E agora as portas n˜o est˜o mais abertas.
a a
# nmap localhost
Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on debian (127.0.0.1):
(The 1550 ports scanned but not shown below are in state: closed)
Port State Service
Nmap run completed -- 1 IP address (1 host up) scanned in 1 second
debian:/etc/init.d#
5.2 Habilitar o firewall
A configura¸˜o do firewall s´ ´ poss´ quando habilitamos o kernel a filtragem de pacotes de
ca oe ıvel
rede. Veremos isso no cap´
ıtulo de compila¸˜o do kernel da apostila de Linux.
ca
Um firewall m´
ınimo poderia ser este:
#!/bin/sh
echo quot;Habilitando o FIREWALL .......... :) quot;
IP=quot;/sbin/iptablesquot;
# coloque o seu ip no lugar de x.x.x.x
LH=quot;x.x.x.x/32quot;
# limpar regras atuais antes de colocar as novas
$IP -F
$IP -Z
$IP -P FORWARD DROP
# INPUT
34. 26 Acertar o rel´gio
o
$IP -A INPUT -p tcp -s $LH -d $LH -j ACCEPT
$IP -A INPUT -p udp -s $LH -d $LH -j ACCEPT
# impede a conex~o em qualquer porta aberta
a
$IP -A INPUT -p tcp -s 0/0 -d $LH -m --state NEW,INVALID -j DROP
$IP -A INPUT -p udp -s 0/0 -d $LH -m --state NEW,INVALID -j DROP
# ninguem consegue pingar a sua maquina
$IP -A INPUT -p icmp -m icmp --icmp-type ping -j DROP
Com o sitema operacional instalado e um kernel preparado, vamos utilizar o script de firewall
que hav´
ıamos criado anteriormente, fazendo o seguinte:
$ su -
# apt-get install iptables rcconf
# cp firewall.sh /etc/init.d/
# chown root.root /etc/init.d/firewall.sh
# chmod 750 /etc/init.d/firewall.sh
# /etc/init.d/firewall.sh
# nmap localhost
Vamos instruir o sistema a rodar esse shell script toda vez que for ligado. Para isso utilizaremos
o comando rcconf 1 .
$ su -
# apt-get install rcconf
# rcconf
5.3 Acertar o rel´gio
o
o e ca
O acerto do rel´gio ´ feito por compara¸˜o com um rel´gio confi´vel. Atrav´s do comando
o a e
ntpdate faremos isso em uma linha de comando.
$ date
1
Vocˆ saberia dizer porque o rcconf pode n˜o ser a melhor escolha para este caso espec´
e a ıfico? Didaticamente ´
e
indicado por facilitar a execu¸˜o da tarefa.
ca
35. Agendar a sincroniza¸˜o do rel´gio
ca o 27
$ su -
# apt-get install ntpdate
Escolheremos como fornecedor de hor´rio confi´vel o seguinte servidor: ntp.usp.br
a a
# ntpdate -s ntp.usp.br
# date
Quando instalamos o ntpdate, o nome do servidor que escolhemos ´ armazenado no arquivo
e
/etc/default/ntp-servers. Tamb´m ´ criado um script, o /etc/init.d/ntpdate. Este script ´
e e e
executado toda vez que o sistema entra em opera¸˜o. Para servidores que ficam muito tempo no
ca
o ´
ar, o hor´rio pode ficar errado, nestes casos utilizamos o cron para corrigir a hora por n´s. E
a
exatamente isso que veremos a seguir.
5.4 Agendar a sincroniza¸˜o do rel´gio
ca o
Sempre que quisermos que algumas tarefas sejam executadas automaticamente, teremos que
instruir o sistema a execut´-las. Isso ´ poss´ atrav´s do programa cron.
a e ıvel e
Antes de configuramos o cron precisamos definir qual ser´ o nosso editor padr˜o. Ao executar-
a a
mos o comando crontab pela primeira vez, ele abre um editor de textos dispon´ no sistema. O
ıvel
que faremos agora ´ definir que nosso editor padr˜o ser´ o vi.
e a a
Vamos editar o arquivo .bashrc que est´ localizado no diret´rio “home”do usu´rio.
a o a
$ cd
$ ls -a
$ vi .bashrc
Inclua a seguinte linha neste arquivo:
export EDITOR=vi
$ source .bashrc
Agora fa¸a o mesmo como usu´rio root.
c a
$ su -
# ls -a
# vi .bashrc
36. 28 Agendar a sincroniza¸˜o do rel´gio
ca o
Inclua a seguinte linha neste arquivo:
export EDITOR=vi
# source .bashrc
Instale o programa cron para configurarmos a execu¸˜o autom´tica de alguns programas.
ca a
$ su -
# apt-get install cron
O arquivo de configura¸˜o do programa cron tem uma sintaxe que deve ser aprendida. A
ca
sequˆncia dos parˆmetros deste arquivo ´: minutos, hora, dia, mˆs, dia da semana e o comando
e a e e
a ser executado. Com rela¸˜o ao comando, ´ recomend´vel colocar o caminho completo do comando.
ca e a
Para sabermos o “caminho completo do comando”, podemos usar o programa whereis seguido
do comando que queremos encontrar. Para o comando ls, temos:
$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
No caso acima, recebemos o caminho completo para o comando ls e para a p´gina que cont´m
a e
o manual deste comando. O que chamamos de caminho completo do ls ´ /bin/ls.
e
Crie o seguinte arquivo ap´s digitar o comando crontab -e”
o
# manter o relogio certo
0 * * * * /usr/sbin/ntpdate -s ntp.usp.br
A sintaxe desta linha ´, na ordem em que aparecem as instru¸˜es, a seguinte:
e co
minuto hora dia mˆs
e dia da semana comando
0 * * * * /usr/sbin/ntpdate -s ntp.usp.br
Para executar o mesmo comando com um intervaldo de 4 horas entre cada execu¸˜o, poder´
ca ıamos
fazer:
minuto hora dia mˆs
e dia da semana comando
0 */4 * * * /usr/sbin/ntpdate -s ntp.usp.br