Acabei de ter exatamente esse problema. Como Gilles sugeriu, atualizar tar
é a resposta, mas (surprise surprise) tar
não pode ser atualizado da maneira usual porque dpkg
requer a versão 1.23 ou posterior antes de descompactar e instalar o último tar
deb . dpkg
realmente precisa de uma dependência explícita para garantir que, quando uma versão posterior de dpkg
for instalada, a versão tar
mais recente seja a primeira, mas acho que é um risco combinar diferentes testes e liberações instáveis de maneiras não suportadas. Ainda é indesejável e isso parece uma maneira infeliz de incapacitar um sistema.
Minha primeira idéia foi procurar o último binário de tar
no projeto GNU , mas infelizmente eles só têm downloads de fontes, que não são úteis se (como eu) você não tem as várias ferramentas de compilação instaladas.
Se você baixar o mais recente tar
binary .deb
para corresponder ao seu sistema em packages.debian.org e colocá-lo em um lugar temporário em algum lugar (apenas para ser arrumado), você deve conseguir entrar nele com o comando ar
, por exemplo ar x tar_1.26-2_amd64.deb
no meu caso.
Em seguida, descompacte o arquivo data.tar.gz
resultante com um comando como tar zxvf data.tar.gz
, usando sua versão anterior existente de tar
, que deve funcionar contanto que você não tente fazer nada bobo, como usar um parâmetro --warning
que ganhou estará disponível até a versão 1.23. :) Isso permitirá que você obtenha o tar
binary, que (dentro do arquivo data.tar.gz) provavelmente estava em bin/tar
.
Tendo feito isso, adicionei o caminho para esse binário para a frente da variável PATH
em meu shell, que no meu shell bash poderia ser feito com o comando export PATH=/root/temp/bin:$PATH
, mas ajuste o caminho para caber onde quer que o novo tar
binário está agora sentado. Depois disso, executar uma% normaldpkg --install tar_1.26-2_amd64.deb
funcionou maravilhas, porque dpkg
procurará no caminho e localizará o binário tar
mais recente antes de encontrar a versão mais antiga no caminho bin
normal.
Espero que isso ajude.