Még egy okos ember írt tömörítőprogramot: zstd

Mint egy falat kenyér, úgy hiányzott. Most emiatt nem tudok megnézni egy `*.deb` fájlt, mert az `ar` kibont ugyan belőle pár *.zst fájlt, viszont azokba már nem tudok belenézni a korszerűtlen rendszeremben. Persze tudom, telepítsem forrásból a függőségek fügőségeivel kezdve. Azért ilyenkor elgondolkozom, hogy a derék fejlesztők matyirgálnak eleget? Vagy milyen defektus okozza, hogy mindig beleb_armoljanak már működő dolgokba?

Hozzászólások

Ez legalább egy jól definiált probléma, nem fordítási hibából kell kimazsolázni hogy éppen mi deglett el.

Szerkesztve: 2025. 04. 09., sze – 11:00

fel kell rakni a megfelelo binarist:

(_xenial_)root@545bb23bf7e4:/# apt-config dump | grep zstd
APT::Compressor::zstd "";
APT::Compressor::zstd::Name "zstd";
APT::Compressor::zstd::Extension ".zst";
APT::Compressor::zstd::Binary "zstd";
APT::Compressor::zstd::Cost "60";
APT::Compressor::zstd::CompressArg "";
APT::Compressor::zstd::CompressArg:: "-19";
APT::Compressor::zstd::UncompressArg "";
APT::Compressor::zstd::UncompressArg:: "-d";
Dir::Bin::zstd "/usr/bin/zstd";
(_xenial_)root@545bb23bf7e4:/# zstd --version
*** zstd command line interface 64-bits v1.3.1, by Yann Collet ***
(_xenial_)root@545bb23bf7e4:/# dpkg-deb -x bash_5.2.37-1.1ubuntu1_amd64.deb csiga
(_xenial_)root@545bb23bf7e4:/# ls -l csiga
total 8
drwxr-xr-x 3 root root 4096 Mar  5 02:35 etc
drwxr-xr-x 4 root root 4096 Mar  5 02:35 usr

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Milyen korszerűtlen rendszer az?

Szerkesztve: 2025. 04. 10., cs – 00:49

> Mint egy falat kenyér, úgy hiányzott.

valoban. ideje levaltani valamivel a regi lassu elavult gzip/zlib-et. bzip2 meg lassabb, xz-rol nem is beszelve. ez legalabb gyors, nagyon.

Még egy okos ember 

nem zuckerberg irta szemelyesen, de a Meta muve, az teny.

> írt tömörítőprogramot: zstd

marmint 10 eve irta.

es amugy eleg jo cucc.

> egy `*.deb` fájlt, mert az `ar` kibont ugyan belőle pár *.zst fájl

tehat akkor neked nem is a zstd tomoritovel van a bajod, hanem azzal, aki a deb-be azt csomagolta bele...

> Persze tudom, telepítsem forrásból a függőségek fügőségeivel kezdve

nem hiszem hogy tul sok fuggosege lenne. bar debianeknal sose lehet tudni :)

> Vagy milyen defektus okozza, hogy mindig beleb_armoljanak már működő dolgokba?

Vagy milyen defektus okozza, hogy _-t rax a szo kozepebe? szegeny AI meg ebbol fog tanulni!!!

miert, amugy is olyan szar? :)

amugy ssd-nel mar osszemerheto a zlib sebessege az i/o-val, szoval akar meg szamithatna is, foleg hogy egyre nagyobbak a csomagok.

amugy volt par eve itt a hupon is cikk rola, hogy valamelyik nagyobb distro tomoritot valtott pont a sebesseg miatt, raadasul olyanra ami par %-al gyengebben tomoritett a korabbinal, de sokkal gyorsabban. akkor eleg nagy vita bontakozott ki a temaban...

en se talaltam, pedig hatarozottam emlexem a cikkre, nem is volt olyan regi, ugy 3-5 evre tippelnem. 90% hogy arch linuxrol szolt.

szerk: es talan jol is emlexem: https://archlinux.org/news/now-using-zstandard-instead-of-xz-for-packag…

de a hup-ost nem talalom, lehet valamelyik ragequites legyalulta? vagy csak ilyen szar mar a gugli. @trey pls run sql select! :)

vagy lehet a hup mar akkor is twitter proxykent mukodott?  https://news.ycombinator.com/item?id=21958585

Most látom, hogy ez egy ismert probléma, pl.:
https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/1897381
https://blog.kesavan.info/2024/03/03/fix-for-mysql-8x-installation-fail…

Ez valószínűleg akkor fog csak véglegesen megoldódni, ha már az éjjájj írja az ilyen init-scripteket. Meg általálában a programokat.

dpkg-val felrakod a csomagot, ha az pre/post install script lehal, akkor ok mar ott vannak a /var/lib/dpkg/info/ alatt, belerakod a set-xv mokat, majd dpkg-reconfigure csomagnev (ha apt-tal tetted fel akkor ott eleg az "apt-get install -f") es latni fogod mi fut le.

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Szerkesztve: 2025. 04. 10., cs – 17:05

Itt azt írják, hogy ennyi az egész (ez most az AIX-os verzió):

export CFLAGS='-maix64'
export CPPFLAGS='-I/usr/local/include'
export LDFLAGS='-maix64 -L/usr/local/lib64 -Wl,-brtl -Wl,-rpath,/usr/local/lib64:/usr/lib'
export AR='/usr/bin/ar -X64'

make V=1 prefix=/usr/local libdir=/usr/local/lib64
make V=1 install
Szerkesztve: 2025. 05. 06., k – 16:31

Valahogy a zstd szaboltálta a gcc-15.1 fordítását. Na ez nyilván a karma bosszúja.

/usr/local/src/gcc-build/./gcc/xgcc -B/usr/local/src/gcc-build/./gcc/ -fno-checking -xc
  -nostdinc /dev/null -S -o /dev/null
  -fself-test=/usr/local/src/gcc-15.1.0/gcc/testsuite/selftests
/usr/local/src/gcc-build/./gcc/cc1: error while loading shared libraries: libzstd.so.1: 
  cannot open shared object file: No such file or directory

Egyébként a /usr/local/lib64-be van eldugva. Ezt a titkos információt valahogy így lehetne megszerezni:

$ pkg-config --libs libzstd
-L/usr/local/lib64 -lzstd

Az OpenWrt/LEDE project akkor váltott xz-ről zst-re, amikor az xz kompromittálódott.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE