Converter TAR.XZ para DEB
Construa um pacote Debian a partir do código-fonte TAR.XZ usando Debian tools, staging, metadata e compatibility checks.
Converter ficheiros TAR.XZ online
Ainda não temos um conversor online dedicado para TAR.XZ para DEB, mas pode converter ficheiros TAR.XZ online para estes formatos:
Quer converter TAR.XZ para DEB?
Diga-nos. Escolhemos as próximas conversões a adicionar de acordo com o interesse.
Como converter tar.xz para deb arquivo
- Arquivos
- Nenhuma avaliação ainda.
Um sistema baseado em Debian pode exigir um instalador .deb quando o software é distribuído apenas como um arquivo .tar.xz. Isso geralmente é uma tarefa de empacotamento, não uma conversão direta de formato, porque um DEB utilizável precisa de metadados do Debian, caminhos de instalação, dependências e, às vezes, scripts do mantenedor.
O que é o formato TAR.XZ
.tar.xz combina um arquivo TAR com compressão XZ. O TAR armazena arquivos e diretórios; o XZ comprime o arquivo resultante. Projetos Linux e Unix costumam usá-lo para código-fonte, documentação, exemplos de configuração e, ocasionalmente, software pré-compilado.
GNU tar, os utilitários XZ, 7-Zip, KDE Ark e GNOME Archive Manager podem extraí-lo. Inspecione o arquivo antes de escolher um método de compilação:
tar -tJf program.tar.xztar -xJf program.tar.xz -C work
Um arquivo de código-fonte pode conter um diretório debian/ existente ou pode fazer parte de um pacote-fonte Debian junto com arquivos como .dsc e debian.tar.xz. Ele também pode conter um .deb pronto; nesse caso, extraia ou copie esse pacote em vez de compilá-lo novamente.
O que é o formato DEB
Um DEB é um pacote binário Debian usado por dpkg, apt, Ubuntu Software, KDE Discover e ferramentas compatíveis. Internamente, ele é um arquivo que contém um arquivo de controle com metadados do pacote e um arquivo de dados com os arquivos instalados no sistema. Os metadados podem especificar o nome do pacote, a versão, a arquitetura, a descrição, as dependências, as somas de verificação, os arquivos de configuração e os scripts do mantenedor.
Os pacotes DEB fornecem instalação por meio do gerenciador de pacotes, tratamento de dependências, controle de versões, atualizações e remoção no Debian, Ubuntu, Linux Mint e distribuições relacionadas. Em geral, eles não são intercambiáveis com pacotes RPM do Fedora nem com pacotes do Arch Linux, e um pacote compilado para uma versão de distribuição pode exigir bibliotecas incompatíveis em outra.
Compilar um DEB a partir de um empacotamento Debian existente
Se o código-fonte extraído contiver debian/control e debian/rules, use as ferramentas de empacotamento do Debian em vez de criar manualmente um arquivo:
sudo apt update
sudo apt install build-essential debhelper devscripts dpkg-dev
mkdir work
tar -xJf program.tar.xz -C work
cd work/program-version
sudo apt build-dep .
dpkg-buildpackage -us -uc -b
apt build-dep exige repositórios de código-fonte Debian utilizáveis na configuração do APT. O pacote binário resultante normalmente é colocado no diretório pai. Instale um pacote local com:
sudo apt install ../program_version_arch.deb
Isso permite que o APT resolva as dependências disponíveis; apenas dpkg -i não resolve dependências ausentes. Se o arquivo for um pacote-fonte Debian completo, compilá-lo a partir do arquivo .dsc com dpkg-source -x pode ser mais apropriado do que extrair apenas o .tar.xz.
Empacotar um projeto sem metadados Debian
Um projeto de código-fonte convencional pode usar comandos diferentes de ./configure e make; siga o README, o INSTALL ou a documentação de compilação. Para um projeto compatível com os comandos convencionais, prepare a instalação em um diretório temporário em vez de gravar diretamente no sistema em execução:
tar -xJf program.tar.xz
cd program-version
./configure --prefix=/usr
make
rm -rf "$PWD/pkg"
make DESTDIR="$PWD/pkg" install
Crie um arquivo de controle Debian dentro da árvore preparada. Substitua todos os valores de exemplo e use a arquitetura informada pelo sistema de destino:
mkdir -p pkg/DEBIAN
cat > pkg/DEBIAN/control <<'EOF'
Package: program
Version: 1.0.0
Section: utils
Priority: optional
Architecture: amd64
Maintainer: Package Maintainer <maintainer@example.org>
Depends: libc6
Description: Short program description
A longer package description uses an indented continuation line.
EOF
fakeroot dpkg-deb --build pkg program_1.0.0_amd64.deb
Use dpkg --print-architecture para identificar a arquitetura nativa. Defina Architecture: all apenas para conteúdo independente de arquitetura, como scripts ou documentação; programas compilados precisam da arquitetura para a qual foram compilados. Liste explicitamente todas as dependências de bibliotecas e programas em tempo de execução, pois o dpkg-deb não consegue inferi-las de forma confiável a partir de binários arbitrários.
FPM pode automatizar o empacotamento simples de diretório para DEB depois que os arquivos forem preparados:
fpm -s dir -t deb -n program -v 1.0.0 -a amd64 -C pkg usr
O FPM não determina automaticamente as dependências corretas nem a integração com o Debian. Serviços, entradas de desktop, tratamento de configurações, gatilhos, arquivos de direitos autorais, traduções e scripts do mantenedor podem exigir trabalho adicional de empacotamento.
Ferramentas para desktop e online
7-Zip, KDE Ark e GNOME Archive Manager são adequados para visualizar ou extrair arquivos TAR.XZ, mas não convertem arquivos-fonte arbitrários em um DEB instalável válido. Use dpkg-buildpackage para um projeto com metadados Debian e dpkg-deb ou FPM para um pacote preparado deliberadamente.
Um conversor online não é apropriado para essa conversão. Um serviço web não pode compilar código-fonte de forma confiável, determinar dependências em tempo de execução, preservar propriedade e permissões Unix ou validar scripts de instalação. Conversores online de arquivos podem reempacotar bytes, mas o resultado não é necessariamente um pacote Debian, e enviar código-fonte proprietário ou ainda não lançado cria um risco de divulgação.
Verificar a compatibilidade antes da instalação
Revise o pacote gerado antes de instalá-lo:
dpkg-deb --info program_1.0.0_amd64.deb
dpkg-deb --contents program_1.0.0_amd64.deb
lintian program_1.0.0_amd64.deb
Teste-o em uma máquina virtual Debian ou Ubuntu descartável com a mesma versão e arquitetura do destino:
sudo apt install ./program_1.0.0_amd64.deb
Um pacote criado a partir de make install pode omitir a integração com o sistema, atualizações, lógica de remoção, definições de serviços, entradas de menu, permissões e caminhos específicos da distribuição. Compilar a partir do empacotamento Debian upstream ou do pacote-fonte da distribuição de destino geralmente produz metadados mais precisos do que encapsular uma árvore de instalação TAR.XZ arbitrária.
Comparação de formato: TAR.XZ vs DEB
Como os formatos TAR.XZ e DEB se comparam nas propriedades mais importantes para esta conversão.
| Propriedade | .TAR.XZ tar archive compressed with XZ | .DEB Debian binary package |
|---|---|---|
| Compressão | Ambos | Ambos |
| Taxa de compressão | Muito alto | Médio |
| Criptografia | Não | Não |
| Arquivos divididos | Não | Não |
| Registro de recuperação | Não | Não |
| Suporte ao sistema operacional | Amplo | Amplo |
| Tamanho típico do arquivo | Pequeno | Pequeno |
| Padrão aberto | Sim | Sim |
| Introduzido | 2009 | 1995 |
| Desenvolvedor | LZMA SDK / GNU tar ecosystem | Debian Project |
| Tipo MIME | application/x-xz | application/vnd.debian.binary-package |
As informações sobre extensões e tipos de arquivo são fornecidas por File-Extensions.org