[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Stretch to Buster with sysvinit



On 2019-09-17 at 09:45, Greg Wooledge wrote:

> On Tue, Sep 17, 2019 at 09:40:50AM -0400, The Wanderer wrote:
>
>> I believe its name was chosen with
>> insufficient consideration, and is not in fact derived from its
>> function.
> 
> You're not looking closely enough.
> 
>> $ apt-file show systemd-sysv
>> systemd-sysv: /sbin/halt
>> systemd-sysv: /sbin/init
>> systemd-sysv: /sbin/poweroff
>> systemd-sysv: /sbin/reboot
>> systemd-sysv: /sbin/runlevel
>> systemd-sysv: /sbin/shutdown
>> systemd-sysv: /sbin/telinit
> 
>> Unless installing systemd (via non-Debian-packaged means) doesn't
>> normally / necessarily provide some/all of those binaries, [...]
> 
> Binaries?  What binaries?

In this case, I was using "binaries" as synonymous with "executables",
and a symlink to an executable is itself effectively executable.

> wooledg:~$ ls -ld /sbin/{halt,init,poweroff,reboot,runlevel,shutdown,telinit}
> lrwxrwxrwx 1 root root 14 Aug 20 07:50 /sbin/halt -> /bin/systemctl
> lrwxrwxrwx 1 root root 20 Aug 20 07:50 /sbin/init -> /lib/systemd/systemd
> lrwxrwxrwx 1 root root 14 Aug 20 07:50 /sbin/poweroff -> /bin/systemctl
> lrwxrwxrwx 1 root root 14 Aug 20 07:50 /sbin/reboot -> /bin/systemctl
> lrwxrwxrwx 1 root root 14 Aug 20 07:50 /sbin/runlevel -> /bin/systemctl
> lrwxrwxrwx 1 root root 14 Aug 20 07:50 /sbin/shutdown -> /bin/systemctl
> lrwxrwxrwx 1 root root 14 Aug 20 07:50 /sbin/telinit -> /bin/systemctl

To be fair, I can't exactly run this command myself, as I don't have a
machine handy where systemd is even installed (much less running as
init).

> systemd-sysv is, as advertised, a package that provides a bunch of
> symlinks to replace the core sysvinit commands.
> 
>  .
>  This package provides the manual pages and links needed for systemd
>  to replace sysvinit. Installing systemd-sysv will overwrite /sbin/init with a
>  link to systemd.
> 
> Seems fairly truthful.

So if I'm understanding you correctly, you're claiming that some or most
of those commands (certainly not all of them, given /sbin/init) are
sysvinit-specific, and that the only reason for systemd-sysv to provide
them is to act as a UI-compatibility layer for people who expect the
sysvinit UI.

If that's the case, then given current package dependency layouts, it
appears to be effectively impossible to get a Debian system with systemd
as init but *without* that compatibility layer. That seems just as bad
as being unable to get systemd as init at all; there should be one
package which provides systemd as init, and another (probably depending
on the first) which provides that compatibility layer. The
compatibility-layer package would, indeed, be appropriate to have the
name systemd-sysv, but the "provides systemd as init" package should be
called something like systemd-init.

If it's not the case - if those commands are generic, and not specific
to sysvinit, as I had presumed them not to be (although in hindsight,
/sbin/runlevel seems like an unlikely candidate to be generic in that
way) - then my original argument that they have nothing to do with
sysvinit would apply.

-- 
   The Wanderer

The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man.         -- George Bernard Shaw

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: