Professional Documents
Culture Documents
1
(Sarge)
Apostila
Introdução 1
1 GNU 5
2 Linux 7
3 O que é o GNU/Debian 9
3.1 Pronúncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Quando surgiu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Codinomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Stable, Testing e Unstable . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5 Main, Contrib e Non-Free . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6 Custo versus Benefício . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4 Identificar o Hardware 13
4.1 Fontes de Informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Meu hardware é compatível com o Linux? . . . . . . . . . . . . . . . . . 13
4.3 Meu hardware não é compatível com o Linux! . . . . . . . . . . . . . . . 15
4.4 Não compre equipamento sem suporte para Linux . . . . . . . . . . . . . 15
5 Instalação 17
5.1 Instalação do sistema básico . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2 Configuração do sistema básico . . . . . . . . . . . . . . . . . . . . . . . 19
i
7 Ajustes inicias 31
7.1 Parar serviços e fechar portas . . . . . . . . . . . . . . . . . . . . . . . . 32
7.2 Habilitar um firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.3 Referência de horário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.4 Agendar a sincronização do relógio . . . . . . . . . . . . . . . . . . . . . 37
7.5 Horário de Verão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.6 Agendar a atualização do sistema operacional . . . . . . . . . . . . . . . 39
7.7 Verificar a integridade do sistema . . . . . . . . . . . . . . . . . . . . . . . 41
8 Amaciando o motor 43
8.1 Plugins do Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.2 Editor padrão: JED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.3 Administrar usuários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.4 Permitir gravar CDs, DVDs e diskets . . . . . . . . . . . . . . . . . . . . . 43
8.5 Temas e ícones para o GNOME . . . . . . . . . . . . . . . . . . . . . . . 43
8.6 Temas para o XMMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.7 Configurando impressoras com o CUPS . . . . . . . . . . . . . . . . . . . 44
8.8 Tocar DVIX com o MPLAYER . . . . . . . . . . . . . . . . . . . . . . . . . 44
9 Compilando o Kernel 45
9.1 Preparando o sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.2 Qual hardware será habilitado? . . . . . . . . . . . . . . . . . . . . . . . . 45
9.3 Compilando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
ii
12 Arquivos Importantes 65
12.1 Onde eles estão? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
12.2 Modelos de configuração . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
A Fontes de Conhecimento 67
iii
Introdução
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 opor-
tunidade 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!
Comecei com a idéia fixa de que “tinha que ser simples”. Comecei a escrever, es-
crever e escrever. O “simples” começou a ficar grande. Depois não cabia mais em um
capítulo, nem em uma apostila, até chegarmos nesta versão que você está lendo.
Já não é mais simples e não mostra muito “como usar”, mas sim, “como instalar”.
Esta é a uma nova versão adaptada para o Debian 3.1 lançado em junho de 2005.
Público Alvo
O requisito inicial era apenas ser funcionário da USP. Éra para ser um curso sim-
ples, não deveria exigir quase nenhum conhecimento específico de informática.
Nesta nova versão da apostila eu darei um foco maior no usuário que não é admi-
nistrador de sistemas. Faremos uma instalação voltada para o uso como “Desktop".
Com isso pretendo evitar algumas dificuldades encontradas nos outros cursos. Mesmo
assim, o aluno ainda aprenderá algums conceitos de administração de servidores.
O CCE fornece uma série de cursos da Cisco, dentre eles o de Unix. Este curso
poderia ser encarado com uma forma de iniciar com o pé-direito no Linux.
1
2
A aula utiliza esta apostila como base, mas nem tudo pode estar aqui. Mais deta-
lhes podem ser apresentados durante as discussões e o conteúdo sempre fica mais
rico. A tela do monitor do instrutor é projetada em um telão e todos podem ver o que
cada passo deve produzir.
Você deve vir para este curso sabendo que irá praticar muitas vezes. Por isso é
muito importante 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 curso fica truncado, e pode causar muitas
frustações a toda a sala.
Este não é um curso para ouvir e, em casa ou no trabalho, tirar as dúvidas sobre os
temas que não entendeu direito. Você receberá toda a ajuda para aprender o que não
sabe, apenas certifique-se que está preparado para participar ativamente.
Requisitos desejáveis:
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.
Novas Versões
As atualizações podererão ser encontradas em: http://www.linorg.usp.br/
docs/curso-instalacao-linux/ ou em http://bonix.net .
Correções
Se você encontrou erros nesta apostila, por favor, me avise para que eu possa
corrigí-los. Apenas tome o cuidado de verificar se o erro ainda existe no material que
está disponível para “download". Ele pode ser mais recente do que o seu.
Lista de Discussão
Existe uma lista de discussão para os alunos do curso. Inscreva-se enviando um
e-mail para cursolinuxusp-subscribe@yahoogroups.com.
Orkut
Também existe um grupo no Orkut (http://www.orkut.com) para tem conta
neste sistema. A comunidade está em formação. O endereço é
http://www.orkut.com/Community.aspx?cmm=3333105.
Licença
Esta apostila é publicada sob a Licença de Documentação Livre GNU. Você pode
obter uma cópia no seguinte site: http://www.gnu.org/licenses/fdl.html .
4
Agradecimentos
Agradeço a paciência e compreensão de todos os meus alunos. A ajuda deles é
muito importante na criação desta apostila.
GNU
5
6 GNU
2
Linux
7
8 Linux
3
O que é o GNU/Debian
O Debian GNU/Linux é mais que um simples SO: ele vem com mais de 15490 pa-
cotes contendo softwares pré-compilados e distribuídos em um bom formato, que torna
fácil a instalação deles na sua máquina.”2
3.1 Pronúncia
A pronúncia oficial de Debian é débian. Surgiu a partir do nome do criador do
Debian, Ian Murdock, e sua esposa, Debra. 3
9
10 Stable, Testing e Unstable
3.3 Codinomes
Para saber sobre os nomes que cada uma das versões do Debian recebeu, leia esta
referência: http://www.br.debian.org/doc/manuals/project-history/ch-releases.pt.html
Isto é motivo de alguma confusão para aqueles não habituados a utilizar o Debian.
Quando uma nova versão de um pacote é lançada, digamos o Apache 2.0.55, ele não
é incluído na versão estável, que disponibiliza o 2.0.54. Somente problemas graves,
como um “bug” de segurança, é que permitem a alteração de um pacote da distribuição
estável.
Na estrutura de diretórios dos softwares a nova versão do Debian está nas “árvores”
teste e instável. O time de desenvolvimento coloca seus pacotes na árvore experimen-
tal. Em seguida os pacotes são migrados para a instável e, após algum tempo, eles
são migrados para a árvore teste. Isto significa que ele já teve um tempo suficiente
para testes e não apresentou problemas. É possível fazer a instalação de um sistema
com a árvore teste, mas isso exige conhecimento para resolver problemas com pacotes
“jovens”.
Contrib Pacotes nessa área são livremente licenciados pelo detentor do copyright mas
dependem de outros pacotes que não são livres.
Note que os mesmos pacotes podem aparecer em muitas distribuições, mas com
números de versão diferentes.”5
Se a sua instalação for para um servidor, isso pode ser menos problemático. Na
maior parte do tempo você estará suficientemente provido de bons pacotes. Um ser-
vidor também precisa de um administrador experiente e capaz de manter o sistema
5
http://www.br.debian.org/distrib/packages
12 Custo versus Benefício
funcionando. Teoricamente ele seria capaz de instalar um pacote que não está na dis-
tribuição Debian.
Em alguns casos, o CD de instalação pode não conter um “drive” para uma versão
nova de controladora SCSI. Isso vai exigir mais do administrador para que ele consiga
fazer a instalação do sistema operacional. Eventualmente, ele poderá gerar um disket
com os módulos necessários. Em casos como esse, as soluções começam a deixar de
ser triviais.
Com a intencão de utilizar versões mais novas de alguns pacotes, alguém pode ter
a idéia de misturar a “árvore” estável com a teste ou pior, com a instável. Este pro-
cedimento pode gerar resultados imprevisíveis, e nem sempre você poderá encontrar
ajuda por estar fazendo algo muito fora dos padrões.
Você deve saber isso antes de instalar um servidor ou uma máquina “de mesa”. Se
a versão estável pode ser “estável como uma rocha”, ela pode ser dão dura quanto se
precisar de um programa novíssimo!
4
Identificar o Hardware
A tabela 4.1 mostra as principais informações que devemos obter para cada com-
pontente específico:
Além disso, é preciso saber se a versão do Linux que iremos instalar suporta este
hardware. As versões que são desenvolvidas por grandes empresas como a Red Hat,
Conectiva ou Suse, costumam ter os drives mais recentes. Outras versões, como a
Debian, não contem estes drives em suas versões estáveis.
13
14 Meu hardware é compatível com o Linux?
• LinuxPrinting.org (http://www.linuxprinting.org/)
Se você tiver influência nas decisões de compra de sua unidade, alerte seus cola-
boradores.
• Não existem recursos para comprar um software proprietário e você decidiu que
quer experimentar um similar, mas que só roda em Linux.
• Um computador será substituído por outro mais novo, e você gostaria de utilizar
o antigo com Linux.
• O software mais adequado ou eficiente que você quer utilizar roda melhor no Linux
(Apache por exemplo).
proprietário, tudo bem, que vença o melhor. Mas se a melhor alternativa for Livre, não
fique aprisionado no hardware também1 ."
.
1
Nota do autor
5
Instalação
A instalação pode ser dividida em duas parte. A primeira é aquela em que se faz o
boot do computador com o CD de instalação. É nesta parte que o hardware do compu-
tador é detectado, o disco rígido é particionado e a rede é configurada.
9. Configurar a rede:
17
18 Instalação do sistema básico
• Escolha: Continuar.
• O sistema vai rebootar
Configuração do sistema básico 19
4. Configurando passwd:
5. Configuração do apt1 :
9. Configurando ssh:
• Escolha: OK .
• Permitir somente protocolo SSH versão 2: SIM
• Deseja2 que /usr/lib/ssh-keysign seja instalado SUID root: Não
• Você deseja executar o servidor ssh ? Não.
• OK
• Deseja delgar o gerenciamento de fontes ao defoma: SIM .
• OK.
• ignorar
• OK
• Não
13. Qual o tamanho de papel deverá ser o padrão do sistema3 ? Escolha: A4.
Caso sejam exibidas algumas telas com mensagens de erros, logo após entrar no
Gnome pela primeira vez, instale os seguintes pacotes: xxkb e xkbsel
22 Configuração do sistema básico
6
6.1 Apt-get
O principal instalador de pacotes que vamos utilizar é o apt-get. Será com ele que,
na maior parte das vezes, iremos instalar ou remover um pacote.
Baixa Ele acessa o mirror que você configurou e faz o “download” do pacote para o seu
computador. O diretório /var/cache/apt/archives recebe os pacotes baixados.
23
24 Apt-get
apt-get update Existe uma lista que contém uma descrição de todos os pacotes dis-
poníveis para o Debian. O “apt-get” não é um advinho! Ele consulta esta lista
para saber o que pode instalar. Este comando faz uma comparação entre a lista
que você tem armazenada e a lista que está no servidor de pacotes. Se a sua
lista for mais velha, ele faz o “download” da mais recente. A atualização de um
único pacote provoca o lançamento de um nova lista.
apt-get upgrade No caso de existir uma nova lista de pacotes, você deve verificar
se, para algum programa que está instalado em seu sistema, existe uma versão
mais recente. Ao executar o “apt-get upgrad”, 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 programa será instalada. Não
é preciso dizer qual pacote você quer atualizar, independente de ser um ou dez,
ele fará tudo sozinho.
apt-get clean Após a instalação de um pacote, não precisamos mais manter o arquivo
“.deb” em nosso sistema. O processo de instalação não remove os pacotes bai-
xados! Se você não removê-los começará a acumulá-los no disco rígido. Com o
passar do tempo isso pode causar um problema de falta de espaço.
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, eles também serão selecionados para
instalar. Quando você pede para instalar um pacote que não tem dependências, o
“download” começa imediatamente. Caso existam dependências, elas são mos-
tradas para você e o programa espera a sua confirmação (Y/n) para continuar.
Existem vários motivos para ele esperar por uma confirmação: a lista de depen-
dências pode ser muito grande e você não quer instalar todos os pacotes, você
não tem espaço em disco suficiente para instalar o programa e/ou suas depen-
dências, o pacote é incompatível com outro já instalado e ele exige que este seja
removido.
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ígido. Em alguns casos os arquivos de configuração do pacote
são mantidos. Isso pode ser bom ou mal. Se você removeu um pacote por aci-
dente, todo o seu trabalho de configuração dele ainda estará preservado. Preste
atenção às mensagens mostradas durante a remoção de um pacote para saber o
que está acontecendo.
apt-get –purge remove NOME Para remover um pacote e seus arquivos de configu-
ração
Encontrar pacotes que contém determinado arquivo 25
Você deve estar se perguntando como fazer para saber o que instalar, ou qual o
nome de um determinado programa no Debian. Para responder a essas dúvias vamos
aprentá-los a três programas criados para resolver este problema.
apt-cache search NOME Para procurar por um pacote chamado NOME executamos
este comando. Ele faz uma pesquisa na lista de pacotes disponíveis para instalar.
A saída apresenta todos os pacotes que apresentam a palavra que você forneceu
como argumento. Existem 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ída já é o suficiente.
apt-cache show NOME Uma vez descoberto o nome correto do pacote no Debian,
você pode querer uma descrição dele.
gnome-apt Interface gráfica para o apt. Pode ser mais amigável para aqueles que não
gostam do console como ambiente de trabalho.
Mostrar pacotes que contém arquivos ou diretórios cujos nomes contém a palavra
chave
Distribuição sarge
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 libglib1.2-dev. Poderá instalar um deles e reiniciar a compilação. Se você instalar
a versão 1.2, pode ser que a mensagem de erro ao invés de reclamar a falta do arquivo
glibconfig.h, reclame da versão. Neste caso, bastaria instalar o pacote com da versão
2.0, isto é, o pacote libglib2.0-dev.
Com o passar do tempo você poderá achar que a edição do arquivo é mais rápida
ou mais confortável, principalmente se você estiver usando o editor VI1 .
Neste curso nós iremos editar o arquivo para que ele fique igual ao mostrado na
tabela abaixo:
ftp.debian.org
ftp.br.debian.org
linux.iq.usp.br
sft.if.usp.br
ftp.de.debian.org
Note que para os endereços de sites de FTP o início da linha é deb ftp:// e para os
sites de HTTP o início é deb http://.
Uma lista completa de servidores do projeto Debian pode ser encontrada no ende-
reço http://www.debian.org/mirrors/list .
A ordem das linhas faz diferença, o primeiro servidor a ser consultado é o da pri-
meira linha e assim por diante. Assim, devemos colocar o que está mais próximo no
início do arquivo. Também não pode haver espaço entre o início da linha e a palavra
deb.
1
Brincadeirinha! Você pode preferir o VIM.
28 Dpkg
Cada linha representa uma lista que deverá ser copiada para o seu sistema.
Se você encontrar alguma linha que comece com “deb-src”, poderá comentá-la, isto
é, acrescentar o sinal “#” no início da linha. Este tipo de linha serve para baixar o
código fonte de um programa. Lembre-se que os pacotes com extensão “.deb” já foram
compilados para uma arquitetura específica, por isso, é só pegar e instalar. Quando
você quer compilar um programa, precisa do seu código fonte.
# apt-get update
Se não fizer isso e, tentar instalar um novo pacote, receberá uma mensagem de
erro.
6.5 Dpkg
É importante lembrar do comando dpkg. Ele também instala, remove e reconfigura
pacotes. É menos usados para a instalação porque não traz as dependências. Se um
pacote X tem os pacotes Y e Z como suas dependências, você teria que baixá-los em
sua máquina e instalá-los antes do pacote X.
dpkg-reconfigure xserver-xfree86
Podemos usar o dpkg para saber quais os pacotes temos instalados no sistema:
dpkg -l
Outro uso muito importante do “dpkg” é quando a instalação pára por algum pro-
blema de configuração. Este problema pode ter sido causado porque algum pacote em
seu sitema está em um estado incorreto. Guarde-o bem em sua memória, ele poderá
lhe ajudar muito.
dpkg –configure -a
Em outras palavras, você está pedindo para o “dpkg” verificar e corrigir a confi-
guração de todos os pacotes. Se ele não conseguir “arrumar a casa” pode ajudar a
identificar qual o pacote problemático.
Ajustes inicias
Neste ponto já temos o computador com uma instalação para “Desktop", isto é, com
a maior parte dos programas que são usados pelos usuários. É uma instalação voltada
para as tarefas do dia-a-dia como editar arquivos, navegar na internet, gravar CDs, ou-
vir musicas, editar imagens.
O que vamos fazer agora são alguns ajustes à configuração padrão realizado pelo
pelo programa de instalação. Ajustes após a instalação devem ser encarados como
uma coisa normal e necessária.
Os programas de instalação tentam ser flexíveis o suficiente para adaptarem-se ao
maior número de usuários possíveis. Seria muito difícil habilitar em um programa de
instalação muitos perfis diferentes entre si. Um usuário de “Desktop” tem um perfil dife-
rente de outro que é administrador de sistemas, que é diferente do “designer gráfico”.
• Habilitar um firewall.
• Referência de horário.
• Horário de verão.
31
32 Parar serviços e fechar portas
Ajustes devem ser realizados em qualquer máquina recém instalada. Encare isso
como uma medida de segurança preventiva, vai beneficiar você e todos os outros usuá-
rios da sua rede.
/etc/services , /etc/inetd.conf
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 uma máquina que não seja nossa ou que não
tenhamos autorização para fazê-lo. Alguns sistemas de segurança podem interpretar
um simples teste como um ataque hacker. Em caso de dúvida, consulte o administrador
de sua rede.
$ su -
$ nmap localhost
Este e outros serviços listados pelo nmap são conhecidos como daemons e ro-
dam constantemente, a partir da inicialização, em nosso computador. Os daemons são
muito úteis em casos em que não podemos prever quando um serviço será solicitado.
Podemos citar como exemplos os servidores de SMTP ou POP onde, a qualquer ins-
tante, alguém poderá usar para enviar um e-mail. Tais sistemas seriam impossíveis de
existir se tivéssemos que rodar o programa de smtp toda vez que quisessémos enviar
uma mensagem.
Os daemons que encontramos até o momento não são necessários em uma má-
quina de “desktop”. Para desabilitar o ident deveremos inserir o símbolo # no início da
linha do arquivo /etc/inetd.conf .
Podemos ver que o programa inetd tem o número de processo (PID) 224. Para
forçá-lo a reler suas configurações vamos usar o comando kill2 :
Ele vai nos ajudar a identificar quais são os programas que estão habilitados a ini-
ciar com o “boot´´ do computador, em geral eles são “daemons”. Vamos procurar pelos
programas com os mesmos nomes mostrados na saída do comando nmap, isto é, va-
mos procurar por ssh, smtp, rpcbind, auth, sco-dtmgr e unknow.
Você notará que não aparece nenhum programa chamado smtp, isto porque este
nome está associado à porta aberta. O programa que abre esta porta é o exim4, o
servidor de e-mails que foi instalado automaticamente. Outros programas que você
poderá desabilitar são o lpd, “deamon” de impressora, o nfs-common e o fam.
Ainda resta um serviço que está atendendo na porta 111, faça um “scan´´ em sua
máquina e verifique. Para desabilitarmos este serviço precisamos encontrar mais infor-
mações sobre ele. Nada foi encontrado sobre ele ao usarmos o comando rcconf e ele
não aparece no arquivo /etc/inetd.conf.
O programa que usaremos chama-se lsof. Para descobrirmos qual programa está
“ouvindo” a porta 111 devemos executá-lo assim:
# lsof -i:111
Agora vamos conhecer o diretório “habitado” pelos programas que iniciam quando
o computador é ligado: /etc/init.d.
Vamos até este diretório e saber algumas informações sobre os programas que
estão lá:
# cd /etc/init.d
# ls -l
# ls -l | grep portmap
-rwxr-xr-x root root 1076 2005-03-20 03:04 portmap
Para desabilitá-lo vamos ter que parar a sua execução e retirar a permissão de
execução:
# ./portmap stop
# chmod 444 portmap
Se fizermos um novo “scan” em nossa máquina vamos notar que ainda existe uma
porta aberta e com o nome de unknow. Se você utilizar o lsof conseguirá descobrir o
nome do programa.
Vamos fazer um “reboot” e comprovar que, a partir de agora, os serviços que desa-
bilitamos não vão mais iniciar.
Com o comando nmap podemos constatar que não existem mais portas abertas.
#!/bin/sh
IP="/sbin/iptables"
36 Referência de horário
# cp firewall.sh /etc/init.d/
# /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.
Este script é realmente mínimo e, neste momento, ainda não temos portas abertas
para proteger. Vamos utilizá-lo durante o curso quando precisarmos permitir que um
endereço IP determinado tenha a capacidade de conectar-se em nossa máquina.
$ date
$ su -
# ntpdate -s ntp.usp.br
# date
Antes de configuramos o cron precisamos definir qual será o nosso editor de textos
padrão. Ao executarmos o comando crontab pela primeira vez, ele abre um editor de
textos disponível no sistema. O que faremos agora é definir que nosso editor padrão
será o vim.
Vamos editar o arquivo .bashrc que está localizado no diretório “home” do usuário.
$ cd
$ ls -a
$ vi .bashrc
$ source .bashrc
$ su -
# ls -a
# vi .bashrc
# source .bashrc
O arquivo de configuração do programa cron tem uma sintaxe que deve ser apren-
dida. A sequência dos parâmetros deste arquivo é: minutos, hora, dia, mês, dia da
semana e o comando a ser executado. Com relação ao comando, é recomendável co-
locar o caminho completo do comando.
$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
Para executar o mesmo comando com um intervaldo de 4 horas entre cada execu-
ção, poderíamos fazer:
zic horario-de-verao.txt
Vamos tornar nosso sistema capaz de fazer suas próprias atualizaçães automatica-
mente. Os pacotes que instalamos em nossa máquina podem ser atualizados por seus
autores, ou devido a algum bug de segurança.
Este script vai ajudar o seu trabalho de manter o sistema atualizado automatica-
mente. Apesar disso, você deve verificar o sistema sempre que possível executando
40 Agendar a atualização do sistema operacional
Com o procedimento abaixo, tornaremos nosso sistema mais seguro. Crie o shell
script linux-update.sh .
#!/bin/bash
PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin
export PATH
# mv linux-update.sh /usr/local/sbin
crontab -e
# chkrootkit
Fique atento para as mensagens que vão aparecer na sua tela. Em um computador
não invadido você deve esperar pelas seguintes palavras: not found , not infected ,
nothing found e nothing deleted .
42 Verificar a integridade do sistema
8
Amaciando o motor
43
44 Tocar DVIX com o MPLAYER
Compilando o Kernel
Faça o “login” no ambiente gráfico com o seu usuário normal, abra um terminal grá-
fico (xterm) e mude para o root (su -) e siga os passos abaixo. Eles só serão feitos a
primeira vez em que você for compilar o kernel!
45
46 Qual hardware será habilitado?
É nesta parte em que você gasta mais tempo para aprender a compiliar. Você tem
que conhecer um pouco do hardware da máquina e saber identificar a opção corres-
pondente no kernel. Você vai precisar praticar isso bastante para adquirir experiência.
Sempre que sair uma nova versão do kernel atualize o seu sistema. É uma boa forma
de praticar.
• Placa de rede.
• Placa de som.
• Firewall (iptables).
• Gravar CDs.
Para o kernel 2.6, segue um guia para saber onde procurar cada um dos itens acima:
Desligar Tela inicial -> Power management options (ACPI, APM) -> primeira linha.
Firewall Tela inicial -> Neworking -> Networking options -> Network packet filtering
(replaces ipchains) -> Habilite Network packet filtering (replaces ipchains) -> IP:
Netfilter Configuration -> Habilite tudo o que encontrar nesta tela.
Placa de rede Tela inicial -> Device Drivers -> Network device support -> Ethernet (10
or 100Mbit) -> Habilite a sua placa de rede.
Placa de som Tela inicial -> Device Drivers -> Sound -> Habilite Sound card support ->
Advanced Linux Sound Architecture -> PCI devices -> Habilite sua placa de rede.
Qual hardware será habilitado? 47
USB Tela inicial -> Device Drivers -> USB support -> Habilite:
NTFS e VFAT Tela inicial -> File systems -> DOS/FAT/NT Filesystems -> Habilite:
• MSDOS fs support
• VFAT (Windows-95) fs support
• (437) Default codepage for FAT
• (iso8859-1) Default iocharset for FAT
• NTFS file system support
• NTFS debugging support
• NTFS write support
48 Compilando
Gravar CDs Tela inicial -> File systems -> CD-ROM/DVD Filesystems -> Habilite:
Gravar CDs Tela inicial -> Device Drivers -> SCSI device support -> Habilite:
Idioma Português e mais Tela inicial -> File systems -> Native Language Support ->
Habilite:
Otimizar HD com hdparm Tela inicial -> Device Drivers -> ATA/ATAPI/MFM/RLL sup-
port -> Habilite o chipset da sua placa-mãe.
9.3 Compilando
Esta parte será feita todas as vezes que desejar compilar um novo kernel da série
2.6.x. É apenas uma sequência de comandos, é um procedimento mecânico. Toda vez
que sair um kernel novo você deverá fazer o “download” dele e descompatar o arquivo,
assim1 :
1. cd /usr/src
2. wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.4.tar.bz2
3. bunzip2 linux-2.6.13.4.tar.bz2
1. cd linux-2.6.13.4
1
Os passos 3 e 4 poderiam ser feitos com apenas um comando: bunzip2 -c linux-2.6.13.4.tar.bz2 | tar
-xf -
Compilando 49
2. make mrproper2
3. cp arch/i386/defconfig .config
4. make menuconfig
5. make3
6. make modules_install
7. cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.13.4
8. cp System.map /boot/System.map-2.6.13.4
9. cd /boot
11. vi /boot/grub/menu.lst
13. reboot
Vamos adicionar o novo kernel ao menu que aparece no “boot” do sistema. Edite o
arquivo /boot/grub/menu.lst e, após a linha ## ## End Default Options ## acrescente
o texto abaixo:
Preste atenção ao parâmetro (hd0,4) e /dev/hda5 eles devem ser iguais ao que já
existia no arquivo para o kernel “default” da instalação. Eles indicam em qual disco
rígido está instalado o Linux e em qual partição.
3
Este passo é realmente necessário a partir da segunda compilação, quando é necessário remover
os arquivos resultantes da compilação anterior.
3
Para ter uma idéia de quanto tempo a compilação vai demorar você poderia executar este passo
assim: time make . Da próxima vez que for compilar saberá se terá tempo de abastecer a xícara com
café ou ir almoçar.
50 Compilando
10
Vamos aprender como, a partir de uma instalação mínima, instalar o ambiente grá-
fico (gerenciador de janelas). É uma prática comum aos usuários do Gnu/Linux a perso-
nalização da máquina. Em alguns casos pode ser desejável ter uma máquina instalada
apenas "com o necessário”. Seja por limitações de hardware ou seja pelo uso que se
pretende fazer do computador.
Vamos instalar alguns pacotes básicos que irão facilitar nossa interação com o sis-
tema recém instalado: sistema X Window ou modo gráfico, gerenciador de janelas ou
“window manager", mouse e um terminal gráfico como o xterm.
51
52 Configurando o servidor gráfico
3. OK
5. Informe a quantidade de memória (em kB) a ser usada por sua placa de vídeo:
Não digite nada.
7. OK.
9. OK.
11. OK
13. OK
14. Por favor, selecione suas opções de teclado: Não digite nada.
15. OK
16. Por favor, escolha a porta onde seu mouse está conectado: /dev/psaux
17. Por favor, escolha a entrada que melhor descreve seu mouse: PS/2
18. OK
20. OK
24. OK
Como Reiniciar o Servidor Gráfico 53
25. Simple
26. Por favor escolha o tamanho aproximado de seu monitor: Até 14 polegadas (355
mm) 15 polegadas (380 mm)
27. Selecione os modos de vídeo que você gostaria que você seu servidor X usasse:
1024x768 , 800x600 , 640x480.
28. OK
30. OK
31. OK
dpkg-reconfigure xserver-xfree86
Toda vez que fizer isso você deverá reiniciar o Servidor Gráfico.
Aqui precisa ficar bem claro que não precisamos reinicar todo o sistema através do
reboot. Em sistemas “Unix-like”, basta que o programa que estamos reconfigurando
seja parado e iniciado, forçando a leitura do novo arquivo de configuração dele.
É preciso ter cuidado neste ponto pois, em alguns computadores, a BIOS pode es-
tar configurada para reiniciar o computador após a execução da sequência de teclas
Ctrl+Alt+Backspace. Se você executar esta sequência e o computador reiniciar, apro-
veite para desabilitar este comportamento na configuração da BIOS.
Se não estiver usando o wdm ou o xdm bastará sair do Window Manager e chamá-
lo de novo com o comando startx.
Para citar um exemplo do problema gerado pelo uso de outros gerenciadores pode-
mos citar o programa menu. Podemos ver este programa em ação quando “clicamos”
no desktop com o botão esquerdo do mouse. Quando instalamos uma pacote novo no
sistema, o menu de pacotes deve ser atualizado, e isso implica em fazer um restart do
gerenciador de janelas1 .
Detector de Hardware
Detector de mouse apt-get install mdetect
Executaremos este programa como usuáro root. Veja abaixo um exemplo de como
executá-lo:
# mdetect -o
/dev/psaux
ImPS/2
Neste exemplo, podemos dizer que o mouse está conectado na porta (“device”)
/dev/psaux e o tipo de mouse usado é o ImPS/2.
É importante saber que podemos usar o mouse do X sem termos instalado ou con-
figurado o “mouse do console”. Apesar disso, a configuração do “mouse do console”,
tem um parâmetro que pode interferir no comportamento do “mouse do modo gráfico”.
A configuração do “mouse gráfico” não interfere no “mouse do console”.
O instrutor irá demostrar durante a instalação que, a opção que deveremos remover
da configuração do mouse do console é: ms3.
Para mouses PS/2 o device escolhido será /dev/psaux. Para os mouses seriais
serão ou /dev/ttyS0 ou /dev/ttyS1, respectivamente COM1 ou COM2.
Abaixo temos um exemplo das perguntas que serão feitas durante a configuração
do programa gpm. Esta saída foi obtida para um mouse que já estava corretamente
configurado e, por isso, nenhum parâmetro foi alterado.
56 Acentuação
# gpmconfig
Lembrando que o sinal # significa que você deve executar esse comando como
usuário root.
10.10 Acentuação
Vamos instalar em nosso sistema o suporte ao idioma inglês norte-americano e ao
português do Brasil. As opções que escolheremos ao instalar o pacote locales são:
en_US, en_US (UTF-8) e pt_BR. O programa perguntará qual será, a partir de agora,
o idoma “oficial” do sistema instalado. Escolheremos pt_BR.
Reconfigurando a acentuação 57
LANG=pt_BR
LC_ALL=pt_BR
LC_CTYPE=ISO-8859-1
LESSCHARSET=latin1
export LANG LC_ALL LC_CTYPE LESSCHARSET
en_US ISO-8859-1
en_US.UTF-8 UTF-8
pt_BR ISO-8859-1
# dpkg-reconfigure locales
Atenção, escolha a opção OK em todas as telas. Se você só selecionar as opção
que deseja e pressionar a tecla ENTER, o programa irá prosseguir, mas não executará
o que você pediu2 .
Se sua configuração for bem sucedida, você deverá ter as seguintes linhas em seu
arquivo /etc/locale.gen:
en_US ISO-8859-1
en_US.UTF-8 UTF-8
pt_BR ISO-8859-1
2
Isto era um bug do script de configuração do locales no Debian 3.0.
58 Reconfigurando o Mapa do Teclado
# dpkg-reconfigure console-data
11
Gerenciadoes de Pacotes:
dpkg Um gerenciador de pacotes de nível médio para o Debian.
59
60 Estação de trabalho
Gravação de CDs:
eroaster
cdrtoaster
cdcontrol
Estação de trabalho 61
gtoaster
gcombust
kreatecd
cdrecord
mp3burn
mkisofs
cdlabelgen
Jogos e inutilitários:
xpenguins
xboard
gnome-chess
xbill
xsoldier
quake2
Administração:
rcconf Utilizado para habilitar/desabilitar scripts que são executados durante o pro-
cesso de boot/reboot/halt.
Configuração de Hardware:
powerteak
kudzu Utilizado para detectar, duante o boot, hardware que foi acrescentado/removido.
totem
62 Estação de trabalho
sinek
vlc
ogle
imagemagick A instalação deste pacote possibilita o uso do comando import. Útil para
fazer screenshots. ¯
sketch
sodipodi
gimp
Rede:
nmap Utilziado para identificar, entre outras coisas, quais portas podem estar ativar
em um computador.
cups
Monitoração do Estado do Computador:
gkrellm
xosview
gmemusage
Travar o ambiente gráfico ou o console:
xtrlock Transforma o indicador do mouse em um cadeado. Trava o modo gráfico.
Arquivos Importantes
Vamos conhecer agora alguns arquivos importantes. Você poderá precisar saber
encontrá-los em caso de problemas.
Configuração de Rede
Interfaces de Rede /etc/network/interface
Administração de Usuários
X Window
65
66 Modelos de configuração
Apt-get
ooooo iiii
Apêndice A
Fontes de Conhecimento
Dicas-l Como o próprio nome já diz, a lista envia dicas. Os assuntos abordados são
bem variados e interessantes, tanto para o usuário iniciante quanto para o expe-
riente. Apenas uma mensagem por dia é enviada, todos os dias da semana. No
site http://www.dicas-l.unicamp.br/ é possível ler as dicas e encontrar um formulá-
rio de inscrição. Para você não ter que acessar o site e correr o risco de esquecer,
cadastre-se na lista. Todos os dias você vai receber uma ótima dica!
Debian em Português Dedicada aos usuários do Debian que falam o idoma Portu-
gês. É uma lista muito movimentada. Uma boa forma de encontrar suporte no
próprio idioma, mas alguns cuidados devem ser tomados. Cadastre-se na lista
e seja um observador do andamendo das discussões, pegue o espríto da coisa
antes de sair perguntando. Procure pesquisar nos arquivos da lista antes de fazer
uma pergunta. Quando se é um assinante por muito tempo, mensagens repe-
tidas incomadam. Você pode levar uma bronca se o assunto foi exaustivamente
discutido. O formulário para inscrição está aqui http://lists.debian.org/debian-user-
portuguese/ .
Debian Weekly News Ótima pedida para aqueles que querem saber das novidades
sobre o mundo Debian. Semanalmente 1 mensagem é enviada com um resumo
dos principais pontos relativos a novas “releases", novos pacotes, artigos inte-
ressates. Você apenas recebe os boletins informativos, não envia perguntas. O
formulário para inscrição está aqui http://lists.debian.org/debian-news/ .
Security Advisories Todo usuário do sistema debian deve cadastrar-se nesta lista.
Ela é utilizada apenas para enviar avisos de atualização de pacotes, principal-
mente aqueles com algum problema de segurança. Você não envia perguntas,
67
68 Fontes de Conhecimento
apenas recebe os boletins. Sempre que receber uma notícia desta lista, execute o
“update/upgrade". O formulário para inscrição está aqui http://lists.debian.org/debian-
security-announce/ .
Curso de Linux É a lista deste curso. Não nenhuma pretensão de se igualar com as
outras listas citadas. A função dela e servir de apoio para os alunos deste curso.
Também serve para receber avisos de novos cursos e apostilas. Para inscrever-
se envie um e-mail, sem título e sem assunto, para o endereço
cursolinuxusp-subscribe@yahoogroups.com .
http://shots.osdir.com/slideshows/slideshow.php?
release=395&slide=36&title=debian+gnu/linux+3.1r0a+screenshots .
Linux Basics Site voltado para o ensino de Linux com documentação em inglês:
http://linuxbasics.org
Revolution OS