IT WOULD APPEAR THAT 20 MINUTES BEFORE MY STREAM, UBUNTU PUSHED AN UPDATE (edit: not true, it's even more ridiculous than that, see end of thread) THAT BROKE GDM ON THE LAPTOP I WAS GOING TO BE STREAMING FROM, EFFECTIVELY BRICKING THE LAPTOP
I AM VERY, *VERY* DISAPPOINTED IN MY ONE MONTH OF USING UBUNTU SO FAR
Since I started streaming I am AMAZED at the extent to which if you have one three hour period per week you need your computers to work precisely on time, your computers will find ways to break in the ten minutes before that three hours begins
Update: *arms deep in debian log files* I am upset
UPDATE: IT WASN'T THE PUSHED AUTOUPDATE AT ALL. IT TURNS OUT THAT THE ACTUAL PROBLEM WAS ABOUT AN HOUR BEFORE THE PROBLEM I TOLD APT TO INSTALL "FUSE". APPARENTLY IN CURRENT UBUNTU, INSTALLING "FUSE" VIA APT CAUSES THE OPERATING SYSTEM TO COMMIT SUICIDE. THIS IS A KNOWN ISSUE WHICH IS CURRENTLY "UNASSIGNED". THE PROBLEM, AS WELL AS A ONE-LINE FIX THAT WORKED FOR ME, ARE DOCUMENTED HERE https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1717878
MY WRATH IS UNABATED BUT MY STREAM WILL BEGIN IN ABOUT FOUR MINUTES, I GUESS
Like apparently if you install fuse via apt (this is a very normal package, it is required to run appimages for example) your system is now in a zombie state where it will work UNTIL you next enter gdm (for example because the computer went to sleep) at which point the entire GUI part of your computer is permanently dead
Almost as if… installing fuse… lights a fuse!!!
The horror increases:
Ubuntu actually installs Fuse version 3 by default. However, if you already have Fuse version 3 installed, which you do, and you tell it to install "fuse", it will REMOVE fuse version 3 (and in the process uninstall several vital system components) and install fuse version 2 (which doesn't work) in its place.
EVEN ON LINUX, THIS IS NOT A GOTCHA THAT USERS SHOULD BE SUBJECT TO WITH NO WARNING THAT THE SYSTEM IS ABOUT TO DO SOMETHING UNUSUAL.
Me: Computer, please install fuse
Linux: Got it, uninstalling fuse.
This is the second time since beginning use with modern ubuntu that installing a package has uninstalled a seemingly-unrelated, vital system component and this was not something I feel like you had to keep an eye out with the older Linux GUI distributions I used in the 00s.
So I'm now realizing this particular gotcha in Ubuntu (asking ubuntu to install fuse instead uninstalls fuse, breaking the system) has been present since 2017
@mcc WHYYYYYYYYY
@mcc That's dreadful.
@mcc what about lightdm? I used to have that one as default instead when Nvidia drivers messed up gdm
@mcc @eons yeah lightdm wouldn't help here. The removal of the Ubuntu session files, which lightdm would also have needed, make it so the session manager (gdm or lightdm) wouldn't know how to run anything.
If there was another session file installed it might have been less catastrophic but still probably pretty confusing. And if those *also* depended on fuse3, they would have been removed too.
@eons it didn't kill gdm though. Gdm was fine. Gdm just had no session to launch, and dealt with it badly.
If you're really curious if that would help you could always try removing ubuntu-session (and any other installed sessions) and see if lightdm does much better. I kinda doubt it.
@mcc God Ubuntu has really gone downhill. It really did used to be better than this, though I know you have no reason to believe me.
It's just coating on reputation now.
@mcc that bug report claims they were warned?
@mcc I wonder if the GUI would have better guard rails to protect critical packages
@mcc reminds me of the time I installed a (official!) Canon printer driver and it force-removed glibc.
@ShadowJonathan @mcc *technically* it force-installed glibc-i386. Unfortunately I was running amd64.
@mcc That's interesting as my old Ubuntu install died aged I never knew why.
I'm wondering if it was that.
@mcc an old problem in Debian-likes, though at least these days it seems much harder to bork apt itself, which was really difficult to recover from. In Ubuntu they seem to push a lot of user apps into snaps, which sort of obviates the problem (because you no longer share the dependencies).
@mcc this reminds me of the time I installed KDE because liars on the internet said it was good and light on resource usage (false on all counts) and it completely fucked over my audio
@aeva@gamedev.place @mcc as much as I like Linux, it is sometimes just much easier to completely re-install the OS with a new desktop environment than it is to swap DEs
Judging by the quick search, it looks like that fuse vs. fuse3 thing is inherited from Debian's naming scheme (seem to be named the same there)? Criiiiipes, that's a nasty one. I'm now counting my lucky stars that Arch provides fuse2 and fuse3 instead of fuse and fuse3 becaaaause
@mcc@mastodon.social This happened to me one too many times on Fedora and it prompted me to switch to NixOS.
The whole snapshotting idea is so invaluable for escaping these kinds of situations that I found it worth paying the headache tax of NixOS weirdness and learning the config language.
@mcc Wow that's pretty egregious!
I've been using Mint, which IIRC is based on Ubuntu, for over a decade - I've broken stuff but I always had to put some ill advised effort in.
Now Steam on the other hand has pushed game breaking updates more than once and my only involvement was to start Steam.
@mcc
@GreenSkyOverMe Why not stick with Debian in the first place?
@Zugschlus @GreenSkyOverMe Well at the time I made the switch (2004, I think?) Ubuntu had more current versions of packages than Debian
@mcc Fascinating problem.
We had once a case in the kubuntu-de.org forum that someone installed a package for connecting to their Android phone and this deinstalled the video driver.
@mcc I actually wonder why they haven't started making kernel modules snap packages by now, to absolutely fuck it up o-o
FWIW I'm very happy with Linux Mint, which gives a range of choices of desktop fancyness (I run the xfce version b/c I'm a refugee from Slackware and like thing simple and dumb). It's got better auto-updating than Debian, and Ubuntu and I never got along.
@mcc you are the real MVP for doing this full write up
@mcc I stopped using Ubuntu the day I tried to install musl on it and somehow in the process uninstalled glibc.
@mcc One reason I love Arch Btw (tm) is that for a rolling release system, these sorts of surprises happen rarely. They are fantastic about announcing potential breaking changes when they are infrequently required, always with instructions to avoid breakage.
@mcc it's honestly bewildering that this kind of shit happens in Ubuntu. getting a package that works perfectly fine in Debian but was removed for unfortunate reasons back into Ubuntu is a huge complex pain yet at the same time this kind of shit can happen?
not even the first time either, if you recall the saga where installing steam uninstalled your kernel.
ubuntu is also the only (mainstream) distro ive heard about where this shit happens. wtf are they *doing* over at canonical.
@mcc People argued against adding the `--no-preserve-root` option to `rm`
@mcc Package: penny
Version: 0.01-1
Priority: optional
Section: loose-change
Provides: fuse
@mcc This needs to have that apt warning where you have to type "Yes, do as I say!" with the comma and exclamation point and all.
@mcc this kind of thing is exactly why I run NixOS these days.
There are downsides, of course, but I'm happy to live with them.
@mcc if this was on openSUSE Tumbleweed a two seconds rollback would fix this
But then again, openSUSE would rarely fuckup this badly
@mcc This makes me wonder whether we should have a(nother²) mechanism for flagging “did you really mean to remove this important package” when installing stuff.
Like, apt would have told you that it was going to remove ubuntu-session
when installing fuse
, with a big¹ “the following packages are going to be REMOVED” message, but it's unfortunately fairly common that installing a particular package will correctly uninstall a different one, so “just don't let apt remove packages” isn't actionable advice. The actual advice is “know the vibe of whether this particular package is core or not”, which is unhelpful.
But we could try to add a feature that implements something of this vibe, so when, for example, you try to install something that apt would remove ubuntu-desktop
for we could go “Do you really mean to do this? If you don't have another desktop session installed this will break your desktop”.
¹: ish
²: there's already an essential: yes
mechanism, but the essential set is fairly small and is mostly for “removing this will prevent apt from working”
@RAOF Hi, thanks— I think there's two problems.
First, I feel installing "fuse" should install the newest version of fuse. If there are multiple contradictory fuse packages, then I would expect there to be a "fuse2", a "fuse3", and a "fuse", and for "fuse to be aliased to "fuse3" and then to fuse4 whenever in the future that happens. I'm aware of precedent for the core package being aliased to an old version (python), but python was a very special case. "install fuse" shouldn't downgrade fuse
@RAOF Second, I *do* feel the warnings here were inadequate. The fact is EVERY time you install anything with apt it's like "uninstalling these things, installing these things". I have been trained to just type "y". Maybe that's wrong of me, but it's the case. But also if I'd slowed down and gone "wait, why is installing fuse uninstalling fuse3?", which one assumes it did tell me at some point, it wouldn't have helped me. If it said "uninstalling fuse 3" I'd've gone "oh i bet it installed fuse4"
@RAOF So I think *some* sort of stronger warning, I don't know what it would have looked like but *something*, should have warned me either "you are DOWNGRADING a package" or "this will uninstall packages that are probably critical". Display something in red. Make me type "yes" instead of hitting "y" to break up my flow. I don't know. Ubuntu trained me not to read the page of spew on an apt install and now suddenly it's necessary to keep the system from breaking itself.
@RAOF In literal decades of ubuntu/debian use I've never before felt I was in a situation where "apt install" could be a destructive action. But this has happened to me twice since installing this Ubuntu. Once when I installed the gnome store / gnome-software thinking it would install *alongside* the ubuntu store* and it uninstalled aptitude, once today. This is surprising and new to me.
* Until today I did not actually understand what had happened.
@mcc @RAOF I feel like a good thing for it to do would be to tie the disparate version packages together with a metapackage, then have apt check if the uninstall list and install list both contain a package matching the same metapackage, so it can warn more clearly about downgrades.
I also wonder if it'd be worth having packages locally flagged in some way if they're installed by default with the distro, so apt can additionally warn about downgrading/removing those packages.
@mcc @RAOF e.g. if the distro ships with glibc-2.37 by default (with this version being updated every time you do a release upgrade) and you then try to do anything with the package manager where the end result would cause you to not have that version or higher installed, it would be *very* useful if it shouted about it and added an additional confirmation stage.