Fedora disimprovements: am I alone?

Frantisek Hanzlik franta at hanzlici.cz
Sat Mar 24 09:13:13 UTC 2012


Dr. Michael J. Chudobiak wrote:
>> How they were started does not seem to have much to do with chkconfig.
> 
> The init system used a series of hard-coded numbers in the init scripts
> to judge which services were to be started in which sequence, which was
> a horrible mess.
> 
> You had to make sure the service X's priority of 37 was in between
> service Y'x priority of 18 and service Z's priority of 56.
> 
> With systemd, you just say things like:
> 
> After=syslog.target network.target auditd.service
> and/or
> Before=poweroff.service reboot.service halt.service
> 
> Which is MUCH more concise and easy to understand. The computer figures
> it all out, instead of the user having to juggle priority levels.
> 
> Also, all init scripts with priorities > 37 would all have to wait for
> the "service X" to finish. This is not so with systemd. The service
> files specify the minimum dependencies. If service Z does not require
> service X, it can go ahead, even if service X gets delayed.
> 
> See?
> 
> - Mike


You point is from service developer. But for system administrators this
nothing changes on fact that systemctl syntax is insane tedious.
I must have in root .bashrc some as this helper:
function a(){
  [[ "$1" =~ (\?|-h) ]] && {
    echo -e "1st param:\n -nothing-\tlist-units|grep
\.service\na\t\tlist-unit-files\nl\t\tlist-unit-files|grep \.service
2nd param(1st=service):\n
-nothing-\tstatus\ne\t\tenable\nd\t\tdisable\nr\t\trestart\ns\t\tstart\nk\t\tstop\n"
    return; }
  C="--help"; unset S
  if [ $# -eq 0 ]; then C="--all list-units"; S="|grep '\.service'";
  elif [ $# -eq 1 ]; then [ "$1" = "a" ] && C="list-unit-files";
    [ "$1" = "l" ] && { C="list-unit-files"; S="|grep '\.service'"; }
  else
    C="status"; S="$1";
    [[ "$1" =~ \. ]] || S="$S.service";
    [[ "$2" =~ ^e ]] && C="enable"; [[ "$2" =~ ^d ]] && C="disable";
    [[ "$2" =~ ^r ]] && C="restart"; [[ "$2" =~ ^s ]] && C="start";
    [[ "$2" =~ ^k ]] && C="stop";
  fi
  eval systemctl $C $S
}



More information about the users mailing list