Just write your own initialization system in bash. It is more reliable and less bloated.
systemd is the future, and the future has been here for over a decade and yet old Unix and BSD purists still cry about it
I wouldn’t cry about it if it wasn’t so God awful to work with
I’ve felt like systemd has been a breeze compared to the hodgepodge of different stuff that preceded it. Now most distros have it mostly the same way, tools are well documented, things works together. It wasn’t always like that from what I remember
In what way?
They are also still complaining about PulseAudio, despite Pipewire having mostly replaced it, while spending hours fiddling with ALSA to use their headphones.
Yeah, I’m also one of these people silently enjoying systemd and wayland. Every now and then there’s fuzz on one of these. I shrug, and move on still enjoying both of them.
Oh fuck. I’ll use this from now on. Except for if I won’t use it next week. Then I’ll forget about it because my memory is a damn sieve.
Just take the next step and make a text file you dump all these commands into and then forget about in a week. When you randomly stumble across it years from now you’ll be able to say “wow, I could have used this 10 months ago if I remembered it existed!”
I keep a persistent “sticky note” (in KDE) drop down on my top bar where I copy/paste important commands, scripts, etc.
I actually remember to use it sometimes.
I make a separate text file per command so I can search them!
Which I dont.
I usually print these out and put them in a safe deposit box at a bank so I never lose them
We can store those text files in a terminal and search for them from the command line with man command!
Use a systemd timer to send yourself a reminder. Discoverd them recently myself and honestly liking them more than cron.
I feel you. It’s however gotten a lot better since I turned some of these commands into abbreviations. They’re aliases that expands in place, more or less. Fish has them natively, I personally use zsh-abbr.
Fish is super useful, but I usually only start it up if I’m having trouble finding or remembering a command.
Yeah, it’s a good shell. I’ve found the lack of compatibility with some bash tools to be inconvenient enough that I just went back to zsh and found alternatives for the parts that I liked about it. Works well enough for me.
I’m relatively new to Linux in general (have only been on it for about a year and a half, but have taken to it like a fish to water), so forgive me if this is a dumb question, but what are some benefits to using zsh over bash? Are there any cons?
Well, systemd developers made one of the classic blunders a software developer can do: make a program that has to deal with time and dates. Every time I have to deal with timestamps I’m like “oh shit, here we go again”.
Anyway, as I understood it the reason this is in systemd is because they wanted to replace cron, and it’s fine by me because cron has it’s own brain-hurt. (The cron syntax is something that always makes me squint real hard for a while.)
I’m sorry but Cron is really easy, of all systems.
Try using systemd with an ssh server that you want to have running on a non standard port. On non systemd it’s a 15 second ordeal while on systemd I don’t even know where to start, I pushed it out of my memories. It’s something something create files here, restart demons there, removing other files, it is WAY WAY over complicated
What do you mean? You literally just change the
/etc/sshd
config to point at a different port do you not?Oh yeah, without systemd that’s all there is to it. With systemd, however, port management is taken out of the ssh config and is done how it was decades ago
I run systemd with a different sshd service port and that’s all I changed
Well cron is “really easy” as long as your requirements are really easy too.
Run a task at specific hour or minute or weekday or whatever? Easy peasy.
Run a task at complex intervals? What the fuck is this syntax. How do I get it right even. Guess I’ll come back next week and see if it ran correctly.
Actually have to look at the calendar to schedule this stuff? Oh lawd here come the hacks, they’re so wide, they’re coming
Run a task at, say, granularity of seconds? Of course it’s not supported, who would ever need that, if you really need that just do an evil janky shellscript hack
Yeah and they actually added some usability in the form of that utility helping you debug what you’re doing. Pretty nice!
This plays some kind of role in the debate of systemd being good or not. I’m not sure if goes in the good column or the bad column, but I know it goes into a column.
I am typically in the group saying “systemd is overlarge with too many responsibilities” but this capability makes perfect sense for its job running services. Probably the good column.
This kinda functionality is surprisingly apropos to a problem I have a work, I realize. And yet, I have k8s. More and more I am appreciating the niche systemd can play with pets instead of cattle and wished corps weren’t jumping to managed k8s and all of that complexity it entails immediately.
You can run systemd (or cron) inside a pod for scheduling and call the kubernetes API from there to run jobs and stuff. Not sure if this helps you, but it can be easy to overlook.
haha, yeah I am well aware I could do something like that. Unfortunately, once you start working for larger companies, your options for solutions to problems typically shrink dramatically and also need to fit into neat little boxes that someone else already drew. And our environment rules are so draconian, that we cannot use k8s to its fullest anyhow. Most of the people I work with have never actually touched k8s, much less any kind of server oriented UNIX. Thanks for the advice though.
I think it depends which side of the debate one is on?
This is basically just a way nicer, more flexible cron syntax being dressed up as something ridiculous. There are legitimate reasons for wanting something like this, like running some sort of resource heavy disk optimization the first Friday evening of every month or something.
Well. I mean, that’s pretty cool. I don’t think I would have ever guess that was an actual function from systemd but here we are
God, I only have one question…
Why?
I bet it’s for timers
Did you know the next Friday the 13th is in December? ChatGPT didn’t know it. (I had to give it an extra date.now for it to figure it out)
Too bad about its failure as an init system, though.
You must be either the very old get off my lawn type or very young and edgy. Everyone else in between likes systemd, one of the best things that happened to GNU/Linux in a while.
This just like Emacs all over again!
No, emacs is superior
What, Emacs is a successful init system https://github.com/a-schaefers/systemE
No, nobody forces you to use emacs at gunpoint.
Whoever forced you? distros wanting a stable system?
They were more stable before, even Linus acknowledges what a piece of trash systemd is.
It’s just like the same fucktard who wrote pulseaudio, which had to be fixed by implementing a decent audio system in pipewire.
Poettering is a moron who saw unix and thought “Well, what this really needs is more Windows!”
Both systemd and pulseaudio were more or less directly architected after MacOS’ design of Core Audio and launchd.
Really shows how little you actually know.
I’ve worked with both coreaudio and launchd.
They weren’t architected like trash, and actually did their jobs well.
If systemd was just like launchd that would be awesome, it’s not, then it took over half the linux userspace, badly.
They were more stable before, even Linus acknowledges what a piece of trash systemd is.
The acknowledged the Lennart shit code, that he fixed after that, and the systems team is a lot bigger now, so it don’t matter much more
It’s just like the same fucktard who wrote pulseaudio, which had to be fixed by implementing a decent audio system in pipewire.
“Lets fuck with open source devs that made create techs because I’m a moron that never did anything useful in my life and still sleep in my mothers basement because I’m the “fucktard” and love to project that on others”
Open source dev, kernel, llvm, jvm, bunch of other shit.
Never came up with anything as bad as systemd.
Don’t talk shit if you don’t know, been doing software since the internet was dialup.
Some emacs evangelicals would like to.
If by failure you mean every system under the sun using it
I don’t think they are using popularity as a metric. But I think the functionality of it is also very good, so dunno what their gripe is.
Ahh, you made my day!
That’s pretty clever.
Systemd ignored my calendar override for the builtin raid scanner, so every week my server would chug to a halt to scan the entire array.
In true systemd fashion, the documentation could not explain this behavior, so I had to make a full copy override instead of a merge override because reasons.
Did setting OnCalendar to the empty string not work? https://unix.stackexchange.com/a/479745
Systemd. A tool created in search of problem.
The problem: incomprehensible init scripts
The solution is learn them.
Thanks! I hate this. 🖤
me: systemd is not that bloated
systemd:
Try scheduling a cron tab job to run a task on dates defined that way.
But that’s not what I need and the world revolves around me…
I think this is for setting date oriented timers
You need a calendar and time handling anyways for logging purposes and to set timers correctly. It’s likely not that much extra work exposing that functionality.
No, UNIX philosophy demands that every single one of those things is one or more separate things and that half of them are poorly or not at all maintained. Just like God intended.
Finding the next super holiday is a core system feature I could survive without. 🎉
That’s not what it’s there for. It can also be used that way.
Well, date time stuff for a system working with timers and scheduling actions might be pretty useful…