Gerenciamento de Pacotes Debian no Linux [Guia Básico]
Use ferramentas para instalar, atualizar, desinstalar pacotes, obter informações como versão, conteúdo, dependências, integridade e estado de instalação.
O gerenciamento de pacotes Debian no Linux é uma excelente maneira de distribuir, instalar e desinstalar software para as distros Debian e Ubuntu.
Um pacote em poucas palavras é um arquivo que contém as informações necessárias para que o gerenciador de pacotes possa instalar, manter e remover os programas como também os demais arquivos necessários de um determinado aplicativo.
Uma característica importante do Linux é a modularização de seus componentes e o uso intensivo de bibliotecas compartilhadas. Isso se aplica também aos pacotes de aplicativos.
É bastante comum um programador utilizar bibliotecas compartilhadas e não as incluir no seu aplicativo.
É comum ao tentarmos instalar um determinado pacote ser necessário primeiro instalar outro pacote que contenha os pré-requisitos ou as bibliotecas para a sua instalação. Cada pacote carrega as informações de dependências necessárias.
Grandes projetos de software usam distribuir os diversos módulos de seu aplicativo em diversos pacotes que podem ou não ser instalados de acordo com o seu uso.
A organização de um aplicativo em vários pacotes permite que o administrador instale somente aqueles que são realmente necessários, evitando ter que instalar componentes que não serão utilizados. Seguindo a linha de gerenciadores de pacotes, duas grandes distribuições Linux se destacaram.
A Debian uniu as ferramentas GNU, o Kernel do Linux e outros softwares livres importantes formando a distribuição chamada Debian GNU/Linux. Esta distribuição é feita de um grande número de pacotes de softwares.
Cada pacote na distribuição contém programas executáveis, scripts, documentação e informações de configuração. O gerenciador de pacotes do Debian é versátil e robusto. O Ubuntu e o SteamOS seguem o padrão Debian.
Também a empresa americana Red Hat foi uma das pioneiras no tratamento sério do Linux. Desde o início ela é uma das principais distribuições mundiais com grande influência.
Criadora do RPM, o gerenciador de pacotes mais usado atualmente no Linux, a Red Hat tem uma distribuição voltada para o mercado de servidores. O Fedora, Mandriva, SuSE, OpenSuSe, CentOS e o Oracle Linux seguem o padrão RPM.
A Debian está atenta para detalhes que nos permitem produzir programas de alta qualidade e estabilidade.
As instalações podem ser facilmente configuradas para servir múltiplos propósitos, como firewalls linux com poucos pacotes, estações desktop científicas e servidores de rede de alto desempenho.
Esta distribuição é especialmente popular entre usuários avançados por causa de sua excelência técnica e atenção às necessidades e expectativas da comunidade Linux.
A Debian também introduziu muitas características ao sistema que agora são rotineiras como o sistema de gerenciamento de pacotes para instalação e remoção fácil de software e também a possibilidade de permitir a atualização do sistema sem requerer a reinstalação.
As ferramentas do gerenciador de pacotes possibilitam ao administrador de um sistema Debian o controle completo dos softwares instalados, incluindo a habilidade de instalar um simples pacote ou automaticamente atualizar todo o sistema operacional.
Os pacotes também podem ser protegidos para não serem atualizados.
Os nomes dos pacotes Debian acompanham o seguinte padrão:
- Nome do Pacote: O nome do pacote é uma breve descrição do seu conteúdo. Se mais de uma palavra for usada, é separada por traço;
- Versão do software: Cada pacote tem um número de versão próprio, que pode variar entre versão principal e correções aplicadas;
- Versão do pacote: Os pacotes também podem ter versões diferentes de distribuição. A versão do pacote também pode indicar para qual plataforma ele foi preparado;
- Extensão .deb: Para fácil identificação dos pacotes Debian.
Exemplos:
abiword-gtk_1.0.2+cvs.2002.06.05-1_i386.deb
abiword-plugins_1.0.2+cvs.2002.06.05-1_i386.deb
Ferramentas para manipular os pacotes
dpkg
O comando dpkg é o utilitário responsável pelo gerenciamento de pacotes em sistemas Debian.
Ele mantém as informações dos pacotes instalados basicamente nos arquivos /var/lib/dpkg/available e /var/lib/dpkg/status. Estes arquivos contêm a lista de pacotes disponíveis e status, respectivamente.
As opções mais frequentes são:
- -E: Esta opção não regrava um pacote já instalado de mesma versão;
- -G: Esta opção não regrava um pacote já instalado, mesmo que seja mais antigo;
- -R: Processa todos os pacotes encontrados em determinado diretório de forma recursiva.
As ações mais frequentes são:
- -i nomedopacote: Instala o pacote nomedopacote. Este processo envolve fazer cópia backup dos arquivos antigos que já existirem no sistema, desempacotamento, instalação e configuração. Esta ação também pode ser referenciada com –install nomedopacote;
- -l chavebusca: Lista as informações dos pacotes que contenham no nome a mesma chave de busca;
- -L nomedopacote: Lista os arquivos instalados pelo pacote nomedopacote;
- — print-avail nomedopacote: ‘Lista todas as informações disponíveis sobre o pacote nomedopacote em /var/lib/dpkg/avaliable;
- — purge nomedopacote: Remove todo o pacote nomedopacote;
- -r nomedopacote: Remove todos os arquivos do pacote, menos as configurações;
- -s nomedopacote: Mostra o status do pacote;
- -S arquivo: Procura por um arquivo nos pacotes instalados;
- —unpack nomedopacote: Desempacota um pacote, mas não instala;
- —configure nomedopacote: Configura um pacote não instalado.
Exemplos:
Instalar um pacote usando o dpkg
# dpkg -i acct_6.3.5-32_i386.deb
Remover rum pacote usando o dpkg
# dpkg —purge ace-of-penguins_1.2-3_i386.deb
O dpkg também pode ser utilizado para se descobrir a qual pacote determinado arquivo pertence:
# 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
Outra possibilidade é descobrir os pacotes instalados no sistema a partir de uma chave:
# dpkg -l | grep mozilla
ii mozilla-browse 0.9.6-7 Mozilla Web Browser
O arquivo /etc/dpkg/dpkg.cfg contém as opções padrão quando o dpkg é executado.
Os arquivos de controle do dpkg residem no diretório /var/lib/dpkg. Dois arquivos interessantes neste diretório são:
/var/lib/dpkg/available: Lista de pacotes disponíveis;
/var/lib/dpkg/status: Estado dos pacotes instalados. Informa quando foram instalados, removidos etc.
Utilitário dpkg-reconfigure
Uso:
# dpkg-reconfigure [nome do pacote]
O comando dpkg-reconfigure reconfigura um pacote já instalado no sistema. Ele tem o mesmo efeito da re-instalação do pacote.
Exemplo:
# dpkg-reconfigure debconf
Utilitário apt-get – o verdadeiro canivete suiço
O comando apt-get (Advanced Package Tool) é um gerenciador avançado de pacotes.
Ele pode utilizar arquivos locais ou remotos para realizar instalação ou atualização de pacotes.
Desta maneira é possível atualizar todo o sistema Debian via ftp ou http. Este gerenciador também mantém informações dos pacotes e suas dependências.
Devido a sua facilidade de operação, o apt-get é o método preferido para se manipular pacotes. Este utilitário oferece dezenas de opções configuradas no arquivo /etc/apt/apt.conf.
O arquivo /etc/apt/sources.list contém os locais onde o apt-get encontrará os pacotes, a distribuição verificada (stable, testing, unstable, Woody, Sarge) e a seção que será copiada (main, non-free, contrib, non-US).
Abaixo um exemplo simples de arquivo /etc/apt/sources.list com explicação das seções:
deb http://www.debian.org/debian stable main contrib non-free
deb http://nonus.debian.org/debian-non-US stable non-US
No arquivo /etc/apt/apt.conf podemos especificar opções que modificarão o comportamento do programa apt-get durante a manipulação dos pacotes.
O apt-get utiliza uma lista de pacotes para verificar se os pacotes existentes no sistema precisam ou não ser atualizados. A lista mais nova de pacotes é copiada através do comando apt-get update.
O apt-get é muito útil, pois o administrador não precisa copiar manualmente da Internet o pacote que deseja instalar, muito menos lidar com as dependências, desde que o que ele precisa esteja nos repositórios indicados no sources.list.
As opções mais frequentes deste utilitário são:
- -d: Baixa os arquivos, mas não instala. É útil para baixar grandes volumes de pacotes para posterior instalação;
- -s: Simula a instalação dos pacotes, mas não realiza modificações;
- -y: Responde afirmativamente por todas as perguntas feitas durante o processo de instalação/desinstalação dos pacotes.
Os comandos mais frequentes são:
- dist-update: Este comando faz a atualização automática do sistema Debian;
- install: Este comando instala um determinado pacote especificado pelo nome;
- remove: Este comando remove um determinado pacote especificado pelo nome;
- update: Este comando faz uma lista de todos os pacotes disponíveis. O processo é feito automaticamente antes de qualquer modificação nos pacotes;
- upgrade: Este comando é utilizado para fazer uma atualização segura do sistema, pois ele não instala pacotes que podem causar algum conflito ou falha nos arquivos de configuração.
Exemplos:
# apt-get install airsnort
Instala o pacote airsnort.x.y.deb. Este comando aceita instalar mais de um pacote separando os nomes por espaços. Somente é preciso especificar o nome do pacote, sem a versão (X), revisão (Y) e sufixo (.deb).
Se for preciso, o apt-get irá instalar automaticamente as dependências necessárias para o funcionamento correto de um pacote.
O apt-get pode atualizar toda a sua distribuição de uma forma inteligente e segura. Ele lê a listagem de pacotes disponíveis no servidor remoto, verifica quais estão instalados e suas versões e atualiza os pacotes antigos.
# apt-get upgrade
A cópia dos arquivos poderá ser feita via ftp, http, cópia local dos arquivos no disco rígido ou CD-ROM.
Quer modo “gráfico” ? Use o aptitude para instalar e remover software
O utilitário aptitude é uma interface para facilitar o uso do APT. Ele mostra uma lista de pacotes e permite que o usuário selecione os pacotes para instalação ou desinstalação de forma interativa.
Ele também atua como um poderoso sistema de busca de pacotes e detalhes dos pacotes.
Originalmente desenvolvido para o Debian ele também está presente em outras distribuições, bem como em algumas que usam o padrão RPM.
Ele utiliza a biblioteca ncurses para emulação de terminal e menus interativos, emulando o uso do apt-get de forma mais simples e intuitiva.
Calma! Ainda tem mais! Veja o comando apt-cache
O utilitário apt-cache é para manipular e obter informações sobre os pacotes no cache do apt.
Ele deve ser usado em conjunto com alguns comandos, a seguir:
# apt-cache add: Adiciona um pacote ao cache do apt;
# apt-cache gencaches: Gera o cache do apt;
# apt-cache showpkg: Mostra algumas informações sobre um determinado pacote;
# apt-cache stats: Mostra algumas estatísticas;
# apt-cache check: Verifica a sanidade do cache;
# apt-cache search: Procura na lista de pacotes por uma determinada ocorrência;
# apt-cache show: Mostra detalhes sobre um determinado pacote;
# apt-cache depends: Mostra as dependências de software de um determinado pacote;
# apt-cache pkgnames: Lista o nome de todos os pacotes.
O apt-cache pode ser utilizado para descobrirmos os pacotes que contêm emuladores do Atari:
# apt-cache search atari
atari800 – Atari emulator for svgalib/X/curses
stella – Atari 2600 Emulator for X windows
xmess-x – X binaries for Multi-Emulator Super System
Também pode ser utilizado para se saber mais sobre um determinado pacote, como o emulador Stella:
# apt-cache show stella
Package: stella
Priority: extra
Section: non-free/otherosfs
Installed-Size: 830
Maintainer: Tom Lear <[email protected]>
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
Ou se deseja simplesmente saber quais são as dependências de um pacote:
# apt-cache depends penguin-command
penguin-command
Depends: libc6
Depends: libpng2
Depends: libsdl-mixer1.1
Depends: libsdl1.1
Depends: zlib1g
Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.
Gostou? Compartilhe
Tag:apt-cache, apt-get, apt-get install, aptitude, deb, debian, dpkg, Linux, pacotes, sources.list