Live data from Hacker News

Oma: An attempt at reworking APT's interface

github.com

21–26 of 26 posts

Re: Oma: An attempt at reworking APT's interface

#21

Can someone involved with packaging help me understand why dependency management and system configuration are integrated and not separate things entirely? For instance, if I "install" LXQT on Ubuntu LTS, it's going to not only install all the dependency libraries (and the dependencies' dependencies) as well as all the relevant executables.. but it's also going to go around and change a bunch of configurations so that…

It's mostly about user intent. If you install the LXQT binaries on Ubuntu, you probably intend to use LXQT as your DE. It makes sense to set that up for you.

There's also an accessibility aspect. Novice users are likely to struggle with setting up the configs, so auto-configuring the packages makes them more accessible to novices. Wanting to install a package without configuring it is a poweruser kind of request; it makes sense to require poweruser knowledge to get a poweruser install, rather than making poweruser-style installs the default.

Fwiw, I believe most package managers can be told to not run their configuration steps if you really want that.

Re: Oma: An attempt at reworking APT's interface

#22
post #6

This looks nice, thanks for sharing. Though IMO the main issues with APT/dpkg are not related to their UI. It is their decades-old internals, and very limited support for transactional/atomic upgrades and rollbacks. Upgrading an APT system is the same launch-and-pray operation as on most Linux systems. I see that oma has an `undo` command, which is great, but I wonder how reliable that is in practice. I think that ev…

Yeah not to knock their contribution but I was hoping they'd help make system package management as easy as npm package management. If I want to install say r-studio and octave apt will install a bunch of packages with dependencies. But what if I decide I don't want r-studio or any of the other stuff related to r on my system? I can't just do apt remove r-studio. This is why I I've been using conda, appimages and chr…

You can use 'apt autoremove' to remove transitive dependencies that aren't required anymore. I think you sometimes have to run it multiple times, though, because it won't recognize that a dependency of a transitive dependency is no longer required after removing the first transitive dependency.

Re: Oma: An attempt at reworking APT's interface

#23
post #6

This looks nice, thanks for sharing. Though IMO the main issues with APT/dpkg are not related to their UI. It is their decades-old internals, and very limited support for transactional/atomic upgrades and rollbacks. Upgrading an APT system is the same launch-and-pray operation as on most Linux systems. I see that oma has an `undo` command, which is great, but I wonder how reliable that is in practice. I think that ev…

Yea dpkg installations are notoriously single threaded and laden with scripts.

Compared to e.g. Alpine's apkg, installations take quite some time.

Installing multiple (independent) packages in parallel would seem like a straightforward improvement - or installing while downloading unrelated packets.

Re: Oma: An attempt at reworking APT's interface

#24

I'm really disappointed that it's yet another tool that requires "curl into bash" to install, even when you're building from source.

I mean, it's not required per se, it's right there in a repository... the script configures the repository and installs oma afterwards (there are system dependencies). https://repo.aosc.io/oma/ Out of curiosity, how - by your preference - should this be done so that it's easier for the user?

Not the original person, but I'd like to see the ACTUAL install instructions, a la the vscode via the microsoft repository. It's a little more work for the user, but, honestly, the user is using a CLI for managing packages - I think three lines that show clearly what's going on is reasonable.

something like:

  curl -fsSL https://repo.aosc.io/pubkeys/repo/oma.gpg | sudo gpg --dearmor -o /usr/share/keyrings/oma.gpg
  echo "deb [signed-by=/usr/share/keyrings/oma.gpg] https://repo.aosc.io/oma $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/oma.list > /dev/null
  sudo apt update && sudo apt install -y oma
Just showing me what it's gonna do and giving me the clear option to do that instead of curl | bash would make me feel better.

Microsoft also has a "download deb and install", which I still consider slightly better than curl | bash; it's basically the windows install flow. People who are using a GUI can just double click it, people who want to see what it's going to do can examine it, and your (unsafe) one-liner is `curl XXX.deb && dpkg -i XXX.deb`. Plus it can be shipped to a multiple machines at once easily.

And hey, you already know they have dpkg.

(edited: mangled my command spacing a bit)

Re: Oma: An attempt at reworking APT's interface

#25

Earlier quoted context omitted.

Yeah not to knock their contribution but I was hoping they'd help make system package management as easy as npm package management. If I want to install say r-studio and octave apt will install a bunch of packages with dependencies. But what if I decide I don't want r-studio or any of the other stuff related to r on my system? I can't just do apt remove r-studio. This is why I I've been using conda, appimages and chr…

You can use 'apt autoremove' to remove transitive dependencies that aren't required anymore. I think you sometimes have to run it multiple times, though, because it won't recognize that a dependency of a transitive dependency is no longer required after removing the first transitive dependency.

Thanks, that actually sounds like that will work.

Re: Oma: An attempt at reworking APT's interface

#26

Earlier quoted context omitted.

Yeah I know of it's existence but I always forgot how the interface in aptitude works. It is not intuitive for me. I prefer apt for command line. 99% of the time I mostly use 'apt install x' and that is it. Changing a package to a specific version and other really niche stuff I will use synapic for. With this tool I can actually search and install and that is really nice. When I do not know the name of a package I ne…

Note: This is not to discount oma of what it does, but to shed some light to how aptitude thinks about its workflow. > I always forgot how the interface in aptitude works. It is not intuitive for me. That's a fair criticism of aptitude, but let me give you a couple of hints, not to change your mind but to give some insights, how to use aptitude, if you prefer. First, aptitude is mouse aware. You can just click around…

Thanks for the info, I never knew it used mouse as well.
Post reply on HN