Technology

Init systems (advanced)

25 March 2021 10:42

Most GNU/Linux distros ship with systemd as a default init system, which can be ok if you don't need to do advanced tasks, but it will be a real pain if you are willing to tinker your system a little bit. Systemd will take control over way too many things, thus violating a part of the UNIX philosophy, where each thing should be managed separately. For example in the newest version of systemd, you won't be able to manage your DNS resolver without interacting with systemd: if you manually change your /etc/resolv.conf file, you will be still using the same DNS as before, and if you try to chattr +i /etc/resolv.conf even as root, it will give you an error. The solution systemd provides is changing your /etc/systemd/resolved.conf, which won't work until restart, and sometimes it won't even work after restart, thus forcing you to install an external program such as dnsmasq to change your DNS. Problems like this are causing your system to be bloated, which if you are a standard user won't really be a problem for you unless you're using a reeeally old computer, while if you're a little bit more of an advanced user, you probably want as least bloat as possible, and surely that's not the case with systemd.

Changing the init system in the distro you're currently using is very hard and sometimes near impossible, as it would involve even months of recoding your programs to work with another init system. However, there are distros, such as Arch where it is possible to change your init system, however, I recommend a fresh install of a systemd-free distro. The systemd free distro I have tested the most is Artix, which is basically Arch without systemd. It is an extremely good distro, if software minimalism is your thing. You can choose between a command line install and a preloaded DE on Artix, some DEs will be more minimal, some will be less. In Artix you can choose between OpenRC, Runit and S6 as your init system. Another minimalist systemd-free distro is Void, which offers you Runit as init system. Void is an independant distro, meaning it is not a fork of another distro, where they removed systemd, but a wholly new distro, that is systemd-free out of the box. Anyways, if you are looking for something more complete out of the box, I can recommend you Devuan, which is Debian without systemd, it used to offer you only SysVInit, but now it offers Runit and OpenRC as well. Another good choice could be the first distro ever, Slackware, which can be easily configured to be minimalist or complete, it uses SysVInit as an init system. Two very similar and complete distros are Antix and MX GNU/Linux Antix is based on Debian, and MX is a fork of Antix, both use SysVInit, but while Antix is strictly systemd-free, MX gives you the possibility to use systemd, due to compatibility issues with some programs. There is one last option, for those who really like to configure their systems from A to Z, and that is surely Gentoo or its derivatives such as Funtoo, it ships OpenRC by default, but lately has added a support for systemd (I really have no clue why since all the Gentoo programs are built and for and will run better on OpenRC), Gentoo is designed to be fully configurable and to compile programs from source, it is difficult to configure properly, but if you succeed in this task, it will work better than other distros. If you want to go beyond that, there is Linux From Scratch, good luck if you choose it! If you are looking for a 100% libre distro without systemd, Parabola offers a version running OpenRC, and GNU Guix uses the GNU Daemon Shepard init system, and even a version mounting the GNU Hurd Microkernel, but sadly it is provided only in the .qcow2 format, designed only for qEmu, transforming it into a proper disk image, could not be that easy, I wonder when we will get it as a default option. If you're looking for an alternative, BSD Systems are all systemd free.

In conclusion, do I advise you change your init system, or to distrohop just to avoid systemd? Frankly, no, it's not really worth it unless it is giving you problems, or if you already wanted to distrohop for whatever reason. If you want to install a new system, I advise you to install a systemd-free one, unless you're looking for something specific like Fedora (see the previous article), or any special purpose distro.


Want free software only but need proprietary drivers? Fedora is probably the best solution

24 March 2021 11:38

Everyone who knows a little bit about computers wishes all programs were free (as in freedom, not as in cost), but that's very far away from the sad truth, in facts the vast majority of the programs and operating systems out there are proprietary garbage, whose code often contains malware (see here). It's regrettable that in most cases (unless you undergo the process of Libreboot or coreboot), you will need proprietary drivers and proprietary firmware blob in order to make your computer work. Yet, most of GNU/Linux distros that include proprietary drivers also include nonfree software (e.g. in Ubuntu) or free software with nonfree dependencies (e.g. Debian's "contrib" repos), and often you won't even realize you will be running nonfree software on your GNU/Linux OS. There are four main solutions to this: the first one is manually removing all the proprietary dependencies and programs manually, but that will really take forever so that's not really a good solution unless you really have a lot of time. The second solution is to install one of the 100% free distros and adding the needed proprietary drivers manually, this is a fine solution for most Lenovo ThinkPads as they require only one proprietary driver (the Intel WiFi driver) to run properly, but on most other computers it can really be a pain to find all of them. The third solution is installing Gentoo and specifically set it to install nonfree drivers but only free software, and that's probably the ultimate solution if you like compiling from source and you don't mind going through very long installation processes. If none of these three solutions sounds appealing to you, then I really suggest you try Fedora (I personally recommend the Mate spin for the best of looks). Why's that? Because Fedora is set automatically to include only software that is 100% libre (up to the point of not including VLC!) and the proprietary drivers you will need (except for the NoVideo proprietary drivers, where the free "Nouveau" drivers are used instead). Fedora is very easy to install and it works as a charm out of the box, it offers a great level of customization and pretty much all the programs you will need. So, if your goal is having 100% libre software, but still having the nonfree drivers that are required to make your PC work properly, I really suggest you give Fedora a try!


Today's web

23 March 2021 18:48

The modern web gets worse everyday, and why is that? The main problems are three: javascript, the lack of privacy and censorship. The first problem is mainly because of modern web devs, that will use javascript for EVERYTHING, including what can be made with CSS such as forms and other elements. They will use javascript to make ads and trackers (that will bring us to the second problem, lack of privacy), that will make the web less secure and more bloated. A bloated webpage will weight around 5 to 10 MiB, while a webpage like mine does not weight more than 500KiB with pictures and 50KiB without (and I am being generous!). Secondly, this is due to web hosting services, such as infinityfree, that is appearently free, but actually comes with the price of injecting a portion of js code in your website (aes.js). Luckily now I managed to migrate this website to Neocities to which I am extremely thankful to be free as in cost and especially free as in freedom! Javascript is more malicious than it seems to be, as most of data leaks are due to some scripts programmed in js. The tracking and the lack of privacy is really disturbing, as even if you don't identify yourself, there is a lot of your personal information that will leak! You don't believe me? Check it out yourself!. The third problem is censorship, nowadays idiotic web owners will censore anything they find "OfFeNsIvE", even when it is actually not. Although this is in most cases utterly stupid, a web owner is entitled to his own web moderation, the real problem comes up when it's a state-endorsed censorship! In this case, the censorship is dictated by stupid laws, and not by website owners. The real problem is this combined with the disturbing lack of privacy that is present in the modern web, as most of the biggest websites (e.g. Google, Facebook, Twitter and their derivatives) are more than willing to cooperate with the state, to whom they will provide your data (linked to censored activity), and may lead even to your arrest in the most evil states! The lesson is: never identify yourself unless it's absolutely necessary, because you may know what's illegal today, but you never know what may be illegal tomorrow! And if you are a web developer DO NOT use javascript unless it is under a free license and it is absolutely necessary to your website.


GNU/Linux

22 March 2021 18:35

First of all, let's make it clear once and for all, it is GNU/Linux, or even just GNU. Why? We all know MacOS relies mostly on the BSD kernel, yet nobody ever calls it "Apple MacOS/BSD", or "Apple BSD", or with Windows, who has ever called Windows 95 "Windows/MS-DOS 95" or "MS-DOS 95", same with the NT kernel. However The GNU operating system relies on the Linux kernel (except for Debian Hurd, Arch Hurd, Guix Hurd and Haiku), so it ought to be called either just GNU or GNU/Linux, with the sole exception of Alpine Linux and a few more distros that rely on stuff like Musl or BusyBox instead of the GNU components. Anyway, I do advise everyone to use GNU/Linux nowadays, as it is the most reliable libre system (what is libre software? see here at gnu.org). Everyone should run libre software for the love and respect of themselves and for their own safety. As a first experience for beginners I recommend to use GNU/Linux Mint as it is the easiest to use. There are alternatives to GNU/Linux, such as FreeBSD or GNU Hurd, but I would not recommend them to a beginner.


Windows

22 March 2021 18:30

Windows has almost never been the best option, especially since the GNU operating system was completed with the Linux kernel in 1993, but the hugest issues with Windows started when the NT kernel was introduced, however it used to have two positive aspects: it was functional and it looked cool. But since Windows 8 came out it lost both of them. It was still possible to make it look cool and semi-functional by patching the hell out of it and by installing programs such as the Classic Shell and Classic Explorer. Nowadays though, with Windows 10, you will never be able to make it look cool, you can patch it as much as you want to, but it will still look like shit, as for the usability, the possibility to install Classic Shell and Classic Explorer has not been made impossible, yet. If you are still using Windows, I am asking you: why? The only legit reason to be still using Windows is videogames, this is very unfortunate, as most videogames are proprietary software designed to run exclusively on Windows, which is the only rational reason why many users still haven't left that garbage os beind.



1 2