Estou executando o Debian, a saber:
# uname -A
Linux martlins2 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 GNU/Linux
e por algum tempo eu vejo alguns erros dizendo que algumas partes de alguns pacotes usam compressão desconhecidaapt update
ao fazer . Em particular, a causa do problema está no meio do dpkg
:
# apt update
(...)
# apt upgrade
(...)
dpkg-deb: error: archive '/var/cache/apt/archives/libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb' uses unknown compression for member 'control.tar.zst', giving up
Traceback (most recent call last):
File "/usr/share/apt-listchanges/DebianFiles.py", line 124, in readdeb
output = subprocess.check_output(command)
File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['dpkg-deb', '-f', '/var/cache/apt/archives/libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb', 'Package', 'Source', 'Version', 'Architecture', 'Status']' returned non-zero exit status 2.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/bin/apt-listchanges", line 323, in <module>
main(config)
File "/usr/bin/apt-listchanges", line 104, in main
pkg = DebianFiles.Package(deb)
File "/usr/share/apt-listchanges/DebianFiles.py", line 358, in __init__
parser.readdeb(self.path)
File "/usr/share/apt-listchanges/DebianFiles.py", line 127, in readdeb
raise RuntimeError(_("Error processing '%(what)s': %(errmsg)s") %
RuntimeError: Error processing '/var/cache/apt/archives/libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb': Command '['dpkg-deb', '-f', '/var/cache/apt/archives/libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb', 'Package', 'Source', 'Version', 'Architecture', 'Status']' returned non-zero exit status 2.
dpkg-deb: error: archive '/tmp/apt-dpkg-install-XiLPN8/01-libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb' uses unknown compression for member 'control.tar
.zst', giving up
dpkg: error processing archive /tmp/apt-dpkg-install-XiLPN8/01-libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb (--unpack):
dpkg-deb --control subprocess returned error exit status 2
(...)
Errors were encountered while processing:
/tmp/apt-dpkg-install-XiLPN8/01-libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb
(...)
E: Sub-process /usr/bin/dpkg returned an error code (1)
Para provar, executei o dpkg
comando (simplificado) diretamente:
# dpkg -f /var/cache/apt/archives/libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb 'Package'
dpkg-deb: error: archive '/var/cache/apt/archives/libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb' uses unknown compression for member 'control.tar.zst', giving up
O arquivo realmente usa essa compactação:
# file /var/cache/apt/archives/libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb
/var/cache/apt/archives/libdrm-amdgpu1_2.4.107+git2109030500.d201a4~oibaf~i_amd64.deb: Debian binary package (format 2.0), with control.tar.zs, data compression zst
Eu instalei o zstd
pacote:
# apt search zstd
(...)
libzstd1/stable,stable,now 1.4.8+dfsg-2.1 amd64 [installed,automatic]
fast lossless compression algorithm
(...)
zstd/stable,stable,now 1.4.8+dfsg-2.1 amd64 [installed]
fast lossless compression algorithm -- CLI tool
Além disso, encontrei o seguinte relatório de bug do dpkg: https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/1764220 dizendo que o suporte zstd foi adicionado na 1.18.4ubuntu1.7
versão. Minha versão do dpkg é 1.20.9
:
# dpkg --version
Debian 'dpkg' package management program version 1.20.9 (amd64).
(...)
então isso pode não ser um problema.
Eu também removi todo o conteúdo do /var/cache/apt/archives/*
e red update && upgrade
. Não ajudou.
Você tem alguma dica do que fazer com isso? Há/Existem outros pacotes faltando? A versão Debian não tem esse recurso? É um problema de configuração? Existe alguma solução alternativa?
dpkg
O pacote do Debian não suportazstd
compressão . Pode apoiá-lo no futuro, mas ainda não.Acho que você adicionou um PPA do Ubuntu; você não deve usá-los com o Debian.
Para expandir a resposta de @stephen-kitt, isso também pode ocorrer no Ubuntu quando alguém adiciona um repositório oficial do debian como e,
bookworm
em/etc/apt/sources.list
seguida, atualiza acidentalmentedpkg
para a versão do Debian.A correção neste caso é remover a fonte e
sudo apt upgrade dpkg/jammy-updates
ou qualquer pacote ubuntu que apareça noapt list
.