Ferramentas do usuário

Ferramentas do site


infra-estrutura:linux:gerenciamento_pacotes_dpkg

Gerenciamento de pacotes dpkg

Instalar pacote deb

# dpkg -i man-db_2.7.0.2-5_amd64.deb

Ou manualmente

# dpkg --unpack man-db_2.7.0.2-5_amd64.deb
(Reading database ... 86425 files and directories currently installed.)
Preparing to unpack man-db_2.7.0.2-5_amd64.deb ...
Unpacking man-db (2.7.0.2-5) over (2.7.0.2-5) ...
Processing triggers for mime-support (3.58) ...
# dpkg --configure man-db
Setting up man-db (2.7.0.2-5) ...
Updating database of manual pages ...

Remover pacote deb

dpkg -r pacote.deb

Remover os arquivos de configurações pacote deb

dpkg -P pacote.deb

Extrair conteudo do arquivo deb

O Comando Linux dpkg com a opção -x , é utilizado para extrair os arquivos de um pacote .deb .

dpkg -x rsync_2.6.9-3ubuntu1.1_i386.deb /tmp/rsync_conteudo 
ls /tmp/rsync_conteudo
etc usr

Verificando a versão de um pacote deb

dpkg -p rsync
Version: 2.6.9-3ubuntu1.1

Obtendo informações pacote deb

dpkg -I rsync_2.6.9-3ubuntu1.1_i386.deb

Listando pacotes instalados

dpkg -l

Procura o pacote que contém determinado arquivo

dpkg -S <nome do pacote>

Verificando o status de um pacote .deb

dpkg -s rsync

Listar o Conteúdo de um pacote .deb

dpkg -c rsync_2.6.9-3ubuntu1.1_i386.deb

verificar os arquivos instalados por um pacote .deb

dpkg -L minicom

Visualizar cabeçalhos do pacote deb

dpkg -I <nome do pacote>

Visualizar arquitetura

dpkg --print-architecture

Adicionar suporte a determinada arquitetura

Adicionar a arquitetura armhf

dpkg --add-architecture armhf

Visualizar as arquiteturas extrangeira do sistema

dpkg --print-foreign-architectures

Remover arquitetura do sistema de pacotes

dpkg --remove-architecture armhf

Instalando pacotes deb de arquiteturas extrangeiras

suporte APT multi-arqu APT irá detectar automaticamente quando dpkg foi configurado para suportar arquiteturas estrangeiras e vai começar a fazer o download dos pacotes correspondentes durante seu processo de atualização. Pacotes estranhos podem em seguida ser instalados com apt install pacote:arquitetura.

Usando binários de propriedade do i386 no amd64 Existem vários casos de uso para multi-arqu, mas o mais popular é a possibilidade de executar binários 32 bits (i386) em sistemas de 64 bits (AMD64), em particular, uma vez que vários aplicativos populares proprietários (como o Skype) são fornecidos apenas em versões 32 bit.

Comparação de versões de pacote deb

Como o dpkg é o programa para manipular pacotes Debian, ele também é a implementação de referência da lógica de comparar números de versão. É por isto que ele tem uma opção –compare-versions, usada por programas externos (principalmente scripts de configuração executados pelo próprio dpkg). Esta opção precisa de três parâmetros: um número de versão, um operador de comparação e um segundo número de versão. Os operadores são lt (menor que “lower than”), le (menor ou igual “less than or equal to”), eq (igual “equal”), ne (diferente “not equal”), ge (maior ou igual “greater than or equal to”) e gt (maior que “strictly greater than”). Se a comparação der correta, o dpkg retorna 0 (sucesso); senão, retorna um valor não-zero (indicando falha).

$ dpkg --compare-versions 1.2-3 gt 1.1-4
$ echo $?
0
$ dpkg --compare-versions 1.2-3 lt 1.1-4
$ echo $?
1
$ dpkg --compare-versions 2.6.0pre3-1 lt 2.6.0-1
$ echo $?
1

Observe a falha inesperada da última comparação: para o dpkg, pre normalmente significa uma pre-release (“pré-lançamento”) e não tem um significado especial, e este programa compara as letras da mesma forma que os números (a <b < c …), em ordem alfabética. É por isto que ele considera “0pre3” como sendo maior que “0”. Quando nós queremos um número de versão de pacote para indicar que é um pré-lançamento, usamos o til, “~”:

$ dpkg --compare-versions 2.6.0~pre3-1 lt 2.6.0-1
$ echo $?
0