Bug#668001: debootstrap: cant install systemd instead of sysvinit
Hello, I think this bug has a lot of dev and ops misunderstanding. It's not surprising dev folks think the postinstall hack is good enough, but from an ops perspective it very much is not. Rather than trying to argue that point, let's just move ahead with solving the core problem (debootstrap not honoring excludes). I can confirm from moderately extensive testing the patch provided in this bug resolves the problem of excludes not working and I have not seen any undesired behavior resulting from this. Could we get this uploaded at least to experimental, if not to unstable now that the jessie release has been cut? Are the developers merely too busy and would they welcome an NMU for this? Also, for the other ops folks out there, I have seen quite a bit of back-and-forth discussion about what you can and can't do without patching debootstrap. Here's a quick run-down of the current status (i.e. what we're stuck with for jessie): * You cannot avoid systemd getting installed when using the debootstrap shipped with jessie. Full stop. This impacts both the bare metal installer and debootstrap used for things like LXC containers. You can use debootstrap to install a package which conflicts with systemd in the second phase, but this will merely remove systemd, not purge it. It also will not uninstall systemd's dependencies. * You can provide your own patched version of debootstrap for LXC container hosts but unless you are willing to maintain your own version of the installer images as well, you cannot do anything about the bare metal installs. (Remember, the installer gets rebuilt from time to time to accommodate kernel upgrades and you may be forced to do the same to keep your preseeds working...) * If you are using patched debootstrap, installing sysvinit instead of systemd looks like this: * bare metal: Preseed with something like the following: # Individual base packages to exclude d-i base-installer/excludes string systemd systemd-sysv # Additional base packages to include d-i base-installer/includes string sysvinit-core * LXC container: Adjust the container template so it looks something like this: PACKAGES_EXCLUDE=systemd,systemd-sysv PACKAGES_INCLUDE=...,sysvinit-core echo Downloading debian minimal ... debootstrap --verbose --variant=minbase --arch=${ARCH} \ --exclude ${PACKAGES_EXCLUDE} --include ${PACKAGES_INCLUDE} \ ${RELEASE} ${CACHE}/partial-${RELEASE}-${ARCH} http://${BITBUCKET}/debian; (Ours is pretty heavily customized; sorry the variable names are all different than they are in the script provided by Debian...) * If you aren't using patched debootstrap, you probably want something like the following in your post-install (f.e. in a script executed as an installer late command in-target): # We are running non-interactive export DEBIAN_FRONTEND=noninteractive export DEBIAN_PRIORITY=critical # Clean up if the installer used a defective debootstrap which installed systemd dpkg -l | egrep -q '^.[^n]. (systemd|systemd-sysv) ' { echo -e Defective installer debootstrap; systemd was installed at some point...\n # In the worst case, systemd may be the only thing installed apt-get -mqy install sysvinit-core # The installer may have left config files around dpkg -P systemd systemd-sysv # Remove non-Important systemd dependencies unless depended by another package for PKG in acl dbus libcap2-bin libcryptsetup4 libpam-systemd lvm2 systemd-shim systemd-ui; do dpkg -P ${PKG} || true done # Remove files which systemd messily leaves around the filesystem rm -vrf /etc/dbus-1 /etc/pam.d/systemd-user /etc/systemd/*.conf echo } (Of course, one of the reasons ops folks don't like having to do this is Debian might change the systemd deps and then we have to go change the post-install script to accommodate...) Thanks, -Jacob -- An original IBM 4.77MHz PC reports 0.7 bogomips running Linux 8086, but can still run a webserver! -Alan Cox, lkml post, 21 Mar 2003 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#668001: debootstrap: cant install systemd instead of sysvinit
Woody Suwalski terraluna...@gmail.com (2014-10-27): You have mentioned that there is a trivial late_command workaround for systemd. Could you please point to the how-to? Well, quite obviously: preseed/late_command=in-target apt-get install -y sysvinit-core I would somewhat expect people resisting systemd so much to figure that out by themselves. Mraw, KiBi. signature.asc Description: Digital signature
Bug#668001: debootstrap: cant install systemd instead of sysvinit
On Fri, 17 Oct 2014 05:57:30 +0200 Cyril Brulebois k...@debian.org wrote: Kenshi Muto km...@debian.org (2014-10-17): -BEGIN PGP SIGNED MESSAGE- Hash: SHA512 Hi, I made a patch to see each Depends:/Pre-Depends: and respect exclude parameter. If init Pre-Depends: systemd-sysv | sysvinit-core | upstart, exclude=none gets systemd-sysv. exclude=systemd-sysv gets sysvinit-core. exclude=systemd-sysv,sysvinit-core gets upstart. (exclude=systemd-sysv,sysvinit-core,upstart gets nothing, but systemd-sysv will be installed later by apt-get.) Thanks for the patch but… I'm really uncomfortable adding that kind of patch this late in the release cycle, especially since the “I don't want systemd” “problem” is trivially solved with a late_command. Mraw, KiBi. Cyril, Kenshi's debootstrap patch has worked for me. I was able to build a nosystemd debootstrap base and then a full custom Debian distro image. I had some problems with talking to X, but still managed to make it work. You have mentioned that there is a trivial late_command workaround for systemd. Could you please point to the how-to? Thanks, Woody -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#668001: debootstrap: cant install systemd instead of sysvinit
So what kind of testing would help to get this included in Jessie? Can I offer assistance? It strikes me that an awful lot of the screaming about systemd would die down a LOT if there were a definitive way to install a system with systemvinit-core rather than systemd -- as opposed to having to fix things after the fact (especially since the instructions floating around are conflicting, and there seem to be some cases of dependency hell - where uninstalling systemd leads to mass removals of other packages). It sure would be nice if we could simply pre-seed base-installer with a couple of well-defined include and exclude statements, and end up with a systemd-free system. So.. what can I do to help (given that I'm a sys admin, not a c coder). Miles Fidelman On Fri, 17 Oct 2014 13:09:19 +0900 Kenshi Muto km...@debian.org wrote: At Fri, 17 Oct 2014 05:57:30 +0200, Cyril Brulebois wrote: Kenshi Muto km...@debian.org (2014-10-17): Thanks for the patch but$B!D(B I'm really uncomfortable adding that kind of patch this late in the release cycle, especially since the $B!H(BI don't want systemd$B!I(B $B!H(Bproblem$B!I(B is trivially solved with a late_command. Yes, I understand current situation of release cycle. It would be better we considered this issue some month ago. I myself don't matter about systemd, but I heared there was a bootup problem when one created a root system for container (such as LXC) with using debootstrap. (though I'm not sure about this.) Thanks, -- Kenshi Muto km...@debian.org -- In theory, there is no difference between theory and practice. In practice, there is. Yogi Berra -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#668001: debootstrap: cant install systemd instead of sysvinit
On Fri, 17 Oct 2014 13:09:19 +0900 Kenshi Muto km...@debian.org wrote: At Fri, 17 Oct 2014 05:57:30 +0200, I myself don't matter about systemd, but I heared there was a bootup problem when one created a root system for container (such as LXC) with using debootstrap. (though I'm not sure about this.) I tried jessie lxc with the following step: http://feeding.cloud.geek.nz/posts/lxc-setup-on-debian-jessie/ It works fine and lxc container had no systemd, sysvinit. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#668001: debootstrap: cant install systemd instead of sysvinit
-BEGIN PGP SIGNED MESSAGE- Hash: SHA512 Hi, I made a patch to see each Depends:/Pre-Depends: and respect exclude parameter. If init Pre-Depends: systemd-sysv | sysvinit-core | upstart, exclude=none gets systemd-sysv. exclude=systemd-sysv gets sysvinit-core. exclude=systemd-sysv,sysvinit-core gets upstart. (exclude=systemd-sysv,sysvinit-core,upstart gets nothing, but systemd-sysv will be installed later by apt-get.) Thanks, - -- Kenshi Muto km...@debian.org -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.9 http://mailcrypt.sourceforge.net/ iQIcBAEBCgAGBQJUQIhGAAoJEB0hyD3EUuD8VLMP/3XUbPfAofwIdZ6RxvBea5E1 Ae5f8O/5NLOal6DvJ1qdkSItgsz3toyy4rHPduaYE5hA4KBvxq0tSXrFZuIi/fjZ JBkWsNpy9kAkVZomp6VA2zNtHipdyI5KIZFfkvoZKOMe28hCMgoisKoxj6PYzDiz fw+w4n1hOxokNz+GzxmcZCGzk/q4h8WGm9y0IGYOU7/DKihhiWrePvrh4X0sNZXw /T4XnSg7wYRVnGY0KxHOGII6hAGM6O606Nc6xXKiUIYv0fE6C3SeS7nHHZX2NuVf v3kIOJ8N8FwO0qC+Pm0r+oKjLUEd8Ov+jn9u5w65BN0yL2bc2KtST92ezM4PV050 kM4udePu8P0aqwim/s5LBdjlYwShz+DYOuxLq/xTZvaA1GXDetF7B21ZvsmlDjWX 04/xAJMqNF/1/sF6JJPeVnXwf0dT0MkxSi82fELf3Pn/NFadXwS+VYtfJKFTtemA PXSOv9AHpvxnrXsWgY5Vkd8VOLb8A502EC1wNuVZsWQSSvwXVU20drCUdR+YL4T2 qdmhOiOzoTBPs9nB7N+tl5XxejZstS6yiiMLQx4qvAWx0+VGg9P5Rzffq4Tnwqci eMj9eASmMR7JYjL7v695dC7Flp/1tGdULxIo4LqHRhlcNvAMyFKOyQDDYlCwuDAu Ek2H15HB2eu3KiTuwvIa =MsM/ -END PGP SIGNATURE- 668001.patch Description: Binary data
Bug#668001: debootstrap: cant install systemd instead of sysvinit
Kenshi Muto km...@debian.org (2014-10-17): -BEGIN PGP SIGNED MESSAGE- Hash: SHA512 Hi, I made a patch to see each Depends:/Pre-Depends: and respect exclude parameter. If init Pre-Depends: systemd-sysv | sysvinit-core | upstart, exclude=none gets systemd-sysv. exclude=systemd-sysv gets sysvinit-core. exclude=systemd-sysv,sysvinit-core gets upstart. (exclude=systemd-sysv,sysvinit-core,upstart gets nothing, but systemd-sysv will be installed later by apt-get.) Thanks for the patch but… I'm really uncomfortable adding that kind of patch this late in the release cycle, especially since the “I don't want systemd” “problem” is trivially solved with a late_command. Mraw, KiBi. signature.asc Description: Digital signature
Bug#668001: debootstrap: cant install systemd instead of sysvinit
At Fri, 17 Oct 2014 05:57:30 +0200, Cyril Brulebois wrote: Kenshi Muto km...@debian.org (2014-10-17): Thanks for the patch but… I'm really uncomfortable adding that kind of patch this late in the release cycle, especially since the “I don't want systemd” “problem” is trivially solved with a late_command. Yes, I understand current situation of release cycle. It would be better we considered this issue some month ago. I myself don't matter about systemd, but I heared there was a bootup problem when one created a root system for container (such as LXC) with using debootstrap. (though I'm not sure about this.) Thanks, -- Kenshi Muto km...@debian.org -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#668001: debootstrap: cant install systemd instead of sysvinit
shawn wrote: Package: debootstrap Version: 1.0.39 Severity: normal Tags: d-i if you use debootstrap unstable foo --include=systemd-sysv --exclude=sysvinit the install fails dpkg: regarding .../systemd-sysv_44-1_i386.deb containing systemd-sysv: systemd-sysv conflicts with sysvinit sysvinit (version 2.88dsf-22.1) is present and installed. dpkg: error processing /var/cache/apt/archives/systemd-sysv_44-1_i386.deb (--unpack): conflicting packages - not installing systemd-sysv The problem is that debootstrap handles --exclude before adding required priority packages to its list, so sysvinit is added back then. #557322 is a prior bug report about this, and has a patch that at least handles excluding it from the required priority packages, although it may still be added back by dependency resolution. besides having this annoying for testing, esp with systemd-nspawn, having this work will be a prerequisite for having systemd be the default, or at least installable in debian-installer I don't think that's necessarily true, there are many ways d-i could handle getting systemd installed, and if it were made the default, --exclude would not be needed at all. -- see shy jo signature.asc Description: Digital signature
Bug#668001: debootstrap: cant install systemd instead of sysvinit
Package: debootstrap Version: 1.0.39 Severity: normal Tags: d-i if you use debootstrap unstable foo --include=systemd-sysv --exclude=sysvinit the install fails besides having this annoying for testing, esp with systemd-nspawn, having this work will be a prerequisite for having systemd be the default, or at least installable in debian-installer -- System Information: Debian Release: wheezy/sid APT prefers precise-updates APT policy: (500, 'precise-updates'), (500, 'precise-security'), (500, 'precise'), (100, 'precise-backports') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-20-generic (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages debootstrap depends on: ii wget 1.13.4-2ubuntu1 Versions of packages debootstrap recommends: ii gnupg 1.4.11-3ubuntu2 ii ubuntu-keyring 2011.11.21 debootstrap suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org