Posted on January 3, 2020 by fungalnet
Happy new year facebook fans and Arch friends (friends of who? we don’t know, not us, not on facebook, not in the past and not in the future, but you must have friends amongst yourselves).
Some of you may have taken the previous post about abandoning Arch as a joke, since most of what we do recently is promote Obarun, an Arch based distribution with s6 and 66 init and service management. When we published that article we knew nothing of what Hyperbola was planning to do (we assume it was discussed within the community) or whether they were going to give-in to the pressure and incorporate arch’s pacman and packaging methodology change into their distribution. (Note: Hyperbola may be based on Arch but has its own separate repositories and rebuilds everything on their own to ensure everything is Free). All of their free packages, as far as we can tell are still compressed with xz. The bomb was set and it will go off soon (in open/free software tradition of timing kind of soon). Hyperbola is not just leaving Arch, it is leaving linux, for FreeBSD. But this is not about hyperbola, it is about Arch…. or skip to here if you are in a rush!
Back in May 2019 (specifically May 10th 2019 according to our records or at least between the last edition of 4.20.13 and the first edition of 5.0.1) linux-ck switched its packaging from xz compression to zstd. Did users take notice? Were they notified of such change, and was pacman capable of installing such packages? Ofcourse, linux-ck kernels are not official linux kernels and you can either get them by building them from AUR or directly as binaries from their own repository, repo-ck. In either case it is arch’s pacman that will have to decompress those zstd binaries and install the package. What’s the big deal with linux-ck ? 1, custom made kernels for different families of processors making the kernel leaner (scraping unnecessary fat of the kernel dedicated to foreign to your architecture modules). The eternal bug of linux-ck remains today! They claim it is oriented for desktop use because for sure it is not for console use, unless your fingers can hit and retract keys at bullet speed strokes or at 300ms you get zzzzz instead of just z. It is a big deal, if your X session is failing and you are trying to repair things to get to X. So now we have 2 reasons to drop linux-ck. But, this article is not about linux-ck, it is about Arch! Linux-ck just made the move faster than arch who proposed it.
Well come on then, get to the point, we are getting tired of reading already!
Real story begins here:
Ok, ok, ok!! Like we said about linux-ck … Got ya, you skipped endif do loop!
Seriously, if you are not on the bad habit of constantly deleting you cache and not having local versions to revert to previous editions when necessary, especially when you lost your network connection because of an upgrade, look at your cache :
% ls -Altr /var/cache/pacman/pkg
What do you see? Notice a difference? less .xz packages and signatures and more .zst (zstd compressed archived packaging) lately. They are supposed to be beneficial to you, they compress faster on their side, and decompress faster on your side, hence faster overall, right? Not! How big are those packages? They are bigger, a little bigger but bigger. So the slower your connection is the slower the overall procedure becomes. Do Canadians and “other N,Americans and Western Europeans” care? Not a bit, never did, never will. That’s a given. Do university students and faculty of the remaining world care, having the fastest internet connections in each particular country? Same. Does it matter? If you reject the popular NSA, MI5, Mossad model of social control, and coincidentally you reject facebook and other “serving” services, it does matter. It matters to freedom. If arch developers don’t buy into the criticism and condemnation of social networks employing evil-like intrusive closed and non-free code, then our trust with their judgement is at stake.
Ok, ok, ok, numbers, rational arguments and no more talking:
If you have MATE as your desktop you probably have engrampa by default as your archiving de/compressing Gui. Run engrampa on those late new zstd compressed packages to see their contents.
% ls -AlSr /var/cache/pacman/pkg/*zst
Take linux-lts-headers for example (versions -92 and -91):
% engrampa /var/cache/pacman/pkg/linux-lts-4.19.92-1-x86_64.pkg.tar.zst
!!Aaahh, ok doesn’t work, it doesn’t read .zst . Not yet anyhow. So install xarchiver.
Yes, you can decompress and extract a tar using xz or zstd directly, you don’t need a gui. If you can, fine, skip a couple of steps, but the article is for all users, and all users can use a gui, we hope.
% mkdir /tmp/xz % mkdir /tmp/zst % xarchiver -x /tmp/zst/ /var/cache/pacman/pkg/linux-lts-headers-4.19.92-1-x86_64.pkg.tar.zst % xarchiver -x /tmp/xz/ /var/cache/pacman/pkg/linux-lts-headers-4.19.91-1-x86_64.pkg.tar.xz
or
% xarchiver /var/cache/pacman/pkg/linux-lts-headers-4.19.91-1-x86_64.pkg.tar.xz
to see the contents of the kernel package. Check the size, then switch and look at the other one.
See how much faster zstd is than xz? Really, you did see that difference? How old and slow can your computer be to perceive the difference? Slower than those mega servers processing Arch packages and spreading them to mirrors, right? (a package is compressed at an arch builder server and sent to its primary repository, then, this package is copied through the network through 50-100 mirrors?) So, now think of the motives to make such a change , the claimed benefits in terms of numbers, the claimed deficiencies in terms of numbers, and the question of trusting facebook from spreading their “coding ethics” around the Open Software world.
How large are the contents of /tmp/zst and how large are the contents /tmp/xz?
Ahhh… ./xz/ is larger than ./zst/ , so we picked a bad example, something that was slightly bigger was compressed to something slightly smaller, but the small->big->small is faster than the bigger->smaller->bigger ? Whoop …. SHIT … DO!!! The different in uncompressed size is due to the two consecutive editions, 4.19.91 is slightly bigger than 4.19.92, but xz made it smaller than the smaller tar for 92 that zstd was used for. Let’s say that this blink of an eye is 35% of your daily upgrade volume, So that blink of an eye difference times 3 is the benefit of rejecting half a century proven algorithm over a very controversial source of code, very new to open and free software.
Now you are fed facebook compressed and decompressed binary code. Don’t you love “development”?
Happy f( U niversity of C alifornia)king new year Archers! Now if I publish this on/reddit.com/r/ArchLinux I will get 50 downvotes in the first 15′ because people there will defend Arch no matter what the content is to anyone criticizing a practice, and there will be many irrational responses that one has to confront on irrational grounds, because you can’t discuss rationally with the irrational. After all, an IBM/RH distribution with a facebook feeder of binaries is only “dangerous” if you make a moral choice against the “technium”.
Facebook is a corporation that has undeniably contributed more to open and free software, more than any other large multinational corporation in the industry. NOT!! Even MS, IBM, HP, Oracle, even Google, have contributed more than facebook. Don’t forget, IBM brought you systemd, silly! At least they have contributed a free open compression algorithm, that’s something. And Arch rushed to incorporate it into its most essential piece of homegrown software, pacman.
About Hyperbola: despite of disliking the BSD world, we may have to eventually become more familiar with it as healthier. On the other hand we have Trident moving from FreeBSD to Void-Linux and it is bringing the zfs technology with it for which many people find many good things to say about. But void is not arch, void had the capability to use zstd longer than arch (xbps did over pacman) but chooses not to use it yet. So, we shall see how things evolve, but at least some things are evolving, while everything else is being static, and maybe stale. Like Debian styled daemonocracy. Someone open a window and let some sunlight into that cellar. Put a facemask on, get a bleach and ammonia spray ready and start spraying.
Epilogue
Some are wondering why we are not publishing more frequently. It is not that we don’t want to, or have little to talk about, but there is not much happening apart of 66 development to be happy about. It is very gloomy and quiet. Very few people voicing their criticism and concerns, and in that peaceful aerie environment lots of quiet bad things are happening. The nice thing about s6/66 is that it is so portable. You just pick the distribution and install it and work with it despite of the init/service management system the distribution has picked. Is that unix-like freedom? That is exactly it. I wish pacman was that portable or I wish I could write a front end for xbps that makes xbps as user friendly as pacman. But is it worth anyone’s time to go through such trouble only to find out that Void decided to use zstd for its packaging?
So here we are making everyone’s new year happier and brighter. The future is here! Hohoho… hooo… hoo…!! 2020 is a nice round number …. but it feels like the 1950s, the US 1950s. If you get my drift. Time to go underground while people are getting dumber and dumber. See all the zombies around you communicating only through a touch screen gadget they pay for dearly every few months, or as often as they drop it or get it wet? Dare to speak to them about open and free software, or really anything that may appear political to them. What percentage are running Void on those gadgets? Infinitesimal! Some intellectuals have talked about “the age of agony”. Yes, 2020, a year deeper in the age of agony.
Sorry, I wish there were more positive things to talk about.
If there was a growing instead of a shrinking number of concerned people and would engage in discussion on how to protest certain changes that seem to take freedoms away from all of us, maybe the future wouldn’t look so f( U niversity of C alifornia)king gloomy.
References:
archlinux.org pacman and zstd announcement