Hi,
I'm currently using Arch and am interested in getting rid of systemd. The only part which I'm interested in keeping is the systemctl commands because I like the syntax of them. The other aspect is I'd probably keep elogind and eudev, from what I have been able to research so far. It is quite frustrating actually as there is a very clear lack of documentation on exactly how systemd works and all the things which it does, in enough detail for me to understand how to effectively pull it out. I've managed to do just this with various packages such as systemd-timesyncd, systemd-boot, systemd-networkd, systemd-resolved and others but I'm struggling to get much further with the core of systemd itself. That's my issue now.
I realise that removing systemd will break a lot of software and I've heard that Artix has a systemd compatibility layer. I tried looking through the Wiki but couldn't really find much on this, would someone be able to let me know a little on how this works? I would love to get this into my Arch system if possible.
It's a huge shame as there was a lot of potential in the idea behind systemd, but the implementation of it is just a mess, overbloated and windows-lite, and I don't like the control aspect behind it either. It's a very controlling, useless & overengineered piece of software and that triggers me a lot.
Thank you
It actually breaks very little in my experience. Due to the hard work of the devs here where they remove hard dependencies on systemd from packages where possible.
It's not really a compatibility layer. Artix does not have all the packages from the Arch repo's in it's own repo's.
So it's possible, and many of us do, to also draw from the Arch repo's. To do so you want a package artix-archlinux-support which is in our universe repo.
https://wiki.artixlinux.org/Main/Repositories#Arch_repositories
artix-archlinux-support adds dummy 'Provides' to fool pacman into thinking that systemd & systemd-libs are installed.
Therefore preventing the inadvertent installation of systemd when installing packages from the Arch repo's
If you install a package from Arch which does actually hard depend on systemd it, in all likelihood, just will not work.
Look at the pages from the wiki on each init.
I think dinit probably has the most similar syntax ?
You can't keep the systemctl commands but you could create aliases if you wanted to.
You can migrate (https://wiki.artixlinux.org/Main/Migration) to Artix.
Though if you want to try that clone your root partition first so you can switch back if it fails.
A fresh installation is the recommend route.
dinit has the most similar syntax if thats important to you.
oh he said that too... well yah so dinit is probably the least learning curve.
Thanks for this! It's really helpful and I appreciate your replies.
So in all reality it sounds as if all I really need to do is pull out systemd, install sysvinit & openrc (or dinit), install elogind and eudev along with artix-archlinux-support and then update my pacman mirrorlist. I'm assuming I can manually install artix-archlinux-support via PKGBUILD and makepkg?
In your experience, with packages listed as needing systemd as a dependancy, how much do they actually need systemd and how much of this is nonsense? I'd be really interested in finding out a bit more about this actually.
This process of stripping out systemd actually seems way simpler than I anticipated, thank goodness for folks such as yourself who stayed true to Linux values all this time. I'm very new on the scene still, I only started using Arch in October of last year.
One other question too please, I can't find an actual answer to this anywhere but what does systemd-sysvinit do?
As mentioned, a fresh install is the recommended method of getting Artix. As also mentioned, it is possible to migrate your Arch over to Artix, but that does not seem a simple process.
As for what you may find lacking w/o systemd...I would say not much, if anything. Systemd is not required for one to have a fully functioning and stable system
I have been using Artix since it has been in existence, and even for a short time before that. ;)
I do not find anything lacking for my use. Systemd has for me become a vague memory and basically a non-issue.
Best regards.
I would look for an iso with the desktop you want and do a fresh install. cant repeat this enough. Yes you can work with your install arch system but why put yourself through that? A fresh install with calamares (or whatever that gui installer is) should get you up and running in less than 15 minutes.
https://download.artixlinux.org/iso/artix-mate-dinit-20230403-x86_64.iso if you like mate...
or somethoing else
https://artixlinux.org/download.php
Thanks everyone for your advice.
I appreciate the suggestion re the ISO install, but I think I'd rather stick with Arch and go about only getting artix-archlinux-support and the other specific things required for now, and enabling the relevant repositories, rather than a full migration. I always find it's more fun to build the system completely yourself anyway :)
Just to clarify on the systemd-sysvinit, as I know I've read that this is supposed to be a drop-in replacement for sysvinit tools. Am I correct in thinking that this is the init system part of systemd which instantiates pid 1?
actually, not sysvinit, i don' think it's even in the repo anymore.
openrc or dinit or runit contain both init and service management components.
is systemd-sysvinit a thing? (the interwebs says no)
do you mean systemd-sysvcompat? which i vaguely remember as being used when arch switched to systemd many moons ago..
i guess, you could theoreticly run sysv as init and systemd as the service manager, but that could get you committed ;)
i think they are confusing arch with debian. Debian uses sysvinit with systemd they way they are suggesting but not artix. Not sayig you couldnt get it workign since you like to build from the ground up and all but it isnt supported that way here.
They host it in the AUR instead now. Along with a couple other packages as well.
Yes, sorry I meant systemd-syscompat. Not sure why I mentioned systemd-sysvinit, I must have been thinking about sysvinit at the time.
I suppose, even from a starting point, this would be good while I play around with things. It will allow me to start slowly pulling any other remaining bits of systemd out until I'm fully confident my system will work properly. My last attempt at pulling out systemd-syscompat resulted in it being unbootable, but I know a lot more now.