Re: Bug#913061: systemd: stop shipping /bin/systemd

2019-09-12 Thread Ansgar
Ben Hutchings writes:
> On Wed, 2019-09-11 at 19:20 +0200, Ansgar wrote:
>> would it be possible to add a fallback to try /lib/systemd/systemd if
>> the user provided init=/bin/systemd and the file no longer exists?
>> 
>> I would like systemd to stop shipping the /bin/systemd symlink as this
>> should not be run by users, however it was suggested to use
>> init=/bin/systemd for testing purposes in the past (see below).  So just
>> removing the symlink might make some systems unbootable.
>
> I don't think it's appropriate for the initramfs to do this sort of
> magic.  Even if they did, this wouldn't cover systems using a custom
> kernel that doesn't need an initramfs.
>
> I think that a better way to handle this would be for systemd itself to
> warn on upgrade if /proc/cmdline contains init=/bin/systemd.

The problem is that many people don't read warning or don't react on
them right away.  So I would prefer if we had an additional safety net.
If this wouldn't result in unbootable systems, I agree that a warning
would be sufficient.

Ansgar



Re: Bug#913061: systemd: stop shipping /bin/systemd

2019-09-11 Thread Ben Hutchings
On Wed, 2019-09-11 at 19:20 +0200, Ansgar wrote:
> Control: clone -1 -2 -3
> Control: reassign -2 initramfs-tools
> Control: reassign -3 dracut
> Control: retitle -2 initramfs-tools: fallback to /lib/systemd/systemd if 
> init=/bin/systemd
> Control: retitle -3 dracut: fallback to /lib/systemd/systemd if 
> init=/bin/systemd
> Control: block -1 by -2
> Control: block -1 by -3
> 
> Dear initramfs maintainers,
> 
> would it be possible to add a fallback to try /lib/systemd/systemd if
> the user provided init=/bin/systemd and the file no longer exists?
> 
> I would like systemd to stop shipping the /bin/systemd symlink as this
> should not be run by users, however it was suggested to use
> init=/bin/systemd for testing purposes in the past (see below).  So just
> removing the symlink might make some systems unbootable.

I don't think it's appropriate for the initramfs to do this sort of
magic.  Even if they did, this wouldn't cover systems using a custom
kernel that doesn't need an initramfs.

I think that a better way to handle this would be for systemd itself to
warn on upgrade if /proc/cmdline contains init=/bin/systemd.

Ben.

-- 
Ben Hutchings
Unix is many things to many people,
but it's never been everything to anybody.




signature.asc
Description: This is a digitally signed message part


Processed: Re: Bug#913061: systemd: stop shipping /bin/systemd

2019-09-11 Thread Debian Bug Tracking System
Processing control commands:

> clone -1 -2 -3
Bug #913061 [systemd] systemd: stop shipping /bin/systemd compat symlink
Bug 913061 cloned as bugs 940050-940051
> reassign -2 initramfs-tools
Bug #940050 [systemd] systemd: stop shipping /bin/systemd compat symlink
Bug reassigned from package 'systemd' to 'initramfs-tools'.
No longer marked as found in versions systemd/239-11.
Ignoring request to alter fixed versions of bug #940050 to the same values 
previously set
> reassign -3 dracut
Bug #940051 [systemd] systemd: stop shipping /bin/systemd compat symlink
Bug reassigned from package 'systemd' to 'dracut'.
No longer marked as found in versions systemd/239-11.
Ignoring request to alter fixed versions of bug #940051 to the same values 
previously set
> retitle -2 initramfs-tools: fallback to /lib/systemd/systemd if 
> init=/bin/systemd
Bug #940050 [initramfs-tools] systemd: stop shipping /bin/systemd compat symlink
Changed Bug title to 'initramfs-tools: fallback to /lib/systemd/systemd if 
init=/bin/systemd' from 'systemd: stop shipping /bin/systemd compat symlink'.
> retitle -3 dracut: fallback to /lib/systemd/systemd if init=/bin/systemd
Bug #940051 [dracut] systemd: stop shipping /bin/systemd compat symlink
Changed Bug title to 'dracut: fallback to /lib/systemd/systemd if 
init=/bin/systemd' from 'systemd: stop shipping /bin/systemd compat symlink'.
> block -1 by -2
Bug #913061 [systemd] systemd: stop shipping /bin/systemd compat symlink
913061 was not blocked by any bugs.
913061 was not blocking any bugs.
Added blocking bug(s) of 913061: 940050
> block -1 by -3
Bug #913061 [systemd] systemd: stop shipping /bin/systemd compat symlink
913061 was blocked by: 940050
913061 was not blocking any bugs.
Added blocking bug(s) of 913061: 940051

-- 
913061: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913061
940050: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=940050
940051: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=940051
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Re: Bug#913061: systemd: stop shipping /bin/systemd

2019-09-11 Thread Ansgar
Control: clone -1 -2 -3
Control: reassign -2 initramfs-tools
Control: reassign -3 dracut
Control: retitle -2 initramfs-tools: fallback to /lib/systemd/systemd if 
init=/bin/systemd
Control: retitle -3 dracut: fallback to /lib/systemd/systemd if 
init=/bin/systemd
Control: block -1 by -2
Control: block -1 by -3

Dear initramfs maintainers,

would it be possible to add a fallback to try /lib/systemd/systemd if
the user provided init=/bin/systemd and the file no longer exists?

I would like systemd to stop shipping the /bin/systemd symlink as this
should not be run by users, however it was suggested to use
init=/bin/systemd for testing purposes in the past (see below).  So just
removing the symlink might make some systems unbootable.

Ansgar

Michael Biebl writes:
>> Running `systemd` in an interactive shell is not a good idea.  To
>> avoid this happening by accident, the /bin/systemd ->
>> /lib/systemd/systemd symlink should no longer be shipped.
>> 
>> Documentation such as [1] still suggests to use `init=/bin/systemd`
>> which would result in non-bootable systems.  (The initramfs might be
>> able to catch this and run /lib/systemd/systemd instead in most cases
>> as unbootable systems are not nice.)
>
> Continuing to ship the symlink is kinda cheap and I'm indeed a bit
> worried that this change might cause unbootable systems.
> We could either add some maintscript code to abort the upgrade if a
> installation is detected that uses init=/bin/systemd (e.g. by checking
> /proc/cmdline).
> But your initramfs idea might indeed by nicer. The initramfs should
> probably output a big, fat warning if it is found that the old
> /bin/systemd symlink is used, so people will migrate to the "new"
> location eventually.
>
> Could you file a bug report against initramfs-tools and block this one
> with it? I guess attaching a working patch for initramfs-tools will
> speed up the process :-)

Done so now, also for dracut.