The dumbification of package management in Linux
This was bound to happen. When a bunch of smart idiots (sic!), and all kinds of narcissistic, arrogant YouTube icons and influencers are more important than the other 7.9bn people, this is what we get: Idiocracy Now!
Quid tu, Debian?
And the news came in: Debian adjusts APT to make it safer.
released apt 2.3.12:
The solver will no longer try to remove Essential or Protected packages,
any dependency problem that would need such a solution will have to be
resolved manually.1/2
— Julian Andres Klode 🏳️🌈 (@JulianKlode) November 17, 2021
The “Yes, do as I say” prompt for removing essential packages has been replaced by an error message. The appropriate command-line option needs to be used instead.
Thank you to Linus Tech Tips and System76 for bringing this issue to our attention.
2/2
— Julian Andres Klode 🏳️🌈 (@JulianKlode) November 17, 2021
Linus Sebastian, you’re a disgrace!
I’ll say it out loud: I despise those overconfident, self-centered individuals whose main jobs is that of being YouTube stars! There are many educational and informative channels on YouTube, some of which are extremely professionally produced; however, even such channels produce videos full of questionable content, with factual errors and misinterpretations. Or they’re just superficial, shallow. But not those channels are what bothers me (and I won’t even talk of the crappy videos that make more than 90% of YouTube’s content). I’m particularly pissed off by the content creators who are obviously intelligent and rather knowledgeable, yet they have the arrogance of believing that every single idea that comes to their heads must be wrapped in a useless video meant to show how smart they are (a video that includes annoying paid advertising produced by the respective creator, à la “but you couldn’t do that safely without using the fabulous NordVPN etc.”). When such creators are from North America, you can expect other proofs of poor taste, such as ridiculously kitschy video thumbnails, occasionally wearing of beanie hats while inside (also, reverse baseball caps, proofs of mental retard), ear rings as a male (sometimes in the nose or lips, like a gold ring in a pig’s snout). One such creator is the ever famous Linus Sebastian, to be found primarily on the channels LinusTechTips, ShortCircuit, and ChannelSuperFun.
Linus is more than annoying in several ways. He’s a symbol of a society that uses top-notch technology not for discovering cures for cancer or COVID-19, and not for designing better cars and aircraft, but for gaming or crypto mining. His videos often show hugely powerful and expensive hardware that’s produced for the many psychopaths that go under the milder qualifier of gamers. People who use computers for serious work, for learning, or for more innocent entertainment don’t have $3,000 video cards, custom-cooled PCs, $200 keyboards, 24-core CPUs, and so on. They also manipulate a computer’s parts more carefully than Linus Sebastian, and they definitely don’t break a Microsoft Surface out of the arrogance of forcing, in the absence of carefully looking for a hidden screw. All in all, Linus is an egocentric bastard, with a good deal of ADHD and brutality in the presence of expensive hardware. North American retards, what else to expect from them? Decency, moderation, modesty? C’mon.
And then, of course, came this video of Linus Sebastian’s: Linux HATES Me – Daily Driver CHALLENGE Pt.1. (For an explanation of what went wrong, and of other questionable issues, watch Michael Tunnell’s reaction video.)
Why, of course Linus broke it! You see, he wanted the best Linux distro for gaming. I don’t say that wanting Steam is bad; what I want to say is that Pop!_OS is an overhyped piece of shit, for it’s nothing more than a themed Ubuntu with very few additions. I’ll never understand for the life of me what made Pop!_OS so popular in America! (As a further sign of North American arrogance, the Pop!_OS theme only applies to GTK apps, and absolutely no effort at all has been made to theme the Qt/KDE apps that, occasionally, most people would end using! Haven’t they heard of qt5ct
?)
OK, so Linus tried to install Steam: he failed in the GUI, he insisted at the CLI, but installing Steam removed xorg
and a lot of Pop!_OS packages, thus breaking the system!
Let’s talk about it
In my experience with deb
packages and the concepts of Depends, Recommends, Suggests, Conflicts, Replaces, Breaks, and Provides (see also here), I’ve had them all:
- packages with optional (recommended or suggested) dependencies marked as required dependencies;
- packages with required dependencies marked as optional;
- packages that conflict with other packages, but aren’t marked as such (a recent example is
lite-themes
conflicting withadapta-gtk-theme
in Linux Lite); - packages that don’t conflict with the packages they pretend to conflict with;
- packages with wrong minimum or maximum versions of the dependencies.
Here’s a relevant upstream bug that was fixed meanwhile: steam-for-linux #7982: steam tries to remove essential system packages:
Steam needs to install these additional packages:
libgl1-mesa-dri:i386, libgl1:i386, libc6:i386
WARNUNG: Die folgenden essentiellen Pakete werden entfernt.
Dies sollte NICHT geschehen, außer Sie wissen genau, was Sie tun!
apt adduser (wegen apt) gpgv (wegen apt) libapt-pkg6.0 (wegen apt) libc6 (wegen apt) libgcc-s1 (wegen apt) libgnutls30 (wegen apt) libseccomp2 (wegen apt) libstdc++6 (wegen apt)
libsystemd0 (wegen apt) base-files libcrypt1 (wegen base-files) base-passwd libdebconfclient0 (wegen base-passwd) bash libtinfo6 (wegen bash) debianutils (wegen bash) bsdutils
coreutils libacl1 (wegen coreutils) libattr1 (wegen coreutils) libselinux1 (wegen coreutils) dash dpkg (wegen dash) debconf (wegen dash) diffutils libbz2-1.0 (wegen dpkg)
liblzma5 (wegen dpkg) libzstd1 (wegen dpkg) zlib1g (wegen dpkg) tar (wegen dpkg) e2fsprogs libblkid1 (wegen e2fsprogs) libcom-err2 (wegen e2fsprogs) libext2fs2 (wegen e2fsprogs)
libss2 (wegen e2fsprogs) libuuid1 (wegen e2fsprogs) logsave (wegen e2fsprogs) fdisk libfdisk1 (wegen fdisk) libmount1 (wegen fdisk) libncursesw6 (wegen fdisk)
libsmartcols1 (wegen fdisk) findutils grep libpcre3 (wegen grep) install-info (wegen grep) gzip hostname init systemd-sysv (wegen init) init-system-helpers (wegen init)
perl-base (wegen init-system-helpers) libc-bin login libaudit1 (wegen login) libpam0g (wegen login) libpam-runtime (wegen login) libpam-modules (wegen login) mount
util-linux (wegen mount) ncurses-bin sed shim-signed grub-efi-amd64-signed (wegen shim-signed) grub2-common (wegen shim-signed) mokutil (wegen shim-signed)
sbsigntool (wegen shim-signed) sysvinit-utils libcap-ng0 (wegen util-linux) libudev1 (wegen util-linux)
In the case of the person reporting the bug, the root cause was this one:
apt policy libc6
shows me indeed that I have a newerlibc6
version installed than what is available on the Ubuntu repos.
A guy from Valve rightfully commented:
not letting
apt
proceed in this case is definitely the right answer. This is a distro packaging issue, not a Steam client issue.
In the case of Pop!_OS 21.04, let’s notice this part from the apt
output:
The following packages will be upgraded:
libgbm1
This was, I believe, the culprit, as Pop!_OS 21.04 has in its repos a newer version than Ubuntu 21.04:
- Pop_OS! 21.04: libgbm1_21.2.2-1ubuntu1pop0~1634226723~21.04~b715ae2_amd64.deb
- Ubuntu 21.04: libgbm1_21.0.3-0ubuntu0.3_amd64.deb
I’m not sure how this newer version has generated conflicts, but apparently it did. Or maybe, at the time when Linus Sebastian installed it, the version was different, possibly older than Ubuntu’s?! Either way, it was Pop!_OS’s fault, not Steam’s!
The updated version of Steam fixed this potential situation as follows:
In your situation, the apt command would now fail with unsatisfiable dependencies, instead of removing important packages.
As for Pop!_OS, I don’t care what they fixed and how.
The collateral damages are tremendously important
After our little mishap Pop!_OS removed the ability to uninstall your desktop! pic.twitter.com/cF10qhmHSI
— Linus Tech Tips (@LinusTech) November 19, 2021
So many replies praised the move for making Linux more stupid-proof, but there were also a number of common-sense ones, of which I’ll mention the following ones:
this is a step back and defeats the whole point of linux which is having full freedom. Uninstalling your DE is not an uncommon thing to do, the message was fine the way it was. Maybe changing it to something more “dramatic” would’ve been the way to go but this is not it.
— ビクター🇪🇦🐕🐕🐕 (@ShinzouObama) November 20, 2021
this isn’t something to brag about. This actually makes other people’s lives more difficult. It prompted you with a dire warning making you manually type in a confirmation and you did it anyway.. yet the software is the problem?
— Shane Short (@shaneshort) November 20, 2021
Goes to show what Windows users are like. They don’t read what’s on the command line and think everything is just next and next.
— Dexter Lee (@dexter__lee) November 20, 2021
Next time when you use linux distros.. just read what’s written on the screen.. i dont like that pop os has to get changed every time a normie breaks his system because he’s too lazy to read..
— Blue #3330C6 (@B330c6) November 20, 2021
Can someone explain to me how the solution of a package removing unrelated packages is solved by overwriting the “yes, do as i say” option?
— Algis (@AlgisKun) November 19, 2021
The steam package was broken. It was conflicting with another package that was used by essential packages. So, to be able to install steam you have to remove that package, which means to also remove the packages that rely on the previous package. This is normal behavior.
— one (@gobblegabblegoo) November 20, 2021
Why are they patching the package manager to accommodate a broken package?
They should remove the package from the repo until fixed… or revert to a previous version that worked if possible.— Algis (@AlgisKun) November 20, 2021
The “Yes, do as I say” prompt seems like a good idea, until you remember that people often don’t read things carefully.
I wonder if “Yes, I want to uninstall my desktop environment” world work better. Perhaps, but nothing’s foolproof, and going to an error is probably best.
— Steve Lovelace (@StevenJLovelace) November 19, 2021
That’s not just Pop!_OS, that’s apt. This will affect Debian and every Debian based distro
— Joshua Coffey ☕ (@Queueueue_) November 19, 2021
The idiot check has been replaced with an idiot block. 🤪
— Mike Larue (@MikekLarue) November 19, 2021
But here’s the best one:
If a nobody like me did the same video, the assholes on the net would crucify my ass. But since you do no wrong, its someone else fault by ignoring warnings.
— NeoMorpheus13 (@NeoMorpheus13) November 20, 2021
Indeed, were an anonymous Joe Sixpack or Jane Doe complaining about having screwed their Linux system, everyone would have been called them names; but when His Royal Highness Linus Sebastian, King of YouTube, does it… the world obeys!
That includes the KDE herd:
KDE did as well: https://t.co/j7YluV5kCK pic.twitter.com/RqlKoqSLnw
— xn--cr8h (@xn__cr8h) November 20, 2021
Practically, they self-reported the KDE Bug 445226: Replace “this will remove some packages” dialog with a check for the transaction removing system-critical packages like plasma-workspace or kwin, just to be able to fix it!
¡Madre de fucking Dios!
Well, the only consolation is that Win10 and Win11 are worse.
Late edit: is Steam really usable on Pop!_OS?
Here’s what I got:
Meanwhile, this is what I get in Fedora:
But, of course, if you’re stoopid, Pop!_OS is the best distro on Earth.
LATE UPDATE: People comment on DWW
Debian makes APT safer, in DistroWatch Weekly, Issue 945, 29 November 2021; selected readers’ comments:
11 • Debian APT Changes (by dave on 2021-11-29 07:46:56 GMT from United States)
Sounds fishy, as usual. What is ‘Protected’ and ‘Essential’ ..?? Have to learn more voodoo and jump thru more hoops to remove stuff like Pulseaudio??13 • Debian APT changes (by Jeff on 2021-11-29 10:03:36 GMT from United States)
What would you bet thatsystemd
is or will soon become classed Essential or Protected? So that even if you have and use anotherinit
it cannot be removed.
Even though Debian talks aboutinit
diversity the truth is that several of the developers aresystemd
only and want all others to be unusable.16 • @13 Debian APT changes (by anticapitalista on 2021-11-29 11:59:12 GMT from Greece)
I tried to build antiX (sid repos) viadebootstrap
and in achroot
and I am not able to removesysvinit-utils
forsysvinit-utils-antix
(in order to use antiX’s implementation ofrunit
).
It worked just fine before this latest ‘improvement’ toapt
.
Anyone know how to ‘manually’ force the removal/replacement?18 • Debian APR changes (by dragonmouth on 2021-11-29 12:57:43 GMT from United States)
At first glance the change looks to be beneficial. However, what is to prevent developers from declaring all their favorite pet software as “Essential”? What if tracking and spying apps are declared “Essential”? Are distros going to grow to 5, 6, 7 or more GB with no possibility of slimming them down?
The first thing I do after installing a distro is to uninstall the apps I don’t/won’t need and those that I do not want. In most distros that amounts to 200-300 MB. In some distros, I’ve had to uninstall up to 1GB worth of extraneous apps. Yes, I know. With today’s multi-terabyte drives there is no need to worry about 200 MB, 300 MB or even 1 GB of wasted space. But a GB here and a GB there and pretty soon you’re looking at some serious waste of storage space.
Good move, Debian! (Not.)
Leave a Reply