[colug-432] systemd dislike
Stephen Potter
spp at unixsa.net
Mon Mar 7 11:13:20 EST 2016
systemd reminds me of a re-engineering of Solaris' SMF (Service
Management Facility). I haven't had to dig deep enough into it as yet
to determine if it is a good or bad re-engineering. In fact, it shares
the idea of target states as opposed to runlevels. There's no real
difference, other than semantics, in fact systemd even has runlevel
links to target states.
Runlevel Target State
0 Shutdown/poweroff
1 single-user
2 multi-user
3 multi-user
4 multi-user
5 graphical
6 reboot
As far as "chkconfig --list ntpd" vs "systemctl status ntpd" and
"service ntpd status", I always found service to be the odd one, and
systemctl syntax seems more akin to the UNIX philosophy of "command
option argument" or "command subcommand target". "status" isn't an
argument/target, it is an option or subcommand, "ntpd" is the target.
Look at the chkconfig option you gave, and tell me which of the three is
backwards? Imagine if these commands were written even more
traditionally with actual options, how would service work: "service -s
ntpd" (or "service --status ntpd" if you like GNU-style longopts).
Much of the visible issues, the ones you struggle with on a day to day
basis currently, are because of muscle memory... you know when you want
to move from single to multi-user mode, you type "init 3" and "systemctl
isolate multi-user" (WTF does isolate mean?!) is foreign to you. By the
same token, if you're an old AIX guy used to typing mkuser, useradd
seems strange. If you're used to Solaris (I know... who is any more
:-( ) "zpool create deadpool; zfs create deadpool/wade" is easy,
"vgcreate; lvcreate; mkfs" is difficult.
I can't necessarily disagree with any of the rest of your comments
regarding systemd (particularly the systemctl and sysctl commands),
because some of them I agree with and others I haven't run into. ;-)
For the most part, grumble awhile until you're used to it!
-spp
On 3/7/2016 8:38 AM, Rick Hornsby wrote:
> I'm having a hard time getting used to it. SysV style init scripts were simple and effective. I know, systemd is more powerful, and the unit files are supposed to be easier to deal with.
>
> But instead of
>
> chkconfig --list ntpd
>
> Now it's
>
> systemctl status ntpd - which requires reading through a bunch of output to figure out if your ntpd is set to start on boot or not. Also, no more run levels, just a confusing pile of declared dependencies and "targets". I must sound really old when I ask what was wrong with my run levels 0 - 6?
>
> If you use the service command, the syntax is the opposite: service ntpd status. I don't know why systemd does it - what seems like - backwards.
>
> Often when a service does not start properly, I don't get any indication. Have to systemctl status, and then "journalctl -xn" (no idea what journalctl has to do with it) to figure out what went wrong.
>
> It also doesn't help that we have both 'systemctl' and 'sysctl' - each of which do completely different things.
>
> To be fair to systemd, I haven't spent much time digging into these issues, or why things are they way they are. I've just been dealing with it and grumbling.
> _______________________________________________
> colug-432 mailing list
> colug-432 at colug.net
> http://lists.colug.net/mailman/listinfo/colug-432
More information about the colug-432
mailing list