 Today, I'm going to be checking out the Nala package manager in a LA Nala. This is a front end to the apt package manager apt APT that is Debian slash Ubuntu's package manager. So if you're on a Debian based or an Ubuntu based distribution, you use the apt package manager. Well, Nala is a prettier front end. It actually gives you some pretty fancy output at the terminal, more colorful, you know, just, it's kind of neo fetch like as far as it really is. It really doesn't do anything, but it just gives you a little bling as far as your terminal output. But it's not all just aesthetics. Actually Nala does have one very important piece of functionality built into it that actually greatly improves apt and that is the ability to have parallel downloads. Parallel downloads means that when it's downloading all of your packages, it can actually download more than one at a time. And this is something that standard apt just can't do. And Nala hasn't been around that long. Let me go ahead and switch to my desktop here. This is a GitLab repository for Nala where you can read a little bit about it. You can see Nala is a front end for lib apt dash package. It's basically a front end to the apt package manager. It uses a Python dash apt API. And if I scroll back up, is this actually written in Python? Let me see what the source code actually looks like. Yeah. So this is actually written in Python. Let me back back out of that and let me find the license information as well. It is GPL software. So it is under a free and open source license. This piece of software has not been around that long. But here in recent weeks has become very popular because I've gotten a ton of requests for me to actually take a look at Nala. So that's what I'm going to do today and how do you install Nala? Well, if you read their GitLab and if I scroll down, what you need to do is you need to add a customer repository to your sources list. Now, what I'm going to do is since I'm going to do this in a virtual machine, I'm going to use Pextal because I'm also interested in this project is, well, I actually did a video about Pextal a while back. But what Pextal is, it attempts to be essentially a AUR for Ubuntu. So the AUR is, of course, the arch user repository, which is basically a community-driven repository of software. That's what Pextal aims to be for Ubuntu. And Pextal is really easy to get installed on Ubuntu and then once it's installed, I can use Pextal to then install Nala. So that's what I'm going to do on this video. So I created this virtual machine of Ubuntu. This is Ubuntu 2204 and what I'm going to do, first of all, I'm going to open up Firefox and I'm going to do a quick search for Pextal because I need to get the command to actually install Pextal because it's a lengthy command and be easier for me just to copy and paste. So I'm going to go to the Pextal GitHub here and I'm going to scroll down and I'm going to install this using the curl command here. So I'm just going to copy that line and then I'm going to open a terminal and I make the terminal full screen here and zoom in and then I'm just going to paste that command and I get an error because curl is not installed out of the box in Ubuntu. So first let me sudo apt install curl because I can't install Pextal with curl obviously until curl is installed and now that curl is installed, let me up arrow to the curl command that will install Pextal and now you can see the Pextal installation is running. Then I get this question, do you want to install Axl for faster downloads? Sure. I like fast downloads and Pextal is now installed. So now what I can do, let me clear the screen and I'm going to run Pextal dash capital I for install and then name of program and the name of the program is Nala dash deb and it's asked do I want to view or edit the pack script? This is the build script and for safety reasons typically you'll want to view the script just to make sure it's not going to do anything malicious because again these are community driven community contributed scripts right? Similar to the AUR you shouldn't just install just anything random from the AUR but in this case I trust this so I'm not going to view the script and you can see it's installing several Python libraries which of course again Nala written in Python and Nala finished installing so let's go ahead and run some commands here. Now one of the standout features of Nala is that you have this command here Nala space fetch what this does it finds your fastest mirrors so and this actually works on any Debian based or an Ubuntu based distribution as long as they use the main repositories so you know you use the Debian repositories or the Ubuntu repositories if you have your own completely custom repositories that never touch Debian or Ubuntu then this may not work but of course here I'm on mainline Ubuntu so let's run this fetch command and it says I need to be root well of course and sudo Nala fetch fetching Ubuntu mirrors and you can see it's testing the mirrors it's checking 573 mirrors finding you know it's going to be the fastest ones for me I do like the pretty output right it's got some some nice coloring again it's more about the fancy effects right which you know aesthetics do mean something if you're going to look at terminal output all the time if you're one of those people that spends a ton of time in the terminal you do want your terminal based applications to actually look good and be attractive you know you want to enjoy actually using them and you can see we get a list here it's showing us 16 of the fastest mirrors and it gives us the time in milliseconds as far as their score which mirrors do we want to keep and you can see we need to actually give comma separated values for the numbers or it looks like it would accept a range so I did one and then two dots 16 would that just accept all one through 16 it doesn't look like that's the way that works it looks like I have to do this individually so one comma two comma three comma four comma five comma six comma seven comma eight we'll just do eight mirrors and I'm an idiot it says mirrors have to be separated by spaces not comma so one space two three four five six seven eight all right now it says that's okay are these mirrors okay it actually shows the eight I chose and their times and you can see the sources have been written to a config file a file called Nala sources dot list now let me run Nala space dash dash help to see what all flags and options are available and you know what the commands to run look like they're essentially the standard apt commands so instead of using apt of course we're going to use Nala so let me do a Nala update and and Nala upgrade instead of of course sudo apt update and and sudo apt upgrade we need to do sudo Nala update and and sudo Nala upgrade and it's updating the repository syncing the mirrors right and that is some really fancy output here at the terminal that actually may be a little bit too much bling even for me but but I don't mind it that much and it looks like it finished syncing the mirrors and now it says 272 packages are going to be upgraded and it says the following packages were kept back Nala was unable to determine why these were held one of them is G streamer dash VA API and another one is a language pack so do I want to continue yes it looks like it's going to install five packages and upgrade 270 packages I haven't updated this VM in a while and I purposely chose this VM that needed a update to run this because I wanted to see how fast especially the upgrade portion works because remember it's using parallel downloads by default it defaults to three parallel downloads that's the setting so a 270 package upgrade which would typically take I don't know probably just a couple of minutes on the standard boom to hopefully finishes maybe under a minute and now we're using this parallel download feature and actually the downloads have already finished you can see we're already unpacking everything that's already been downloaded so yeah the parallel downloads definitely do seem to speed things up a little bit because a 270 package update this is going rather fast and it finished updating all of those packages it looks like running d-package 551 packages I thought it was 270 anyway it was a bunch of stuff including a Linux kernel update which will require a reboot you can see we get a notice that these programs here their updates actually do require a reboot and it actually killed the snapd daemon as well snap probably also had a update that was part of this I will hold off on rebooting the VM for now because I still want to play with Nala a little bit let's do a Nala search kind of like app search let's search for a package maybe I want to install NeoVim probably would need to spell it right to actually search for it and it goes out and it returns a list of everything that has the string NeoVim as either part of its name or part of its description and you can see there is the actual NeoVim package if I wanted to install something I would of course with sudo Nala install NeoVim it gives us a list of the dependencies that's nicely colored again that is nice output now I kind of like how it gets everything into these blocks you know with these separators it reminds me a lot of actually DNF over in fedora you know how DNF a lot of the output is in these this blocky kind of format that's separated by these horizontal lines it kind of has that DNF field to it so let me go ahead and choose yes to install NeoVim it looks like I get an error there for one of the mirrors and remember we did do a check for the fastest eight mirrors is what I chose but maybe one of them is down at the moment but that's fine because the other seven should work for us yeah and then installed NeoVim just fine some of the other things that I love to do with the apt package manager I love this command here apt space list space dash install that'll give me a list of all the packages installed with the apt package manager I wonder if Nala list dash dash installed works the same way let me hit enter and find out and it does it gives me a list of everything installed using the apt package manager although the output is a little bit different it's a little fancier we get the name of the program in this case it's in green we get the version in blue so it's some nice coloring and we get a little subtree here the first line here is is it installed and of course everything should say is installed in this output because we specifically asked for programs that are installed and then of course we get our description of what the program is as well as part of that output so yeah that's a really nice command I also noticed that the list command for Nala has this interesting flag dash capital N what this is this is listing everything that was installed specifically with Nala so not apt but did you actually install it using the Nala command and if I hit enter on this only one program is returned Neo Vim which of course I had just installed using Nala just a couple of minutes ago so that's just a little bit of what you can do with Nala it's basically the same as apt right the same commands that work with apt work in Nala but you know it's a little fancier output right it's a little prettier you know it's nicer to look at to be honest and of course you have the benefit when installing software the fact that Nala has the ability to have those multiple downloads going on at the same time those parallel downloads again it defaults to 3 for the parallel downloads and that should speed up the process of installing or upgrading software especially if you have like a massive upgrade so for those of you on Debian or Ubuntu base systems yeah I would give Nala a try I think already even though it's kind of a young project it looks really nice one thing I would say be aware is that because it is a newer project I'm sure there are bugs in it so don't be surprised if you encounter some little quirks that maybe a Nala has that standard apt doesn't have so just be aware of that but if you do encounter bugs of course what you should do is make sure you go to the GitLab for Nala and let those guys know so they could improve the product now before I go I need to thank a few special people I need to thank the producers of this episode I need to thank Dustin Gabe James Matt Maxim Michael Mitchell Paul West while you bought homie Alan Armadreg and Chuck Commander Rangary die okay Dylan Greg Mars drum Erion Alexander Paul peace arch and Vador Polytech realities for less Red Profits Steven tools Devler and Willie these guys they're my high steered patrons over on Patreon without these guys this quick look at the Nala package manager would not have been possible the show is also brought to you by each and every one of these fine ladies and gentlemen all these names you're seeing on the screen right now these are all my supporters over on Patreon because I don't have any corporate sponsors I'm sponsored by you guys the community if you want more episodes about Linux and free and open source software subscribe to distro tube over on patreon all right guys peace Nala is like DNF if DNF was fast