I have been using RH and derivatives for over 20 years, and i have seen the 
evolution of system startup/process management systems over that time frame.  I 
admit that I "prefer" the script-based methods of upstart and related animals, 
as it made it possible to predict when something would try to start, and the 
scripts were something that was easy for anyone with shell programming 
experience to fix or change.  However, those days seem to be gone, at least for 
most distributions.

Recently, I have been forced to learn the intricacies of SystemD, as I had 
local programs that needed to start reliably on boot on either SL7 or Ubuntu.  
I have evaluated RHEL 8 and said no, based on the licensing and the fact that I 
do not trust IBM to "Do the RIGHT thing" going forward.  I know that the 
packages I need will work on Debian /Ubuntu, as one of our developers uses 
Debian as his main platform and has for many years.  However, even he did not 
provide SystemD configuration files, but insisted on the system 5 type script 
for startup of his programs.

I understand the frustration with SystemD.  I spent the better part of 3 weeks 
to get something that sort of works, and even then, I had to hand edit the 
SystemD files to tweak paths, etc.  This was done with environment variables 
and shell variable replacement in the older scripts, which works for some 
things in SystemD, but not for others.   I finally punted and wrote a program 
to write the SystemD files with the full paths and ignored the broken 
implementation of environment entirely.  Even then, I have issues with 
sequencing of related programs, and I am still not sure that timers and the 
system of "wants/requires" work correctly.

I have had to write unit files for several packages now, such as redis and 
others, and none of them inspire confidence in SystemD.  However, SystemD is 
the only game in town now, at least for EL.  I wonder how it will handle Docker 
containers.  I am just starting to use them for some specialized tasks, and 
hand starting them is OK for now, but it will become necessary for boot time 
initialization eventually.  Perhaps there will be a way to have a deterministic 
method that can be predicted easily in the future, but it is not there now.

I got a taste of this type of thing recently , when the motion controller 
company that we have used for the past 20 years was purchased from private 
ownership by a large corporation, and the platform that we had used was 
immediately declared as obsolete and unsupported, even though we had just 
purchased a fairly large amount of the hardware as new and current a few months 
earlier.  Since we were forced to change anyway, we went with another company 
entirely, as it was evident that the large company was not interested in the 
small research community that was using the hardware to solve problems that 
they were never going to make any money on.  I see the same thing happening 
with RHEL, and I doubt seriously that there will be a RHEL 9, as IBM will not 
see it as in their interest to develop it.  Time to move on.

~J.
________________________________

James Fait, Ph.D.

Senior Beamline Scientist

SER-CAT, APS, Argonne National Laboratory

Building 436B-020, 9700 S. Cass Ave., Argonne, IL  60439

f...@anl.gov<mailto:f...@anl.gov>

f...@uga.edu<mailto:f...@uga.edu>

Cell: 815-302-2467 Fax: 630-252-0652

Light When You Need It

Reply via email to