Comando dpkg no Linux (gerenciamento de pacotes) [Guia Básico]
O utilitário dpkg é responsável pelo gerenciamento de pacotes em sistemas Debian.
O dpkg é o comando base para manipular pacotes Debian em sistemas baseados nesta família de Distribuições. Se você tem pacotes.deb, é o dpkg que permite a instalação ou análise de seus conteúdos.
Mas este programa só tem uma visão parcial do gerenciamento de pacotes Debian: ele sabe o que está instalado no sistema, e o que quer que seja digitado na linha de comando, mas não sabe nada sobre os outros pacotes disponíveis.
Assim, se você precisará baixar manualmente um “pacote.deb” para manipulá-lo com o dpkg.
E também o dpkg falhará se uma dependência não for atendida durante uma instalação de pacote. Ferramentas como apt e aptitude, ao contrário, criarão uma lista de dependências para instalar tudo da forma mais automatizada possível.
O dpkg 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.
Segundo o Wiki do Debian, ele é responsável pela manutenção em baixo nível dos pacotes no sistema.
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:
Instala o pacote acct_6.3.5-32_i386.deb.
# dpkg -i acct_6.3.5-32_i386.deb
Remove o pacote ace-of-penguins_1.2-3_i386.deb do sistema completamente.
# dpkg --purge ace-of-penguins_1.2-3_i386.deb
Configura o pacote abook_0.4.16-1_i386.deb.
# dpkg --configure abook_0.4.16-1_i386.deb
O dpkg também pode ser utilizado para se descobrir a qual pacote determinado arquivo pertence com a opção “-S” (maiúsculo):
# 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
A opção “-s” (minúsculo) do dpkg poder ser usada ver informações de um determinado pacote:
$
dpkg -s coreutils
Package: coreutils Essential: yes Status: install ok installed Priority: required Section: utils Installed-Size: 15719 Maintainer: Michael Stone <[email protected]> Architecture: amd64 Multi-Arch: foreign Version: 8.30-3 Pre-Depends: libacl1 (>= 2.2.23), libattr1 (>= 1:2.4.44), libc6 (>= 2.28), libselinux1 (>= 2.1.13) Description: GNU core utilities This package contains the basic file, shell and text manipulation utilities which are expected to exist on every operating system.
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.
O comando dpkg também pode ser usado para desempacotar um pacote, de forma que é possível ver seu conteúdo.
$ dpkg --unpack man-db_2.8.5-2_amd64.deb
(Lendo banco de dados… 14937 arquivos e diretórios atualmente instalados.)
Preparando para descompactar man-db_2.8.5-2_amd64.deb…
Desembalando man-db (2.8.5-2) sobre (2.8.5-2)…
Acionadores de processamento para suporte a MIME (3,62)…
Este comando não é muito utilizado na prática, visto que o comando apt ou apt-get são bem mais fáceis de utilizar.
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:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix