SystemD is blamed for long boot times and being heavy and bloated on resources. I tried OpenRC and Runit on real hardware (Ryzen 5000-series laptop) for week each and saw only 1 second faster boot time.
I’m old enough to remember plymouth.service (graphical image) being the most slowest service on boot in Ubuntu 16.04 and 18.04. But I don’t see that as an issue anymore. I don’t have a graphical systemD boot on my Arch but I installed Fedora Sericea and it actually boots faster than my Arch despite the plymouth (or whatever they call it nowadays).
My 2 questions:
- Is the current SystemD rant derived from years ago (while they’ve improved a lot)?
- Should Linux community rant about bigger problems such as Wayland related things not ready for current needs of normies?
I just hate the syntax, systemctl start apache2 feels like dumb manager speak over service apache2 start.
But other then that I love how systemd has been for me.
How so? I like the systemctl syntax more, since it allows for starting/stopping many units at once. It also supports a much richer set of commons than service ever did.
it just feels like a manager decided the command should read like english, made the decision then went back to never entering a command again in the terminal again. every day, i get to decide, should i enter “systemctl restart problem_service” all again or hit up on the keyboard and and hold back, then rewrite over the previous status command. bit less work if the status/stop/start/restart bit was on the end like it used to be.
In BASH ALT+T will swap the last white spaced separated strings… It’s still annoying but makes “systemctl problem_server start/status/restart” a bit easier. CTRL+W will clear the current string to whitespace, so up arrow, ALT+T, CTRL+W, status, ALT+T, Enter.
@MaxHardwood cool. Thanks. 🙂
I just noticed that it won’t work if you have a dot ‘.’ in there, e.g. ‘rsyslog.service’. It will then switch rsyslog and service around. Sadly Bash always wants to autocomplete including the *.service part. 😩
But I’m sure I’ll find other applications for this.
@MaxHardwood How? I get ô from ALT-T on Linux, and † on Mac (using option, because no alt)
@elithebearded @MaxHardwood same on left-alt and right-alt? (alt-gr if you have an iso keyboard?). It should be left-alt.
you can use
bind -p
to print the available functions and the key sequences bound to them. (though sadly the control/alt keys are expressed in a way that can be confusing to newcomers, \e would be alt, and \c control)edit: and by newcomers, i include myself, for only having been using linux for 18 years.
@tshirtman @MaxHardwood \e is escape. Escape T *does* do “transpose words”, neither alt key plus T does for me.
The bit was on the end because it was an argument to the script specific to that program. Instead, the control is now at the start because it is an argument to systemctl itself. This removes the ability to define custom controls, but enables you to control many things at once.
Yeah,
command subcommand args...
. Theservice
format makes more sense when you’re seeing it as “run this script to control this service”. Thesystemctl
format makes more sense as a frontend subcommand to control systemd itself.systemctl start apache2 mysql haproxy
That is the reason.
Y’know, I felt that way to begin with and it certainly took a long time for my fingers to adjust, but I’ve grown to adjust to that.
And it’s better - you can do: “systemctl restart Service1 Service2 Service3” Before, with “system Service1 restart” you could only action on service at a time.
Plus, it’s linux, so you can set up aliases to change the order into anything you like, even carry on using the old muscle memory formats. (Although I don’t encourage this if you intend working on multiple servers!)