Closed hyunlee1o closed 2 years ago
Please try installing zstd
:
sudo apt-get install zstd
then retry.
i installed zstd
but the result is the same, and the update error message is the same.
Well I guess this Debian bug needs to be addressed for this to work. zstd
compression support has been added to Ubuntu quite a while ago, but not to Debian yet.
Should i just compile from source?
By all means, it's always an option. You can also manually repack the .deb
:
ar x indicator-sound-switcher_2.3.7-1_all.deb
zstd -d < control.tar.zst | xz > control.tar.xz
zstd -d < data.tar.zst | xz > data.tar.xz
ar -m -c -a sdsd indicator-sound-switcher_repacked.deb debian-binary control.tar.xz data.tar.xz
rm debian-binary control.tar.xz data.tar.xz control.tar.zst data.tar.zst
Okay, thank you. I installed from source.
Hey @yktoo, after some furious googling of the strange error message with little help beyond the standard --fix-broken
I landed on this GitHub issue.
Your response helped me repackage a package I was having trouble with, and so, I wrote a gist so hopefully others encountering the generic error: archive uses unknown compression for member control.tar.zst, giving up
can repackage their problem package as well.
Thanks! 🎉
Instead of manually repacking everything each time you update you can install Ubuntu's dpkg (http://ports.ubuntu.com/pool/main/d/dpkg/) and update normally (remember to do sudo apt-mark hold dpkg
). After updating you can reinstall the version of dpkg
you had before.
Iinstead of installing ubuntu's dpkg on debian I made a script to avoid such a frankenstein.
#!/bin/bash
DEBPACKAGE="${1%.deb}"
[[ -z "$1" ]] && echo "Usage: $0 <package.deb>" && exit 1
set -e
ar x $DEBPACKAGE.deb
zstd -d < control.tar.zst | xz > control.tar.xz
zstd -d < data.tar.zst | xz > data.tar.xz
ar -m -c -a sdsd "$DEBPACKAGE"_repacked.deb debian-binary control.tar.xz data.tar.xz
rm debian-binary control.tar.xz data.tar.xz control.tar.zst data.tar.zst
As this gives a Debian user a better alternative. You can even add set -x under the bin/bash to see exactly what it is doing and iif you don't need just comment it out.
I added the following two lines to the end of DeeDeeRanged's script.
echo "Repack done. Use the following command to install." echo "sudo dpkg -i --force-overwrite ${DEBPACKAGE}_repacked.deb"
Hello, i couldn't get the above commands to work, so i created a patched dpkg deb package to install on Debian.
Hope someone will find it useful.
By all means, it's always an option. You can also manually repack the
.deb
:ar x indicator-sound-switcher_2.3.7-1_all.deb zstd -d < control.tar.zst | xz > control.tar.xz zstd -d < data.tar.zst | xz > data.tar.xz ar -m -c -a sdsd indicator-sound-switcher_repacked.deb debian-binary control.tar.xz data.tar.xz rm debian-binary control.tar.xz data.tar.xz control.tar.zst data.tar.zst
Thanks this worked for me <3
Iinstead of installing ubuntu's dpkg on debian I made a script to avoid such a frankenstein. #!/bin/bash
DEBPACKAGE="$1"
if [ "$1" = "" ]; then echo echo "Usage: $0
without .deb" echo "Like zstd_repack.sh package_name" echo exit fi ar x $DEBPACKAGE.deb zstd -d < control.tar.zst | xz > control.tar.xz zstd -d < data.tar.zst | xz > data.tar.xz ar -m -c -a sdsd "$DEBPACKAGE"_repacked.deb debian-binary control.tar.xz data.tar.xz rm debian-binary control.tar.xz data.tar.xz control.tar.zst data.tar.zst
As this gives a Debian user a better alternative. You can even add set -x under the bin/bash to see exactly what it is doing and iif you don't need just comment it out.
With the files from:
https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.2-rc3/
It fails with the third one, like when issuing the command:
./repackage.sh linux-image-unsigned-6.2.0-060200rc3-generic_6.2.0-060200rc3.202301081352_amd64
Giving this output:
./repackage.sh: line 14: control.tar.zst: No such file or directory ./repackage.sh: line 15: data.tar.zst: No such file or directory rm: cannot remove 'control.tar.zst': No such file or directory rm: cannot remove 'data.tar.zst': No such file or directory
Any chance you can fix it?
Thank you!
@Danny3 AFAIS those DEBs don't use zstd compression, there are just uncompressed .tar
files inside.
Also, I'd strongly recommend to add set -e
to the script to avoid proceeding after a failed command (will update the comment).
Describe the bug I tried to update indicator-sound-switcher but it errored on install.
To Reproduce Basically install the .deb file or
sudo apt update
Desktop (please complete the following information):
Indicator log: In order to fetch it, quit the indicator from the menu ("Quit"), open Terminal and start it again as follows: