8 ms·
> I wonder why Ubuntu/Canonical can never get their upgrade game to work properly. Ubuntu developer here. Sounds like you have a really hacked up system there,
by rlpb 5y ago
> I wonder why Ubuntu/Canonical can never get their upgrade game to work properly.
Ubuntu developer here. Sounds like you have a really hacked up system there, and that it's your existing system that has issues. Under these circumstances, I don't think it's reasonable to expect an upgrade to be able to work smoothly. Scripts that handle upgrade paths necessarily need to make assumptions that what they are upgrading from is what the distribution put there. If you hack it up, then those scripts aren't going to work.
Your Arch system, being rolling release based, I assume isn't as hacked up with newer versions of things because you get them straight from your distribution? The equivalent on Ubuntu would be to run the six-monthly releases, which I assume you choose not to do. If you do that and then you hack up your system, then I don't think it's fair to compare to an Arch system where you (presumably) don't do that.
If you want to run an Ubuntu LTS system then I suggest that you do your hacking inside containers (whether system containers like lxd, or app containers like Docker). Then you won't need to hack up your system itself, and then upgrades will generally work fine.
- uniqueuid 5y agoTo be fair, some moving parts outside of canonical's work are necessary yet break often. Prominent example: Nvidia drivers. Oh how often have I wiped a system because the precise combination of driver/CUDA/nvcuvid/nvenc and nvidia-docker broke through some freak update. These are the things that often prevent smooth upgrades.
- outworlder 5y ago> Sounds like you have a really hacked up system there Some people would call this 'a system that's actually being used to do something'. Don't blame users unless it's clear they are doing something egregious with the system. Installing a different Python version shouldn't break installers, but here we are. Ubuntu should have taken a page from CoreOS, NixOS and even Arch. CoreOS with their immutable system partitions (and two of them so it can revert to a good one if the current can't boot). NixOS with the immutable packages (and the split between user and system packages). And even Arch with its release model. Sometimes you have to 'hack your system' to add a new apt source to try to get your GPU working with OpenCL, or you have to modify some config file on /etc to get something else working. Or whatever the use-case might be. Should that break upgrades then? Ubuntu really doesn't provide any guidance or utilities to help with this. At least figure out a way to install a known sane system configuration, even if it breaks the user's customization. Having a separate system partition by default would actually help a little. Even Windows allow you to snapshot and rollback changes. Something that Ubuntu users have to – guess what – "hack the system" to get.
- rlpb 5y ago> Ubuntu should have taken a page from CoreOS, NixOS and even Arch. CoreOS with their immutable system partitions (and two of them so it can revert to a good one if the current can't boot). NixOS with the immutable packages (and the split between user and system packages). And even Arch with its release model. Actually Ubuntu Core is an edition of Ubuntu that has exactly these properties. It runs read-only, with packages that can be added and removed cleanly. This does involve moving away from apt/deb, which is fundamentally incapable of this. I don't know of any plans to do this for the main Ubuntu distro itself, but consider the resistance if this were on the roadmap.
- nsonha 5y agoObviously you put the effort into the Arch one to set up everything with Nix, and didn't do that in Ubuntu. A fairer comparison would be "a system that's actually being used to do something" in just Arch to Ubuntu or Nix on both. I'm not a heavy linux user but I know 3 guys who use Arch at work and one of them had an upgrade issue that caused them half a day to fix, this was circa 2016. I know plenty of people who use Ubuntu no issue. Not that such anecdote really means anything, just to demonstrate that they can be used to back whatever bias. > Having a separate system partition by default This is just one simple extra step when you install. And I don't know if arch has this by default? > Even Windows allow you to snapshot and rollback changes just use brfs? This is more of a linux thing has nothing to do with ubuntu
- megous 5y ago> And I don't know if arch has this by default? What do you mean by default? :) Arch doesn't have an automated installer that does partitioning for you. You extract some files to whatever partitioning setup you've dreamed up for yourself, setup a bootloader and reboot.
- nsonha 5y agoYou are the one who asked for default. Ubuntu has that but I don't think most people use it either. I don't see any harm as an option for beginners. Not that it actually happened but my parents should be able to set up ubuntu because they don't need to partitition.
- capableweb 5y agoI wouldn't expect nothing less than being blamed by Ubuntu developers for a hacked up system, even though I barely described anything. Thanks for giving me another reason to leave the Ubuntu ecosystem behind me. The condescending tone that your message has seems to be relatively popular in the Ubuntu/Canonical community as well, at least compared to NixOS.
- rlpb 5y agoYou described third party repositories and mismatching Python versions. That is a hacked up system, by definition.
- generalizations 5y agoSeems uncommon that those things would prevent upgrades. It sounds more like Ubuntu is beginning to suffer from an excess of complexity.
- rlpb 5y agoI think part of the problem is that third party apt repositories have become normalised as if they're a reasonable way to "add on" to your existing system. In reality they're a hack on a packaging system that was never designed for third party plugability in this way. They very often break future upgrades. Third party apt repositories fundamentally cannot express all the necessary metadata to allow for upgrades to work in the general case. They don't even namespace properly; apt cannot even tell the difference between a third party installed package and one that came from the distribution. And third party packagers typically don't even consider future upgrades. This is why Ubuntu is working on snaps: they are a mechanism that allows for third party plugability in a way that does not break the system. If we want upgrades not to break, the system dpkg/apt installation needs to be left alone and not be interfered with by third parties.
- the__alchemist 5y agoThis is at the core of why I've found Ubuntu (More broadly Linux?) to be frustrating to use. Installing programs or functionality beyond what it ships with leads to the system ending in a "hacked up", as you put it, state. Then reliability tanks.
- 0xbadcafebee 5y agoSee, this is why Linux distributions piss me off. You have an upgrade path that breaks, and when it does the response is "oh, you used your Linux distribution in a way we said you could in our docs? why would you think the upgrade would work after that?!" Distros just don't care about the user experience. They care about making it look fancy, or shifting around designs, or introducing brand new components that break old functionality. But they don't care if people actually have problems using it. Every bug is the user's fault, and every reinvention-of-the-wheel (that actually works worse than the previous wheel) is a praiseworthy accomplishment. Regressions are nonexistent, hardware compatibility/stability is a guessing game, solving common problems is left to the user to Google, all the interfaces and apps are inconsistent, there are no interactive guides to design changes, and just getting some basic hardware like a Bluetooth adapter to work is a multi-day adventure. (And I'm a 20+ year Linux veteran.) I still use Linux because I know that my hardware will mostly work, and that once I get past a month of fixing bugs on a new install, I can basically make it do what I want. But it's so frustrating to use compared to Windows. The only reason I don't use Windows instead is performance and troubleshooting is worse there (for the most part) and security is scarier. But I want to throw both Linux and Windows in the trash. And I won't buy a Mac because the price and incompatibility is absurd.
- rlpb 5y ago> "oh, you used your Linux distribution in a way we said you could in our docs?" Huh? Adding third party repositories has never been a supported path. You're welcome to use them since you own your system, but the future stability of your system is then down to the ability of the third party to not break it. Usually third party apt packagers don't consider future release upgrades.
- josephg 5y agoWhat do you expect users to do in this case, when apt has old or missing software? Are users expected to limit themselves to the software in the main repositories? Windows and macos don’t have this constraint. Installing applications from the internet never breaks windows update or macos. (Sometimes macos updates break homebrew or kernel extensions, but that’s kind of easier to deal with.)
- Enginerrrd 5y agoJust as another data point, to be honest, I've had nothing but similar issues with Ubuntu. It always found new, weird, sometimes downright bizarre ways to break, often in ways I never could figure out how to fix. Mind you, that was back when I didn't even do anything unusual and didn't know how to really dig into the nuts and bolts of linux... I just installed fairly normal apps from the repository with no custom configuration. ...That was all pre-snap. Ironically, I tried again post-snap thinking that would make things harder to break. The first app I tried to install failed in some bizarre way. I fixed it eventually, but it left a pretty sour taste in my mouth. I've had upgrades pre 20.0x that basically nuked my whole server. I just can't in good faith recommend ubuntu to beginners anymore. Mind you, that's for desktop... The 20.04 server is actually pretty nice for a headless linux box, though usually I just run it in a container from a debian system via lxc. Conversely, I've never broken my Arch or debian systems beyond repair despite really hacking the ever-loving shit out of them. I think I had one package I had to fix the version on and no other significant issues.
- ostenning 5y agoAgreed. Ubuntu aways broke more than my Arch system.
- benhurmarcel 5y agoFunny how experiences change between systems. I stopped using Arch because it kept breaking every other day for months. On the other hand I’ve updated Ubuntu every 6 months for the last 8 years and it never broke.
- Normal_gaussian 5y agoI'm sure you don't mean it, but this reads very much like victim blaming and responsibility reduction. Most likely the assumption of what the distribution should do is different for the user and provider, which is going to lead to a lot of talking past each other and not many issues being fixed.
- R0b0t1 5y agoI've had dist-upgrade work 1 out of ~7 times I tried it. My count may be off, but that one time I had to help it along. Yes, I was installing stuff into ~ the entire time.
- pxc 5y ago> If you want to run an Ubuntu LTS system then I suggest that you do your hacking inside containers (whether system containers like lxd, or app containers like Docker). Then you won't need to hack up your system itself, and then upgrades will generally work fine. Configuring additional apt sources isn't hacking anything up. It's utilizing the normal functionality of your operating system's package manager. It's part of the point of using an operating system with uniform and sane tools for managing software.