LWN: Comments on "A systemd status update" https://lwn.net/Articles/401430/ This is a special feed containing comments posted to the individual LWN article titled "A systemd status update". en-us Sat, 04 Oct 2025 10:14:52 +0000 Sat, 04 Oct 2025 10:14:52 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net I/O scheduler performance https://lwn.net/Articles/403983/ https://lwn.net/Articles/403983/ epa <div class="FormattedComment"> So, then, the way to get fast I/O is to make asynchronous I/O calls from a single thread (so that the scheduler knows that fairness doesn't matter) rather than spawning multiple threads or processes.<br> <p> Is there any way to fork subprocesses but still let CFQ know that they're all related and happy to altruistically share I/O bandwidth between them, so it doesn't try to slice up I/O requests fairly at the expense of total throughput?<br> </div> Wed, 08 Sep 2010 11:15:42 +0000 A systemd status update https://lwn.net/Articles/403508/ https://lwn.net/Articles/403508/ nix <div class="FormattedComment"> init replacements: the new text editors?<br> <p> </div> Fri, 03 Sep 2010 17:08:13 +0000 A systemd status update https://lwn.net/Articles/402751/ https://lwn.net/Articles/402751/ ssam <div class="FormattedComment"> I should be fairly easy to generate the sysv script from any of the native formats. you would just drop things like the binary name into a template.<br> <p> this is basically how a sysv script is written in the first place.<br> </div> Sun, 29 Aug 2010 15:53:17 +0000 I/O scheduler performance: not good enough! https://lwn.net/Articles/402736/ https://lwn.net/Articles/402736/ renox <div class="FormattedComment"> Thanks, I should have seen this but the long URL was shortened which hid the issue.<br> I'll try again.<br> </div> Sun, 29 Aug 2010 10:38:02 +0000 I/O scheduler performance: not good enough! https://lwn.net/Articles/402180/ https://lwn.net/Articles/402180/ etienne <div class="FormattedComment"> Sorry, said to compile showmap.c and gave the link to showmbr.c, the good link is:<br> <a href="http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/g/project/gu/gujin/gujin/2.8.2/gujin-2.8.2.tar.gz/gujin/showmap.c?extract=true">http://www.mirrorservice.org/sites/download.sourceforge.n...</a><br> <p> </div> Thu, 26 Aug 2010 13:33:05 +0000 I/O scheduler performance: not good enough! https://lwn.net/Articles/402158/ https://lwn.net/Articles/402158/ renox <div class="FormattedComment"> Interesting, thanks.<br> It didn't work on my computer though:<br> <font class="QuotedText">&gt;&gt;</font><br> ./showmap ./showmap<br> Boot record of size 512 bytes read successfully from './showmap'<br> First bytes 0x7F 0x45 0x4C, signature 0x804, FAT16 sig 0x0, FAT32 sig 0x4,<br> No FAT signature recognised, cannot analyse header.<br> Partition table: WindowsNTmarker 0x3C, Unknown 0x0, signature 0x804<br> 0: indicator 0x0 i.e. non bootable, start 5570560 length 0<br> (i.e. end at 5570560); start 513/0/43 end 0/0/18 name 'empty'<br> 1: indicator 0x0 i.e. non bootable, start 3014656 length 0<br> (i.e. end at 3014656); start 768/0/29 end 0/0/18 name 'empty'<br> 2: indicator 0x0 i.e. non bootable, start 6750208 length 0<br> (i.e. end at 6750208); start 0/0/54 end 0/0/18 name 'empty'<br> 3: indicator 0x0 i.e. non bootable, start 4587520 length 2438987776<br> (i.e. end at 2443575296); start 256/0/60 end 0/0/18 name 'empty'<br> &lt;&lt;<br> Probably a not recent enough version..<br> </div> Thu, 26 Aug 2010 12:48:49 +0000 wrt upset https://lwn.net/Articles/401959/ https://lwn.net/Articles/401959/ gvy <div class="FormattedComment"> I think (and have seen others, too) that upstart is half-baked hack, and not exactly pretty one.<br> <p> Hope Lennart's attitude towards humans will get back closer to ifplugd days not pulseaudio nights though...<br> </div> Wed, 25 Aug 2010 18:57:58 +0000 I/O scheduler performance: not good enough! https://lwn.net/Articles/401855/ https://lwn.net/Articles/401855/ etienne <div class="FormattedComment"> Both FIEMAP and FIBMAP report block numbers, i.e. the position of the file on the device.<br> You have to guess yourself the position of the device on the hardware device, simple if they are the same of there is a simple partition table - difficult if there is LVM or MD(RAID) in between.<br> FIEMAP is a lot quicker than FIBMAP, noticeable when getting the mapping of ISO file images.<br> As an example:<br> <p> $ wget <a href="http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/g/project/gu/gujin/gujin/2.8.2/gujin-2.8.2.tar.gz/gujin/showmbr.c?extract=true">http://www.mirrorservice.org/sites/download.sourceforge.n...</a><br> $ gcc -O2 showmap.c -o showmap<br> $ ./showmap ./showmap.c<br> File "./showmap.c" of size 15013 (32 blocks512) is on filesystem 0x302.<br> According to /proc/diskstats, file './showmap.c' is on device '/dev/hda2'<br> /dev/hda2: Permission denied<br> $ su<br> Password: <br> # ./showmap ./showmap.c<br> File "./showmap.c" of size 15013 (32 blocks512) is on filesystem 0x302.<br> According to /proc/diskstats, file './showmap.c' is on device '/dev/hda2'<br> Device block size: 512, FS block size: 4096, device size: 61432560 blocks<br> Device length: 31453470720 bytes<br> The device start at 61432560 sectors, C/H/S: 65535/16/63.<br> First FIEMAP says 1 extents<br> second FIEMAP success, 1 extents filled:<br> 0: logical offset 0 (0 * 4096), physical offset 25904218112 (6324272 * 4096),<br> length 16384 (4 * 4096) flags 0x1<br> flags meaning: FIEMAP_EXTENT_LAST 0x1, FIEMAP_EXTENT_UNKNOWN 0x2,<br> FIEMAP_EXTENT_DELALLOC 0x4, FIEMAP_EXTENT_ENCODED 0x8,<br> FIEMAP_EXTENT_DATA_ENCRYPTED 0x0, FIEMAP_EXTENT_NOT_ALIGNED 0x100,<br> FIEMAP_EXTENT_DATA_INLINE 0x200, FIEMAP_EXTENT_DATA_TAIL 0x400,<br> FIEMAP_EXTENT_UNWRITTEN 0x800, FIEMAP_EXTENT_MERGED 0x1000.<br> FIGETBSZ: block size 4096 bytes<br> File (4 blocks of 4096) start at block 6324272 for 4 blocks,<br> last block 6324275 and file has 1 fragments.<br> FIBMAP succeeded after end of file, block index 4 give block 0<br> # <br> <p> </div> Wed, 25 Aug 2010 11:28:56 +0000 A systemd status update https://lwn.net/Articles/401828/ https://lwn.net/Articles/401828/ mishad <div class="FormattedComment"> And if this was done, would it affect how the boottime I/O is scheduled? (axboe suggested above that CFQ will try to maximise throughput when all requests come from same process, rather than attempting fairness which it does when requests are from separate processes.) Or are the little C tools discussed simply not responsible for much of the boottime I/O?<br> </div> Wed, 25 Aug 2010 06:48:58 +0000 A systemd status update https://lwn.net/Articles/401795/ https://lwn.net/Articles/401795/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; Ordering of the daemon startup is *not* necessary anymore, and the kernel CPU and IO scheduler will magically order the entire execution of us. And that's so amazing.</font><br> <p> Yes, this looks awesome. Thanks for correcting me / reminding this.<br> <p> </div> Tue, 24 Aug 2010 22:43:46 +0000 I/O scheduler performance: not good enough! https://lwn.net/Articles/401789/ https://lwn.net/Articles/401789/ mhelsley <div class="FormattedComment"> I don't think FIEMAP provides block numbers. Block numbers would be unique on the partition/device whereas I think FIEMAP provides "extents" (and FIBMAP provides bits) which effectively describe offsets within the file -- not block numbers.<br> <p> <a href="http://lwn.net/Articles/260803/">http://lwn.net/Articles/260803/</a><br> </div> Tue, 24 Aug 2010 21:53:07 +0000 A systemd status update https://lwn.net/Articles/401748/ https://lwn.net/Articles/401748/ njs <div class="FormattedComment"> At least on Debian-derived systems, init scripts are marked as configuration files, so the package manager won't overwrite modified ones (and will ask the sysadmin what to do if there are both local and upstream changes).<br> </div> Tue, 24 Aug 2010 17:50:33 +0000 A systemd status update https://lwn.net/Articles/401722/ https://lwn.net/Articles/401722/ Frej <div class="FormattedComment"> You are switching from awkard imperative langauge (shell) to a declarative language (.ini files). <br> <p> In that sense you are not replacing anything with C programs, but shell programs with a very simple declarative program. In theory when systemd matures you have all the constructs you need to accomplish your job. <br> <p> Also, I think a few of you are confused about lennart calling it C tools. It's not more C tool than bash is (it too is writting in C), it's just a more specialized tool that solves just one problem. It might be bad marketing, but lennart has a history of that ;)<br> <p> <p> <p> </div> Tue, 24 Aug 2010 16:45:34 +0000 A systemd status update https://lwn.net/Articles/401726/ https://lwn.net/Articles/401726/ lethargo <div class="FormattedComment"> Even if you can add sysvinit scripts of your own, it sounds like they plan to use C in place of most of Fedora's default service init scripts. As you noted, system administrators can still add their own init scripts.<br> <p> However, what using C does NOT preserve (or what I worry about anyway) is the ability of a system administrator to see what the system is doing on boot, for all services, especially the default ones. I may not want to change them. However, as a system administrator one thing I like about Linux over Windows is the ability to look at exactly what is happening during boot and daemon startup scripts, instead of the more opaque Windows services control panel. <br> <p> I would hate to have to install the C code (or find the correct version of it online) and read it to know the details of what is happening during boot.<br> <p> </div> Tue, 24 Aug 2010 16:39:11 +0000 Actually it kinda is... https://lwn.net/Articles/401700/ https://lwn.net/Articles/401700/ khim <blockquote><font class="QuotedText">There might be good reasons to use C here, but the language itself is for sure not one of them.</font></blockquote> <p>Actually there are one good reason: it's language with compiler and it does not require massive support libraries. Why it's important to have language with compiler? Well, if you'll take a look above you'll see that everyone perceive "flexibility" of shell scripts as something really cool. Well, in rare cases where you must change something it's cool and I like the fact that systemd can use them. But in most cases dirty hacks in shell scripts are <b>wrong</b> way to fix the problem and they will regularly break something few years later (usually after system upgrade). Immutability of C solution is actually a <b>good</b> thing: it means it's easier to locate and neutralize shellscript hacks.</p> <p>In a sense systemd is "back to the future" system: long ago /etc/init used /etc/inittab and managed processes directly. It was simple, robust but not very flexible system. Unfortunately when it was found that said system is not flexible enough instead of fixing it hacks were layered over hacks and we've got the mess called SysVInit. SystemD is just a reimplementation of venerable /etc/init on the new level - and it's awesome, like original.</p> Tue, 24 Aug 2010 16:01:50 +0000 A systemd status update https://lwn.net/Articles/401679/ https://lwn.net/Articles/401679/ marcH <div class="FormattedComment"> Then better insist on such progress rather than highlight the fact that they are implemented in the nearest language to assembly.<br> <p> There might be good reasons to use C here, but the language itself is for sure not one of them.<br> <p> </div> Tue, 24 Aug 2010 13:43:15 +0000 A systemd status update https://lwn.net/Articles/401672/ https://lwn.net/Articles/401672/ rahulsundaram <div class="FormattedComment"> Contrived? That is a copy paste from my system. If you can present a case where you must absolutely must need a shell script, I am interested in hearing about that. 99% of it is boilerplate code and copy pasting the same stuff all over the place makes no sense. <br> </div> Tue, 24 Aug 2010 13:01:07 +0000 A systemd status update https://lwn.net/Articles/401665/ https://lwn.net/Articles/401665/ njd27 <div class="FormattedComment"> Reducing complexity, coupling and duplication of code would be good things even if there isn't a huge performance improvement to be had.<br> </div> Tue, 24 Aug 2010 12:06:55 +0000 A systemd status update https://lwn.net/Articles/401661/ https://lwn.net/Articles/401661/ sorpigal <div class="FormattedComment"> Your example is a bit contrived. Yes, it is possible to replace a complex shell script with something simpler. Does it follow that it is possible to replace *all* complex shell scripts with something simpler? Yes, an init script very rarely changes. Does it follow that init scripts *never* require hand-edited tweaks?<br> <p> The value of init scripts is that I can know for sure what happens at init time because I can read the source and it's in a format every sysadmin is familiar with. I like a lot of things about systemd, but trying to kill shell scripts during init is not one of them. If performance gains are not really the goal, as someone said, and moving away from shell scripts didn't gain you much anyway, then why do it? It seems obviously detrimental to me, no matter what the benefits are.<br> </div> Tue, 24 Aug 2010 11:41:34 +0000 A systemd status update https://lwn.net/Articles/401640/ https://lwn.net/Articles/401640/ dgm <div class="FormattedComment"> Of course. Ask Arjan van de Ven and he will tell you that the key to boot really fast is to boot less, not to boot in parallel.<br> </div> Tue, 24 Aug 2010 07:48:22 +0000 A systemd status update https://lwn.net/Articles/401637/ https://lwn.net/Articles/401637/ airlied <div class="FormattedComment"> You realise most init scripts are shipped in packages, and hand editing them will make them get replaced at package upgrade time.<br> <p> At least on Fedora we have /etc/sysconfig/ to add tunables etc.<br> <p> Not sure how good a sysadmin is if they have to resort to hacking around in random scripts instead of providing a supportable solution, definitely not the type of sysadmin that I'd like to employ.<br> <p> </div> Tue, 24 Aug 2010 07:28:03 +0000 A systemd status update https://lwn.net/Articles/401632/ https://lwn.net/Articles/401632/ aleXXX <div class="FormattedComment"> <font class="QuotedText">&gt; &gt; We reimplemented almost all boot-up and shutdown scripts of the standard </font><br> <font class="QuotedText">&gt; &gt; Fedora install in much smaller, simpler and faster C utilities, or in </font><br> <font class="QuotedText">&gt; &gt; systemd itself.</font><br> <p> Replacing script files with compiled C programs ?<br> In the age of multicore gigahertz CPUs we are going from high-level scripting language back to C to gain a few seconds while booting ?<br> <p> What am I misunderstanding here ?<br> <p> Alex<br> <p> </div> Tue, 24 Aug 2010 06:53:46 +0000 A systemd status update https://lwn.net/Articles/401631/ https://lwn.net/Articles/401631/ aleXXX <div class="FormattedComment"> Now this is a *really* bad idea.<br> It means that there is duplicated code (init scripts and service files), and usually only one path of them is used. <br> <p> Just stating the obvious: the unused duplicated path (the init scripts) will be broken after a short time.<br> <p> Alex<br> <p> </div> Tue, 24 Aug 2010 06:51:10 +0000 A systemd status update https://lwn.net/Articles/401629/ https://lwn.net/Articles/401629/ Kamilion <div class="FormattedComment"> Even upstart cleaned up a lot of things from raw shellscript:<br> <p> # /etc/init/nginx.conf<br> # nginx - starts the nginx webserver<br> start on (net-device-up and local-filesystems)<br> stop on runlevel [016]<br> <p> pre-start exec /usr/sbin/nginx -t<br> <p> expect fork<br> respawn<br> exec /usr/sbin/nginx<br> <p> # /etc/init/php-fastcgi.conf<br> # php-fastcgi - starts php-cgi as an external FASTCGI process<br> start on (net-device-up and local-filesystems)<br> stop on runlevel [!2345]<br> <p> expect fork<br> respawn<br> exec /usr/bin/sudo -u www-data PHP_FCGI_CHILDREN=2 PHP_FCGI_MAX_REQUESTS=25 /usr/bin/php-cgi -q -b /tmp/php-fastcgi.socket<br> <p> Pretty simple; How would this look as two systemd units? <br> (Feel free to specify better start/stop criteria)<br> </div> Tue, 24 Aug 2010 06:04:19 +0000 A systemd status update https://lwn.net/Articles/401628/ https://lwn.net/Articles/401628/ rvfh <div class="FormattedComment"> I think you made your point ;)<br> </div> Tue, 24 Aug 2010 05:53:26 +0000 A systemd status update https://lwn.net/Articles/401623/ https://lwn.net/Articles/401623/ RogerOdle <div class="FormattedComment"> It occurs to me that there is a significant time used spawning processes where these processes are for scripts or C programs. Can these C modules be linked into a single loadable module? I am not thinking about plug-ins that use run-time loading+linking but actually performing a static link of the modules to produce a fat module. This link process could be done as part of a system configuration. Parallel operation may be done by forking or with threads. How would the performance of this compare to the current design of systemd?<br> </div> Tue, 24 Aug 2010 05:25:40 +0000 A systemd status update https://lwn.net/Articles/401593/ https://lwn.net/Articles/401593/ rahulsundaram <div class="FormattedComment"> Package maintainers already have written init scripts. They don't have to convert. If they want to take advantage of systemd native service files, they could write one as well but this is hardly going to take any time at all. Here is an actual example<br> <p> NetworkManager.service file for systemd<br> ----------------------------------------<br> <p> [Unit]<br> Description=Network Manager<br> After=syslog.target<br> <p> [Service]<br> Type=dbus<br> BusName=org.freedesktop.NetworkManager<br> ExecStart=/usr/sbin/NetworkManager --no-daemon<br> <p> [Install]<br> WantedBy=network.target multi-user.target<br> Alias=dbus-org.freedesktop.NetworkManager.service<br> <p> ----<br> <p> The equivalent sysvinit script is:<br> -----------------------------------<br> <p> #!/bin/sh<br> #<br> # NetworkManager: NetworkManager daemon<br> #<br> # chkconfig: - 23 84<br> # description: This is a daemon for automatically switching network \<br> # connections to the best available connection.<br> #<br> # processname: NetworkManager<br> # pidfile: /var/run/NetworkManager/NetworkManager.pid<br> #<br> ### BEGIN INIT INFO<br> # Provides: network_manager $network<br> # Required-Start: messagebus<br> # Required-Stop: messagebus<br> # Default-Start: 2 3 4 5<br> # Default-Stop: 0 1 6<br> # Short-Description: start and stop NetworkManager<br> # Description: NetworkManager is a tool for easily managing network connections<br> ### END INIT INFO<br> <p> prefix=/usr<br> exec_prefix=/usr<br> sbindir=/usr/sbin<br> <p> NETWORKMANAGER_BIN=${sbindir}/NetworkManager<br> <p> # Sanity checks.<br> [ -x $NETWORKMANAGER_BIN ] || exit 1<br> <p> # Source function library.<br> . /etc/rc.d/init.d/functions<br> <p> # Source network configuration<br> . /etc/sysconfig/network<br> <p> # so we can rearrange this easily<br> processname=NetworkManager<br> servicename=NetworkManager<br> pidfile=/var/run/NetworkManager/NetworkManager.pid<br> <p> RETVAL=0<br> <p> start()<br> {<br> echo -n $"Setting network parameters... "<br> sysctl -e -p /etc/sysctl.conf &gt;/dev/null 2&gt;&amp;1<br> success<br> echo<br> <p> echo -n $"Starting NetworkManager daemon: "<br> daemon --pidfile $pidfile --check $servicename $processname --pid-file=$pidfile<br> RETVAL=$?<br> echo<br> if [ -n "${NETWORKWAIT}" ]; then <br> [ -z "${LINKDELAY}" ] &amp;&amp; LINKDELAY=10<br> echo -n $"Waiting for network..."<br> nm-online -q --timeout=$LINKDELAY || nm-online -q -x --timeout=30<br> [ "$?" = "0" ] &amp;&amp; success "network startup" || failure "network startup"<br> echo<br> [ -n "${NETWORKDELAY}" ] &amp;&amp; /bin/sleep ${NETWORKDELAY}<br> fi<br> [ $RETVAL -eq 0 ] &amp;&amp; touch /var/lock/subsys/$servicename<br> }<br> <p> stop()<br> {<br> echo -n $"Stopping NetworkManager daemon: "<br> killproc -p $pidfile $servicename<br> RETVAL=$?<br> echo<br> if [ $RETVAL -eq 0 ]; then<br> rm -f /var/lock/subsys/$servicename<br> rm -f $pidfile<br> fi<br> }<br> <p> # See how we were called.<br> case "$1" in<br> start)<br> start<br> ;;<br> stop)<br> stop<br> ;;<br> status)<br> status -p $pidfile $processname<br> RETVAL=$?<br> ;;<br> restart)<br> stop<br> start<br> ;;<br> condrestart)<br> if [ -f /var/lock/subsys/$servicename ]; then<br> stop<br> start<br> fi<br> ;;<br> *)<br> echo $"Usage: $0 {start|stop|status|restart|condrestart}"<br> ;;<br> esac<br> exit $RETVAL<br> <p> <p> <p> </div> Tue, 24 Aug 2010 01:00:48 +0000 A systemd status update https://lwn.net/Articles/401596/ https://lwn.net/Articles/401596/ nicooo <div class="FormattedComment"> Just one, for whatever system their distribution uses to start daemons. It looks like for systemd it's only an ini file.<br> </div> Tue, 24 Aug 2010 00:55:30 +0000 I/O scheduler performance: not good enough! https://lwn.net/Articles/401587/ https://lwn.net/Articles/401587/ wmf <div class="FormattedComment"> The FIEMAP ioctl does this, but in general apps probably shouldn't try to implement such optimizations; Linux isn't an exokernel.<br> </div> Tue, 24 Aug 2010 00:12:47 +0000 I/O scheduler performance: not good enough! https://lwn.net/Articles/401567/ https://lwn.net/Articles/401567/ renox <div class="FormattedComment"> I remember being very impressed by a paper where userspace application can schedule their I/O by knowing (an approximation of) the block number for the file they use:<br> <font class="QuotedText">&gt;&gt;As an example, a tar of the Linux kernel tree was 82.5 seconds using GNU tar, while our modified tar completed in 17.9 seconds.&lt;&lt;</font><br> <p> The paper is here:<br> <a rel="nofollow" href="http://simula.no/research/nd/publications/Simula.ND.399/simula_pdf_file">http://simula.no/research/nd/publications/Simula.ND.399/s...</a><br> <p> I wonder if there will be eventually a system call to know the block number of a file?<br> </div> Mon, 23 Aug 2010 23:15:40 +0000 A systemd status update https://lwn.net/Articles/401569/ https://lwn.net/Articles/401569/ jspaleta <div class="FormattedComment"> No... four!<br> sysV style init<br> upstart native job definition<br> systemd native unit definition.<br> launchd native plist definition.<br> <p> <p> -jef<br> </div> Mon, 23 Aug 2010 23:14:31 +0000 A systemd status update https://lwn.net/Articles/401563/ https://lwn.net/Articles/401563/ mezcalero <div class="FormattedComment"> Yes, we do see benefits already. Just not in all setups.<br> <p> Note that systemd is *not* about on-demand activation. That's a misconception. While we do support that, at least in case of socket-based activation it will be used only for a minimal number of services. i.e. SSH and CUPS, but that's basically it. Implementing socket-based activation and centralizing bus-based activation in systemd enables us to do race-free parallelization. And that's what's is much more key in systemd's design: we can start providers and consumers of socket or bus services *at the same time*! Ordering of the daemon startup is *not* necessary anymore, and the kernel CPU and IO scheduler will magically order the entire execution of us. And that's so amazing.<br> <p> It takes a while to wrap you head around it, but think about it and maybe reread my original posting again. But if you think systemd was about on-demand then you have not understood it. It's about parallelization.<br> <p> In fact, doing things on-demand in many cases is recipe to make things slower: if it is clear that something is used anyway spawning it on-demand only means you delay its start-up to the latest moment possible, while it would be much smarter to start it is early as possible so that it is already ready to process requests when it is actually needed.<br> <p> And we don't take the shell away from you. You can continue to use it in any way you want. We just rewrote a bunch of stuff that is complex in shell in simple C. And since it is simpler there's less reason to patch it later on.<br> </div> Mon, 23 Aug 2010 23:10:18 +0000 A systemd status update https://lwn.net/Articles/401566/ https://lwn.net/Articles/401566/ jond <div class="FormattedComment"> Just for the sake of clarity, my objection to this is bitrot, which dlang has already covered.<br> </div> Mon, 23 Aug 2010 23:09:00 +0000 A systemd status update https://lwn.net/Articles/401565/ https://lwn.net/Articles/401565/ jond <div class="FormattedComment"> So packagers and/or daemon authors have to write TWO startup scripts now?<br> </div> Mon, 23 Aug 2010 23:07:58 +0000 A systemd status update https://lwn.net/Articles/401564/ https://lwn.net/Articles/401564/ jond <div class="FormattedComment"> <font class="QuotedText">&gt; There's not doubt that systemd is the right approach</font><br> <p> I don't know about that. I have doubts. I've seen others, too, who think that upstart has it right.<br> </div> Mon, 23 Aug 2010 23:05:42 +0000 A systemd status update https://lwn.net/Articles/401560/ https://lwn.net/Articles/401560/ nix <div class="FormattedComment"> Quite so. I was scared by this at first, too, but the whole reason the systemd conversion of these scripts to C was so easy is that virtually all initscripts are 99% the same in any case. So an admin wanting a new script can just take an existing one, any existing one, and hack it a bit.<br> </div> Mon, 23 Aug 2010 22:43:10 +0000 A systemd status update https://lwn.net/Articles/401557/ https://lwn.net/Articles/401557/ rahulsundaram <div class="FormattedComment"> Fedora 14 is scheduled to have have systemd available by default but the current recommendation is to just ship both or not bother converting at all yet. I have to note that once I have written the init scripts for the packages, I have almost never seen any need to update them. Therefore going by experience, the init scripts are already in a very much stagnant change. If anyone can point to init script configuration needs that are currently not addressable via systemd's native unit files, I rather fix getting systemd enhanced to fix that problem rather than fallback to init scripts in the longer run. So if you see any current issues, do talk to distributions and upstream systemd developers and let them know. <br> </div> Mon, 23 Aug 2010 22:25:37 +0000 A systemd status update https://lwn.net/Articles/401555/ https://lwn.net/Articles/401555/ dlang <div class="FormattedComment"> yes they can, and initially they will (since many platforms will not support systemd)<br> <p> however, how long will it be before the init script bitrots? especially if the package maintainer really only cares about one distro and that distro has systemd available.<br> </div> Mon, 23 Aug 2010 22:19:24 +0000 A systemd status update https://lwn.net/Articles/401540/ https://lwn.net/Articles/401540/ robert_s <div class="FormattedComment"> True, but a sysadmin tends to start with the init script as provided and modify that, rather than reimplement an entire component from scratch.<br> <p> I don't understand how you would be able to make small alterations to the logic of the provided C-implemented modules.<br> </div> Mon, 23 Aug 2010 22:18:39 +0000 A systemd status update https://lwn.net/Articles/401553/ https://lwn.net/Articles/401553/ rahulsundaram <div class="FormattedComment"> Packages can ship *both* legacy init scripts and service files. If you delete the service file, systemd will fallback to reading the init scripts. There is no need to write them from scratch. <br> </div> Mon, 23 Aug 2010 22:16:06 +0000