[Bug 1814355] Re: snapd remove /usr/local/bin from the PATH for all systemd unit (bionic SRU regression)
Dimitri John Ledkov
launchpad at surgut.co.uk
Wed Jun 26 09:10:17 UTC 2019
** Description changed:
[Impact]
- * Initramfs exports PATH to init, which is different than the expected
+ * Initramfs exports PATH to init, which is different than the expected
stock / compiled one, which results in slightly different runtime
behaviour of init, if it has environment generators as well.
-
[Test Case]
- * Disable snapd env generator & disable initrd-less boot (if enabled)
- sudo chmod -x /usr/lib/systemd/system-environment-generators/snapd-env-generator
- set empty GRUB_FORCE_PARTUUID= and update-grub
-
- * Reboot cosmic system with an initramfs
- $ journalctl -b -k | grep initramfs
- (verify that initramfs was unpacked)
+ * Disable snapd env generator & disable initrd-less boot (if enabled)
+ sudo chmod -x /usr/lib/systemd/system-environment-generators/snapd-env-generator
+ set empty GRUB_FORCE_PARTUUID= and update-grub
- * Check the path used by systemd, ie.:
- systemd-run /usr/bin/env
- journalctl -b -e | grep PATH
+ * Reboot cosmic system with an initramfs
+ $ journalctl -b -k | grep initramfs
+ (verify that initramfs was unpacked)
- It should contain /usr/local
+ * Check the path used by systemd, ie.:
+ systemd-run /usr/bin/env
+ journalctl -b -e | grep PATH
- * Upgrade initramfs-tools & reboot
+ It should contain /usr/local
- The path should remain the same and it should contain /usr/local
+ * Enable any env generator for example & reboot:
+ /usr/lib/systemd/system-environment-generators/xnox.sh
+ #!/bin/sh
+ echo XNOX=ROCKS
- * Enable snapd env generator and reboot again
+ * Verify path used by systemd
- * Verify path used by systemd
+ It should still contain /usr/local
- It should still contain /usr/local & /snap/bin
+ Repeat again with the new initramfs-tools.
+
[Regression Potential]
- * We are hardcoding, the same path, yet again, in one more place.
- However, we are setting it to a well-known value as it was pre
+ * We are hardcoding, the same path, yet again, in one more place. However, we are setting it to a well-known value (see https://wiki.ubuntu.com/PATH
+ ) as it is universally expected and regressed when booted (a) with initrd AND (b) with broken path exported by initrd AND (c) with an env-generator.
[Other Info]
-
- * Anything else you think is useful to include
- * Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board
- * and address these questions in advance
+
+ * Anything else you think is useful to include
+ * Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board
+ * and address these questions in advance
===
Big regression in 2.37.1+18.04 compare to version 2.34.2
all these paths /usr/local/sbin & /usr/local/bin are not anymore in
the path of all systemd process .
So we can not start a daemon that use /usr/local/bin
reinstalling package 2.34.2 fix the problem
in 2.34.2 :
~# strings /proc/$(pidof /lib/systemd/systemd-resolved)/environ | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
in 2.37.1+18.04 :
~# strings /proc/$(pidof /lib/systemd/systemd-resolved)/environ | grep PATH
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/snap/bin
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to initramfs-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1814355
Title:
snapd remove /usr/local/bin from the PATH for all systemd unit (bionic
SRU regression)
Status in initramfs-tools package in Ubuntu:
Fix Released
Status in snapd package in Ubuntu:
Confirmed
Status in systemd package in Ubuntu:
New
Status in initramfs-tools source package in Bionic:
New
Status in snapd source package in Bionic:
Fix Released
Status in systemd source package in Bionic:
New
Status in initramfs-tools source package in Cosmic:
New
Status in snapd source package in Cosmic:
New
Status in systemd source package in Cosmic:
New
Bug description:
[Impact]
* Initramfs exports PATH to init, which is different than the
expected stock / compiled one, which results in slightly different
runtime behaviour of init, if it has environment generators as well.
[Test Case]
* Disable snapd env generator & disable initrd-less boot (if enabled)
sudo chmod -x /usr/lib/systemd/system-environment-generators/snapd-env-generator
set empty GRUB_FORCE_PARTUUID= and update-grub
* Reboot cosmic system with an initramfs
$ journalctl -b -k | grep initramfs
(verify that initramfs was unpacked)
* Check the path used by systemd, ie.:
systemd-run /usr/bin/env
journalctl -b -e | grep PATH
It should contain /usr/local
* Enable any env generator for example & reboot:
/usr/lib/systemd/system-environment-generators/xnox.sh
#!/bin/sh
echo XNOX=ROCKS
* Verify path used by systemd
It should still contain /usr/local
Repeat again with the new initramfs-tools.
[Regression Potential]
* We are hardcoding, the same path, yet again, in one more place. However, we are setting it to a well-known value (see https://wiki.ubuntu.com/PATH
) as it is universally expected and regressed when booted (a) with initrd AND (b) with broken path exported by initrd AND (c) with an env-generator.
[Other Info]
* Anything else you think is useful to include
* Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board
* and address these questions in advance
===
Big regression in 2.37.1+18.04 compare to version 2.34.2
all these paths /usr/local/sbin & /usr/local/bin are not anymore in
the path of all systemd process .
So we can not start a daemon that use /usr/local/bin
reinstalling package 2.34.2 fix the problem
in 2.34.2 :
~# strings /proc/$(pidof /lib/systemd/systemd-resolved)/environ | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
in 2.37.1+18.04 :
~# strings /proc/$(pidof /lib/systemd/systemd-resolved)/environ | grep PATH
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/snap/bin
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1814355/+subscriptions
More information about the foundations-bugs
mailing list