Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumo
Esse um guia prtico para o Sistema Operacional Debian GNU/Linux. Ele pretende ser um manual de referncia para funes teis a s vezes pouco conhecidas.
Nota de Copyright
2001 Gustavo Noronha Silva Esse guia est licenciado sob os termos da FDL (Free Documentation License) publicada pela Free Software Foundation.
Sumrio
1 A Documentao do Debian 1.1 1.2 1.3 2 O Sistema de Documentao (doc-base) . . . . . . . . . . . . . . . . . . . . . . . . Documentao do Debian via www . . . . . . . . . . . . . . . . . . . . . . . . . . Documentao Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 3 3 3 3 4 5 5 6 6 7 7 7 8 8 9 9 9
Como instalar pacotes 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Como instalar pacotes .deb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Como instalar vrios pacotes .deb . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instalar pacotes com APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instalar pacotes com Dselect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Como instalar pacotes sob demanda . . . . . . . . . . . . . . . . . . . . . . . . . . Como instalar pacotes .tgz ou .rpm no Debian . . . . . . . . . . . . . . . . . . . . Como abrir pacotes .deb com o dpkg-deb . . . . . . . . . . . . . . . . . . . . . . . Como usar pacotes .deb sem o dpkg . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecionando Pacotes 3.1 3.2 3.3 3.4 Como obter uma lista de pacotes instalados . . . . . . . . . . . . . . . . . . . . . . Como denir uma lista de pacotes para outra mquina . . . . . . . . . . . . . . . Como manter os pacotes numa mesma verso . . . . . . . . . . . . . . . . . . . . Como procurar pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Obtendo informaes sobre pacotes 4.1 4.2 4.3 Como saber o estado de um pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . Como obter o nome do pacote que contm um certo arquivo? . . . . . . . . . . .
SUMRIO
ii
4.4 4.5 5
Como usar pacotes fonte 5.1 5.2 5.3 5.4 5.5 5.6
O que so os pacotes fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Como baixar pacotes fonte com o APT . . . . . . . . . . . . . . . . . . . . . . . . . 13 Como usar pacotes fonte com dpkg-source . . . . . . . . . . . . . . . . . . . . . . 13 Como compilar um pacote fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Como mudar as opes de compilao de um pacote fonte . . . . . . . . . . . . . 14 Como resolver dependncias de compilao . . . . . . . . . . . . . . . . . . . . . 14 17
Como construir um pacote deb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Como construir pacotes para preencher dependncias . . . . . . . . . . . . . . . . 17 Como reconstruir um .deb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 19
Quando dois pacotes fazem a mesma coisa 8.1 8.2 8.3 8.4 8.5 8.6 8.7
O que so alternativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Vendo alternativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Congurando alternativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Alternativas automticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Lidando com alternativas pelos links . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Como criar ou adicionar alternativas . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Removendo alternativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 25
Instalando o Sistema de Menus (e o que ) . . . . . . . . . . . . . . . . . . . . . . . 25 Como criar novas entradas globais no Sistema de Menus . . . . . . . . . . . . . . 25 Como modicar uma entrada globalmente . . . . . . . . . . . . . . . . . . . . . . 25
SUMRIO
iii
Como remover uma entrada globalmente . . . . . . . . . . . . . . . . . . . . . . . 26 Como lidar com menus se voc no root . . . . . . . . . . . . . . . . . . . . . . . 26 Um exemplo de entrada de menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 29
10.1 Como atualizar o Kernel no Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 10.2 Como atualizar para o Linux 2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 10.3 Como compilar kernel no Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 10.4 Como congurar os mdulos do kernel com o modconf . . . . . . . . . . . . . . . 30 10.5 Como congurar mdulos na mo . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 11 Como lidar com os scripts de inicializao 33
11.1 Entendendo os scripts de inicializao . . . . . . . . . . . . . . . . . . . . . . . . . 33 11.2 Gerenciando scripts de inicializao com update-rc.d . . . . . . . . . . . . . . . . 34 11.3 Alternativa ao sistema rc.d padro de links: le-rc . . . . . . . . . . . . . . . . . . 34 12 Agradecimentos 37
SUMRIO
iv
Captulo 1
A Documentao do Debian
1.1 O Sistema de Documentao (doc-base)
O Debian possui um sistema centralizado de documentao. O desenvolvedor do pacote deve registrar sua documentao nesse sistema e assim torn-la disponvel para o sistema. O doccentral um dos programas que tm como funo levar o usurio diretamente documentao, usando o navegador especicado pelo usurio como padro. Antes de us-lo necessrio instalar o pacote doc-central. Veja Como instalar pacotes on page 3 para maiores informaes. Instale tambm o pacote doc-base. Para inici-lo, basta digitar em um prompt shell: $ doccentral O doc-central procura na varivel de ambiente $BROWSER. Se no a encontra usa o navegador que encontrar. Por exemplo, para denir que o navegador a ser utilizado seja o galeon, coloca-se: $ export BROWSER=galeon no arquivo /home/usurio/.bash_profile e/ou no arquivo /home/usurio/.bashrc. Assim, quando o doc-central for executado iniciar o galeon para navegar na documentao Debian.
Para us-lo instale o pacote dwww e, tambm o doc-base para ter melhores resultados, j que nem todos os pacotes se registram diretamente com o dwww. H duas maneiras de se usar o dwww: como um ndice, no qual se navega at achar o que quer, ou como uma consulta rpida toda a documentao de um pacote. Para ver o ndice basta rodar: $ dwww Para ver toda a documentao disponvel para um pacote, faa: $ dwww pacote H outros tipos de programas para acessar a documentao indexada pelo doc-base, o doc-central por exemplo, que tambm usa um servidor http.
Captulo 2
# apt-get install nomedopacote O APT ir baixar o pacote e suas dependncias. Para saber mais sobre ele visite http:// debian-br.cipsga.org.br/view.php?doc=apt-howto-pt_BR. Note que apesar de ter alta qualidade, o APT no suporta todas as possibilidades do .deb, para obter toda a funcionalidade use um frontend para ele como o deity ou o aptitude ou mesmo o gnome-apt.
Estando no diretrio /. Mas no boa poltica j que o sistema de empacotamento no vai tomar conhecimento de que aquele pacote est instalado. O jeito certo usar o alien, assim: $ alien -d arquivo.tgz Isso ir transformar o arquivo tgz em um .deb que voc pode instalar com o dpkg. O mesmo se aplica ao rpm, o utilitrio rpm est disponvel no Debian, mas uma poltica melhor converter o pacote rpm em deb para manter a consistncia do banco de dados do dpkg. O comando do alien o mesmo para pacotes rpm.
Captulo 3
Selecionando Pacotes
3.1 Como obter uma lista de pacotes instalados
Muitas vezes quer-se fazer uma seleo rpida de pacotes para outras mquinas recm-instaladas e assim instalar rapidamente vrias mquinas. Para obter uma lista das selees atuais do seu sistema use o comando a seguir: $ dpkg --get-selections Para gravar isso em um arquivo basta usar os recursos de redireo da shell assim: $ dpkg --get-selections > lista-de-pacotes.txt Outra maneira de se obter uma lista de pacotes executando: $ dpkg -l As linhas que comeam com ii mostram os pacotes instalados, as linhas que comeam com rc mostram pacotes que j estiveram instalados, foram removidos mas continuam com seus arquivos de congurao instalados. Para remover de vez os arquivos de congurao use a opo --purge ao remover (tanto no APT quanto no dpkg).
E usar: # dselect install para completar a instalao a partir da mdia disponvel (normalmente um CD ou um mirror do Debian, depende das fontes que foram conguradas no APT e para o Dselect.) Note porm que pacotes que no estavam instalados na mquina original no sero removidos da mquina destino caso estejam instalados na mesma.
Captulo 4
10
Os pacotes so listados esquerda e os arquivos que batem com o padro passado direita. Outra forma seria: # dpkg -S debiandoc2html debiandoc-sgml: /usr/share/man/man1/debiandoc2html.1.gz debiandoc-sgml: /usr/bin/debiandoc2html Se o pacote no est instalado, pode-se usar o auto-apt: $ auto-apt check /caminho/arquivo Perceba que o caminho para o arquivo tem de ser absoluto. Um exemplo real: # auto-apt check /usr/bin/zsoelim doc/man-db Isto signica que o arquivo se encontra no pacote man-db que est na seo doc do Debian. Uma outra opo til do auto-apt : auto-apt list Esta opo lista os nomes de todos os arquivos disponveis para instalao/instalados e seus respectivos pacotes. Usado em conjunto com o grep muito til.
11
Existe ainda o programa dlocate. Para us-lo necessrio instalar o pacote dlocate Ele tem vantagens sobre o dpkg. Inmeras. Alm da velocidade superior, ele pode mostrar informaes muito mais completas. As opes -S, -L, -s e -l funcionam quase exatamente como as do dpkg, veja acima. No entanto, o ganho de velocidade e detalhes incrvel. Usando: $ dlocate -conf voc consegue listar os arquivos que so marcados confles do pacote (arquivos de congurao gerenciados pelo dpkg). Uma outra opo muito til a -man, que lista as pginas de manual de um pacote: $ dlocate -man gkdial-gnome 1 gkdial
12
bom tambm dar uma olhada no programa gnome-help-browser que faz parte do GNOME. Ele uma forma centralizada de obter ajuda no sistema. Basta digitar man:pgina (por exemplo man:ls) para obter uma pgina html que mostra o contedo da pgina de manual. O mesmo pode ser aplicado para documentao info.
13
Captulo 5
14
$ dpkg-source -x pacote.dsc Isso vai abrir o orig.tar.gz e aplicar o .diff.gz. A partir desse momento pode-se usar o dpkg-buildpackage -rfakeroot -us -uc para construir esse pacote. o dpkg-source que abre o pacote fonte no diretrio corrente aps um apt-get source pacote.
15
O APT mais novo, que est atualmente no woody tem uma funo especial que capaz de checar essas dependncias automaticamente. Para isso basta executar: # apt-get build-dep pacote O pacote da linha de comando o pacote do qual se quer pegar as dependncias de compilao. Note que esse comando no baixa o fonte do pacote.
16
17
Captulo 6
18
Note que pode ser que o processo dpkg-repack tenha de usar alguns arquivos de congurao ou qualquer outro tipo de arquivo que necessitam de root para serem lidos e se esse for o caso nem mesmo o fakeroot poder ajudar, deve-se us-lo como root nesses casos.
19
Captulo 7
20
21
Captulo 8
22
Lembrando que o nome o nome de um dos links em /etc/alternatives. Por exemplo: # update-alternatives --config x-terminal-emulator There are 3 programs which provide x-terminal-emulator. Selection Command ----------------------------------------------+ 1 /usr/X11R6/bin/xterm 2 /usr/X11R6/bin/uxterm * 3 /usr/bin/gnome-terminal.wrapper Enter to keep the default[*], or type selection number: 1 Using /usr/X11R6/bin/xterm to provide x-terminal-emulator. Note que a entrada em que est um * (asterisco) a padro, a que est sendo usada. A que est marcada com um + a melhor entrada, seria a usada no caso de a alternativa ser escolhida automaticamente (veremos adiante). Ento, depois de rodar o que rodei acima, o xterm ser meu x-terminal-emulator.
$ ls -l /usr/bin/x-terminal-emulator lrwxrwxrwx 1 root root 37 Jul 16 2000 /usr/bin/x-terminal-e $ ls -l /etc/alternatives/x-terminal-emulator lrwxrwxrwx 1 root root 31 Nov 24 18:00 /etc/alternatives/x-t
23
D pra perceber que eu uso o gnome-terminal como meu x-terminal-emulator, ento toda vez que algum programa chama tal programa o que se abre o gnome-terminal. Voc pode mudar suas alternativas mudando esses links.
# update-alternatives --install /usr/bin/web-browser web-browser /usr/bin/moz # update-alternatives --install /usr/bin/web-browser web-browser /usr/bin/gal Isso cria /usr/bin/web-browser que aponta, primeiramente, para o galeon, j que esse tem prioridade maior e a alternativa est congurada para auto. O link criado em /etc /alternativos o argumento nome (veja o primeiro exemplo), que serve para muitas outras funes do update-alternatives. Note, porm, que web-browser no tem uma manpage. Seria lgico ligar a ele a manpage do browser que est sendo usado como web-browser em determinado momento, certo? Para isso que existe a opo --slave. Seria algo assim:
# update-alternatives --install /usr/bin/web-browser web-browser /usr/bin/moz No necessrio explicar os argumentos de --slave, so todos os do --install menos a prioridade.
24
25
Captulo 9
26
27
O hints usado para dicas, aquelas mensagens que aparecem quando se pe o mouse em cima de um item de menu explicando sua funo. O section indica em qual submenu, dentro do menu do Debian deve entrar esse item, as entradas vlidas esto listadas em /usr/share/doc/menu/html/ch3.html. O title congura o nome que o item de menu ter. O command dene a linha de comando a ser executada (caminho absoluto) e o icon dene qual cone ser utilizado para a entrada de menu.
28
29
Captulo 10
Note que importante uma atualizao de vrios pacotes antes de se atualizar o kernel para que ele funcione corretamente, no force uma situao diversa disso.
30
31
Logo depois de entrar no modconf, uma lista de sees ser listada. Dentro das sesses so listados os vrios mdulos que podem ser instalados (ou seja, carregados) no sistema. Para carregar um mdulo basta dar enter sobre ele. Alguns mdulos requerem opes adicionais para serem carregados como por exemplo as placas NE 2000 ISA. Logo que voc digita enter, o modconf perguntar por essas opes. Para a placa NE 2000 do meu 486, por exemplo eu coloco: io=0x300 irq=5 Essas opes e os mdulos carregados sero guardados para toda vez que se iniciar a mquina ter-se a mesma congurao.
32
33
Captulo 11
34
35
# apt-get install file-rc Basicamente, ele substitui aqueles links interminveis e de difcil manuteno por um arquivo nico: /etc/runlevel.conf. Aqui est um segmento de um /etc/runlevel.conf tpico: #/etc/runlevel.conf # #Formato: #<ordem> <desligado> 05 05 05 10 0,1,6 12 0,1,6 [..] 89 0,1,6 99 99 0,1,6
A ltima coluna o script que ser executado. A primeira coluna a ordem em que o script ser executado no boot. Isso equivalente ao NN dos links SNNnome e KNNnome vistos acima. A segunda coluna uma lista separada por vrgulas dos runlevels em que o script ser morto (equivalente ao K dos links KNNnome). A terceira coluna o mesmo da segunda, mas para os runlevels em que o script ser executado (equivalente ao S dos links SNNnome). Dessa forma, verique a linha com o nmero 10: 10 0,1,6 2,3,4,5 /etc/init.d/sysklogd
Isso signica que o script /etc/init.d/sysklogd ser executado nos runlevels 2, 3, 4 e 5, e ser morto nos runlevels 0, 1 e 6. Alm disso, pelo nmero de ordem podemos dizer que ele ser avaliado (para execuo ou morte) imediatamente antes do script /etc/init.d/kerneld e imediatamente depois de /etc/init.d/reboot. Como ltimo exemplo, verique a linha nmero 99: 99 2,3,4,5 /etc/init.d/rmnologin
Isso signica que o script /etc/init.d/rmnologin no ser morto nunca naquele nmero de ordem ( isso que signica o -), e ser executado nos runlevels 2, 3, 4 e 5. Se o hfen for utilizado na terceira coluna, isso signica que o script nunca ser executado naquele nmero de ordem. Adicionalmente, um programa update-rc.d fornecido no pacote para que a administrao do boot tipo SYS V seja feita da mesma forma (veja a seo anterior), muito embora eu duvide que, depois de se familiarizar com o /etc/runlevel.conf, voc ainda vai usar o update-rc.d.
36
37
Captulo 12
Agradecimentos
Um grande obrigado ao Projeto Debian e a todos os seus desenvolvedores por tornarem real um sistema operacional que se aproxima da perfeio. Ao Projeto Debian-BR por tornar possvel usar esse sistema em portugus. Em especial, agradecimentos para: Pablo Lorenzoni (spectra) <spectra@debian.org> pela seo sobre o le-rc Gleydson Maziolli da Silva (Gleydson) <gleydson@debian.org> pela seo sobre o dpkgdeb Luis Alberto Garcia Cipriano <lacipriano@uol.com.br> pelas sugestes valiosas Gustavo De Nardin (spuk) <nardin@inf.ufsc.br> pelas dicas sobre o sistema de menu Eduardo Ochs (edrx) <edrx@inx.com.br> http://angg.twu.net pelas valorosas sugestes de incluso de informaes Fabio Grezele <fg@anhembi.br> pelas correes gramaticais Lucas Rocha <lucasr@led.ufba.br> pela colaborao na melhoria da seo sobre pacotes fonte. Felipe Fernandes <lepow@terra.com.br> pelas dicas para melhoria da seo sobre compilao de kernel.