Anyone using systemd (full native) on arch?


Recommended Posts

I know it's the default now in recent arch linux ISOs and the like but until today I haven't actively used it, as in I've had the compatibility on this arch PC for ages and when building server kernels... But I got arch linux arm for my rpi earlier to give it another try and it's the default... And personally, it's crap.

I don't get why it was made default over initscripts? I followed the guide for getting static network working on the wiki, and I was wondering for a while why DHCP shows using the systemd scripts but static has no mention of system and tells you to use rc.conf (which obviously won't work). So after extensive searching I found the beginners guide which has a network setup section in it for static networks using systemd! But lo and behold, it doesn't work. No /etc/conf.d/netcfg file is made nor is a /etc/network.d folder made, so I gave up on that too.

Initscripts are great in that you just modify the daemons line, I've got about 7 daemons, but what the hell is with systemd? I used that systemctrl --all and it showed the RPi as having 107 'daemons', WHAT THE ****!? The rc.d/ folder has 12 files (after install initscripts) yet somehow systemd turns that in 107? Add to the list you can't stop cryptsetup or graphical display no matter what you do, I stopped them disabled them but every time I reboot they're running again, yet something else I disabled running in the same way actually did stop.

Plus they recommend you shut down using that systemctrl program, sorry - WHAT!? So since the incarnation of linux we've had shutdown but now all of a sudden shutdown is 'too old' and we need a completely seperate tool to shutdown or reboot a pc...

I'm yet to see a single redeeming feature of systemd, someone on yt boasts that their PC starts up in 10 seconds using systemd, well great, my RPi on initscripts boots up in less than 10 seconds and it's a hell of a lot slower.

So, does anyone use systemd or switched over to it? What do you think of it? Has it actually got any features that are features and not annoyances? Heck is it even worthy of the alpha badge or is it still too buggy for that?

Link to comment
Share on other sites

Some of these complaints are just you not understanding how systemd works. When I used arch I used a pure systemd setup and it worked fine. To see the services that are actually starting up at boot use systemd-analyze blame (which will show the services started at boot, how long each took, and the total boot time) (systemctl --all just shows all available services afiak...)

Install the systemd-sysvcompat package to get the old shutdown commands back...

For my uses I sound systemd better than sysvinit and pretty easy to deal with, but I used gnome/gdm/networkmanager and didn't have to deal with using systemd for networking and such.

Link to comment
Share on other sites

"Some of these complaints are just you not understanding how systemd works"

Well yeah but it's not really the best incentive to change something major and not even update doucmentation to explain how to do it.

"To see the services that are actually starting up at boot use systemd-analyze blame"

I didn't know that, but the systemctl shows 53 processes starting at bootup, there's no file you can edit to see a list or alter them or anything, it's incredibly un-user-friendly and awkward.

"Install the systemd-sysvcompat package to get the old shutdown commands back..."

Rediculous that they've removed them, and for what reasons? Must break compatibility with a lot of software.

"but I used gnome/gdm/networkmanager and didn't have to deal with using systemd for networking and such."

Yeah networkmanager's useful but I need a static IP on a light-weight system with no GUI or network manager.

Link to comment
Share on other sites

I migrated to full native systemd recently. It's quite different to initscripts, so you're not alone in finding it a little confusing. Once it's all setup though, it's gravy.

Running custom scripts can be a bit of pain because rc.local doesn't exist. In the end I created a custom service, which isn't all that difficult.

Link to comment
Share on other sites

This topic is now closed to further replies.