Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

After the issues that happened with Linus from Linus Tech Tips breaking Pop!_OS during the switch to Linux challenge, the APT package manager has been upgraded to prevent future issues happening.

We covered the problem in our previous article, where System76 were going to apply their own fix to prevent a dialogue appearing that allowed users to end up removing essential packages. At the same time, System76 were also talking with the APT team to get an official fix and one has now been created and released with APT 2.3.12.

The issue shouldn't have come up often, and was the result of the Steam package breaking, with APT in terminal mentioning lots of different things that could easily confuse users. To continue you needed to enter "Yes, do as I say!" to progress, which you should probably never do since the warning was there for a reason - essential packages being removed.


Picture Source: YouTube - oh dear.

Now, that option has been removed and APT will no longer have its solver attempt to remove essential or protected packages, so any dependency problem needs to be resolved manually. As a result your package won't install, remove or upgrade if there's conflicts but at least you have an actual working system. It can be overridden still but it won't tell you explicitly how to do so in the error messaging to prevent people just doing it anyway again.

Looks like Pop!_OS is already readying to bring in the changes. It's likely other distributions using APT will follow during their regular update patterns.

Article taken from GamingOnLinux.com.
Tags: Misc
25 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
75 comments
Page: «2/4»
  Go to:

Philadelphus Nov 18, 2021
I consider catering to users who intentionally ignore critical warnings a step in the wrong direction.

I'm not trying to be elitist, but seriously, if there's a very clearly worded meessage telling the user that they are going to break their system, it's the user's fault if they type in "do as I say"...
Linus is the only one who can know his intentions. You and I can only guess. An honest mistake can't be ruled out, especially by someone knowledgeable enough in one domain (Windows) to critically overestimate his ability in another.

I'm reminded of Murphy's Law: "If there is a right way and a wrong way to do something, someone will inevitably do it the wrong way." Hence why eletrical sockets the world over have mechanisms to ensure that you can only plug a device in the correct way, rather than backwards which might fry your device or start a fire*. It sounds like you can still "plug things in backwards" with APT if you really want to, it's just removed the label on the plug telling you that's possible, which should stop a lot of people who otherwise wouldn't think to do it.

*And yes I know North American sockets can technically allow plugs to be flipped either way (because for some devices it doesn't matter), but that's both an exception to the rest of the world, and if the device really should be plugged in only one way there are two different physical mechanisms to enforce that. (Making one prong slightly larger, and using the third grounding prong.)
Rooster Nov 18, 2021
but you cannot expect that of a normal user

I saw quotes like this also in the previous thread on this topic: The normal user can't be expected to.. The regular user won't..

I thought about what the issue here is. If I'm using a CLI, it gives me a "wall of text" and I literally type in "Yes do as I say" without reading the text, then not putting the blame on me as a user is ridiculous isn't it? It should be clear, that this is 100% my fault, no matter what kind of user I am.. So how come so many people are defending this kind of behavior from a user?

And then it hit me. The "normal user" the "average user" should be in fact replaced with "normal Windows user" and "regular Windows user" and suddenly everything makes sense.

I'm on Linux now, so yeah.. Not only I read all Warnings and Errors, I actively look for them in the "wall of text". However, this is not the case when I use Windows. Because Windows encourages and trains its users to not read anything and just click Next, Next, or OK. And I have to admit, when I use Windows, I do this as well, because instead of simply doing the task I clearly asked it to do, Windows first gives you 1-3 windows asking if you really want to do this simple task.

I remember when I was phone navigating my ex, who have been a Windows user for most of her life, to change something in BIOS. During my instructions, a message popped up which I did not expect and she just automatically pressed Enter on it without reading it. In freaking BIOS!


So yeah.. While this isn't the case in this scenario, I don't think we should cater to dumb users, trying to protect the user from himself. Or we will end up training users to not read anything, just automatically press Next Next like on Windows.


Last edited by Rooster on 18 November 2021 at 5:56 pm UTC
slaapliedje Nov 18, 2021
He typed in the 'Yes I know what I'm doing' even though he clearly did not, and nuked Xorg while it was running. Not sure how that is any fault of apt.
He typed "yes, do as I say"... and the warning was hidden in a huge wall of text. It is absolutely apt's fault.

It was quite literally the line above telling him what to type. It wasn't hidden at all.

!link

There's a screenshot of the error (From this very site)... It's one line in among a lot of white text that says you shouldn't do this. It is essentially hidden, and Linus is not to blame for this badly designed warning.

"You are about to do something potentially harmful" So that's not a big enough warning? How is that hidden? Right above that it says 194MB will be freed... pretty sure installing new software won't free disk space. All it would have taken him is two seconds to read that he was going to destroy something beautiful... like in Fight Club.
UltraAltesBrot Nov 18, 2021
Doesn't matter if the mistake was more on Linus or APT. The open software community, especially the APT team, reflected on the issue and reacted. If you think whether the change was necessary or not isn't important: In the end it just shows how flexible and responsive Linux and open source software development can be when issues arise - and that's a great outcome.
Beamboom Nov 18, 2021
This is just so stupid, I am so totally against this whole idea of declining the super user ANY action.

Linux is modular. To remove a graphical user interface can make PERFECT sense to do. The user might have several interfaces installed and decided to remove the one installed with the distro, or he wants to change the box into a non-gui server, or really whatever reason - let him do it.

The warnings issued in that screenshot should be PLENTY enough. For fucks sake, he were even forced to write a full sentence, after telling in CLEAR text what packages was about to be removed.

If the user can't handle THAT, he should bloody well just return to the land of "ignore-all-warnings", aka Windows.

EDIT: After I wrote this I realised that the packages can still be removed from the system it just needs to be done explicitly. That makes it slightly more acceptable. Still - I don't like that extra layer of "protection" to help people that can't bother reading or don't understand what's written in clear text infront of them.
If they are unable to comprehent text warnings - well then they WILL encounter a similar "crisis" later. Linux is built on the premise of giving the user the power and trust to decide.


Last edited by Beamboom on 19 November 2021 at 11:11 pm UTC
pleasereadthemanual Nov 18, 2021
This is a positive development. The old warning, while it should have been enough to indicate something was wrong, was vague. Passing a less verbose and clearer option is, in fact, better for people who know what they're doing because they don't need to type as much.

Linus Sebastian approached Linux under the assumption that it was polished, late at night, with limited time. What is more likely to a new user? For the first command you execute in a terminal, Apt forces you to type out a line of text that encourages you to read about what Apt is and how it's used, or that installing—for example—a browser will remove your desktop environment, display manager, display server, and graphical drivers? "Yes, do as I say" could very well be interpreted as meaning, "yes, I know how Apt works."

The new user is not keenly aware of the system. They do not know what xorg or gdm are, let alone what dependency entanglement is. The only frame of reference for what an operating system is for most people is macOS and Windows. And there is no scenario where installing something on those systems will uninstall any other program, let alone essential packages. Keep in mind that this is the first thing that Linus did upon installing Pop!_OS. This is not a gentle introduction.

I don't think it occurred to Linus that installing a new package without updating the local database could result in breakage, because this is not how installation works on any other system—on Windows and macOS (for the most part), packages are not dependent on each other, which means this situation is impossible on those systems to begin with. The solution to this problem was simply, "sudo apt update", but it's not something you know unless you're familiar with package managers on Linux already. The guide Linus followed also wasn't wrong, because graphical storefronts on Linux are notorious for being slow and buggy. This very well could have been the solution to another user's issue. Perhaps it was simply assumed knowledge that the user should execute "sudo apt update" first.

I find Apt hard to parse, especially after seeing how well-formatted Pacman is, so I don't tend to read much of the output, either. Some of the suggestions when discussing this issue on the tracker improved Apt's formatting, so the next time I use a Debian-based system, I'll hopefully have an easier time with it.

I have to disagree with Linus's comment that "the terminal is a crutch", simply because POSIX shells are the only part of Linux that is consistent across multiple different distributions..for the most part. Yes, more developers should develop graphical applications for Linux. No, there aren't enough developers interested in doing that, maintaining them, and many of them do not know what makes good UI.
t3g Nov 18, 2021
It is totally apt's fault and I'm surprised that the Debian devs still left that option to nuke your system so easily. I'm kinda glad this happened because it is a reality check for System76 that they need to be more careful with their releases.

I agree with others that apt should do an update before installing any packages.


Last edited by t3g on 18 November 2021 at 10:21 pm UTC
F.Ultra Nov 18, 2021
View PC info
  • Supporter
Is is just me that are worried that they have removed this in apt when LTT was using apt-get? Or do those two share codebase?

Anywho, I think that a much more important lesson to learn here for the distro devs are completely ignored. And that IMHO is that the Pop-Shop only told Linus that it refused to install Steam and not why and how to report it.

In the best of worlds (and this should be fixable) the GUI should first tell him that the
There is a problem with the package where a needed dependency is not present, either this installation is in a broken state or there is a temporary problem with this specific package that we at Pop!_OS needs to fix.

Your list of packages have not been updated for quite a while and performing an update to possible get a newer version of said package could make the problem go away so should I update the list of packages for your now?

And there should also be a button in the GUI when this happens with "click here to report this as a problem on our GitHub or send a mail to this mail address if you don't have a github account".

Honestly I think that far too little time is spent on making these shops user friendly and they have just become some QD wrapper around apt/yum/pacman.

Another example is DistroTube testing out Ubuntu 21.10 and this happens: https://youtu.be/QsuI-nLqwhg?t=686 notice the insane error message that actually tells him that it refused to install it again since the installation is in progress but it's so obtusely written that DT doesn't see it, not to mention that the store doesn't put up any progress bar what so ever.

Or that the Gnome "Software" (great name guys) just shows an empy page with zero progress bar while it syncs the list of packages so it looks either empty or broken when used the first time.

THIS is the problem, not that LTT happened to hose his desktop due to a one in a million bug.
denyasis Nov 18, 2021
We all also have to remember that while the package manager (whichever you use) is an integral and important part of daily Linux use, there is no real equivalent in Windows.

Even the most basic concepts like the fact the OS is "modular" with dependencies and conflicts to packages all on the OS level is basically foreign.

Back to apt.... I figured I look at what we have to do if I really want to remove *that* package.
The change log in debian is not to helpful:

 
* Require argument to remove essential packages, do not prompt
  * Do not remove Essential/Protected due to dependencies.
    Thanks to Ariadne Conill for the inspiration


And from the diff, I assume you must set this argument to true:?

 
"APT::Get::Allow-Solver-Remove-Essential"


Sorry, I can't program and C is way beyond my ability to read, but I'm assuming we can just pass that with the rest of our arguments when we run apt ( or maybe set it in a conf file).

Come to think of it, could be good if you want to ensure *that* special package stays no matter what. I'm struggling to think of an example here though.
metalinux Nov 19, 2021
I politely disagree with the APT developers on this change. In my opinion, a new user to Linux coming from Windows wouldn't be in the terminal in the first place and even if they do have to use the terminal for something, the warnings in the output clearly stated:

WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!


Then at the bottom of the output:

You are about to do something potentially harmful.


With the user having to type "Yes, do as I say", so even accidentally entering the "Y" key will not execute the command.

Therefore, APT has done everything it can to inform the user that a major change will occur in their system. The impetus is now on the user. Like with anything in life, you should read and understand something to the best of your ability before accepting the terms and conditions.

I think the focus should be on guiding a new user to the appropriate documentation/resources, so they can learn why if they enter "Yes, do as I say", it could break their system.

Regardless of size, making changes to the wider ecosystem of Linux due to any YouTuber or "influencer" reaction, is not the direction we want to be going in. I hope this change by the APT devs can be reverted, but the decision is ultimately theirs of course.
sudoer Nov 19, 2021
The fact that it only needed a Windoze ignorant noob (unknown to the wider public, and no matter that he is sympathetic and his action was funny from the Linux perspective) with the classic Windoze mentality of ignoring ALL prior Warnings to force a complex, battle-proven -in so many facilities, institutions, science centers, servers, etc. around the world- package manager to alter its functionality, driven by an impulsive Pop! OS young dev of proposing a horrible, horrible, "cheap bandage" like this https://salsa.debian.org/apt-team/apt/-/merge_requests/196 (an extra file that would exist or not) in the first place, is in my opinion not much of an honor for Debian, one could even say "embarassing". This event can be "historically registered" now, and I'm not sure that his actions will help Linux grow anyway (picture emphasized how easily you can break Linux instead of where stupid actions can lead).


Last edited by sudoer on 19 November 2021 at 2:48 am UTC
Purple Library Guy Nov 19, 2021
Those neon warning signs are there,

I think part of the problem was that there was no neon warning signs. The only warnings Linus got was an error from popshop that wasn't clear on what was happening... and a giant wall of text from apt.
That 'wall of text' ends with "you are about to remove essential packages, type exactly, 'Yes, I know what I'm doing' to continue."
I'm not sure what side I end up on in this, but I'd like to note that is not how it goes. The wall of text ends with "you are about to do something potentially harmful. To continue, type in the phrase". The mention of essential packages is eleven lines up from that part.

"Potentially harmful" doesn't really sound that bad. It also sounds vague, like the kind of message you get when the computer doesn't really know just what you're doing or whether it's actually going to do anything important, but is just putting in the boilerplate because the command generally has the potential to do serious things. Especially if you come from the Windows world, where I think the OS bitches every time you do anything other than browse the web with Microsoft Edge . . .


Last edited by Purple Library Guy on 19 November 2021 at 1:48 am UTC
Bumadar Nov 19, 2021
On the flip side, Linus has been heavily in the tech industry for years. Granted, he's predominantly Windows focused, but he should be well versed enough in the quirks of computers in general to know that, unless you're familiar with a particular situation, you don't just blindly ignore warnings. I get that this whole challenge is them trying to work with Linux like an Average(tm) gamer, but Linus is not. He's got more IT qualifications than an average gamer and the fact he nuked his system kinda makes me feel like he almost intentionally played dumb in this particular situation. I don't actually think he did, but he definitely came off looking like a sloppy IT professional to me in that moment.

Linus primary goal is to make money like so many others on YouTube and twitch etc etc.
A headline "Linux hates me" will be clicked and watched a lot more then "Linux loves me".
So yes I find it fair so assume it was intentionally.

I can't count how many times I messed up my linux installs in the early days but I learned a lot from that, including reading of messages instead of clicking OK.

But I guess as Linux becomes more mainstream and the masses begin to use it, it needs to be more dummy proof.

Dreading they day we need to install symantec for Linux.....
fenglengshun Nov 19, 2021
Will Pop!_OS be pushing this update to a new ISO? Wasn't the main issue in the beginning was that Linus didn't update before he tried to install Steam?
damarrin Nov 19, 2021
View PC info
  • Supporter Plus
Hence why eletrical sockets the world over have mechanisms to ensure that you can only plug a device in the correct way, rather than backwards which might fry your device or start a fire*. It sounds like you can still "plug things in backwards" with APT if you really want to, it's just removed the label on the plug telling you that's possible, which should stop a lot of people who otherwise wouldn't think to do it.

*And yes I know North American sockets can technically allow plugs to be flipped either way (because for some devices it doesn't matter), but that's both an exception to the rest of the world, and if the device really should be plugged in only one way there are two different physical mechanisms to enforce that. (Making one prong slightly larger, and using the third grounding prong.)

This is actually wrong. The UK has those huge sockets that can only work one way for electrical reaons (as far as I can tell), but other countries really don't. The US situation you describe is the norm, not the exception. This is alternating current, it'll work both ways because the current changes direction multiple times per second.

In Poland we have these grounded sockets/plugs that actually can be plugged in one way because there's a ground rod in the socket, though that is a limitation of the physical, not electrical, design. In neighbouring European countries they use almost the same plug but without the third rod and with two contacts on opposing sides of the plug and these can be put in every which way.

As for the topic at hand: this change should not have been made. LTT only cares about clicks and advertising revenue and they will do/show anything that will bring those in.

Linux and apt have been fine before they came along and breaking one's system is part of the learning experience and now there will be people who will be denied that.

This is clearly bad PR for Linux, it's enough to read the comments under the video a bit, but ultimately PR is PR. It's not like you can't break Windows by deleting system files. Also, he didn't break his system, he just broke the GUI and his problem was easily fixable by reinstalling the packages.

That said, the wall of text of apt is clearly deficient and should be improved.
aluminumgriffin Nov 19, 2021
I kinda wish they would use the error message "Please make my system unusable" (or similar) that you got (still?) on some versions of apt-get when you try to uninstall libc6, that one really drove home the point.

(for reasons: NEVER remove libc unless you want the system ruined, really)
Nevertheless Nov 19, 2021
Those neon warning signs are there,

I think part of the problem was that there was no neon warning signs. The only warnings Linus got was an error from popshop that wasn't clear on what was happening... and a giant wall of text from apt.
That 'wall of text' ends with "you are about to remove essential packages, type exactly, 'Yes, I know what I'm doing' to continue."

Which is more than enough to say 'stop, you're about to do something horrendous to your system.' I have made many jokes before about not being able to do flashing red text in Confluence because of people not following the wiki... But really there are two things to blame here. 1) Linus being smart enough to be dangerous. 2) Linus not being patient enough to read the warning.

Since Linux distros wait for more users coming over from the Windows realm, package managers should expect users coming that have been trained to ignore most of the text that is beeing thrown at them during installation of software. For them it is almost unthinkable that the installation of a gaming software could uninstall parts of their OS.
So I think it's an improvement that such users now actively have to search for the command that can do harm, instead of being able to use it by just ignoring something.
I would love the error message being clickable (depending on the kind of error of course), linking the user to a site where he/she can read about and report problems and solutions with the package that led to the error.
pleasereadthemanual Nov 19, 2021
I politely disagree with the APT developers on this change. In my opinion, a new user to Linux coming from Windows wouldn't be in the terminal in the first place and even if they do have to use the terminal for something, the warnings in the output clearly stated:

[...]

With the user having to type "Yes, do as I say", so even accidentally entering the "Y" key will not execute the command.

Therefore, APT has done everything it can to inform the user that a major change will occur in their system. The impetus is now on the user. Like with anything in life, you should read and understand something to the best of your ability before accepting the terms and conditions.

The unfortunate reality is that using Linux without using the terminal simply isn't possible in some instances. This is made even more difficult by the majority of guides only providing instructions for bash and not a graphical application. Many new-to-Linux users will find themselves in the terminal, following these instructions, because they can't figure out how to do the same thing with a graphical application. New Linux users ending up in the terminal is not only common; it's an inevitability.

I disagree that Apt has done everything it can. I have issues with the way this warning is presented. The formatting of Apt makes it difficult to parse because everything is clumped tightly together, with no bolding, italicizing, or color usage at all. This would be okay if what you needed to type was "Yes, remove these essential packages", but what you need to type is much vaguer, and if it's the only thing you read, it should be much more obvious.

Personally, I might have limited the changes to these, because I think these are genuine UX issues.

I think the focus should be on guiding a new user to the appropriate documentation/resources, so they can learn why if they enter "Yes, do as I say", it could break their system.

Regardless of size, making changes to the wider ecosystem of Linux due to any YouTuber or "influencer" reaction, is not the direction we want to be going in. I hope this change by the APT devs can be reverted, but the decision is ultimately theirs of course.

Most users of Ubuntu-based distributions are not going to read documentation (and Ubuntu's documentation is quite old now, anyway), because the audience they target are not expected to. This would be different on Debian, I assume, so my opinion is that this particular change should have been made downstream to Ubuntu's version of Apt. The UX issues should have been fixed upstream, but removing the ability altogether and not indicating how this can be bypassed is probably not a change that should have made it into mainline Debian, because Debian doesn't target the same users as Ubuntu-based distributions tend to.

I agree that changes should be based on merit and discussion, not clout, which is what happened in this instance: https://salsa.debian.org/apt-team/apt/-/merge_requests/196

Though perhaps, based on this commit message, the maintainers aren't that happy about making this change: https://salsa.debian.org/apt-team/apt/-/merge_requests/198

Regardless, passing --allow-remove--essential isn't too big a stumbling block for those who know what they're doing.
jejay Nov 19, 2021
I think a simple rewording of the phrase to a more precise: "Yes, I do want to remove these essential packages" would solve this problem.

I also do think that Linus actually played dumber than he was. He was acting as a role, aka the total newb. I'm not saying he knew exactly what he was doing but I am pretty sure that he at least had an awkward feeling about typing that message and that maybe the GUI priorly refusing to install could be related to a common deeper issue.

But he knew that if he breaks it naively this way it would be a good story, so there was a reward for being overly naive and quick.

Not to say no one ever would have made this mistake.
dvd Nov 19, 2021
Something that might help all distributions of Linux might be a central site where users can post their Linux tutorials, organized by Distribution, Distro Version, Topic, and Date. This way, when a user comes to the site looking for a tutorial, they should always get the most recent and relevant information up front. The site could also put up a warning at the top of the site if the tutorial being viewed is for an older distribution version, or if it hasn't been updated in some specified amount of time (like "Warning, tutorial is over 6 months old and may be out of date"). The site could also implement a rating system for how successful users have been using the tutorial.

I'm just spitballing. Honestly, though, there definitely is an issue with so many disparate tutorials out there from as far back as a decade or more, and, unless you pay close attention to distro version or date information that may, or may not be in the tutorial (depending on the whims of the author) you can easily have a newbie find an Ubuntu tutorial from 5 or 10 years ago, not realize its age, and be completely lost.

I don't think this is a problem. How i see it there are 2 main problems.
When you are catering to windows users, you are catering to people who do dumb shit operating windows (well thats because windows is essentially crap) and they are stuck in their ways. You can patch the package manager all you want this will still remain a problem.

The other one is that new users should be made more aware of that they shouldn't learn "Ubuntu" or "Arch", but rather the little programs and subsystems that are 99% identical between systems and one package manager. Even if they don't memorize the manual (nobody does) they will get a much clearer picture of how their system works much faster.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.