Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 17 submissions in the queue.
posted by LaminatorX on Wednesday February 26 2014, @12:30PM   Printer-friendly
from the Boot-him?-I-just-met-him! dept.

jbernardo writes:

"Having had several issues with systemd, and really not liking the philosophy behind it, I am looking into alternatives. I really prefer something that follows the Unix philosophy of using small, focused, and independent tools, with a clear interface. Unfortunately, my favourite distro, Arch Linux, is very much pro-systemd, and a discussion of alternatives is liable to get you banned for a month from their forums. There is an effort to support openrc, but it is still in its infancy and without much support.

So, what are the alternatives, besides Gentoo? Preferably binary... I'd rather have something like arch, with quick updates, cutting edge, but I've already used a lot in the past Mandrake, RedHat, SourceMage, Debian, Kubuntu, and so on, so the package format or the package management differences don't scare me."

[ED Note: I'm imagining FreeBSD sitting in the room with the all the Linux distros he mentioned being utterly ignored like Canada in Hetalia.]

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 4, Informative) by Bill, Shooter Of Bul on Wednesday February 26 2014, @03:55PM

    by Bill, Shooter Of Bul (3170) on Wednesday February 26 2014, @03:55PM (#7350)

    Off the top of my head:

    Good Daemon management by default.
    Daemons can't escape monitoring. ( no amount of forking can confuse it)
    Easily get the status & last couple of log lines.
    All daemon output logged.
    Binary log files ( prevents tampering with them).
    Aggregated logging makes event correlation easier.
    Socket based activation of daemons/services.

    Nothing ground breaking that couldn't have been done before, but its all preconfigured to do it. And the tools are integrated with each other to work well together.

    Basically systemd is cgroups applied to daemon management. That's the unifying thread that ties everything together. It turns out that its a very powerful tool that's useful in a lot of situations. So some people look at everything that systemd does and cries "bloat!" "Its taking everything over!!11", while others look at it and say "Wow that is a really useful concept that has applications everywhere. Great code reuse!"

    Starting Score:    1  point
    Moderation   +3  
       Interesting=1, Informative=4, Overrated=2, Total=7
    Extra 'Informative' Modifier   0  

    Total Score:   4  
  • (Score: 1, Interesting) by Anonymous Coward on Wednesday February 26 2014, @04:28PM

    by Anonymous Coward on Wednesday February 26 2014, @04:28PM (#7385)

    Binary log files ( prevents tampering with them).

    How so? I'd expect the typical binary file format to be easier to tamper with, because typically binary data has well-defined data boundaries. So to change a number from 3 to 127, you'll typically just have to change one byte, while with text files you'll have to insert the bytes, changing the file length.

    If you want to secure your log files against tampering, why not hash/digitally sign them? And if you now say that this is not secure because the key would have to be on the same computer, well, it's no less safe than binary files. If you want true tamper security for your log files, you'll not get to avoid sending them to a place where they cannot be rewritten from the computer generating the log files.

    But even without a second computer, a certain security can be achieved be regularly generating new keys and destroying the old private keys (keeping the public keys for integrity checking, of course). Then the attacker cannot replace any entry in the log file before the latest key change (because the old key is gone).

    • (Score: 3, Informative) by Bill, Shooter Of Bul on Wednesday February 26 2014, @05:02PM

      by Bill, Shooter Of Bul (3170) on Wednesday February 26 2014, @05:02PM (#7404)

      Yeah, I was kind of fast and loose with that explanation.

      Here's Lennartt's description of the security from https://docs.google.com/a/nmi.com/document/pub?id= 1IC9yOXj7j6cdLLxWEBAGRL6wl97tFxgjLUEHIX3MSTs&pli=1 [google.com]

      "The Internet is a dangerous place. Break-ins on high-profile web sites have become very common. After a successful break-in the attacker usually attempts to hide his traces by editing the log files. Such manipulations are hard to detect with classic syslog: since the files are plain text files no cryptographic authentication is done, and changes are not tracked. Inspired by git, in the journal all entries are cryptographically hashed along with the hash of the previous entry in the file. This results in a chain of entries, where each entry authenticates all previous ones. If the top-most hash is regularly saved to a secure write-once location, the full chain is authenticated by it. Manipulations by the attacker can hence easily be detected."

      Why he uses googledocs for some things, his blog for others, and freedesktop for still other parts, is kind of beyond me. I wish he and the systemd team would aggregate their documentation/raison d'etre for all of systemd in one spot.

      • (Score: 1) by MrNemesis on Wednesday February 26 2014, @05:19PM

        by MrNemesis (1582) on Wednesday February 26 2014, @05:19PM (#7410)

        Damnit, ninja'd! But thanks for including the extract as google docs in on the firewall blacklist :) But it seems to reinforce the point in my post below that you still need to be using a "write only" syslog server for it to have any guarantee of integrity.

        --
        "To paraphrase Nietzsche, I have looked into the abyss and been sick in it."
      • (Score: 1, Insightful) by Anonymous Coward on Wednesday February 26 2014, @05:35PM

        by Anonymous Coward on Wednesday February 26 2014, @05:35PM (#7415)

        OK, so he uses cryptographic hashes for security. But that doesn't need binary log files. It can be done with text files quite fine.

      • (Score: 1, Insightful) by Anonymous Coward on Wednesday February 26 2014, @06:06PM

        by Anonymous Coward on Wednesday February 26 2014, @06:06PM (#7435)

        And the irony here is, that all of this could have been done with text based logs. Git's trees and blobs, afterall are just text once decompressed, and it 'authenticates' just like LP's explanation.

        No need to "go binary" just to get tamper detection.

        • (Score: 1, Interesting) by Bill, Shooter Of Bul on Wednesday February 26 2014, @08:01PM

          by Bill, Shooter Of Bul (3170) on Wednesday February 26 2014, @08:01PM (#7516)

          Yeah, that make sense. My crazy mind combined those two for some reason. The binary nature of the log is to allow you to log binary objects as well as text, I think. It also allows for some of the meta data, event correlation, and searching capabilities I believe.

      • (Score: 1) by weilawei on Wednesday February 26 2014, @08:17PM

        by weilawei (109) on Wednesday February 26 2014, @08:17PM (#7532)
        The fact that it's binary has ABSOLUTELY NOTHING to do with the ability to cryptographically hash things and create a hash chain. You can do that with "plaintext" just fine (since "plaintext" is a special subset of binary; see EBCDIC, ASCII, Unicode, etc.). The fact remains that quality viewers and editors exist for "plaintext", whereas for "binary" formats, I need a more specialized viewer. It breaks the UNIX philosophy BADLY. systemd does too much, in the wrong ways, and is a plague upon Linux.
        • (Score: 0) by Bill, Shooter Of Bul on Wednesday February 26 2014, @10:46PM

          by Bill, Shooter Of Bul (3170) on Wednesday February 26 2014, @10:46PM (#7603)

          Just so you see this, that was my mistake linking binary to the hash chain not anyone elses.

          If it makes you feel better, it can be converted to text very easily. journalctl spits out text, so it can be piped into other text based tools if you want.

          In general, anyone who complains about breaking UNIX philosopy should take a deeper look into it. There are some good reasons why it is the way it is, and why many competing distros have adopted it. They aren't all idiots willing to sacrafice the UNIX way for a flash in the pan. I'd also argue that UNIX is very much a part of systemd, but most who would rationally debate it won't bother to consider any arguments at all.

          • (Score: 1) by weilawei on Thursday February 27 2014, @01:45AM

            by weilawei (109) on Thursday February 27 2014, @01:45AM (#7704)

            They aren't all idiots willing to sacrafice the UNIX way for a flash in the pan.

            I've seen this one a lot, but not one single person (not one!) who has said this has provided an actual example of a reason for moving toward a monolithic tool, specifically. Not one single person has raised an actual argument, based on anything more than "they're not idiots" for why it needs to be monolithic, and the bits implemented by systemd couldn't be done better in a modular fashion. Modular code is more maintainable, more extensible, and has a clear separation of concerns--something lacking in systemd. Someone who is a systemd supporter needs to step up to the plate and illustrate how this monolithic structure is better in those categories.

          • (Score: 1) by weilawei on Thursday February 27 2014, @01:49AM

            by weilawei (109) on Thursday February 27 2014, @01:49AM (#7707)

            Replying again, since I should have made this point as well. Saying that they're not all idiots who are willing to sacrifice the UNIX way for a flash in the pan, saying that they're maintainers of distros, is not an argument--that's an appeal to authority. Please, stop with the fallacious appeals and provide REAL arguments based in actual software engineering concerns, usability concerns, system administration concerns, etc.. I don't care if you want to play sheep to the shepherd, but I want to know WHY systemd should be monolithic and not modular.

  • (Score: 1) by MrNemesis on Wednesday February 26 2014, @05:16PM

    by MrNemesis (1582) on Wednesday February 26 2014, @05:16PM (#7409)

    Thanks, that makes a little more sense at least. But...

    Good Daemon management by default

    Can you expand on this a little perhaps?

    Binary log files ( prevents tampering with them)

    I'd have to agree with the AC above on this - I don't see what about binary log files makes them any more actively tamper-resistant than text-based ones, there doesn't seem to be any checksumming involved in the systemd implementation. In any case, if you're worried about log integrity you'd redirect to a syslog server - how is this accomplished with systemd? Is an equivalent command for `tail -f access.log|grep someuser` (or tail/ack)? Or even just plain grep?

    Aggregated logging makes event correlation easier.

    I assume you mean easier to match the timestamps from one to another? Granted this can be a pain in the arse especially when you have your system/kernel log measuring things from the time of boot whilst others base on various other formats (and a colossal case of haemorrhoids when you're correlating between two different time zones in three different formats), but for that there's tools like SEC [sourceforge.net]. Even so, what I'd love even more was if there was just a simple way for force an entire system to use the YYYY-MM-DD hh:mm:ss format globally like wot you can do in windows. Manually changing the locale (the only way I know to force it) is... ugly. Very ugly.

    Socket based activation of daemons/services

    I'm guessing this is to be used for dependency-based daemon startup? I'm not really sure what it entails otherwise.

    Nothing ground breaking that couldn't have been done before, but its all preconfigured to do it.

    I think that's probably the biggest problem people like me have with the concept - maybe it's because I don't really do anything advanced with finagling init scripts, but I've never had any problems with the ones in debian, they all seem to tie nicely together, and murmurs from a people about a lot of things changing (there was a comment here about single user mode no longer working for example) for what seems like a largely philosophical reason; I'm a pragmatist rather than idealist in that regard and I'll go with what works rather than something that might be more technically perfect but with considerable caveats.

    Guess I'll have to see how I get on with it once it's rolled into Jessie.

    --
    "To paraphrase Nietzsche, I have looked into the abyss and been sick in it."
    • (Score: 3, Informative) by VLM on Wednesday February 26 2014, @07:35PM

      by VLM (445) on Wednesday February 26 2014, @07:35PM (#7490)

      "Guess I'll have to see how I get on with it once it's rolled into Jessie."

      Can try it today, if you're on testing or have a testing VM or a sacrificial box to test on.

      apt-get install systemd

      Maybe there was more to it, I don't remember.

      To run it, at the grub boot menu you hit e to edit your boot line (this one time) and add init=/lib/systemd/systemd to the kernel command line thingy and boot the temporarily edited config.

      Did you work, awesome, might want to think about editing /etc/default/grub and put the above into a GRUB_CMDLINE_LINUX_DEFAULT="init=/lib/systemd/syst emd" and run update-grub of course.

      Or if it blew up just reboot and avoid hitting E and changing your init, or if it blew up after changing the file "permanently" you can probably guess that on boot you edit the command line kernel params and remove that init line.

      Now forcibly removing sysvinit and keeping it out and only having systemd installed is going way beyond what I've done and I don't think its currently (easily) possible.

      I suppose a truly pathological event could happen if systemd blew up while you were hand editing binary database files or some such and screw up the whole machine or something. So the usual, "make backups" applies and so on. Although I've had no problems that doesn't prove your hardware can't etc etc etc.

      • (Score: 0) by Anonymous Coward on Friday September 12 2014, @05:14PM

        by Anonymous Coward on Friday September 12 2014, @05:14PM (#92506)

        Qgxh2a xnwpcuovrvok [xnwpcuovrvok.com], [url=http://omokoyaevqka.com/]omokoyaevqka[/url], [link=http://beuggjufoucf.com/]beuggjufoucf[/link], http://ixxpequimsbu.com/ [ixxpequimsbu.com]

    • (Score: 1) by weilawei on Wednesday February 26 2014, @08:22PM

      by weilawei (109) on Wednesday February 26 2014, @08:22PM (#7535)
      Yeah, Debian really screwed the pooch on this one. I'll be looking for a new distro as well. They can keep their Emacs-wannabe.
    • (Score: 0) by Bill, Shooter Of Bul on Wednesday February 26 2014, @10:56PM

      by Bill, Shooter Of Bul (3170) on Wednesday February 26 2014, @10:56PM (#7609)

      Socket based activation of daemons/services

      You can do crazy things like have a daemon that isn't started until it gets a request. Systemd listens on the port and then starts the daemon and hands of the port. This way the daemon doesn't have to be running all the time, and/or you can better utilize system resources depending on service demands. They're also working on integrating it into linux containers, so a service that lives inside a container gets started up upon request.

      Kind of cool.