On Sun, Feb 16, 2014 at 12:59 PM, Volker Armin Hemmann <volkerar...@googlemail.com> wrote: [ snip ] > or it is an idiotic decision. Because features means complexity.
Yeah, like the kernel. > Complexity means bugs. Bugs get reported, bugs get fixes. Life goes on. > And you don't want complexity in PID1 or init. Let those 'features' be > handled by their own specialists. Almost all the features of systemd live outside of PID 1. > You know, the unix way. Do one thing, do it well. This is from my desktop machine: /usr/lib/systemd/systemd-reply-password /usr/lib/systemd/ntp-units.d /usr/lib/systemd/systemd-coredump /usr/lib/systemd/systemd-hostnamed /usr/lib/systemd/systemd-binfmt /usr/lib/systemd/systemd-localed /usr/lib/systemd/systemd-machined /usr/lib/systemd/systemd-sleep /usr/lib/systemd/system-generators /usr/lib/systemd/system-generators/systemd-system-update-generator /usr/lib/systemd/system-generators/systemd-gpt-auto-generator /usr/lib/systemd/system-generators/systemd-efi-boot-generator /usr/lib/systemd/system-generators/systemd-fstab-generator /usr/lib/systemd/system-generators/systemd-getty-generator /usr/lib/systemd/system-generators/gentoo-local-generator /usr/lib/systemd/systemd-fsck /usr/lib/systemd/systemd-bootchart /usr/lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-random-seed /usr/lib/systemd/system-sleep /usr/lib/systemd/systemd-remount-fs /usr/lib/systemd/user-generators /usr/lib/systemd/systemd-sysctl /usr/lib/systemd/systemd-timedated /usr/lib/systemd/catalog /usr/lib/systemd/system-shutdown /usr/lib/systemd/systemd-udevd /usr/lib/systemd/systemd-multi-seat-x /usr/lib/systemd/systemd-cgroups-agent /usr/lib/systemd/systemd-user-sessions /usr/lib/systemd/systemd-journal-gatewayd /usr/lib/systemd/systemd-quotacheck /usr/lib/systemd/systemd-shutdownd /usr/lib/systemd/systemd-modules-load /usr/lib/systemd/systemd-backlight /usr/lib/systemd/systemd-ac-power /usr/lib/systemd/systemd-initctl /usr/lib/systemd/systemd-readahead /usr/lib/systemd/systemd-journald /usr/lib/systemd/systemd-activate /usr/lib/systemd/systemd /usr/lib/systemd/systemd-update-utmp /usr/lib/systemd/systemd-vconsole-setup /usr/lib/systemd/systemd-logind All of them are different tools providing one capability to systemd as a whole. So systemd is a collection of tools, where each one does one thing, and it does it well. By your definition, systemd perfectly follows "the unix way". > Use text to communicate. systemd can comunicate basically everything via text: centurion ~ # systemctl show sshd.service | head Id=sshd.service Names=sshd.service Requires=basic.target Wants=system.slice WantedBy=multi-user.target Conflicts=shutdown.target Before=shutdown.target multi-user.target After=syslog.target network.target auditd.service systemd-journald.socket basic.target system.slice Description=OpenSSH server daemon LoadState=loaded For performance reasons, some things are passed or stored as data. Bu everything works with text also. So, again, it passes your definition. > That stuff. That makes things easy. And flexible. And replaceable. Easy to whom? And systemd is more flexible that a lot of init systems, in my opinion including OpenRC. All the configuration and APIs are documented, public and open source. Everything is replaceable if there is someone willing and able to write a replacement. Regards. -- Canek Peláez Valdés Posgrado en Ciencia e Ingeniería de la Computación Universidad Nacional Autónoma de México