6 ms·
> The whole idea that you'd need a container like environment to install an application on a Unix system is very far from where we should be. What's the point o
by rlpb 6y ago
> The whole idea that you'd need a container like environment to install an application on a Unix system is very far from where we should be. What's the point of dynamic linking if we then end up shipping half an OS with an application just to get around dependency hell? Might as well ship a pre-linked binary that just does system calls.
There are two models.
The first model is the traditional distribution model. The distribution curates and integrates software, picking (generally) one version of everything and releasing it all together. Users do not get featureful software updates except when they upgrade to a new distribution release - all at once.
The downside of this model is that developers who want to ship their new software or feature updates without waiting for a new distribution release get stuck into dependency hell and have to operate outside the normal packaging system. Same for users who want to consume this. Third party apt repositories and similar efforts are all fundamentally hacks and generally all end up breaking users' systems sooner or later. Often this is discovered only on a subsequent distribution upgrade and users are unable to attribute distribution upgrade failures to the hacked third party software installation they did months or years ago.
The second model is the bundled model. Ship all the dependencies bundled in the software itself. That's what Snaps (and Flatpaks, and AppImage) do - same as iOS and Android. This allows one build to work on all distributions and distribution releases. They can be installed and removed without leaving cruft or a broken system behind. They allow security sandboxing.
All your objections seem to be criticizing the bundled model itself, rather than anything about Snaps themselves except that they use the bundled model.
If you don't like the bundled model, then you can carry on using Ubuntu 20.04 without Snaps just fine.
- codethief 6y agoI agree with everything you write, except: > If you don't like the bundled model, then you can carry on using Ubuntu 20.04 without Snaps just fine. No, you can't. Ubuntu has started replacing apt packages with snaps. So if you want to install those packages (such as Chromium) you now have to use the snap.
- rlpb 6y agoYou can install Chromium from a third party source just like you could before. New distribution releases always add and remove packages. Chromium has been removed (as a deb). It's is no longer packaged as a deb because it's a rolling release upstream and it was too much work to backport featureful rolling release to debs.
- NeutronStar 6y agoWhats the point of using Ubuntu at that point? Why not just use Debian if you're gonna manually install everything anyway instead?
- Delk 6y agoThe transition in Chromium packaging is understandable from a maintenance point of view. However, the general argument that you can just keep using the system without using snaps "just fine" doesn't really hold if the snaps begin to replace rather than supplement software that used to be packaged without it. The same is also somewhat true if first-class tools such as Software (as in the "store" GUI) begin to push snap packages as the first thing, because then you will, by default, need to go through additional steps to find the packages that you want, and which used to be available as the first choice. You can still do things, of course, but it might be that you need to start getting around the snap-centric design choices more often, and at that point it doesn't come at no usability cost to you anymore. I don't actually use Ubuntu at the moment, so I don't know how much that is the case now, but if it is (or if seems like it's going that way), I understand the frustration.
- dabockster 6y ago> However, the general argument that you can just keep using the system without using snaps "just fine" doesn't really hold if the snaps begin to replace rather than supplement software that used to be packaged without it. Well, if you don't like it, you can always fork it. That's the beauty of open source. /sarcasm Seriously though, all out replacing stuff with Snaps doesn't seem like the right move.
- mariusor 6y ago
- mjangle1985 6y ago>No, you can't. Ubuntu has started replacing apt packages with snaps. So if you want to install those packages (such as Chromium) you now have to use the snap. You can almost always install via deb if you want instead.
- fartcannon 6y agoFor _now_, you can. Slowly boiling the frog is really effective.
- mjangle1985 6y agoYou believe that Canonical will remove the ability to install from deb?
- toyg 6y agoAt some point, they likely will. I'd wager they will require deb packages to be signed with a certain Canonical key that they will use strictly for basic system packages. Everything else will be a sandboxed Snap, left to third-parties to maintain, distributed through a Canonical Appstore that enables payments. Maybe they will give you an option to "root" the system, and if you use it you'll lose any right to support or updates from Canonical. Snap is fundamentally a commercial play to reduce support costs and enable an appstore.
- mjangle1985 6y agoIF they do that I'm obviously leaving their ecosystem, though I'm just a consumer so no clue how much effect I would have. I really don't see what benefit that would provide them over other distros though and I'm not sure why they would make that choice to close down their system? Fundamentally Linux works so well because of the free software movement and I don't see any app maintainers choosing to charge a fee for their software if they aren't already.
- 6y ago
- sergeykish 6y agoThe third model - rolling release. No need to test against many releases, no outdated dependencies and why so many people want to run latest browser on outdated system? The forth model - multiple versions of dependencies live on the same system, environment constructed for each application. Deduplication works. Bundled model has its values (just like vm) but it really shines with inadequate package management. If you don't like the bundled model switch to Arch Linux or NixOS.
- nyanpasu64 6y agoI don't like the bundled model. I'm running Arch on my main machine currently. The AUR makes getting third-party packages easy. Unfortunately, I need VirtualBox for a class, and Arch's VirtualBox package won't run on the current Linux 5.8 kernel, and downgrading Linux on Arch is not easy. I switched to Windows for VirtualBox, but in retrospect I could've installed linux-lts. Ubuntu is more stable in theory, but I've encountered broken packages (like hex editors with an incorrect hard-coded temp path, causing it to be unable to overwrite files).
- sergeykish 6y agoIt is not super simple but I lived with outdated kernel and Xorg for a couple of years (because of Intel Poulsbo [1]). Process described in wiki [2] and uses virtualbox-host-modules as an example. $ pacman -Qi glibc Depends On : linux-api-headers>=4.10 tzdata filesystem 1. This version is not present in Arch Linux Archive anymore [3], search for package page [4], View Changes, search for corresponding PKGBUILD revision [5], makepkg. It is much easier if package is not that old and can be found in /var/cache/pacman/pkg/ or archive. 2. install with `pacman -U linux-4.15.8-1-x86_64.pkg.tar.xz` 3. skip package from being upgraded with /etc/pacman.conf IgnorePkg [6] I had problems both with Ubuntu and Arch Linux updates. At least I can fix Arch Linux issues, Ubuntu felt broken. [1] http://sergeykish.com/linux-poulsbo-emgd http://sergeykish.com/linux-poulsbo-emgd [2] https://wiki.archlinux.org/index.php/Downgrading_packages https://wiki.archlinux.org/index.php/Downgrading_packages [3] https://archive.archlinux.org/packages/l/linux/ https://archive.archlinux.org/packages/l/linux/ [4] https://www.archlinux.org/packages/core/x86_64/linux/ https://www.archlinux.org/packages/core/x86_64/linux/ [5] https://github.com/archlinux/svntogit-packages/commits/packages/linux/trunk https://github.com/archlinux/svntogit-packages/commits/packa... [6] https://wiki.archlinux.org/index.php/Pacman#Skip_package_from_being_upgraded https://wiki.archlinux.org/index.php/Pacman#Skip_package_fro...
- Iolaum 6y ago> If you don't like the bundled model, then you can carry on using Ubuntu 20.04 without Snaps just fine. Not really. The platform, Ubuntu in this case, has clearly signaled that they want to move from debs to snaps. And apart from the technical benefits of snaps (sandboxing) you also get the drawbacks (they are slow, updates are forced, and there is only one source for them). What you propose is fighting the platform you are staying on, and that's not a great place to be. Far better to move to platform more aligned with your choices as a user. P.S.: If anyone is looking for quick and dirty suggestions, there's pop!_OS which is quite close to Ubuntu so there won't be many changes to the user experience. In my case it was Fedora. The linux ecosystem is diverse enough to offer many choices.
- sunnysigara 6y agoROFL. When did they signal it ? Servers are all deb which is main source of their income. If anything will go away is Ubuntu Desktop. Snap may stay since it is the standard in IOT world.
- the_af 6y agoI agree with your post except for this: > If you don't like the bundled model, then you can carry on using Ubuntu 20.04 without Snaps just fine. While it's true you technically can, at some point you have to ask yourself why you're going against the grain instead of picking a different distro (or not upgrading to 20.04, at least). Ubuntu wants you to use snaps. You can sidestep this, but you should ask yourself if you shouldn't just switch distros. I just recently upgraded from Ubuntu 16.04 to 18.04. I don't see the reason to upgrade to 20.04 as long as the software I need works and I keep getting security fixes. Once this LTS gets EOL'd, I'll see what the current deal is with Ubuntu and seriously consider switching to another distro.
- pdimitar 6y agoManjaro has 99% of what Ubuntu has, runs a much more modern kernel, and has packages for literally anything you can think of in the extended software repository (namely Arch Linux's AUR). I regret not taking the plunge and installing Manjaro against the will of our IT during onboarding (they don't forbid it, they simply can't promise good support if you don't install Ubuntu). I am sure I could have found a way to install the 2-3 corporate VPN / spy / monitoring agents my employer requires on the machines they issue for employees. But anything I've needed of Manjaro, I always got it. Granted that's an anecdotal evidence, obviously -- I haven't tried running games, for example.
- rickspencer3 6y ago> The downside of this model is that developers who want to ship their new software or feature updates without waiting for a new distribution release get stuck into dependency hell and have to operate outside the normal packaging system. When I was writing apps for distros, I had the opposite problem. Every single release of GNOME and Ubuntu would break PyGTK in some way so that my software that used zero new features in the OS, would require at least some modifications and force me to maintain many versions. Finally, Gtk changed something that broke something in a fundamental way (something in Gtk TreeView, I forget what exactly) and I simple gave up maintaining software rather than suffer through figuring out how rewrite everything again.
- pdimitar 6y agoWouldn't some kind of static linking of the right GTK libraries inside your binary help? Completely newbie question, I am not claiming anything.
- kevincox 6y agoI agree with most of your post. However the last line is off. > If you don't like the bundled model, then you can carry on using Ubuntu 20.04 without Snaps just fine. This blog post and many of the contents are claiming that you can't just use Ubuntu without snaps anymore as they are being forced upon users.
- young_unixer 6y agoThose of us that prefer bundles have been "forced" to use centralized repositories our whole lives.