Building Your Own Linux System From The Ground Up

linux from scratch

linux from scratch

Short Bytes: Most Linux distributions come with convenient installers with many options, but that wasn’t always the case. Even today, there are many distributions that only come with bare-bones installation scripts, but why on Earth would someone want to do that? The one word that always seems to answer that question is “control.”

Linux is synonymous with “freedom” and “choice,” while anyone would have a difficult time arguing with that, it’s clear that from distribution to distribution it’s offered in varying levels. For example, with Red Hat or SUSE Enterprise Linux distributions, you’ll find yourself with much less room to move around with respect to how the system is built. This is absolutely perfect when you’re looking for an out-of-the-box solution, but when you’re looking for something more flexible, tolerant, and modular, you have to look in the other direction. This flexibility is a distinct trade-off that pivots on who maintains the system. When you choose an enterprise Linux (you’re likely paying for it) it is the distribution maintainers that ensure that package update won’t break system functionality, it is they that ensure that your system gets important updates in a timely fashion, regardless of your knowledge of current security or stability concerns. With an enterprise Linux, or even a solid desktop distribution, the responsibility is taken off of your hands, but at the cost of the system’s flexibility.

For those that want that flexibility, at the cost of the responsibility, there are Linux distributions that offer an assortment of option from the Linux From Scratch ‘kits’ to Debian’s minimal installations, all with their own levels of difficulty and maintainability. We’ll outline a few here in order from easiest to hardest.

Debian Linux

linux-academy-coursesDebian is considered one of the ‘Grandfather’ distributions. Debian was initially released in 1993. Many distributions have been based on Debian, most famously Ubuntu Linux. The Debian stable branch is one of the most stable and well-maintained distributions around. The flexibility offered with Debian is due to the fact that a Debian installation is done through the command line and, by default, does not include a graphical desktop. Anyone that’s braved an installation of Windows XP should have no problem with Debian and its ncurses installer. Debian is a solid choice for anyone that hasn’t installed and configured an X Windows (or Wayland) system before.

Arch Linux

Arch Linux is a fanboy favorite. The Arch Linux IRC channel on Freenode is always full and active with enthusiasm. It’s very easy to get help from the Arch community, though, they will make you do all the work. Arch is not nearly as old as Debian, but having been released in 2002, it’s definitely been around for longer than most. The Arch Linux installation is usually the hardest part. This is definitely eased by excellent documentation in the Arch Wiki and additionally an installation manual, also available in a Beginner’s Guide). There is much to be learned when doing an Arch Linux installation including repository configuration, locale configuration, generating a filesystem table (/etc/fstab) with your desired mount points, and installing a bootloader. Once you’ve finished your installation, you can then boot up and start installing additional software like a graphical environment and your other favorite packages. Arch is an excellent choice for anyone that wants to learn more about Linux systems. Arch is often very quick to release the newest software packages so you can be sure that you’re running the latest of your favorite software. Staying so close to package releases does carry its own danger, though, as these packages aren’t tested as well and could break your system, but this is considered your responsibility when using Arch Linux. Arch Linux comes highly recommended for many reasons, it’s lightweight, it’s current, it’s flexible, and its community. Arch Linux is always a very good pick for those that are willing to invest a little more time into maintaining their system.

Slackware

Slackware is another of the ‘Grandfather’ distributions, it’s the oldest actively developed Linux distribution, winning that title by only three months over Debian. Slackware is legendary in the Linux community. Slackware is thought to carry the spirit of UNIX, much more so than any other distribution. With its core principals of simplicity and purity, Slackware is not bloated or obfuscated with third-party configuration tools or changes to software packages. The Slackware installation process is relatively straightforward, but don’t let that fool you, Slackware does not track any dependencies for your system. This is to the absolute contrary of the current status quo given that almost all contemporary Linux distributions provide a dependency-resolving package manager. This is one of the bigger hurdles in managing a Slackware system. When manually managing dependencies you acquire a much more intimate knowledge of your system. But for those who don’t care for such fine-grained administration, Slackware is just a nuisance, though, this is a large part of why Slackware has been alive and well for so long. Slackware truly is a power user’s distribution.

Gentoo

Gentoo has been around the block a few times. It, like others on the list, requires an in-depth knowledge of the system in order to maintain it. With Gentoo, all packages are compiled from source, even during the installation. This results in Gentoo having one of the longest installation times of all distributions. But, when compiling your own packages, you can tweak the compiler to optimize for your CPU. This provides substantial performance over the generic binaries. Gentoo isn’t all benefits, though, it is known to often break when system-wide upgrades are applied and this can be a deal breaker for many people.

Linux From Scratch

Linux From Scratch, the name says it all. LFS is not so much a distribution as it is a set of books, guides, tutorials, and philosophies. These publications are widely available, and best of all, free. LFS is no feat for beginners. It requires preexisting knowledge of development, command line utilities, and Linux. LFS is just that, built from scratch. You collect the appropriate packages, compile them yourself, and install them yourself. You configure your system completely manually. There is no package manager, so like Slackware you not only don’t have dependency resolution, but you have to fetch all the source tarballs yourself. This is no doubt a large undertaking. LFS isn’t entirely feasible as a production system, it’s more of an educational adventure. The LFS philosophy is that by building your system entirely on your own, you gain an understanding of it that nothing else can provide. LFS isn’t exactly a distribution, is a system for building systems and it leaves all the work, all the maintenance, and all of the responsibility to the administrator, and for that reason, it’s at the top of our Linux System From the Ground Up list.

Are You interested? Go ahead and grab Linux From Scratch PFD for free.

Bonus — FreeBSD

linux-academy-coursesIf you already use one of these distributions and think you know Linux systems well enough, you might want to try your hand at FreeBSD. A default FreeBSD installation is pretty easy, but you’re required to install all your additional software after the initial installation. That is, like the others on this list, FreeBSD doesn’t come with a graphical environment. FreeBSD is different than Linux in many ways, but much of the same software can run on both with on the need for being compiled if there isn’t an existing FreeBSD binary. FreeBSD also has a much different release cycle. Because FreeBSD is both the kernel as well as the collection of user-space tools, everything tends to be upgraded in a way much closer to that of macOS (OS X) and Windows. This does tend to reduce the amount of flexibility, but there are other OSes in the BSD family that might satisfy your tastes. For example, there is PacBSD (formerly ArchBSD as in Arch Linux), UbuntuBSD, DragonflyBSD, OpenBSD, NetBSD, and several more, all with their own way of doing things. Many of them are the FreeBSD system with different user-space systems like in the case of PacBSD and UbuntuBSD providing Arch Linux and Ubuntu Linux user-spaces for FreeBSD.

The conversation of OSes always starts a flame war because it’s an extremely opinionated matter, everyone has their comfort zone for system administration. Everyone is entitled to their opinion and every opinion matters, but what matters most is our ability to make choices that reflect our opinions. We can flaunt an Arch Linux system that’s decked out with themes, custom configurations, and a Git repo kernel, or be content with the elegance of a stock Deepin Linux desktop.

What type of system are fossBytes readers sporting? Why do you like that setup? Let us know in the comments below.

Also Read: Which Linux Distribution Is Best For Me — Top 11 Operating Systems

Similar Posts