Extraindo a Versão de um Pacote do Debian

Publicado por Mauricio Ferrari em 05/01/2021

[ Hits: 508 ]

Blog: https://github.com/MauricioFerrari-NovaTrento

 


Extraindo a Versão de um Pacote do Debian



Às vezes, você vai baixar um pacote DEB na internet e o mesmo não informa a versão do pacote.

Um exemplo disso é o Google Chrome, cujo o pacote vem com essa nomenclatura: google-chrome-stable_current_amd64.deb. Aí não tem como saber a versão.

Porém, estudando alguns scripts do slackbuilds, encontrei um método bem funcional para isso. Então, basta abrir o terminal e digitar algo assim:

ar p google-chrome-stable_current_amd64.deb control.tar.xz 2> /dev/null | tar xJO ./control 2> /dev/null | grep Version | awk '{print $2}' | cut -d- -f1

É claro que esse método foi adaptado, pois é para o control.tar.xz que usa os parâmetros "xJO" no tar. Para o control.tar.gz, aí tem que ser os parâmetros "zxO" no tar, conforme a instrução original no qual tirei como base.

Nesse esquema, os comandos ar e tar usam parâmetros para ler o arquivo control dentro de control.tar.xz presente no pacote do Chrome, enquanto os comandos grep awk e cut são responsáveis por separar apenas o número da versão a ser exibido no terminal.

Espero que isso venha a ser útil para alguém. Até mais.

Outras dicas deste autor

Compilando o Vim 8.2 com suporte a clipboard

Ctrl+C e Ctrl+V no Terminal Linux

UMPlayer no Debian Ubuntu e Linux Mint

BleachBit 4.0.0 no Slackware Current

Consultando qual o repositório está ativo no slackpkg usando apenas o grep

Leitura recomendada

Usando Delta ISOs

Achando o pacote de um arquivo

Iniciando Counter-Strike 1.6 no GNU/Linux

O comando sl

Como resolver problemas na Solus?

  

Comentários
[1] Comentário enviado por Carlos_Cunha em 07/01/2021 - 22:06h

Legal, saber que da para fazer dessa forma, mas acredito que usar o dpkg(para trabalhar com .deb) seja mais simples/rápido/padrão.
Mesmo assim, ótima dica.


dpkg -I XXXXXX.deb |grep -i version


#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#

[2] Comentário enviado por mauricio123 em 08/01/2021 - 13:08h


[1] Comentário enviado por Carlos_Cunha em 07/01/2021 - 22:06h

Legal, saber que da para fazer dessa forma, mas acredito que usar o dpkg(para trabalhar com .deb) seja mais simples/rápido/padrão.
Mesmo assim, ótima dica.


dpkg -I XXXXXX.deb |grep -i version


#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



Bacana sua contribuição. O problema é que esse funciona para pacotes já instalados ou que tenham no repositório oficial. Aquele comando gigante, foi usado em um script para gerar um pacote para o Slackware.

Mesmo assim, é um ótimo comando.


[3] Comentário enviado por Carlos_Cunha em 12/01/2021 - 10:42h


[2] Comentário enviado por mauricio123 em 08/01/2021 - 13:08h


[1] Comentário enviado por Carlos_Cunha em 07/01/2021 - 22:06h

Legal, saber que da para fazer dessa forma, mas acredito que usar o dpkg(para trabalhar com .deb) seja mais simples/rápido/padrão.
Mesmo assim, ótima dica.


dpkg -I XXXXXX.deb |grep -i version


#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



Bacana sua contribuição. O problema é que esse funciona para pacotes já instalados ou que tenham no repositório oficial. Aquele comando gigante, foi usado em um script para gerar um pacote para o Slackware.

Mesmo assim, é um ótimo comando.




Opa! Não não, é para fazer o mesmo que vc fez no caso, para saber a versão de um pacote .deb que vc possua. Para um já instalado ficaria assim:

dpkg -s google-chrome-stable|grep -i version
ou
dpkg -l |grep google-chrome



[4] Comentário enviado por mauricio123 em 13/01/2021 - 20:57h


[3] Comentário enviado por Carlos_Cunha em 12/01/2021 - 10:42h


[2] Comentário enviado por mauricio123 em 08/01/2021 - 13:08h


[1] Comentário enviado por Carlos_Cunha em 07/01/2021 - 22:06h

Legal, saber que da para fazer dessa forma, mas acredito que usar o dpkg(para trabalhar com .deb) seja mais simples/rápido/padrão.
Mesmo assim, ótima dica.


dpkg -I XXXXXX.deb |grep -i version


#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



Bacana sua contribuição. O problema é que esse funciona para pacotes já instalados ou que tenham no repositório oficial. Aquele comando gigante, foi usado em um script para gerar um pacote para o Slackware.

Mesmo assim, é um ótimo comando.




Opa! Não não, é para fazer o mesmo que vc fez no caso, para saber a versão de um pacote .deb que vc possua. Para um já instalado ficaria assim:

dpkg -s google-chrome-stable|grep -i version
ou
dpkg -l |grep google-chrome





Verdade. Verifiquei que aquele funciona como o código que eu apresentei. Usando dpkg, precisaria filtrar a saída para ficar como o código que eu apresentei.

Agradeço mais uma vez.




Contribuir com comentário