Nala is a much cleaner, neater alternative for the APT package manager:
Many of us probably use the APT package manager system. Nala is a command line front-end that promises to both improve the interface and speed up downloads. I've only just loaded it so I cannot say whether the latter is accurate but at some point I will let you know what my findings are.
Although the APT package manager is a simple and effective command-line tool for installing, updating, and removing software, it does have its weaknesses. Nala is here to improve on that.
I've been using Ubuntu/Debian-based Linux distributions for a very, very long time. As such, I've seen package managers come and go. I've used APT, Synaptic, Snap, Flatpak and more. For the most part, they all do an excellent job of managing software on your system. The most prevalent system I've used is APT, and it's rarely failed me.
That doesn't mean APT is perfect. Case in point: APT is pretty ugly for a command line tool. It can also be a bit slow, especially in later iterations where it runs several checks post-install and post-upgrade. Not that I mind those checks, but sometimes the slowdowns caused by them can be rather annoying. On top of that, APT doesn't support parallel downloads, so larger upgrades can become even slower.
When a new tool came into being that promised parallel downloads, a history feature, the fastest mirror option that automatically selects the three fastest download mirrors and a considerably more user-friendly output, I was intrigued.
After installing Nala on Pop!_OS Linux, it took me one update run to make me realize that Nala was my new favorite APT front-end. That's right, Nala is just a front-end for APT that adds a few extra features and a cleaner interface. Even so, it's very much worth installing and using. Let's do just that.
To install Nala, you'll need an Ubuntu-based Linux distribution and a user with sudo privileges. That's it. Since Nala is a text-based tool, you can install it on either a desktop or server distribution.
Fortunately, Nala is found in the standard repositories for Ubuntu 22.04 and newer, so installation is simple. [...]
(Score: 2, Insightful) by Opportunist on Sunday January 15, @02:52PM (13 children)
Because let's face it, that's what we actually need: A distri-agnostic package manager. One that can pull in anything, from apk to deb to rpm. Yes, that requires that package manager to be able to handle different packages from different distributions with different requirements and different locations and different startup machines and different quirks.
But if it cannot do that, I don't need it. I already got one that can only handle packages built for this distribution that I'm currently using.
Oh... it's just a frontend. So ... it's not even a new package manager, the old one just got a new skin for those that don't know what they actually want but want a better browsing "experience"?
I want my 5 minutes back.
(Score: 3, Informative) by Runaway1956 on Sunday January 15, @03:26PM (3 children)
I mentioned Nala in my journal awhile back. https://soylentnews.org/~Runaway1956/journal/12694 [soylentnews.org]
The things I don't like about apt are, it downloads from a single source, usually slowly, one package at a time. Download speed is limited by the bandwidth capacity of the source. Even with fast internet, it takes excessive time to do an upgrade because download speeds suck.
Much like apt-fast, Nala will make concurrent downloads, using Aria2, greatly speeding up your upgrades, or whatever. True, Nala is just a front end. It still takes a considerable time for apt to do an update. Really, why should it take two minutes for an update? But, once update is completed, and you've ordered upgrades to take place, Nala speeds things up considerably.
As for alien packages, I agree with you. It would be great to browse any repository from any distro, from a common interface, such as synaptic. It seems no one capable of building it, has taken an interest in such a project.
Abortion is the number one killed of children in the United States.
(Score: 2, Insightful) by Opportunist on Sunday January 15, @04:18PM (2 children)
Do you sit there to wait for your upgrades? I run them when I'm about to have lunch or when I have something else to do, why would I give a hoot whether they take 2 or 4 minutes?
(Score: 1) by Runaway1956 on Sunday January 15, @06:52PM
Yes, sometimes, I want to do something when upgrade completes. When that happens, I don't want to wait - and wait - and wait -
Abortion is the number one killed of children in the United States.
(Score: 3, Informative) by krishnoid on Sunday January 15, @11:59PM
Even better, apt/-get has a download-only option so you can background download any packages you may want in the future. Then if you want to watch a package as it's installed, the regular apt invocation will install the downloaded package pretty quickly after that.
(Score: 3, Informative) by RamiK on Sunday January 15, @03:49PM (3 children)
Yeah Nala is just a (nicer) libapt-pkg front-end like apt and aptitude.
You want containers. One for fedora... One for debian... One for android (waydroid)... You can use kubernetes to do it imperatively or nix (and more recently, guix) to do it descriptively.
compiling...
(Score: 2) by RamiK on Sunday January 15, @03:56PM
the "more recently" part about guix is covered here: https://guix.gnu.org/en/blog/2023/the-filesystem-hierarchy-standard-comes-to-guix-containers/ [gnu.org]
compiling...
(Score: 3, Insightful) by Opportunist on Sunday January 15, @04:21PM (1 child)
I sure as all hell do NOT want containers. I'm certainly not trading one can of worms for a bigger one.
It also doesn't solve the problem, it rather creates the one that then I'll have to deal with learning the quirks and pitfalls for 5+ different distributions. The idea is, rather, to just have one distribution to deal with and that package manager dealing with making that package palpable for that distribution. If the package manager can't do that, I don't need it. Because installing for this distribution is handled just fine by the package manager I have and know and don't need to learn its quirks anymore.
I need this system to get work done. Not to play around with the system to tweak and fiddle with it because it could do so many nifty little things. There isn't anyone I could show off how awesome my system's configuration is. Nobody cares about that. Not even me.
(Score: 4, Informative) by RamiK on Sunday January 15, @07:00PM
The only alternative to containers when it comes to deploying packages from different sources that have potential library conflicts is NixOS or Guix. In fact, it's fairly common in NixOS for package maintainers to deploy binaries straight out of .debs. e.g.
Vivaldi sources its ffmpeg proprietary codecs support: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix [github.com]
TuxGuitar's .jar is sourced out of the developer's .deb instead of bothering to do the build simply because the build system is too annoying to bother: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/music/tuxguitar/default.nix [github.com]
RealVNC being pulled as an rpm from the developer's site: https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/admin/realvnc-vnc-viewer/default.nix [github.com]
A complex example is how chromium is pulled by source while chrome is pulled as binary: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/chromium/default.nix [github.com]
Guix, being a GNU project, doesn't accept proprietary stuff so those are done via third party repos. e.g. nonguix chrome package pulling the binary .deb: https://gitlab.com/nonguix/nonguix/-/blob/master/nongnu/packages/chrome.scm [gitlab.com]
Some more Nix examples including proprietary software and drivers: https://github.com/NixOS/nixpkgs/search?q=.deb [github.com] https://github.com/NixOS/nixpkgs/search?q=rpm [github.com]
There's even exotic examples of windows binaries wrapped up in wine: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/audio/exact-audio-copy/default.nix [github.com]
Overall, unless you're lucky to have everything just work with the default packages, you're going to have to pick up some .nix skill here so the trade off for containers is often better off if you're just facing one or two problematic packages. But, if you're a full time dev that sees dependency hell issues every other week and find yourself juggling 5 VMs/containers on a regular basis... Well, personally, I went with NixOS.
compiling...
(Score: 3, Insightful) by Anonymous Coward on Sunday January 15, @06:08PM
If they just skinned an existing one, that's a *good* thing. I'm assuming they get the multiple download feature by just spawning multiple processes and that's also a good thing. I was about to complain about "yay, another package manager" and while I still maintain that they'd be better off contributing these features to apt, at least they didn't totally reinvent the wheel.
(Score: 5, Insightful) by turgid on Sunday January 15, @06:19PM
A package manager that handles "foreign packages" is an oxymoron.
Packages are foreign for a reason: they were built on a different system, with different dependencies. You can not, in general, install them on your system and expect them to work. There are some special cases, the way some large applications are distributed, where they are statically linked with all the infrastructure they require and will generally run on all systems of a similar vintage (GNU C library).
What you are really asking for is something that can compile an application and all relevant dependencies. and then install them all under the supervision of some sort of package manager and database, on your system.
I've played about with my own scripts to do that over the years. If everyone wrote their software to a rigorous set of guidelines, it would be easier, but the real world is not like that. Not every piece of FOSS out there can build simply by doing configure && make && make install.
It's actually quite a lot of work putting software into packages, particularly when it's random stuff off the internet and making sure it all plays nice together.
I refuse to engage in a battle of wits with an unarmed opponent [wikipedia.org].
(Score: 2) by Gaaark on Sunday January 15, @08:11PM (1 child)
Kind of 'Apt' for this request:
MOTD: "I was at this restaurant. The sign said "Breakfast Anytime." So I ordered French Toast in the Rennaissance. -- Steven Wright"
I use pacman, mostly, on Arch-based distro and it handles multiple downloads and is fast.
--- Please remind me if I haven't been civil to you: I'm channeling MDC. ---Gaaark 2.0 ---
(Score: 0) by Anonymous Coward on Monday January 16, @05:13AM
Don't do this at a pay upfront restaurant... They can take your money and then say you can pick your french toast some time in the Rennaissance.
(Score: 1) by Setsuna on Sunday January 15, @09:11PM
(Score: 3, Interesting) by quixote on Tuesday January 17, @02:36AM
So I tried it. Yes, it's an excellent front end for apt. Downloads are way faster. Text better laid out and color-coded, way easier to read. Somewhat better defaults.
I really like the way it makes it very simple to find the fastest mirrors. Not that the old way was super difficult, but it was a tad more tedious. So the tendency was to do it once every few years whether it was necessary or not.
Anyway: kudos to the nala devs.