Removing Libsystemd0 From a Live-running Debian System
lkcl writes The introduction of systemd has unilaterally created a polarization of the GNU/Linux community that is remarkably similar to the monopolistic power position wielded by Microsoft in the late 1990s. Choices were stark: use Windows (with SMB/CIFS Services), or use UNIX (with NFS and NIS). Only the introduction of fully-compatible reverse-engineered NT Domains services corrected the situation. Instructions on how to remove systemd include dire warnings that "all dependent packages will be removed", rendering a normal Debian Desktop system flat-out impossible to achieve. It was therefore necessary to demonstrate that it is actually possible to run a Debian Desktop GUI system (albeit an unusual one: fvwm) with libsystemd0 removed. The reason for doing so: it doesn't matter how good systemd is believed to be or in fact actually is: the reason for removing it is, apart from the alarm at how extensive systemd is becoming (including interfering with firewall rules), it's the way that it's been introduced in a blatantly cavalier fashion as a polarized all-or-nothing option, forcing people to consider abandoning the GNU/Linux of their choice and to seriously consider using FreeBSD or any other distro that properly respects the Software Freedom principle of the right to choose what software to run. We aren't all "good at coding", or paid to work on Software Libre: that means that those people who are need to be much more responsible, and to start — finally — to listen to what people are saying. Developing a thick skin is a good way to abdicate responsibility and, as a result, place people into untenable positions.
While it all sounds nice, you do realize 99.99% of the population just sort of wants their computer to work. We don't strictly care too much about your love/despise of some piece of software you didn't pay a dime for, didn't invest any time in writing, and then whine about being used/write love stories to. This sort of behaviour is exactly why projects like a Linux distro, or god forbid GNU/Hurd, never make it to mainstream software. I've said this before, and I'll say it again. If you want the Linux eco-system to be accepted start by getting rid of Stallman, write some damned drivers, make an easy to use system that doesn't require 5 hours of Googling on how to get a laptop soundcard to work. If you invested half the energy you folks use for whining about systemd into actually making an alternative available you might actually get something done.
Can't someone fork a version without systemd?
I agree, choice IS good. However, what I'm seeing so far is a bunch of vocal whiners on Slashdot bitching about systemd, and no one actually stepping up to make a distro that doesn't use it. So what it amounts to is a few loudmouths telling distro maintainers they're wrong, even though the loudmouths don't want to actually do any work on distros themselves.
Man, can we just give this a rest? My gawd, I can't believe people have the energy for this. Just go back to an earlier distro before all this stuff and enjoy.
we can't. the reason is simple: security updates and software updates will be incompatible. i actually maintain a hell-on-earth system for a client. the choice to do so is entirely mine, i have to point out. it's hell because i disagreed with putting KDE 4 in front of clients who are used to the simplicity of KDE 3.5, and i disagreed with moving them over to Gnome because, well Gnome is a different kind of hell (for me), involving being completely unable to remotely ssh in and hand-edit config files in a pinch. with KDE 3.5 it is still possible to do that.
so i ended up upgrading to Trinity Desktop, but this is after leaving the system running debian 6 for as long as possible. the upgrade was... fraught. then i had (in December 2014 - so only a couple of months ago) to buy and install a new printer (because we couldn't get the old one). that new HP printer wasn't recognised by the version of hplip that was on the system (3.12).
so i did an "apt-get upgrade hplip" - and what do you think happened? it said "to satisfy your request we require to remove Trinity Desktop and install KDE 4".
the reason was because the Trinity Desktop Team do *not have the manpower* to keep such a large old software base completely up-to-date with debian/testing. ... so i was forced to compile hplip from scratch, from source code! *fortunately* HP saw fit to include an extremely well-written and well-thought-out script that detected the OS, installed the build dependencies and generally got on with the job. i was really impressed.
now, the only reason i could contemplate this was because i am an experienced GNU/Linux systems administrator, but do you *really* think that the average person will be satisfied to "use older software" as you suggest?
this is the crux of the situation: that we *are* forced to such extreme polarising choices. and that's why i did what i've done - demonstrate that it's possible to remove libsystemd0 which is being shoved down our throats. i *don't care* if libsystemd0 is good or not: i object to it being forced onto people.
slackware users are saying "what's all this then?"
So are Gentoo users who chose OpenRC. Even if systemd was the best init system ever, and that's quite debatable, I still don't like the way it's being rammed down our throats. I for one reject Poettering.
I didn't like (and never used) Pulseaudio either. If I wanted to play sound over a network I'd share my media directory. Then I enjoy the ability to also share all of my media (videos, ebooks, etc) in a completely transparent application-agnostic manner. What I wouldn't do is run an unnecessary audio layer requiring application support - and that can do nothing else - in the form of a sound daemon I never wanted and didn't ask for. Software mixing you say? It's called dmix.
I moved away from Windows and towards open source years ago in order to have choice. I will have that choice whether or not most major distributions gargle the Poettering cock. If Gentoo ever caves in (unlikely but possible), I plan to move to OpenBSD to replace my Gentoo Hardened server and maybe FreeBSD to replace my workstation. The Unix Philosophy has withstood the test of time and I believe in it. I'm sure the kool-aid is quite tasty, but no thanks, I'll pass.
Yes, if *all* you see are "a bunch of vocal whiners on Slashdot bitching about systemd", then you have a severe problem.
However, the fact that systemd comes with the "USE US OR FAIL!" dire warning (cf "if you don't use Windows, you can't use our ISP") and appears entirely engineered to intefere with everything on a Linux system, no matter how divorced from SETTING UP THE OS it is indicates that the proponents of systemd have one of two aims:
Give up on a sustainable Free Software OS.
Make systemd a required choice and silence all other options.
Given you only want to see complains as "whining" this indicates you do not want a free system. Pretending any discord against systemd must be illogic and panic is just your childish method for not having to argue against the problems highlighted. cf "you can't understand women's issues because you're a man".
I agree, but I am having a hell of a time getting over the initd martyrs. Everything I see about this is written like some kind of revolutionary maniphesto.
And this is the IMPROVEMENT, before it was just endless vitriol towards Lennart Poettering whose crime was "writing a software package for free", even though he's not the one with the end-say on what packages go in the distribution.
If they all move to devaun the debian community is going to be getting rid of some of its most vitriolic and insufferable members. I imagine concentrating all those people in one place is going to be disaster down the line but at least they're going to be gone from the forums of the systemd-based distros
All the criticism of systemd is not strictly from a luddite perspective. There is a population that appreciates meaningful advances (Wayland, btrfs, even some facets of systemd), but doesn't like some of the compromises systemd has employed to achieve their goals. Getting stuck in a point of time before systemd is not a desirable result, and in fact systemd might be able to win over some detractors if they recognize criticism and make sensible technical solutions to those rather than continuing to say 'oh everyone loves it except some impossible to please luddites'. For example, journald could embrace native text logging with external binary metadata and deliver all the goodies they provide and quell all the (justified) bitching that human readable logging is a second class citizen in their model.
They may not be able to accommodate all the objections (e.g. the amount of complexity they *must* do in pid 1 to have guaranteed comprehensive service management without blindly applying namespace isolation everywhere that would make a system look even weirder/risk breaking some services), but they could come a long way.
The issue for many of us is that things are being implemented that go beyond what systems administrators can follow along without understanding how to be a more robust software developer (and even then, there's some loss of convenience in analyzing things compared to an interpreted language). Systemd design shifts focus on specialized tools that are better at their specific task, but less reusable in similar contexts. If I started with syslog and learned 'tail -f' will let me watch logs, then I have acquired knowledge that can be used the next time I encounter logging output. If I learn 'journalctl -f', then that knowledge does not transfer to the huge number of other applications that do logging. It's a small example of things that in aggregate pose a significant challenge.
An administrator faced with a 'classic' design won't know everything about the system, but can get far with 'set -x', 'find', and 'grep' because the configuration, logging, and much of the 'glue' code is in clear text, and communication between programs usually hits the filesystem in fairly specific ways. Now with things like systemd and dbus, 'invisible' things happen (well, overly generic communication channels and compiled code). When the kernel implements new awesome stuff, it frequently manifests in sysfs, which is nice and discoverable. Advanced functionality that adheres to the 'everything is a file' and generally presents and accepts simple utf-8/ascii data. Not everything in the kernel does that, sometimes it creates obscure devnodes with ioctls instead, but it's a common and good practice in kernel land.
In general, we already have a system that embraces many of the design principles observed in systemd and actually does a decent job of making the concepts work: Windows. Even with a great deal of talented investment over the course of decades, when a Windows system goes off the reservation in certain ways, no one will be able to bring it back because of how complicated the integration of the various components. While certain concepts can be specifically be done better (e.g. journald does better than windows event framework), the emergent behavior of Windows that becomes impossible to overcome by administrators isn't really due to those specific things.
XML is like violence. If it doesn't solve the problem, use more.
However, the fact that systemd comes with the "USE US OR FAIL!" dire warning (cf "if you don't use Windows, you can't use our ISP") and appears entirely engineered to intefere with everything on a Linux system, no matter how divorced from SETTING UP THE OS it is indicates that the proponents of systemd have one of two aims:
This article isn't even about systemd. You can fairly easily use Debian without systemd. This is about libsystemd which is a small library for interfacing with systemd if it is installed. It doesn't depend on systemd so you can have it installed without having systemd itself installed.
Normally when there are experimental changes made to a software system, a branch of some sort is created, the experimental work is done in isolation there, and if the changes are working well then the branch is folded back into the mainline version of the software.
I'm confused as to why this was not done when integrating systemd into Debian.
Why did something as experimental and potentially disruptive as systemd go into mainline Debian so quickly?
Because the sudden almost-universal rise of systemd is about politics, not robust system design. That should be obvious to you and anyone else who notices the strange hurry to adopt systemd. Poettering and his circle-jerk fanboys are simply very good salesmen. If Debian went with your suggestion (that is, treating systemd like they generally treat any other major changes), that would mean lots of time to think about it. Time to think about it vastly increases the chances that people will realize that systemd offers few real-world advantages to make up for its tremendous complexity and abandonment of the Unix philosophy. That's a win for sound system design, but no good for politics.
Red Hat and its cronies (like Poettering) simply has far too much influence over the development of Linux distributions, much more than any single corporation deserves to have. Large parts of the core system aren't community-developed and haven't been for a long time now. Politics is hard when there are many distributed developers and you must convince most of them. Politics is easy when there are a few top-down managers and you know what they want to hear.
Ah, another systemd complainer, who of course can't be bothered to have a real Slashdot account.
However, the fact that systemd comes with the "USE US OR FAIL!" dire warning
There's no such thing in systemd. Slackware (always the last to just on new trends) seems to be getting along fine without it.
There are CONSTANT statements that if you do not use systemd you will not be able to use primary Linux distros in the future, because all software will supposedly be gobbled up by it as a dependency... To try and now make out like those dont exist is pretty silly.
Given you only want to see complains as "whining" this indicates you do not want a free system.
systemd is LGPL FOSS, so it's just as Free as anything else. You seem to be using the appeal to emotion fallacy.
Again you are using half truths, or atleast feigning half understanding, or it may be possible that you dont understand the linux culture. It is pretty clear that he is talking about free in the sense of free beer, not free as in not paying for it.
Pretending any discord against systemd must be illogic and panic is just your childish method for not having to argue against the problems highlighted.
Because all the "problems" you cite are generally overblown or not problems at all. Please, show me where prominent distro maintainers are criticizing systemd and refusing to integrate it into their distros. The ramblings of some disgruntled random people on Slashdot are not equivalent to the opinions of experts in the field.
Now you are A) doing exactly what the quoted person stated ,pretending the problems are overblown or not problems at all, when there have clearly been (debug fiasco) and are issues. You then make it seem like the only person who can show a problem are distro maintainers. Maintainers are typically not the mass admins who have to support it, possibly trying to move the goal posts. There is no doubt that system d helps the maintainers, but it also harms the admins.
When you cant win, ad hominem.
I didn't like (and never used) Pulseaudio either. If I wanted to play sound over a network I'd share my media directory.
Networked sound playing is just an incident of pulseaudio being a sound router. It's a nice feature, but that's not what pulseaudio was basically written for.
There are lots of situations where sound is routed to something which isn't the usual ALSA driver:
- lots of headphones/microphones now are USB. They are not another channel on the same soundcard, they are a completely different sound driver. Switching when pluging a headset is not something which is trivially done in ALSA without special support of software.
- bluetooth, which is VERY common on portable devices (but also might be usefull on dekstops) isn't even a kernel driver. Sound is handled by a deamon communicating with the bluetooth stack. It has much more in common with networked sound than with ALSA.
- recording the output of another program becomes much more trivial if there's a sound router handling the redirection, instead of needing some special support in software.
What I wouldn't do is run an unnecessary audio layer requiring application support - and that can do nothing else - in the form of a sound daemon I never wanted and didn't ask for.
Pulseaudio doesn't require any special support. It can present an ALSA target to any ALSA-enabled software. Most current software don't even have a pulseaudio plugin, they just open the default ALSA device which happens to be one pulseaudio listends to and that just works.
Software mixing you say? It's called dmix.
Why the fuck do you want to round a *sound mixer* inside your *kernel space* ?! Do you run your video decoder and webbrowser there too ?
I prefer to run unnecessary things like sound as daemons in userspace. Thank you very much.
I moved away from Windows and towards open source years ago in order to have choice.
And you're still free to disable pulseaudio and use dmix instead, if you want.
Now indeed, for an init system, it's a bit more complicated to leave complete choice to the end user. Some specialist distro like Gentoo are able to offer you to switch between their default OpenRC and whatever you want.
But the amount of work and risk of bugs in untested paths is rather high. So don't expect other distros to offer instant switch between systemd and upstart.
I will have that choice whether or not most major distributions gargle the Poettering cock.
Instead of being vulgar, maybe you should ask yourself why so many distributions are switching to systemd.
Maybe, part of the reason would be that systemd solves actual real world problems that these distributions need fixed.
Maybe that's because systemd people and Lennart Poettering actually ship code, instead of just sitting the whole day bitching and cursing on internet forums.
Maybe if you didn't spent all your energy on whinning about systemd, and actually tried to *DO* something, to *FIX* the problems, and write an actual good solution, maybe your solution would be the one picked up by distros.
Also please try to avoid making confusion between the actual piece of code that runs as PID 1 (which is indeed confusingly called "systemd") and all the other pieces of code that add the functionnality mentionned in all systemd articles (these pieces of code are all members of a project which is also called by the same name "systemd", but all pieces of code are completely different deamons like "networkd", "journald", etc.). In other words, it's not the PID 1 that get stuffed with innapropriate functionnality. It's the people who wrote the PID1 that are also writing other daemons for extra functionnality, all different parts of the same project.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
I was in a meeting last week with some representatives of a large defense contractor and Microsoft. The two of them don't get along well. The defense contractor people (not the MS people) brought up the whole systemd thing as an equalizer between Windows and Linux, and not in a positive way.
The bottom line is that I have a hard time believing it, but Microsoft is actually making inroads in the server market again. Linux adoption where I work is pretty much stalled, and the things it is used for are mostly virtualization hosts, rather than stuff that actually performs a function. While the systemd thing is just a tiny blip compared to the other reasons this is happening, this shit does not help.
I'm also not going to waste my own capital evangelizing the OS if significant engineering effort is going into something that is, at least in the short term, reducing the reliability of the operating system. That's a stupid idea and pissing off your evangelists is, too. Everyone forgets where the market share came from...and figures that it is fungible with whatever stupid follow-on idea they have, once they have said share.
Red Hat is about to learn this the hard way.
HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
RedHat.
And the design of systemd which means systemic and wideranging changes in many packages making "not systemd" a large change in programming. If systemd were not being pushed by RedHat but by, for example, a bit player like Gentoo, then the widespread changes would stop it working. See upstart for another example of a wideranging change that wasn't pushed by a big enough player. But once it starts being done, either others have to backport or fork or conditionally code in systemd use or they have to use systemd.
And at that point, it's not "choose systemd", it's "choose not to maintain a fork".
A very different kettle of mackerel.
So you risked your business in order to write this article?
Excuse me, but knowing this I would never hire you or do business with you. If you put your work machine at risk for such petty reasons, I can't tell how many times you are going to put your work in jeopardy again for ideological reasons. You are a loose cannon.
And here you are almost boasting about it so your comment sounds more important than it is. What would your employer or customers think if they read that? Are you really putting such a stain on your credibility just to win an internet argument? That's on you, pal. Use a less critical machine or a virtual one if you want to experiment, don't use your damn work machine. That's incredibly unprofessional.
That's for starters. Next is, why should Debian care? That library is probably there for a reason and they aren't going to backpedal just because a careless user gambled a bit. Seeing your tone I can already imagine the issue you filed, and honestly, don't be surprised if they dismiss it.
Doing something doesn't give you license for anything. Putting effort is not always rewarded. You are pretty much telling others how to do their job, and seeing that you are willing to put your own work at risk for ideological reasons, you are in no position to tell others what to do.
Anyway, good job keeping the systemd debate warm. I don't know what we would have done without your "sacrifice". Now get lost and get some working ethics. Someone who does this kind of risky process on a critical machine doesn't deserve respect.
Even less someone who uses that factoid as something to be proud of. That's just shameful.
The funny thing is the people working on OpenRC threw in the towel over a year ago. They can't keep up. OpenRC was a good idea, it truly was init.d version 3.0. But in practice it is non-viable as a replacement for all systemd is doing today as the developers on it admit. Gentoo will be able to hold out a long time because of the nature of the distribution but I suspect that within 2-3 years Gentoo will be overwhelmingly systemd.
We aren't all "good at coding," but we know what init system we want.
We aren't all "doctors," but we know we don't want vaccines.
We aren't all "scientists," but we know global warming is a hoax.
I cannot be the only one sick of seeing this crap posted over and over. systemd is being implemented in distributions because a) it is good and b) the people making that decision are the ones qualified to do so.
Really, someone should get a dictionary for their birthday and read the definition for "unilateral" lol.
that's in.... *counts on fingers*... 9? days? :)
ok so let's look it up... a random google search shows these:
1. Of, on, relating to, involving, or affecting only one side: "a unilateral advantage in defense" (New Republic).
2. Performed or undertaken by only one side: unilateral disarmament.
3. Obligating only one of two or more parties, nations, or persons, as a contract or an agreement.
4. Emphasizing or recognizing only one side of a subject.
5. Having only one side.
6. Tracing the lineage of one parent only: a unilateral genealogy.
7. Botany Having leaves, flowers, or other parts on one side only.
yep. definitions 1 through 5 are perfectly relevant. unilateral. meaning that pottering made the decision and (2) did not consult any of us. he claims to be "listening to users" yet (4) in fact ignores everything they tell him and carries on regardless. he has therefore violated the implicit software freedom contract (3) between users and developers who choose to be of service to others.
so yeah. it would appear that yes i really do know english, if only by accident.
But in practice it is non-viable as a replacement for all systemd is doing today as the developers on it admit
There's no need for it to do all that systemd is doing today. That in fact is much of what is wrong with systemd.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
You're right, OpenRC cannot keep up because it's not a DHCP client, nor a binary system logger, nor any of the other things systemd has now assimilated.
It's just an piece of software which starts the system in a deterministic fashion using existing software that's been very well tested, such as sysvinit on Linux the respective BSD init on the BSDs.
OpenRC is just an init system, it will never be anything more than that. And why should it be? There are much better system loggers and network management tools out there than what systemd offers.
Systemd is decidedly far less secure against a competent attacker. It has its fingers in so many places, local privilege elevation will be easy. It has network connectivity, which is about the most stupid thing security-wise you can do for an init-system. It has excessive feature-creep, and that means it is in active development all the time, with new vulnerabilities added constantly.
You are right, SYSV-init does not actually have any real security problems, and that is due to its simplicity and age.
My personal take at this time is that this is possibly intentional. Linux may have gotten to hard to break into for the surveillance-creeps and systemd may be an attempt to fix that. Sure, it will take a few months, or maybe even years for the catastrophe to become obvious.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
I don't see any references either on Wikipedia or the official OpenRC web page that the people working on it threw in the towel over a year ago. Got any reference for this news?
Of course a lean and transparent project is not doing everything that the kitchen sink blob is doing. If it was, it would not be hailed as the future of non-Redhat-derivative distrtibutions, but just another kitchen sink like upstart, launchd and whatever the Windows boot thing is called.
When they stop adding new, unneeded, and unwanted features?