[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ próximo ]


Como usar o APT
Capítulo 5 - Obtendo informações sobre os pacotes.


Existem alguns programas, conhecidos como front-ends para o sistema APT que facilitam em muito a listagem dos pacotes disponíveis para instalação, os instalados, em quais seções se encontram, quais suas prioridades, descrições, etc.

Mas... nossa intenção aqui é aprender a usar o APT puro. Então o que fazer para descobrir o nome do pacote que você pode querer a vir instalar?

Para isso temos uma série de recursos. Vamos começar com o apt-cache. Esse programa é usado pelo sistema APT para manter seu banco de dados. Nós vamos entrar apenas nos aspectos práticos dele.


5.1 Descobrindo nome dos pacotes

Por exemplo, suponha que você está com vontade de relembrar os bons tempos do atari 2600. Você quer usar o APT para instalar um emulador de atari e depois baixar alguns jogos. Você pode fazer:

     # apt-cache search atari
     atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
     circuslinux - The clowns are trying to pop balloons to score points!
     madbomber - A Kaboom! clone
     tcs - Character set translator.
     atari800 - Atari emulator for svgalib/X/curses
     stella - Atari 2600 Emulator for X windows
     xmess-x - X binaries for Multi-Emulator Super System

Achamos então vários pacotes relacionados ao que queremos e breves descrições. Para ter mais informações sobre um pacote, posso, então, usar:

     # apt-cache show stella  
     Package: stella
     Priority: extra
     Section: non-free/otherosfs
     Installed-Size: 830
     Maintainer: Tom Lear <tom@trap.mtview.ca.us>
     Architecture: i386
     Version: 1.1-2
     Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)
     Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
     Size: 483430
     MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
     Description: Atari 2600 Emulator for X windows
      Stella is a portable emulator of the old Atari 2600 video-game console
      written in C++.  You can play most Atari 2600 games with it.  The latest
      news, code and binaries for Stella can be found at:
      http://www4.ncsu.edu/~bwmott/2600

Nessa saída você tem inúmeras informações sobre o pacote que quer instalar (ou não) e a sua descrição completa. No caso de o pacote já estar instalado em seu sistema e haver uma versão mais nova, você verá informações sobre ambos. Por exemplo:

     # apt-cache show lilo
     Package: lilo
     Priority: important
     Section: base
     Installed-Size: 271
     Maintainer: Russell Coker <russell@coker.com.au>
     Architecture: i386
     Version: 1:21.7-3
     Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate
     Suggests: lilo-doc
     Conflicts: manpages (<<1.29-3)
     Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb
     Size: 143052
     MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
     
     Package: lilo
     Status: install ok installed
     Priority: important
     Section: base
     Installed-Size: 190
     Maintainer: Vincent Renardias <vincent@debian.org>
     Version: 1:21.4.3-2
     Depends: libc6 (>= 2.1.2)
     Recommends: mbr
     Suggests: lilo-doc
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.

Note, que a primeira a ser listada é a disponível e a segunda, a que já se encontra instalada. Para uma informação mais geral sobre o pacote, você usa:

     # apt-cache showpkg penguin-command
     Package: penguin-command
     Versions: 
     1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status)
     
     Reverse Depends: 
     Dependencies: 
     1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) 
     Provides: 
     1.4.5-1 - 
     Reverse Provides:

Para saber de quais pacotes ele depende, apenas:

     # apt-cache depends penguin-command
     penguin-command
       Depends: libc6
       Depends: libpng2
       Depends: libsdl-mixer1.1
       Depends: libsdl1.1
       Depends: zlib1g

Resumindo, temos um bom arsenal para encontrarmos o nome do pacote que queremos.


5.2 Usando o dpkg para achar nomes de pacotes

Uma das maneiras de localizar o nome de um pacote é saber o nome de um arquivo importante que está nesse pacote. Por exemplo, para achar o pacote ao qual pertence um arquivo ".h" necessário a uma compilação você pode fazer:

     # dpkg -S stdio.h
     libc6-dev: /usr/include/stdio.h
     libc6-dev: /usr/include/bits/stdio.h
     perl: /usr/lib/perl/5.6.0/CORE/nostdio.h
     
     ou:
     
     # dpkg -S /usr/include/stdio.h
     libc6-dev: /usr/include/stdio.h

Para saber o nome de pacotes instalados no seu sistema, para uma possível limpeza, por exemplo, você pode usar:

     # dpkg -l | grep mozilla
     ii  mozilla-browse 0.9.6-7        Mozilla Web Browser

O problema com esse comando é que ele pode "quebrar" o nome do pacote. No exemplo acima o nome todo do pacote é mozilla-browser. Para dar um jeito nisso, você pode usar a variável de ambiente COLUMNS, assim, por exemplo:

     $ COLUMNS=132 dpkg -l | grep mozilla
     ii  mozilla-browser             0.9.6-7                     Mozilla Web Browser - core and browser

ou usar a descrição assim:

     # apt-cache search "Mozilla Web Browser"
     mozilla-browser - Mozilla Web Browser

5.3 Como instalar pacotes "on demand"

Você está compilando um programa e, de repente, boom! Há um erro porque falta um arquivo .h que você não tem. O auto-apt pode te salvar de coisas assim. Ele pede para instalar os pacotes caso sejam necessários pausando o processo dependente e depois de instalado o pacote, continuando.

O que você faz, basicamente, é executar:

     # auto-apt run comando

Onde `comando' é o comando a ser executado que pode vir a precisar de um arquivo qualquer. Por exemplo:

     # auto-apt run ./configure

Ele irá então pedir para instalar os pacotes necessários e irá chamar o apt-get automaticamente. Caso você esteja no X, uma interface gráfica substituirá a interface de texto padrão.

O auto-apt mantém bancos de dados que devem ser atualizados para que ele tenha real eficácia, isso é feito chamando os comandos auto-apt update, auto-apt updatedb e auto-apt update-local.


5.4 Como descobrir a qual pacote um arquivo pertence

Se você quer instalar um pacote e não consegue achar o seu nome usando o apt-cache mas sabe o nome do arquivo do programa ou de algum outro arquivo que pertence ao pacote pode usar o apt-file para encontrar o nome do pacote. Isso é feito assim:

     $ apt-file search nomedoarquivo

Ele funciona do mesmo jeito que o dpkg -S, mas também mostra os pacotes não instalados que contêm o arquivo. Ele poderia também ser usado para encontrar que pacotes contêm arquivos include necessários para uma compilação, apesar de o auto-apt ser um método muito melhor para resolver tais problemas, veja Como instalar pacotes "on demand", Seção 5.3.

Você pode também listar o conteúdo de um pacote rodando:

     $ apt-file list nomedopacote

O apt-file mantém uma base de dados de quais arquivos cada pacote contém, assim como o auto-apt e essa base precisa estar atualizada. Isso é feito rodando:

     # apt-file update

Por padrão, o apt-file usa a mesma base de dados que o auto-apt está usando, veja Como instalar pacotes "on demand", Seção 5.3.


5.5 Como manter-se informado das mudanças nos pacotes.

Todo pacote instala em seu diretório de documentação (/usr/share/doc/nomedopacote) um arquivo chamado changelog.Debian.gz que contém a lista de mudanças feitas no pacote desde a última versão. Você pode ler esses arquivos com a ajuda do zless, por exemplo, mas é algo pouco prático acabar de instalar todos os pacotes de uma atualização completa do sistema e então sair procurando os changelogs deles todos.

Há um jeito de automatizar essa tarefa por meio da ferramenta chamada apt-listchanges. Para começar instala-se o pacote apt-listchanges. Durante a instalação do pacote uma configuração será feita com o Debconf. Algumas perguntas podem não ser exibidas dependendo da prioridade que você configurou para seu Debconf usar. Responda às perguntas de acordo com sua vontade.

A primeira pergunta é sobre a forma com que você quer que as mudanças sejam exibidas. Você pode fazer com que sejam enviadas por e-mail para você, que é bom para atualizações automatizadas ou você pode pedir que sejam mostradas em um paginador como o less, para que você possa inspecionar as mudanças antes de permitir que a atualização continue. Se você não quiser que o apt-listchanges rode automaticamente durante atualizações você pode responder none.

Depois do apt-listchanges instalado, logo depois de ter baixado todos os arquivos (ou tê-los adquirido de um CD ou disco montado) o apt irá mostrar as listas de mudanças ocorridas naqueles pacotes antes de iniciar a instalação.


[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ próximo ]


Como usar o APT

1.8.11 - Agosto de 2005

Gustavo Noronha Silva kov@debian.org