X-Git-Url: http://www.opopop.net/cgi-bin/gitweb.cgi?p=reminder;a=blobdiff_plain;f=Avoid_systemd_on_Debian_Jessie_with_Mate.mdwn;h=5753c77b3d701212741dfcd4ac883481d1c0f331;hp=7ed8fe6c952c7c4c08fbe98bfea14dc868f71161;hb=8a148705b5d20fdea9201728205a51a9b15aa0d4;hpb=9f4364f10bc178b45a96ea28d6861b5d8855156a diff --git a/Avoid_systemd_on_Debian_Jessie_with_Mate.mdwn b/Avoid_systemd_on_Debian_Jessie_with_Mate.mdwn index 7ed8fe6..5753c77 100644 --- a/Avoid_systemd_on_Debian_Jessie_with_Mate.mdwn +++ b/Avoid_systemd_on_Debian_Jessie_with_Mate.mdwn @@ -78,7 +78,7 @@ to install Mate as a task [^2]. [^2]: And if Avahi-daemon is no more installed, the default for Mate is still to use PulseAudio. You can get rid of the PulseAudio daemon -by replacing package *mate-settings daemon-pulse* by package +by replacing package *mate-settings-daemon-pulse* by package *mate-settings-daemon-gstream*, then suppressing package *pulseaudio*. The installed systemd related packages are then the following: @@ -95,12 +95,12 @@ The installed systemd related packages are then the following: The mandatory dependencies figure is especially important for *libsystemd0*, *libudev1* and *udev*. *libsystemd0* is mostly used to ensure systemd is present, and the additional functionality offered in -that case is (for now...) limited. The lack of functionality is -probably higher if *libudev1* is present but not *udev*, as we have -been living with *udev* since a long time. +that case is (for now...) limited. -So *udev* development taken over by systemd is the real trouble here; -but more about that in the conclusion. +We have been living with *udev* since a long time and it is needed by +*initramfs-tools* and several desktop packages, so it is difficult to +get rid of it. The fact that *udev* development was taken over by +systemd is the real trouble here; but more about that in the conclusion. ## Debian Jessie with Mate and SysV init @@ -128,35 +128,10 @@ package on a desktop machine. [[!img dep-systemd.png size=600x]] -## Debian Jessie with Mate, SysV init and *consolekit* - -Exploring the packages dependencies in -[aptitude](https://wiki.debian.org/Aptitude) gives you the following -alternative set of packages dependencies: - -[[!img dep-consolekit.png size=600x]] - -where package *consolekit* replaces *systemd* at several -places. Notice that it is not possible to change/suppress the -dependency of *udisks2* and *policykit-1*. - -So let's go to change to the above figure by installing *consolekit* [^3], -as a first step to limit your systemd exposure. - -[^3]: In the process of installing *consolekit*, you may have lost (or -not) the ability to resume/suspend from your Mate desktop; the -conditions under which it happens are not clear for me at the -moment. But continuing until the end what I suggest in this article -will recover eventually that functionality. - ## Debian Jessie with Mate, SysV init and a modified *libpam-systemd* As *libpam-systemd* is the only package left depending on *systemd*, -the idea is here to modify *libpam-systemd* to: - -1. Restore resume/suspend functionality if it's lost -2. Make the new package depend no more on package *systemd*, so you - can get rid of it +the idea is here to modify *libpam-systemd* to get rid of it. To do that, I took the Debian systemd source, which I modified to build a new package *libpam-systemd*. The main steps were the @@ -174,30 +149,30 @@ contradicts the claim to systemd "modularity"). For your convenience, all of the source files and the .deb package (for i386) are here: - [[systemd_215-17+deb8u2bu1.dsc]] + [[systemd_215-17+deb8u7bu1.dsc]] -[[systemd_215-17+deb8u2bu1_i386.changes]] +[[systemd_215-17+deb8u7bu1_i386.changes]] -[[systemd_215-17+deb8u2bu1.tar.gz]] +[[systemd_215-17+deb8u7bu1.tar.gz]] -[[libpam-systemd_215-17+deb8u2bu1_i386.deb]] +[[libpam-systemd_215-17+deb8u7bu1_i386.deb]] If you have installed the needed development packages, it's easy to -rebuild file "libpam-systemd_215-17+deb8u2bu1_i386.deb" with these +rebuild file "libpam-systemd_215-17+deb8u7bu1_i386.deb" with these simple commands: - # the 4 source files have to be downloaded in your current working directory - dpkg-source -x systemd_215-17+deb8u2bu1.dsc + # the 3 source files have to be downloaded in your current working directory + dpkg-source -x systemd_215-17+deb8u7bu1.dsc cd systemd-215 dpkg-buildpackage -rfakeroot - cd .. + cd .. To install it, you will need some local package repository. An easy method to do it is to run: mkdir -p ~/my-repo/dists/jessie/main/binary-i386 - mv libpam-systemd_215-17+deb8u2bu1_i386.deb ~/my-repo/ - dpkg-scanpackages ~/my-repo /dev/null | gzip > ~/my-repo/dists/jessie/main/binary-i386/Packages.gz + mv libpam-systemd_215-17+deb8u7bu1_i386.deb ~/my-repo/ + (cd ~/my-repo; dpkg-scanpackages . /dev/null | gzip > dists/jessie/main/binary-i386/Packages.gz) Notice that "dpkg-scanpackages" is available through package *dpkg-dev*. @@ -223,7 +198,7 @@ not make that software vanish from the universe, like not saying ## Final remarks Installing the modified package *libpam-systemd* proposed above will -alow you to get rid of package *systemd*, while keeping your Mate +allow you to get rid of package *systemd*, while keeping your Mate desktop fully functional. On your computer there will be only packages *libpam-systemd*, @@ -240,3 +215,10 @@ long time, so it has penetrated deep in our Debian systems. Someone is working on an independent replacement for *udev* called [*vdev*](https://github.com/jcnelson/vdev). The work seems promising, and I will at one point experience his work. + +For a more organized solution to avoid systemd in Debian, you can also +look at the [Devuan distribution](https://devuan.org/), a fork of Debian; +*vdev* is here also a candidate for *udev* replacement. + +Meanwhile, the last Devuan release has shipped with [*eudev*](https://wiki.gentoo.org/wiki/Eudev), +a *udev* fork pushed mainly by Gentoo.