Did we kill Linux's killer feature?

A few years ago we were able to upgrade everything (OS and Apps) using a single command. I remember this was something we boasted about when talking to Windows and Mac fans. It was such an amazing feature. Something that users of proprietary systems hadn’t even heard about. We had this on desktops before things like Apple’s App Store and Play Store were a thing.

We can no longer do that thanks to Flatpaks and Snaps as well as AppImages.

Recently i upgraded my Fedora system. I few days later i found out i was runnig some older apps since they were Flatpaks (i had completely forgotten how I installed bitwarden for instance.)

Do you miss the old system too?

Is it possible to bring back that experience? A unified, reliable CLI solution to make sure EVERYTHING is up to date?

Lober,

To still sorta replicate that, I just set up a script at /usr/local/bin/update for it:


<span style="color:#323232;">#!/usr/bin/env bash
</span><span style="color:#323232;">
</span><span style="color:#323232;">sudo emaint sync -a &amp;&amp;
</span><span style="color:#323232;">sudo emerge -utDU @world &amp;&amp;
</span><span style="color:#323232;">sudo emerge -c;
</span><span style="color:#323232;">flatpak --user update;
</span><span style="color:#323232;">doom upgrade &amp;&amp;
</span><span style="color:#323232;">doom sync &amp;&amp;
</span><span style="color:#323232;">doom purge
</span>
vox,
@vox@sopuli.xyz avatar

arch repos + aur got you covered

const_void,

This. AUR packages are easy to create too. Flatpaks are only useful if you want to use something temporarily.

Sentau,

Especially when you also use a aur helper like yay. Also I have to do is type yay and enter my password and then everything is updated

vox,
@vox@sopuli.xyz avatar

or paru. basically like yay but slightly faster (really noticable on crappy hardware, paru searches packages like 2-3 times faster on a 5200rpm hdd)

superbirra,

just stick to your distro packages man

Sethayy,

alright where’s that XCKD, imma make another package distribution method to ‘unify all the methods’

zarlin,
@zarlin@lemmy.world avatar

I think you mean this one?

xkcd.com/927/

zhenyapav,

Yeah, flatpaks are a pain in the ass. So glad that I don’t have to use them since switching to Arch.

gerdesj,

Never used Flatpak or Snap in nearly 30 years of using Linux. I might one day but not yet.

I don’t use Fedora these days but your package manager will probably have some hooks. Add one to update your Flatpaks when it has finished its main job.

gronjo45,

I’ve seen the term “hooks” used all the time and have always wondered what the need for them is. I was a Windows user my entire life since childhood and recently rectified that a couple months ago.

Unlearning the Windows paradigm of operating systems has been annoying. So many functional aspects of my machine abstracted away made me have to create an entirely new scaffold for learning technology…

Hopscotch,

A hook is a mechanism for adding functionality at a certain point in a program’s normal flow. As a simple example, imagine a program that works by doing three things in order. It could have hooks that allow the user to add actions before or after any individual steps. Each possible point in the flow is a separate hook. One way to implement it is with a directory for each hook in the program’s configuration directory, where executables can be placed; the hook runs each executable in sorted order.

I didn’t look up any of this, so it may not be the best explanation, but I hope it is helpful.

gronjo45,

Thanks for the explanation! I always wondered why would describe hooks so trivially. I’m still bleaching my brain of the Windows habits I developed from lifs-long usage.

I looked a little more into hooks, and am curious if a patch can kind of be like a hook? Where you create a config file that has symlinks to all the executables like you mentioned? Still a noob when it comes to software creation :D

Hopscotch,

[Can] a patch can kind of be like a hook?

In the free software world, a patch usually describes a file that lists lines to be added to or removed from another file (or multiple files). The most common use for this is probably with actual source code.

Binary (non-text) patches are also possible, and in Windows a software bug-fix “patch” would likely be mostly binary. In the free software world, it’s uncommon to use binary patches for updates; instead the source is patched (either in the main upstream project or by a distribution) and a new binary package is built and published.

Where you create a config file that has symlinks to all the executables like you mentioned?

I don’t really understand how those two questions relate, so I may not be able to give you a good answer. Often a configuration file has a variable=value structure, but it would certainly possible to have a list of file paths in a configuration. However, this might instead be implemented as an actual directory (like ~/.config/app/pre-hook.d/) where each executable file in that directory is executed by the “pre” hook in the app. (Configuration directories often work very similarly also.)

Whether the paths are symlinks is likely to be irrelevant, as this is more a filesystem level feature that would often be ignored entirely by the application.

I hope this is helpful.

MangoKangaroo, (edited )

I update all of my flatpaks, snaps, and dnfs(?) with the click of a button in GNOME Software.

Edit: apparently I stopped using snaps at some point. Still, GNOME Software does both my flatpaks and my regular stuff.

boo_,
@boo_@lemmy.blahaj.zone avatar

Same, on my Debian machines I barely even think about if packages are debs or flatpaks because it’s so seamless.

insomniac,
@insomniac@sh.itjust.works avatar

I’ve used Linux since the 90s and I’ve never installed a flat pack or snap or whatever. They’re not required.

genuineparts,
@genuineparts@feddit.de avatar

This. And it usually is open source, if you don’t want to install a flatpak or docker image, you can always compile it yourself, and if you feel generous, you package it up as an .rpm, .dep, or whatever your distro of choice wants and create a download for it. I also have not (yet) encountered a project i wanted to install that didn’t either provide packages or at the very least detailed instructions if I want to just install that locally.

bankimu,

I mean yeah. I mean wtf.

I mean, if I install something compiling from source, I would not expect anyone else to manage it, right? I mean why would anyone expect that flatpak snap etc. all get managed automatically, they even forget how they installed something, it is so ridiculous.

page,

100% agree with you OP.

grean,

Every problem can be solved by adding another layer of abstraction.

comrade_pibb,
@comrade_pibb@hexbear.net avatar

Ah, I see you have experience in our codebase

Nicbudd,

This sucks, but on the flip side, before Flatpak and others, if the software wasn’t in the repo then we’re SOL and can’t install it. Asking all developers everywhere to maintain a version of their software for every single package manager and ensure support for every distro is a bit unattainable. If Linux settled on one package manager or one distro then this would be solved, but such a statement is antithetical to the abundance of choice that Linux boasts.

Would you rather not be able to update an app or not be able to install an app?

jmbreuer,
@jmbreuer@lemmy.ml avatar

Which is kinda one of the main reasons I started to like and still like gentoo. I do understand that it’s not for everyone as a daily driver. Maybe Arch could also fit?

bremen15,

I can still do that, because I understood that problem when it arose.

Gamey,

The GUIs do that in a even easier way for new users and experienced people can always just add a simple bash alias, a universal command never existed anyway because we have various different package managers on different distros so I don’t see any lost feature whatsoever tbh

Discover5164,

you could use topgrade to update, and it will generally update with every package manager available.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • [email protected]
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • oklahoma
  • Socialism
  • TheResearchGuardian
  • Ask_kbincafe
  • KbinCafe
  • SuperSentai
  • feritale
  • KamenRider
  • All magazines