How to remove systemd from a Debian jessie/sid installation

From Without Systemd
(Difference between revisions)
Jump to: navigation, search
(see also)
(removed outdated and reputedly inaccurate howto instructions)
 
Line 1: Line 1:
= Sysvinit =
+
contents of this page were more than a year old and, reputely, were no longer accurate.<br>
  +
(still available via the "history" of this page if you care to review them)
   
== Installing Sysvinit ==
+
Please repost a known/tested accurate set of instructions here.
First install the SysV init packages:
 
 
apt-get install sysvinit-core sysvinit-utils
 
cp /usr/share/sysvinit/inittab /etc/inittab
 
 
== Grub Configuration ==
 
'''This section on grub may only apply to Debian Jessie 8.3+'''
 
 
Next, change the <code>GRUB_CMDLINE_LINUX_DEFAULT</code> line in <code>/etc/default/grub</code> from:
 
GRUB_CMDLINE_LINUX_DEFAULT="init=/bin/systemd console=hvc0 console=ttyS0"
 
to
 
GRUB_CMDLINE_LINUX_DEFAULT="init=/lib/sysvinit/init console=hvc0 console=ttyS0"
 
 
After changing the configuration, execute <code>update-grub</code> as sudo or root.
 
 
== Purge Systemd ==
 
Reboot your machine, then remove all of the systemd packages.
 
<span style="color:red;">BE AWARE</span> that the following command removes packages that depend on systemd itself or things like libpam-systemd!
 
 
apt-get remove --purge --auto-remove systemd
 
 
== Pin Systemd Packages ==
 
Prevent apt from installing systemd packages in the future.
 
 
echo -e 'Package: systemd\nPin: release *\nPin-Priority: -1' > /etc/apt/preferences.d/systemd
 
 
Prevent apt from installing any systemd like packages in the future (note the star before and after systemd)
 
 
echo -e '\n\nPackage: *systemd*\nPin: release *\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
 
 
Note: This prevents the installation of the package [https://packages.debian.org/de/jessie/systemd-shim systemd-shim] as well. However this is a emulation of systemd functions, so you can install software which depends on systemd. So if you get "Package systemd-shim is not available, but is referred to by another package." you might temporary disable the three lines in the <tt>preferences.d/systemd</tt> file.
 
 
In the case your system uses multiarch (mixed 32 and 64bit packages), you need to pin the 64bit version of systemd too. Otherwise apt-get could still install it as dependency later.
 
 
echo -e '\nPackage: systemd:amd64\nPin: release *\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
 
 
In other multiarch cases where amd64 is the default architecture, you may have to pin the i386 package to prevent APT from installing it:
 
 
echo -e '\nPackage: systemd:i386\nPin: release *\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
 
 
= polkit =
 
 
To enable polkit based stuff (suspend, hibernate, mount via gvfs etc.), the following procedure can be used.
 
 
<span style="color:red;">Warning:</span> tested with <tt>lightdm</tt> on jessie only!
 
 
Add wheezy repo to apt lists:
 
 
echo deb http://ftp.debian.org/debian/ wheezy main contrib non-free >/etc/apt/sources.list.d/wheezy.list
 
 
Pin essential packages to wheezy:
 
 
echo -e '\n\nPackage: policykit-1\nPin: release "wheezy"\nPin-Priority: 990' >> /etc/apt/preferences.d/systemd
 
echo -e '\n\nPackage: libpolkit-*\nPin: release "wheezy"\nPin-Priority: 990' >> /etc/apt/preferences.d/systemd
 
echo -e '\n\nPackage: upower\nPin: release "wheezy"\nPin-Priority: 990' >> /etc/apt/preferences.d/systemd
 
 
Note: for multiarch system you may need also to pin 64bit and i386 versions separately as mentioned above.
 
 
Install polkit-1 with libs, upower and udisks (not <tt>udisks'''2'''</tt>!)
 
 
apt-get install policykit-1 libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 upower udisks
 
 
Install policykit authentication agent depending on what desktop environment you use:
 
 
apt-get install policykit-1-gnome # For GNOME or XFCE4
 
apt-get install mate-polkit # For MATE
 
apt-get install lxsession # For LXDE
 
 
Reboot or restart your <tt>*dm</tt> service.
 
 
 
= see also =
 
* [[How to install systemd-independent udisks2 and policykit before removing systemd from a Debian jessie/sid installation]]
 
* debian.org wiki page [https://wiki.debian.org/systemd#Installing_without_systemd Installing Jessie without systemd] describes a preseed command which will remove systemd and install sysvinit-core during post-install
 
* [http://linuxmafia.com/kb/Debian/openrc-conversion.html Debian 8 "Jessie" OpenRC Conversion]
 

Latest revision as of 20:40, 12 May 2019

contents of this page were more than a year old and, reputely, were no longer accurate.
(still available via the "history" of this page if you care to review them)

Please repost a known/tested accurate set of instructions here.

Personal tools