 One of the more interesting GNU slash Linux distributions out there is void Linux. What is void Linux? It's an independent Linux distribution meaning it's not based on Debian or Ubuntu or Arch void is its own thing It has its own Repository of software it has its own package manager called xbps It has a couple of different versions You can get void Linux using glibc, which is the GNU C libraries or you can get a void Linux using Musl, which is an alternative to glibc. It's more minimal less of a code base It's more suckless. I guess then glibc void Linux is very much kind of suckless in philosophy It doesn't have system D as it's a knit system it uses its own run it a knit system and it's really interesting I have I've looked at void a couple of times before on the channel But it's been a while so today what I wanted to do is I was gonna go to the void Linux website and grab one of The latest ISOs and run through an installation So let me switch over to the browser here and on void Linux.org Which is the website you click on the download link and you get to the download page And of course they have a couple of different images here x86 64 is of course what I'm gonna be using They do have 32-bit Images that looks like they also have an arm image as well That could be interesting on our raspberry pi or something like that. I might play with that actually I didn't realize void had arm images But today I'm gonna grab the x86 64 image and they have some pre-built ISOs as far as they've got a desktop Environments are ready ready to go. You've got the the base ISO then you've got enlightenment sentiment LXDE LXQ Mate and XFCE. I'm gonna grab the XFCE Edition and I'm gonna grab the musl edition rather than the glibc Now if I was installing this on real hardware on a real machine Typically I choose glibc just for stability reasons just because most things expect glibc to be on the system But I just want to see how the installation goes with the musl edition of XFCE So I'm gonna grab that ISO and then I'm gonna go ahead and spin up a quick virtual machine inside vert manager So I created a virtual machine here. I gave this virtual machine six gigs of RAM I gave it two threads of my 24 thread thread ripper and we get to the boot menu here And I'm just going to go ahead and boot directly into the live environment And we've booted into the live environment, of course, this is the XFCE desktop environment before I run through the installation I am gonna search for the display program here inside XFCE. So that's called display settings I'm going to go ahead and pick a screen resolution That makes more sense. I'm gonna change to 1920 by 1080 tell it to keep that resolution And let's go ahead and run through the installation of void Linux first You need to open a terminal. There is a terminal docked by default in the XFCE desktop environment I believe control t would also bring up a terminal. Yeah, that brings up a terminal Now let me zoom in a little bit so you can see the installation process. First, let's switch over to the root user It's asking for a root password. I'm assuming void Linux Yeah, that was it. All right, so typically in Linux distributions if the root password is needed In a live environment try either the word live the word root or the name of the distribution So luckily it was void Linux. I'm sure in the documentation on voids website It would have told me that but I don't have the installation guide in front of me And then what you need to do of course as root is type void dash installer and you get this nice incurses installer here, and I'm just gonna go ahead and click okay And let's go ahead and set up our keyboard and it looks like by default It's chosen ANSI Dvorak, which is probably not right for 99.99% of the people on the planet But I guess they just don't choose a default. You actually have to go through the list Obviously, I'm gonna want a US keyboard So I type you to get to the use and then I scroll down to us and yeah hit okay And then let's set up the network and the network it should do this automatically just hit okay Do you want to use DHCP? Yes, and that should set up our ethernet there network is working properly So hit okay, then source set the source installation now You have two choices here You have local and you have network and you many people would think well I'll just use the network like an internet install and get the latest and greatest packages You probably want to choose local though because this will install packages from the ISO we downloaded It's gonna install all the XFCE packages the full desktop environment and the suite of applications that we expect to find so choose local Hostname now. This is the hostname of the machine. I'm gonna call it vert void just so it's descriptive I have a lot of virtual machines and sometimes I SSH into them So it's nice to have a descriptive hostname for each machine time zone So this is for me the central time zone in the US I'm gonna choose America and I'm gonna type C because I typically choose Chicago in these lists Just because I know it's there and Chicago is in the central time zone I'm not actually in Chicago, of course, and then root password. So let's create a strong and complicated password for the root user And then verify that and then the user account. So let's create a home user So what is our login name? Our login name does not need to be void. I'm gonna call my user DT and then the user name of DT and then create a strong and complicated password for the DT user All right, and then what groups should the DT user be a member of by default It's already put DT as a member of the wheel group. The wheel group is very important That gives us sudo privileges and it looks like they've chosen some other sensible groups for him to be a member of such as floppy audio video CD-ROM and optical so that makes sense KVM So we have the ability to use KVM virtual machines if this was a Situation where I was doing this install on a physical machine the ability to have access to virtual machines would be very important for the DT user So I'm just gonna go with the defaults here and hit okay Now the bootloader what disk are we installing the bootloader to I only have one virtual disk in this virtual machine So there's only one to choose from use a graphical terminal for the bootloader. Yes, and then partition partition the disk So I only have one drive to partition. So I'm gonna select that what tool do I want to use to partition the disk? We have CF disk and we have fdisk as options I'm really comfortable with CF disc although. I can use fdisk, but I'm gonna choose CF disc It's just a very easy Command line tool so in CF disk when you first launch it it asks What do you want to set up GPT or a DOS partition table if I'm doing a master boot record? I would do DOS if I was doing UEFI. I would do GPT I'm gonna do a DOS partition and I'm gonna go ahead and create a swap just for purposes of this video I normally wouldn't create a swap in a VM, but hey, why not? So I'm gonna hit enter on new and Partition size. I'm gonna do a one gig swap. No reason to make it, you know, very big here I'm gonna hit enter on primary and then That's really all I needed on that Then I'm gonna hit the arrow key down to free space do new and then the next partition size 24 gigs That's all of the remaining space on the drive. I'm gonna hit enter primary Yeah, and we created a one gig partition and a 24 gig partition now the one gig partition The type is Linux. We want to change the type. So I'm gonna change that to Linux swap and The other one what the default type is Linux a Linux file system So that is correct for the second partition Then what we want to do is we want to write that you have to type the full word. Yes to write and Then once you've written it Quit all right and now file systems configure file systems and mount points So VDA one was the swap. So it needs to be Linux swap So VDA one was a swap VDA to of course will be our real file system I'm gonna do extend for EXT for the mount point I'm gonna do as root and hit okay Do you want to create a new file system on slash dev slash VDA to yes, and I think we're done I don't know why it still says file system type as none on both of them Even though I selected swap and extend for I'm assuming that's just a bug in the installer I'm gonna choose done and hope this works out and then let's go ahead and go to the install Says warning dead-on partitions will be completely destroyed for new file systems Do you want to continue and it you notice VDA one mounted on swap as swap VDA to mounted on root as extend for so it does recognize that I want these as a swap and an extend for partition So I'm gonna choose yes to go ahead and format the drive and start the installation I don't know how long the installation process will be I don't think void has a ton of packages installed by default So it should be a rather quick installation process and it says void Linux has installed correctly Do you want to reboot your system? Yes, by the way, the installation took like two minutes So that was a very fast installation. It was rebooted and we get a grub menu So it looks like the installation worked just fine So let's go ahead and boot into our freshly installed void Linux Get our login manager. So let me log in and we get the XFCE desktop Once again, let me look for the display settings and fix the resolution I'm gonna choose 1920 by 1080 again keep this configuration and now it should remember the 1920 by 1080 resolution from here on out every time I come back to this VM It wouldn't remember it in the live environment, of course, because nothing is saved in the live environment But now that we've got it actually installed, we should never have to do that again Now there's not much to look at as far as the desktop environment suite of applications installed because void is very vanilla This is a very vanilla XFCE. This is straight XFCE as it comes from XFCE It's a standard default look with the XFCE dock down here with a few Icons in the dock and you got your applications menu this old school windows 98 Applications menu and you've got the standard suite of XFCE applications plus some other stuff We do have a web browser Firefox was installed for us under graphics. We have the rostreto image viewer Under accessories just mousepad through nor the standard XFCE stuff There's really not much here and that's kind of cool I like minimal installations because I'd rather pick my own suite of software You know if I want an office suite, I'll install it if I want a bunch of multimedia programs I'll install it and really I think the main thing I should show you guys is Some of the under the hood stuff with void because that's really what separates void So I'm gonna open a terminal and let me zoom in again And let's go ahead and play around with the package manager void has its own custom package manager called XBPS And if I go to the the void website They do have a nice page explaining the package manager and the various commands with the XBPS package manager You use XBPS dash query to search for packages XBPS dash install to install packages and XBPS dash remove to remove packages Those are the three most commonly used commands there So what I'm gonna do is I'm gonna go ahead and get back into the desktop And let's go ahead and run some of these XBPS commands I'm gonna do we should update the system because I don't know how old this ISO was and we installed packages from the ISO So let's go ahead and sync the repositories and actually update the system So I'm gonna do sudo XBPS dash install and then give it this flag dash s Or sync the repositories dash you to update the packages and it's asking for a root password So give it your super secure and strong complicated root password and it says the XBPS package must be updated So before we can actually use XBPS. We've got to update the package manager itself So let's do XBPS dash install dash you to update and the package we want to update is XBPS All right, so let's go ahead and update the package manager And then once we've got the package manager updated I'm gonna up arrow and run the command to actually update everything on the system So that's XBPS install dash capital s lowercase u and this time it works just fine. It looks like yeah, there's a lot of things to update I'm gonna go ahead and run this update. I'm gonna pause the video So we've updated all the packages on the system and looking at the documentation for XBPS it does mention about restarting services after you do a System update with XBPS install dash s you it says XBPS does not restart services when they are updated So to find processes that are running different versions that are present on the disk You should run the X check restart tool provided by the X tools package And you should run this as an unprivileged user meaning don't use sudo for this So I'm actually going to do that. Let's see if we find any Processes that needed to be restarted. So if I do X check Restore That command is not found the documentation did say it was part of a package called X tools So what I'm gonna do is I'm gonna sudo XBPS dash install and then do X tools Then it's gonna ask for the root password And then it's gonna install a few things looks like some Pearl libraries and now that I've got those installed Let me do X check restart one more time and Yes, there were a number of programs running on the system that needed to be Restarted another thing I want to do is I do want to do an install of H top because I would like to check System resource usage using H top All right now that we've got H top installed. Let me go ahead and run that and wow 289 megs of RAM of the six gigs of RAM I gave this machine now This really shows you how minimal and how suckless Void Linux has a distribution is the reason it's only using 289 megs of RAM is because nothing's really here Nothing is installed. There's very few background daemons running So it's a really really minimal distribution I want you and start installing a lot of programs and you're gonna start a lot of services You're gonna have a lot of background daemons running in the background what you put, you know You're full suite of software here, you know that number is going to crawl back up But still that's still really small for X FCE Even X FCE even though it's light typically when I do standard X FCE distributions It's using 500 megs of RAM typically this thing was using about half of that while we're at the command line Let's go ahead and do a you name dash R to get the kernel kernel version five dot ten dot seventeen So pretty recent kernel and not terribly bleeding edge But pretty new the next thing I want to do is I want to search for some software because if I was gonna use Void Linux on like one of my main machines. I would need to know that certain programs were available in the repository So let's use X BPS dash query to search for software. Give it this flag dash capital R lower case S This searches for programs on the repositories on the remote repositories. What am I searching for? I would like to know if X monad is available. Yes There's two X monad programs in the repository X monad, which is the tiling window manager and X monad dash contrib Which is those third-party libraries needed to make X monad X monad How about X mo bar because I'm gonna need the panel for it as well. Yeah, that's there as well Is there anything else I would be interested in cutiles and not a lot of distributions package cutile There's still several distributions that don't have cutile in their repositories Debian for one actually doesn't have cutile in the repositories Neither does void unfortunately So I'm not too surprised at that. I would assume the awesome window manager would be packaged It's way too popular not to be the yeah, of course awesome awesome's been around since the beginning of time Everybody should have that in their repositories now another cool flag that you can use with X BPS dash query is the dash L flag for list of The packages that are installed are on your system. So this gives you a list of all the packages installed on the system unfortunately We want to get a count of that so I could pipe that through WC and then dash L And we get 547 lines in that list that means there's only 547 packages installed if you wanted to get a list of actual the package names for maybe you wanted to create your Own script to deploy all of these programs later You could actually pipe this into a program like awk and you guys know I love to do awk And of course what you want to do is print out the second column because the first column are these two eyes and that Is not needed. All we want is the second column. We also didn't want the third column Which was the description that actually gives you the package names Unfortunately gives you the package version numbers as well So that actually would not work if you were creating a like a deployment script So you would want to remove the the numbers at the end here now looking at the documentation for X BPS They actually tell you how to get rid of the numbers in that X BPS query dash L command You pipe it through awk like we did to get the second column that made sense But then you need to pipe it into X orgs and then with X orgs you need to pass the command on to X BPS dash you help her and apparently that has a function in it called get Package name where it gets the package names without those numbers So let's actually try that out since I only just need to do one more pipe Let's pipe it into X orgs and give X orgs this flag dash in one and then we're passing all of this information on to X BPS dash you help her and then get PKG name and Now we get an actual list and if you wanted to you could then take that list and then direct that to a file for example packages dot text And now when I do a ls here you see packages dot text if I open that in VLM I'm assuming VLM is installed. It is not. Oh my goodness. Do I really have to use nano? Nanos not installed either so there's there's only one other thing I can try vi Of course is gonna be here and that's our package list So now this makes it very easy later if you want to you know Reproduce this exact same void setup. You've got your list of programs that were installed. Let me quit out of vi The only other thing other than the package manager that really separates void, of course And the real reason void has such a big following is a lot of people of course don't like Systemd as an init system and void has their own init system called run it They've been using it forever and it's a really simple init system not a lot of lines of code to it And it's pretty easy to use actually a lot of the run it commands are very similar to your system CTL commands that you use with systemd for example those of you that are used to Systemd know this command here system CTL status and then name of service, you know So if I was checking on the status of ufw the uncomplicated firewall, it's not installed here on void But you know, that's how you would do that with systemd In void what you would do is instead of system CTL status It would be SV for services status and then name of service and of course you have to be root Or you have to have sudo privileges here to run the status command and run it You do not have to be root to run the status command with systemd So that is one difference and of course ufw is not installed. Let's pick a service We know is installed. So I'm gonna do DHCP CD and that was of course our networking daemon And you see now we get some information returned and it's giving us 84 seconds normally up So let's talk about turning on and off services or you know starting and stopping them So instead of a start you use up to start a service So sudo SV up name of service would start it sudo down Name of service would stop it and then of course we've already talked about the status command And then you also have restart and of course that would restart the service So pretty similar to how you start and stop services and restart services with systemd Very similar to how you do it also in open RC. It's one of the reasons why I tell you guys I really don't care about the init systems that come install on my Linux distributions systemd run it open RC I can take any of them. I can leave any of them. It really doesn't matter to me these days though I Typically I would prefer to have systemd on the system because there's too many things now There's too many pieces of software out there unfortunately that have hard dependencies on systemd For example, I still sometimes like to install snap packs and snap still has a hard dependency on systemd Unfortunately, which means you could not actually install snaps on a distribution like void Let me minimize this terminal. I may come back to it I want to right-click on the desktop and I'm going to go to desktop settings Let's see if there's any wallpapers to choose from no so no wallpaper packs were installed This is the standard Xfce wallpaper pack which just has four wallpapers in it And they're all a picture of the Xfce mouse and the little mascot So let's install some wallpaper packs because this is going to be one of the first things people want to do when you Install a plain vanilla desktop environment like this, you know You want some icon sets GTK themes and all of that I'm not going to install all of that on camera, but I'll show you how you would do this What you would do is you would do the XBPS dash query command again And then let's do dash RS to search in the repositories and then I'm going to search for backgrounds and There are two wallpaper packs nom dash backgrounds and Monte dash Backgrounds and those are actually much nicer wallpaper packs than the Xfce ones So now what you would want to do if you wanted both of these is do a sudo XBPS dash Install and then those packages. I'm going to do nom dash backgrounds and Monte dash backgrounds And give it your sudo password and I love how it tells you that the space available on the disk when you're installing software It lets me know I've got 20 gigs of space available on this disk. That is a really nice touch actually Especially in a VM where you can actually run out of space rather quickly when you start installing especially big programs And now that is that is installed I'm going to go ahead and close the terminal and now I'm going to go to desktop settings and now the folder I want is let's go to other and we want to go to user share Backgrounds and instead of Xfce. Let's go into the GNOME folder here and then open And now we get the GNOME wallpaper pack And yeah, these are much nicer wallpapers You guys have seen many of these wallpapers. It's just the standard GNOME wallpaper pack Yeah, that one's really nice even though it's hot as Haiti's outside here in Louisiana this time of year But it does cool me off a little bit to have a wintry photo there. Anyway, that wallpaper is there's just a nice touch It's still a very plain vanilla Xfce desktop environment Of course, you can customize it to your heart's content This was really just a very cursory look at void Linux really what I wanted to share with you guys is the Installation process and some of the under the hood stuff how it differs than most GNU slash links distributions Obviously it has that its own unique packages and repositories is on package manager And of course it uses the run it a net system now before I go I want to thank a few special people I want to thank the producers of this episode FC gave James Mitchell with Paul Scott West a commie Alan Chuck Kirk David Dylan Gregory Hico Mike Erion Alexander peace arching for door Polytech raver Red Prophet Steven and Willie these guys. They're my highest tiered patrons over on patreon without these guys This episode about void Linux would not have been possible The show is also brought to you by each and every one of these ladies and gentlemen as well These names you're seeing on the screen. These are all my supporters over on patreon because I don't have any corporate sponsors I'm just sponsored by you guys the community. Do you like my work and want to help me out? Consider supporting distro tube over on patreon. All right guys. Peace Not having cutile as a total deal breaker