quinta-feira, 11 de abril de 2024

Convertendo pacotes .deb em lote para txz no Slackware 15.0


Se você precisar converter uma grande quantidade de pacotes .deb para txz no Slackware, baixe o utilitário deb2tgz em https://github.com/vborrego/deb2tgz/archive/0.2/deb2tgz-0.2.tar.gz

Depois de baixado, descompacte o pacote e instale com os comandos abaixo:

$ tar -xvf deb2tgz-0.2.tar.gz 
$ cd deb2tgz-0.2/
$ cp deb2tgz /usr/local/bin

Que situação você precisaria fazer uma conversão em lote de pacotes .deb ?

Alguns programas como o LibreOffice costuma vir empacotado num pacote principal no formato .tar.gz onde dentro deste pacote tem muitos pacotes .deb e para instalar no Slackware eles precisam ser convertidos para o formato .txz e fazer a conversão de cada arquivo .deb separado um a um demandaria muito tempo e paciência para realizar esta conversão.

Mesmo que você já tenha uma versão do LibreOffice instalada no seu Slackware, mas tem o desejo de instalar uma versão mais recente do LibreOffice cuja versão mais atual ainda não tem no formato do Slackware a conversão em lote facilita muito este processo.

Para converter todos os pacotes .deb do LibreOffice em lote, execute o seguinte comando abaixo em uma janela de terminal no diretório onde foi descompactado o pacote .tar.gz

$ for i in $( ls *.deb); do deb2tgz  $i; done

Notas:
- Não digite nenhum nome de pacote, apenas execute o comando no diretório que tem os pacotes .deb onde será criado um pacote .txz de cada pacote .deb correspondente.
- Depois de tudo convertido, você pode instalar de uma vez só com o comando: sudo installpkg *.txz

Dica:
Crie um script com o comando para converter em lote para não precisar decorar o comando ou ter que consultar o comando toda vez que precisar usar o mesmo.
Nome sugestivo deb2lotetxz salvo em /usr/local/bin com permissão do chmod 755.

Conteúdo do script:

#!/bin/bash
for i in $( ls *.deb); do deb2tgz  $i; done