Why I’m sticking with systemd-based Linux distros


Over 10 years since its introduction, systemd can still get some Linux users riled up. I happen to not be one of them. Even though I try out systemd-free distros, I’ll still likely regularly use systemd-based distros. Here are some of the reasons why.

SysVInit had to go

Out with the old, in with the new

Output of "systemctl status" command in the Arch Linux terminal.

When systemd first appeared in the early 2010s, a lot of Linux users wondered why such an overhaul of the init system that Linux had used was needed.


img_5cc898db4e3d3


Why Linux’s systemd Is Still Divisive After All These Years

A decade after it was first introduced, systemd is still the target of some savage opposition–but why? Is the outrage justified?

The old system, System V Init, or SysVInit, had its roots in the 1980s. Back in the ’80s, Unix systems were used in a different way than modern machines. Unix was used mainly on big minicomputers and powerful workstations. SysVInit launches services sequentially, which can increase boot times. Laptops were rare in that era. USB didn’t exist, and peripherals generally were only added and removed between boots. The configuration of the system typically didn’t change throughout its runtime. Once the system was up, it usually stayed up for a long time, so boot times weren’t an issue. Hardware changes on shared systems happened rarely and were also more of a “one-and-done” experience.

Traditionally, if you added a piece of hardware, even something like an external disk drive, you would have to shut down and restart the system. SysVInit was also convoluted, with shell scripts corresponding to “runlevels.” This approach was inadequate as Linux became more widespread. With modern machines, you might plug in a USB drive or move between Wi-Fi and wired networks with a laptop. systemd can respond to such “hotplugged” hardware instantly.

It’s a testament to the strength of the idea of Unix-like operating systems that major components can be replaced as needed.

systemd is here to stay

A better init system will come around eventually, but not anytime soon

While systemd was first emerging, there was more debate and competition as to what would replace it. The debate got so heated that some Linux distro developers resigned from the stress of the constant stream of invective from Linux users.

For better or for worse, using a mainstream Linux distro means using systemd. The documentation will mention it, and if you go for support, if you run into a problem, it will likely involve using the systemctl utility.

Because systemd is so integral to the way modern Linux distributions run, most major distros are unlikely to replace it unless they have a good reason.

This wouldn’t be a far-fetched scenario. If you were using Linux in the 2000s, you might have thought that the SysVInit system would last forever. If you didn’t like it, you could use one of the BSDs.

Maybe someone will create a different init system, one that Linux developers think is better. My money would be on whatever the BSD developers cook up to replace their own aging init system. I imagine that would end up something like macOS’ launchd, which also influenced systemd.

For many Linux distro developers, systemd seems to be at least a “good enough” option. In many forms of engineering, including software engineering, you have to make trade-offs when designing things for the real world instead of trying to build the absolute best solution.

systemd works for me

It’s reliable and intuitive

Output of "systemctl --list-units" command.

One reason that I’ll tend to stick with systemd-based distros is that I’ve never had a problem with systemd. The “works for me” response can be irritating in response to problems with Linux, but I have no complaints in my own usage.

I prefer systemd over the old method. I was never entirely comfortable with SysVInit, with its need to manage shell scripts and runlevels. I cringed whenever I saw documentation on enabling and disabling services, even though it was something I rarely did on desktop systems, since most of them were set up with what they needed to run immediately.

When I need to enable, disable, start, or stop services, I just run a quick systemctl command. That’s all it takes.

As a user who only starts and stops services some of the time, despite systemd’s supposed bloat, I find the systemctl command easy to understand.

I recently installed Arch in a virtual machine. I did have to enable some services, since Arch is more hands-on than other Linux distros. All it took was a few systemctl commands.

If systemd is good enough for Arch Linux …

Confirmation bias? I don’t care

Arch Wiki systemd article.

One thing that finally tipped me in favor of systemd is that Arch Linux had switched to it. Arch already has a reputation for being geared toward sophisticated Linux users by putting them in more control over how their system is configured. You can choose which partitioning tool and boot loader, as well as the desktop environment, or even to install a desktop environment at all.


Arch Linux logo on the ArchWiki website.


Why Arch Isn’t My Daily Driver, but I Use It Anyway

I run Arch btw, just not every day.

When I found an old forum post from one of the developers from 2012, linked from the Arch Wiki, I studied the case that the developer laid out. The developer cited the ability to know everything that was going on with the system, the ability to detect hotplugged devices, systemd’s modularity, security, and sandboxing features, as well as the systemd project’s cross-platform development.

According to the Arch Wiki, one of the distro’s guiding lights is “pragmatism”:

Arch is a pragmatic distribution rather than an ideological one. The principles here are only useful guidelines. Ultimately, design decisions are made on a case-by-case basis through developer consensus. Evidence-based technical analysis and debate are what matter, not politics or popular opinion.

Arch Linux has always struck me as a “Unixy” Linux distribution with its focus on text-based configuration and the amount of control it gives users. If Arch developers could see the merits of systemd despite its supposed “bloat,” I thought systemd was worth a serious look. Any lingering apprehension toward systemd vanished. This may seem like an argument from authority, but the Arch development team has earned my trust through their results.

Process management is a small part of my Linux usage

I don’t need to go too hands-on

The init system may be an important part of Linux, but for me, it’s mostly behind the scenes. I rarely interact with it directly outside the systemctl command.

While it could be that launching programs throughout the day and closing them could be considered process management, most of the time, I think I can count the number of times I’ve interacted directly with systemd to manage processes via systemctl on one hand. On a desktop distro, it would probably be one or two times.

Output of systemd's journalctl utility in the Linux terminal.

I do check the logs occasionally, like any user should. systemd’s binary logs have also been controversial, but the journalctl command is easy to use. Many of the logs on Ubuntu seem to be mirrored in the /var/log directory, so I can examine them with a regular text editor.

systemd-free distros don’t impress me that much

And I’ve tried a lot of distros

The fact that systemd is in the background is one reason that distros that promote themselves as being systemd-free don’t impress me that much. I’ve explored a few recently, such as EXE GNU/Linux and Obarun. Distro makers are free to put in or not put in in their distros whatever they please.

When I evaluate distros for HTG, I try to take the position of an ordinary user, not some Linux hacker who has strong opinions for or against systemd. The user experience matters more than what’s under the hood.

A distro is going to have to rise or fall based on everything else it has. Some distros offer a unique experience, such as EXE GNU/Linux’s retro throwback designs.


Sometimes, change is good

While the original System V init system worked well for many years, changes in the computer world finally made it obsolete in an increasingly mobile and online world.

There might be some concerns about the size of systemd or the supposed dominance of Linux development by Red Hat and its parent company, IBM.

The world changes, computer hardware changes, and operating system software changes with it. Operating systems have to serve users and run their programs. They have to evolve with what their users do with them. They can’t be museum pieces.



Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


TL;DR

Meta stripped NameTag facial recognition code from its AI app one day after WIRED exposed it on 50 million phones. Meta says no decision has been made.

Meta removed nearly all traces of an unreleased facial recognition system from its smart glasses companion app on Friday, one day after WIRED reported that the software had been quietly embedded in an app installed on more than 50 million phones. The feature, which Meta internally called NameTag, was designed to convert faces captured by the company’s Ray-Ban smart glasses into unique biometric signatures and compare them against a database stored on the user’s device. WIRED also found that faces the system failed to recognise were cropped, indexed, and stored locally for future processing.

Andy Stone, Meta’s vice president of communications, told WIRED on Monday that the feature is “purely exploratory,” adding that no final decision has been made on what to do with it. That characterisation sits uneasily with the evidence WIRED documented. The version of Meta AI published the day of WIRED’s Thursday report contained several code libraries explicitly named for face recognition, a process for running the NameTag recognition pipeline, and a “Person recognised” alert the app would have shown if someone were identified.

Friday’s release stripped all of it out, along with a folder where the app would have stored the cropped images and biometric signatures of unrecognised faces. Meta did not answer WIRED’s questions about why the code was removed or whether the changes were planned before the story was published. A few fragments remain in the latest version, including an internal debug menu label and a dormant link meant to open a recognised person’s profile, pointing to parts of the system that are no longer there.

The 💜 of EU tech

The latest rumblings from the EU tech scene, a story from our wise ol’ founder Boris, and some questionable AI art. It’s free, every week, in your inbox. Sign up now!

The gap between Meta’s public statements and the code WIRED found is the central tension. Before the Thursday report, Stone dismissed the findings by writing that the company could not answer questions about how the system would work because “the feature does not exist.” Andrew Bosworth, Meta’s chief technology officer, called the reporting “incredibly misleading” and “absolutely dishonest.” Yet the code was functional enough to include three AI models, one to detect faces, another to crop them, and a third to encode them as biometric data, all embedded in the companion app for a product already at the centre of a mounting privacy crisis.

Meta declined to answer ten questions WIRED posed before publishing, including whether it had already created the database of face profiles NameTag uses, how long the app retains photographs and biometric data of unrecognised people, and whether that data would ever be sent back to Meta’s servers. The company also did not respond to questions about whether it was building NameTag for blind or low-vision users, or to criticism from privacy advocates who warned the system could let stalkers and abusers identify strangers in public.

NameTag first surfaced in February, when The New York Times, citing internal Meta documents, reported that the company was developing face recognition for its smart glasses and considering a launch as early as this year. One internal memo reportedly described releasing the feature during a “dynamic political environment” when privacy and civil liberties advocates would be distracted by other concerns. WIRED subsequently found that much of NameTag’s machinery had been built into the Meta AI app as early as January, months before any public acknowledgement, adding another layer to the company’s pattern of shipping first and disclosing later when it comes to its smart glasses.

Kade Crockford, director of the technology for liberty programme at the American Civil Liberties Union of Massachusetts, said the removal does not undo the original decision to ship the code and pointed to it as evidence that consumer privacy needs stronger legal protection than Congress has been willing to provide. The Massachusetts House of Representatives last week unanimously passed a consumer privacy bill that, if enacted as written, would impose strong enforcement provisions including a private right of action allowing aggrieved users to sue. “State lawmakers need to do their job and step up to protect consumer privacy,” Crockford said.

Meta’s sneaky tactics in slipping the face-recognition code into its smart glasses show exactly why data privacy bills need the teeth of strong enforcement,” Crockford added. “Companies like Meta prioritise their bottom line, so lawmakers need to speak in the only language its C-suite understands.” Whether a code removal prompted by investigative reporting constitutes a victory or merely a tactical retreat depends on what Meta does next, and on whether the regulatory pressure building on both sides of the Atlantic produces enforceable consequences before the feature quietly returns under a different name.



Source link