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