[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