Shreya and Sarah’s Epic Linux Exploration
Three computers, two programmers, and one day off from school—what could go wrong? Shreya and Sarah saw no better way to spend a day off from school than installing different distributions of Linux (ranging from normal to completely bizarre from our list of over twenty), programming different algorithms inside the distributions, and raging against our machine.
For some context, Linux is a type of operating system (OS), sort of like Mac and Windows. There are several different subtypes or distributions (distros) of Linux, often targeting different audiences with a specific set of features, such as a distro customized for biologists with bioinformatics software, or an extremely secure distro for the privacy-obsessed. Here, we explore different Linux distributions, rank them, and talk about the process of installing them. To install each distribution, we used VirtualBox, which allowed us to simulate the distro. Finally, after installing each distro, we attempted to run a simple Python program (ranging from using AI to running a simple random algorithm) in the OS to generate a name for the virtual computer.
This is tentative for now, but we decided that whichever OS we decide was the best, we’d use for a month this summer.
GoboLinux — Sarah and Shreya
[Sarah’s Take]
“Those who do not understand Unix
are doomed to reinvent it, poorly.”
– Henry Spencer, 1987
GoboLinux is essentially a distribution driven towards completely redesigning the filesystem hierarchy. Here the creator of GoboLinux, Hisham H. Muhammed, argues as to why things shouldn’t necessarily stay the way they are and why Gobo decided to change these things. Another major difference is that GoboLinux uses longer, more descriptive directory names, in contrast to the standard “etc,” “bin,” “boot,” “dev” of most Linux filesystems; Muhammed says that this was done in order to prevent conflict with the Unix namespace, which is constantly changing, creating a system unlikely to fall apart simply because the kernel manager decided to use “/sys,” which could conflict with filenames within other operating systems.
GoboLinux had a surprisingly nice GUI (Graphical User Interface) for what I thought was merely a proof of concept. It supports six languages straight out of the box – English, Portuguese, Magyar, French, Spanish, and Deutsch – which was a nice touch. There were small indications of GoboLinux not being a widely used distribution through its installation; while most distributions automatically recognize the user’s keyboard layout (the way its keys are placed, such as QWERTY or DVORAK), GoboLinux did not, and proceeded to ask for the type of keyboard layout to use without any way of testing which was the right type. There was, however, the option to try out the operating system before installation, and the AwesomeUM background as well as a beautiful terminal were a nice touch.
It is difficult to determine the speed of GoboLinux, as we were running GoboLinux on a Virtual Machine (using VirtualBox), on one core, 8.00 GB of space, and without having installed the operating system to disk; however, given this configuration, there was significant screen tearing, and although managing simple tasks such as opening the terminal without significantly taxing the CPU, more complex tasks such as opening a web browser were rendered essentially impossible, and the CPU usage jumped almost immediately to 98.0% (as observed by htop, a task management system commonly used in Linux operating systems). This could have also been a result of a lack of swap space — swap space is where RAM — random access memory — is temporarily stored when the RAM of a system is full, allowing for the storage of unused data or programs.
Ultimately, the largest takeaway from GoboLinux is that it is not feasible to use within a virtual machine, as virtual machines are not configured to handle such a drastically different operating system with a completely different filesystem hierarchy. As a result, after appearing to successfully install several times, GoboLinux would immediately revert to the initial installation setup upon reboot, most likely as a result of VirtualBox being unable to handle the operating system.
[Shreya’s Take]
Gobo didn’t like me that day. First, after figuring out my Mac VirtualBox fiasco (see Honourable Failures), I finally got the distribution up and running on my Windows computer. I went for the GUI version. The GUI was overall pretty nice, so the distribution gets points for that. But, when I went to install it, it froze. It was sort of amusing: I thought it was just taking a very long time, but when I tried to click out of it, I realised it was frozen. So, instead, I took the text route. The instructions said to type in “Installer” and everything should install. But it didn’t work, telling me that I need to first partition my disk using cfdisk or gparted. gparted didn’t work for me (because I believe it’s a graphical partition), so I used cfdisk. But every single time I tried and then ran the Installer, I ran out of space on my computer, according to the terminal. Then, finally, I tried one last time near the end, and it finally, finally worked. It was strange, but overall, it was a pretty cool experience. Then, as Sarah said, we realised it wasn’t meant for VirtualBox, so we moved on.
Qubes — Sarah
Qubes dubs itself, “A reasonably secure operating system,” and it owns up to its title. Qubes is widely considered the most secure operating system, and, although its co-creator, Joanna Rutkowska, defines it as a hypervisor user rather than a Linux distro, it typically is considered a Linux distro by most developers. Essentially, Qubes OS runs a Xen hypervisor (a virtual machine) under the hood with user domains, or AppVMs, built on top. These user domains are usually separated by tasks or by security level, and they are isolated from the system domains, meaning that, should malicious software find its way into one of the AppVMs, it cannot access the rest of the system. This is Qubes’ overall goal: security by isolation, creating lightweight virtual machines that cannot interact with one another or with the system itself. Major cybersecurity specialists such as Edward Snowden use this distribution as it provides an incredible level of security.
However, these benefits come at a cost. Virtual machines are already incredibly costly to run (see the GoboLinux RAM fiasco), so running multiple of these is not realistic on a regular personal computer. Regardless, both Shreya and I did our best to get Qubes working on a virtual machine. Although neither of us ultimately managed to get Qubes installed correctly and testing out the OS before installation was not an option, the installation process taught us a few things about Qubes.
First off, Qubes is a RAM (random access memory) hogger. Because the virtual machines take up a lot of RAM space, Qubes uses zram, which essentially compresses RAM and places them in swap space. Despite several efforts with Linux kernel modules such as zram, Qubes still uses a lot of RAM, requiring a swap space of at least 3 GB for installation(for reference, a general swap space is around 250 MB), and a lot of space, requiring 27 GB for a simple base installation. Despite allocating the requested amount of RAM and disk space, Qubes would unfortunately not load upon installation.
Pop! — Shreya
I’m going to start off by saying that I love Pop!. If Linux was food, I’d say that Pop! would be your favourite comfort food, like pizza or mashed potatoes or something. Also, the OS itself has an exclamation point at the end—what can be better than that? The installation process was simple, with little animated characters to make it all seem a little more friendly. In Pop!, I could easily download and install pip and Visual Studio Code, and I think Python was already installed. Finally, I could easily type up a quick and simple program there and execute it. Pop!’s name is…. Feha! I’d give all the points to Pop! for being really, really nice comfort food, especially after GoboLinux.
Kali — Sarah
Kali Linux is probably the coolest distribution I’ve come across, and I have tested a lot of Linux distributions in my time. It has over 600 tools for penetration testing and security analytics, and it provides options for slower computers, allowing for setting up Kali Linux as a basic Secure Shell (SSH) server using as little as 128 MB of RAM and 2 GB of disk space. This distribution really intrigued me, and so I actually attempted to triple boot my computer with Kali (half of my disk space is allocated for Ubuntu, one fourth for Windows, and one fourth for Kali Linux); however, due to compatibility issues with drivers, the installation failed, although thankfully Kali provides a live boot (in which a complete bootable computer installation is available to run without loading from the hard disk). Furthermore, Kali provides features for live booting such as forensic mode, in which the system doesn’t touch the internal hard drive or the swap space and auto mounting is disabled, making any traces of Kali being booted on a computer virtually non-existent. There are so many amazing features in Kali that this could be an entire article in itself; the distro contains security tools such as Aircrack-ng (a suite of tools to assess WiFi network security), Nmap (a network scanner that actively engages a host network to analyze its security), Metasploit (a computer security project that provides information about already found security vulnerabilities and aids in penetration testing), and more. The desktop environment was honestly just as good, if not even better, than GNOME on Ubuntu, and the entire system was snappy and surprisingly responsive given that the distribution was running on a USB with no swap space. Another really interesting feature Kali provides, “Kali Undercover,” allows users to make their Kali Linux distribution appear to be a Windows computer, which, although it wasn’t exactly a splitting image of Windows, it provided a very close approximation that would likely fool someone quickly glancing at a user’s screen. Ultimately, Kali was a breath of fresh air, and, given its GUI and features available straight out of the box, it scores very high on my list of favorite distros ever.
Poseidon — Shreya
Poseidon is supposed to be a distribution for scientists, which is pretty cool, as it has a bunch of applications already installed. The installation process though was kind of odd: it had me go to a Google Drive and download the iso from there! After doing that and running it up on my computer, I discovered that it was pretty underwhelming. It was just Ubuntu with a bunch of applications installed. And don’t get me wrong; I love Ubuntu. It’s the distribution I’ve used the longest and am most comfortable with. Plus, Ubuntu is used at a lot of research and educational facilities, so it’s amazing! But I don’t quite see why I couldn’t just install Ubuntu and then install the applications. If I were a scientist, would it make life easier on me? Probably. I wouldn’t have to wait for forever to install everything. But it’s just the difference between maybe an hour max to download all the softwares and fifteen minutes to download the distro. I don’t know. I’m not a scientist, but those are my thoughts. Maybe I missed something and should explore it more.
TinyCore — Shreya
After waiting for over half an hour for Qubes to download, TinyCore was amazing, downloading in a few seconds. TinyCore is one of the smallest Linux distributions in the world. And while that’s great, it also meant that there wasn’t much there. I installed it easily by literally just pressing one button. No pick your language or keyboard type; it just installed. At the homepage, the mouse capture part wasn’t great, which was new for me, but I bet that’s just a VirtualBox problem. (I looked it up, and others also had a similar problem.) The only application there was the terminal, which was amazing. There was a small text editor also there, so I typed up a small Python program to make it generate a name. But, when I went to run it on the terminal, it said that Python was not found! Then I tried to install Python the traditional way using sudo apt-get install python3, but it said that sudo apt-get wasn’t a command it recognised! So I turned to Google to figure out how to install Python and pip. Turns out you have to go to applications then browse applications in the cloud and then install Python and pip. There was a GUI to install applications which is fine but still very weird. For some reason, pip kept on needing a different library to run at all. I decided that I could go for it, but I didn’t want to go down that potential rabbithole, so I just used Python’s native random library and created a random name. TinyCore’s name is Kaei. Overall, the entire distribution was really light but had in essence nothing. I did enjoy it though: overall, it was relatively intuitive and simple.
Vinux — Shreya
Vinux is a Linux distribution meant for visually impaired people. And, overall, I loved it. Like Poseidon, it was in essence Ubuntu. But it differed in some key ways which made me respect it more. First, when opening the installation process, the first application that opened was Orca. After doing some research, I found that Orca is a screen reader and magnifier and also supports braille (though I didn’t quite figure out how that last part worked). The mouse was also bigger when going through the installation process (which was basically the same as Ubuntu’s). The background was really nice, and it had an easy option to open several workspaces. One small qualm is that it did take a lot of space, but that’s understandable. Overall, I really liked its purpose to make Linux more accessible. Yes, one could argue that they could just reinstall everything after they install Ubuntu, but the amazing part is that all the tools to aid visually-impared people were already installed and working from the get-go, meaning that there is no need for relying on others to install Ubuntu for them. Now, you have no reason to not install Linux.
Final Rankings – Shreya
- Vinux
- Pop!
- TinyCore
- GoboLinux
- Poseidon
Final Rankings – Sarah
- Kali
- Qubes
- GoboLinux
Honourable Failures
Yes. It did come with a lot of failures along the way. So here are a few.
Shreya’s Qubes
I pressed every permutation of installation and my kernel kept on panicking. Every time I tried to install Qubes, it panicked and returned me back to the same installation page. It just overall did not like me.
Shreya’s Core
Core is basically a smaller version of TinyCore. It has no GUI (at least that I knew of) and was just a terminal. But I had no clue how to install Python (because for TinyCore, I had to do that via an application). I’m sure I could’ve figured it out after some time, but I left it as a distribution to explore at a later date.
Shreya’s Zorin
It was just a black screen every time I tried to install it. But the logo and installation process was cool. Intuitive and kind of like Ubuntu’s. Also, the official version cost $40 which was less cool.
Shreya’s Suicide Linux
It was more that I was just too lazy to do this one. I had to install it on top of Ubuntu. I might still do it but yes.
Shreya’s Mac VirtualBox
I think I broke my Mac’s VirtualBox. It worked fine a few months ago when I last used it. But now, nothing could run. It was annoying. So I switched to Windows’ VirtualBox.
Conclusion
I suppose you might be wondering how these completely strange, seemingly rare distributions are pertinent. While yes, some of these distributions are straight up bizarre — such as GoboLinux, largely a proof of concept, and Qubes, a system so secure it has become a challenge to see how long a developer can use the operating system on their main computer — there is some method to the madness. These distributions provide next-level customizability, proper command lines, more security, and all of the distros on our list are free. For those considering converting to Linux for the first time, Ubuntu is the most popular Linux distro, and most applications on Windows or Mac have Ubuntu-compatible versions (for example, Spotify, Discord, Microsoft Teams, and Chrome are all fully supported and updated for Ubuntu distros). If you find cybersecurity intriguing, Qubes or Kali are both viable options, and, for the brave, a system without a GUI such as Core or a relatively rare distro like GoboLinux may best suit your daring. Over the summer, we encourage you to try out different Linux distributions and see what best fits your preferences! Macworld has a good article for Mac users looking to install a distribution to their hard drive, and Tech Advisor has some tips on how to do the same on a Windows computer.
Shreya Chaudhary is a senior planning to major in data science or computer science. She interns with TigerGraph, promotes and tutors women in STEM through...
Sarah is a current senior at Keystone with a passion for all things concerning Computer Science, Computational Biology, and Artificial Intelligence....