4

I expect troubles, so don't warn me ;-) . I'm seeking guidance, not warnings.

I want to replace systemd on my venerable Arch laptop with OpenRC so I just ran pacman -S openrc. Fine. Now there are a couple of packages, such as lvm2-openrc, which target openrc and that want to remove libsystemd. Just that pacman doesn't quite agree with that:

pacman -S lvm2-openrc
resolving dependencies...
looking for conflicting packages...
:: device-mapper-nosystemd and device-mapper are in conflict. Remove device-mapper? [y/N] y
:: libeudev and libsystemd are in conflict (libudev.so). Remove libsystemd? [y/N] y
:: lvm2-nosystemd and lvm2 are in conflict. Remove lvm2? [y/N] y
:: eudev and systemd are in conflict (udev). Remove systemd? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: accountsservice: removing systemd breaks dependency 'systemd'
:: ceph: removing libsystemd breaks dependency 'libsystemd'
:: colord: removing systemd breaks dependency 'systemd'
:: crda: removing systemd breaks dependency 'systemd'
:: cups: removing systemd breaks dependency 'systemd'
:: dhcpcd: removing libsystemd breaks dependency 'libsystemd'
:: lib32-systemd: removing systemd breaks dependency 'systemd'
:: libatasmart: removing libsystemd breaks dependency 'libsystemd'
:: libgudev: removing libsystemd breaks dependency 'libsystemd'
:: libinput: removing systemd breaks dependency 'systemd'
:: libmbim: removing systemd breaks dependency 'systemd'
:: libpulse: removing systemd breaks dependency 'systemd'
:: libusb: removing libsystemd breaks dependency 'libsystemd'
:: libwacom: removing systemd breaks dependency 'systemd'
:: mariadb: removing libsystemd breaks dependency 'libsystemd'
:: mkinitcpio: removing systemd breaks dependency 'systemd'
:: modemmanager: removing systemd breaks dependency 'systemd'
:: netctl: removing systemd breaks dependency 'systemd'
:: openvpn: removing libsystemd breaks dependency 'libsystemd'
:: pcmciautils: removing systemd breaks dependency 'systemd'
:: pcsclite: removing systemd breaks dependency 'systemd'
:: plymouth: removing systemd breaks dependency 'systemd'
:: procps-ng: removing libsystemd breaks dependency 'libsystemd'
:: rpcbind: removing libsystemd breaks dependency 'libsystemd'
:: rtkit: removing systemd breaks dependency 'systemd'
:: subversion: removing systemd breaks dependency 'systemd'
:: upower: removing systemd breaks dependency 'systemd'
:: util-linux: removing libsystemd breaks dependency 'libsystemd'
:: xdg-user-dirs: removing systemd breaks dependency 'systemd'
:: xf86-input-evdev: removing libsystemd breaks dependency 'libsystemd'
:: xf86-input-wacom: removing libsystemd breaks dependency 'libsystemd'

How do I resolve those conflicts? Once systemd is installed, how can it be removed? Can it be removed at all or must some (how much and what) of it remain?

So far I have installed only one computer with Arch and OpenRC and I didn't have any trouble. I'd like to get there from a systemd-only machine. The only answer I have in my pocket so far is to reinstall everything again but I'd rather avoid that, unless compelled to, for reasons very easy to figure, so is it possible and how?

3
  • 2
    I got rid of systemd in my Debian VM cluster, cannot do it for libsystemd easily. At home, I switched to openbsd/freebsd Aug 23, 2017 at 8:15
  • 2
    @RuiFRibeiro Good :-). Right after posting this question I stumbled upon an article explaining how to migrate. I'll answer with my user experience after it's done. Crossing fingers...
    – user86969
    Aug 23, 2017 at 8:20
  • Starts not too well: of all of the 29 mirrors found there none is working :-( . My bad, dumb copy/paste PEBCAK...
    – user86969
    Aug 23, 2017 at 9:09

2 Answers 2

4

It turned out to be a complete mess. From my experience it's easier to switch to than from systemd... in Arch at least. I'm not convinced it is a non-desired effect.

There are tutorials that refer to repos that don't exist anymore (getting 404 errors), some indicate steps that no longer apply or others that leave you with a messed up system. The tutorial I followed left me with a graphics system where my keyboard and touchpad and mouse no longer worked. Unusable for short.

There's also a migration guide from Arch/Manjaro to Artix. But the migration tutorial is the one I followed, only to find my system too much messed up to fix.

I then saw a video (in French) that demonstrates how to install Manjaro with OpenRC using Manjaro Architect. So I decided to follow the steps. At some point, i.e. configuring the base packages you're prompted with a choice: openrc vs systemd. Unfortunately I goofed up during the installation and thought I'd just have to restart all over again, which I did. I don't know why but – and I re-started the installation 7 times – the option between openrc and systemd... had gone, leaving me with only one choice: systemd. In none of my attempts could I get the choice back. Even overwriting the USB installation media didn't help. So I concluded the installer probably had been updated and openrc was no longer an option in Manjaro.

I finally installed Gentoo for that's the only system I know that gives me that choice and control. Gentoo was my first distribution back in 2004 so I'm not in Alien area. And thanks to Gentoo developers for providing openrc. They deserve being praised for that.

This concludes a bad trip.

2

There are some helpful flags for pacman that make removing packages easier.

You could either just nuke systemd and libsystemd and leave all the packages that require systemd with

pacman -Rdd systemd libsystemd

or you could attempt remove the packages that depend on systemd with

pacman -R systemd libsytemd $(pacman -Qi systemd | grep "Req" | sed -e 's/Required By\s*://') $(pacman -Qi libsystemd | grep "Req" | sed -e 's/Required By\s*://')

of course you may need to go another couple of levels depending on what you have installed, but you were expecting trouble.

1
  • Thanks a log for your investigation. I no longer use Arch though. However it may be useful to others in the same situation. Just that I think it happened to a specific version of Arch that no longer is available from what I had investigated that far. I might be wrong though...
    – user86969
    Nov 15, 2017 at 13:30

You must log in to answer this question.