Systemd Adding Its Own Console To Linux Systems
An anonymous reader writes: The next version of systemd is poised to introduce an experimental "systemd-consoled" that serves as a user-space console daemon. The consoled furthers the Linux developers' goal of eventually deprecating the VT subsystem found within the Linux kernel in favor of a user-space driven terminal that supports better localization, increased security, and greater robustness of the kernel's seldom touched and hairy CONFIG_VT'ed code.
srsly?
Poettering complains about the opensource community but he is one of the most abusive ones out there and his egotistical, almost psychopathic personality doesn't work well in a community.
Here is a good example, his abuse starts at 12m https://www.youtube.com/watch?v=CmPKDeo9Oow
I can tell you don't use Linux on a regular basis. Don't mistakenly think that Windows' broken localization applies to Linux. The Linux commandline and terminal has been localized for many years with no issues as you report.
Maybe in Windows things are bad, but in Linux, scripts will work regardless of the localization. The command names don't change, nor do the command-line options. But filenames and data certainly can be in any language. Unlike Windows, system folders do not change names. It's possible that grepping for specific output from programs will fail. But if you're doing that in your script, you can set the LANG variable to whatever language the you need (probably english to be most universal).
Again, though, this has nothing to do with the idea of putting kernel VT code in userspace. There are valid arguments against this idea, but I've not read of any on slashdot yet. Just knee-jerk teeth knashing, and, sadly, more inappropriate ad hominom attacks.
Because time and again, Lennart and the systemd team have demonstrated that bug fixes in their software are not a priority, compatibility with applications is not a priority, and by re-writing something that works you inevitably introduce new bugs.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Before you go round acting like the sky is falling, try educating yourselves about why this is necessary. This is not just a systemd problem, this is a problem for any init system that wants to support multi-seat, and sane switching between VTs:
Now you may say that OMG systemd is teh evil monolith!!1!!!, but before you do that understand that this has been an important feature that has been needed for a long time in any init system it just happened that SystemD solved it first.
The Debian leadership has already announced that systemd will remain a hard dependency for nearly all graphical applications, and no "systemd-lite" will be offered -- Debian has already deprecated its systemd-shim package that was meant to offer similar functionality to uselessd.
[Disclaimer: Yes I hate systemd and I proclaim that loudly. Everything below is my personal experience with systemd and why I hate it.]
If booting the machine up was all it did, then I probably wouldn't care. Most of my hate (I can't speak for the rest of the internet) comes from the fact that systemd does a lot more. It also tracks user logins using a mechanism (control groups) that isn't available in some container scenarios making systemd unusable in those environments (and by extension any distro mandating systemd). It does its own logging in binary which needs a tool to read the logs and if it gets corrupted then systemd's devs say "just delete the logs". Really?
But I think the best reason people hate it is because it makes other applications become dependent on it. GNOME is the most well known example but I've also seen that Centos7's Source RPMs have systemd-specific commands (macros?) making it hard to build them on other platforms. rsyslog doesn't listen on /dev/log because systemd is doing something with the socket now. You cannot start services without systemd being the one to do it.
This is the hate. systemd isn't just an init system, it becomes part of your daily life. I liken it to the MCP (Master Contrl Progam) from the first TRON movie. It's systemd's way or the highway.
What is starting processes isn't so much the issue. The issue is that systemd is demanding major changes of other software to work with it, and this is then making this software non-portable. e.g., Gnome 3.
People don't want to run Linux everywhere. Despite what some people think it is not always the best fit. There are other Unix platforms which fit better. Platforms that have had application compatibility with Linux up to this point. systemd has changed this. Changes to Gnome to work with systemd for example have made it non-portable to other platforms.
This is a problem for anyone who wants to say, develop a cross platform gnome3 application.
That, and there are the corruptable binary logs, the solution to which in the bug report is to "just delete them" and the bug has been closed as won't fix. Sorry, but if this is the resposne to journal corruption rather than finding out WHY the journals get corrupted and fixing the fuckign problem, then i do not want that in control of my logfiles.
Also, the massive violation of the KISS principle that has been a core guiding principle of Unix design since the start.
Systemd is a poor solution to a non-problem. There are plenty of other problems to tackle first, before trashing and re-writing working, well debugged code and breaking cross platform compatibility for no good reason.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
No, is monolithic Note the part where he repeatedly gibbers about that stuff is impossible to separate.
CLI paste? paste.pr0.tips!
Except that RC init wasn't fine. More than a few times over the years I've had a service that wouldn't start right on a server that actually prevented boot! Whether it was some stuck PID file that wasn't properly erased on boot, or some other race condition (often a network condition, or a chicken/egg problem),
...it was actually an init script problem, and not a problem with sysvinit at all. Your init script must not assume that /tmp has been cleared before run. When it finds a PID file, it must not blindly trust it. This sort of problem would be readily solved by simply unifying init scripts based on some sort of well-crafted template, but instead we have a daemon to fix the problem.
Ideally none of this should ever happen, but it did. Bugs are there.
Explain how systemd prevents bugs.
Combine that with the fact that init scripts are huge, fragile, hacks
Let's take a look at your three claims.
First claim, init scripts are huge. No, most init scripts are quite small. Sometimes they source a library, but there's nothing wrong with that. The replacement (systemd+unit files+required libraries) is still larger than (sysvinit+init scripts+script libraries). So this claim is clearly false.
Second claim, init scripts are fragile. Init scripts are not fragile. Some people are very lazy scripters. Some init scripts are well-written and they are fault-tolerant. Some init scripts are not well-written, and distribution maintainers should have remodeled them after ones which were. Distributions should have solved this problem by unifying init scripts. I have made the point elsewhere that a simple hashbang and shell script-based processor could permit using unit files as shell scripts, at least for long-running daemons. So this claim is also false.
Third claim, init scripts are hacks. Shell scripting is a central feature of Unix. Therefore, init scripts are not hacks. This claim is also false.
Everything you have claimed about init scripts is false.
As a system administrator I'd far rather mess with a simple ini file to create services than hack a huge bash script,
As a system administrator I'd far rather mess with a simple script file than have to debug the system that's supposed to interpret the unit files. With a shell script, I can simply run the script with -x and see precisely what is happening, even if all I have is a command line and 80x25. With a daemon interpreting a file, I may be lucky enough to get useful information out of strace, or I may have to load a debugger to actually see why my daemon isn't starting.
All other major unix server vendors ditched sysv init for the same reasons as I state long ago.
That's interesting. I looked up AIX, and it looks like they still have init with an inittab. And So does Solaris. From what I can tell, your claim that major Unix vendors have moved on from the traditional init system is also false.
Systemd has been in production a fairly long time now, and I see no issues at all brought up about it in actual practice.
Either you haven't been following the discussions here on Slashdot on this subject, or you are a liar. There have been numerous examples in these threads by actual systems administrators who have encountered actual problems with systemd. So while your claim might be true, it points only to your ignorance due to inexperience and lack of investigation.
Uselessd is a validation of the systemd approach. They clearly also believe that init is broken, or they wouldn't be working on the uselessd fork.
This is also false. They believe that systemd is broken, which is why t
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
In addition to the other reasons people have given you (bloated, breaks the unix idea of doing one simple thing well, binary log files, doesn't play nice with others, etc), the reason people are rabidly opposed is because of the way it's being adopted, or should I say, thrust upon us. Poettering and friends are not simply making a piece of software and releasing it and getting people to adopt it because it's good and solves a useful problem. They're playing shady political games to force adoption.
Ideally, if you think you have this great new replacement for the fundamental piece of userland software in Linux, awesome! Write it, fork a distro and build your distro around systemd. Use it. Find the bugs. Work them out. Do this long before you start suggesting people run it on their servers. If it's actually better, distros will start including it. Instead they've played political games to force it into really popular distros like Debian.
It's just not ready for prime time. Build it, test it, show us how it's better and we'll be overjoyed to use it. But ram buggy bloated bullshit down our throats for no other reason than your own ego and well, fuck you.
We don't have a state-run media we have a media-run state.
It is pretty sad to see, that after so many comments nobody really has a clue about what the story is about, and what is happening in the Linux kernel.
The kernel VT system has been considered a monstrosity by kernel developers the last decade and everyone is of the opinion that it should be used to user space.
The finally a really smart guy actually attacks and solve the problem. His name is David Herrmann, and he has tirelessly worked on this for years. Systemd distros will get the full support of his research, simply because almost all Linux distros are using, or a going to use systemd. But don't worry, he has provided rich support user space VT's on non-systemd Linux distros, by eg. "ksmcon"
https://github.com/dvdhrm/kmsc...
Here is his fosdem talk:
https://archive.fosdem.org/201...
Here is his blog that will tell you more about VT's than you ever knew:
http://dvdhrm.wordpress.com/
Here is a wiki link about VT:
http://en.wikipedia.org/wiki/L...
Here is an old blog post about the problems with the old kernel VT:
http://dvdhrm.wordpress.com/20...
In short, no need for the systemd opponents to get their panties in a bunch; they can either use Hermanns user space tools, or pretend there isn't a problem and use the present kernel system.
For the rest of us who really likes systemd, this is great news. Thanks to Hermann's work, there will be much better console support for early boot debugging, better security, better keyboard and language handling etc.
its amazing how people bastardise definitions to suit their arguments.
I fail to see how the GP used the terms in any way other than what you listed for definitions.
Even though systemd is made up of multiple separate binaries, it is "[has] a uniform, massive, redoubtable, or inflexible quality or character", since you can't replace any one of those binaries with an alternative. Each of the individual binaries cannot "be combined or interchanged with others like it to create different shapes or designs", which means it isn't "modular", but is "monolithic".
Also, you still missed the most appropriate definition of "modular" for software: "employing or involving a module or modules as the basis of design or construction". Again, although systemd uses separate binaries, there is no way to replace any one of those binaries with an alternative, so the net effect is no different from a single binary that happens to be made up of 69 object files compiled from 69 source files.
systemd is not about boot time.
A fully functional Systemd has about 69 or so binaries. That's hardly monolithic.
It is when they're all tied together so tightly that you're forced to take all or nothing.
That's the fundamental problem with systemd. This man's last major project was pulseaudio, which most Linux users know only because an entire generation learned that it was the first thing they should uninstall after installing a new Linux release. Years later, it works OK, but only after years of suck beforehand.
You don't get that 'just unininstall it' option with systemd.
Just what kind of corruption have you experienced in journald? It appends records sequentially to log files, the same as any text logger. If you kill your syslog abruptly do you complain if the last line of the file is cut off midstream and doesn't contain a newline? If so, do you have utilities to recover the data that wasn't written?
As far as I can tell journald just appends to its file, and regurgitates the data which is valid on reboot. If the file was truncated, it starts a new file, but doesn't discard any valid data from the old one. That is pretty-much how every database/filesystem/etc works - accept completed writes, roll back incomplete journal entries.
It's been running under 'real-world conditions' for years already - do you think no-one runs real-world systems on Fedora, or that Red Hat doesn't run releases in production internally before they go out, or that RH has no customers who test pre-releases?
"Seems to me that's the largest reason it's being pushed"
Nope. I think this impression originally came from Lennart's original post on systemd, years and years ago - http://0pointer.de/blog/projec... - because it starts out talking about boot speed. But even that very first post moves on, in the sections "Keeping Track of Processes" and later, to talk about the really interesting bits of systemd - better service management, and more capable service configuration. As systemd development continued, it's become much more about the latter and much less about boot times - I think that's where Lennart *started* thinking about systemd, but it's really not what systemd is for any more. Red Hat certainly wasn't interested in systemd because it might make servers boot three seconds faster, RH was interested because it can make service management on servers much better.
The bug report isn't about how something got corrupted. It was about dealing with something that got corrupted. Tieing off the bad thing and starting a new one, and making tools that are robust enough to see past the corruption is totally reasonable. Stopping the corruption in the first place should be a whole different bug report.