News for hackers. Stuff that matters.
Re:Systemd 254 released, deprecating sysvinit scripts by genmud on Friday July 28, 2023 @10:53AM (#36907654)
Oh goodie, another way for shit to break and force maintainers to write systemd only service scripts.
Re:Systemd 254 released, deprecating sysvinit scripts by rubiquity on Friday July 28, 2023 @11:08AM (#36907893)
Good riddance! Sysvinit shell scripts are a pain to read and maintain. Developers that perpetuate systemd flamewars have gone from mildly entertaining memes to being a serious red flag and not anyone I’d ever want to work with. systemd and its ecosystem is proven and always getting better.
Re:Systemd 254 released, deprecating sysvinit scripts by washadjeffmad on Friday July 28, 2023 @11:29AM (#36908332)
Certainly! It can also be difficult to distinguish between being genuinely liked and politely tolerated because of being "good to have around".

I mean init systems, of course.

Re:Systemd 254 released, deprecating sysvinit scripts by Bombinator on Friday July 28, 2023 @11:12AM (#36907972)
Don't you think it does a bit too much as an init system?
Re:Systemd 254 released, deprecating sysvinit scripts by rubiquity on Friday July 28, 2023 @11:15AM (#36908041)
It’s not just an init system and you can opt into resolved, networkd, etc. but you knew that already!
Re:Systemd 254 released, deprecating sysvinit scripts by op00to on Friday July 28, 2023 @11:19AM (#36908128)
No, it does what I want well. It never surprised me.
Re:Systemd 254 released, deprecating sysvinit scripts by tptacek on Friday July 28, 2023 @11:28AM (#36908306)
No. It’s great, replacing and unifying a whole collection of random tooling you otherwise had to cobble together yourself.
Re:Systemd 254 released, deprecating sysvinit scripts by tekla on Friday July 28, 2023 @11:21AM (#36908166)
What does it do as an init system that is too much?
Re:Systemd 254 released, deprecating sysvinit scripts by diffeomorphism on Friday July 28, 2023 @11:52AM (#36908707)
Not really, no. Systemd-init seems fairly focused. systemd the project also makes other stuff, which all neatly fits together.
Re:Systemd 254 released, deprecating sysvinit scripts by akerl_ on Friday July 28, 2023 @12:06PM (#36908947)
Just being able to treat period tasks the same as I treat long-lived services, and never having to think about crontab vs cron.d vs cron.hourly vs /etc/crontab, has improved my quality of life dramatically.

I also use systemd-timesyncd / networkd / resolved on most of my systems, but in places where I've wanted to not, swapping them out is as easy as swapping any other services (looking at you, rsyslog and syslog-ng).

[dead]
Re:Systemd 254 released, deprecating sysvinit scripts by rubiquity on Friday July 28, 2023 @11:14AM (#36908018)
I guess I didn’t get the hint that UNIX is not for me over two decades ago! Do you also dislike launchd and generally being productive?
Re:Systemd 254 released, deprecating sysvinit scripts by jmclnx on Friday July 28, 2023 @11:26AM (#36908271)
I have no idea what launchd is.
Re:Systemd 254 released, deprecating sysvinit scripts by sidpatil on Friday July 28, 2023 @11:12AM (#36907988)
Which is fair, since Linux Is Not UniX.
Re:Systemd 254 released, deprecating sysvinit scripts by vkazanov on Friday July 28, 2023 @11:11AM (#36907958)
You do realise that sysvinit scripts are much, much, much more fragile?

Systemd has its share of problems but it's vastly better than a bag of spaghetti shell scripts.

Re:Systemd 254 released, deprecating sysvinit scripts by haolez on Friday July 28, 2023 @11:14AM (#36908032)
The bag of spaghetti in systemd's case is not visible to you, but it's there in thousands and thousands of C code (and I use systemd).
Re:Systemd 254 released, deprecating sysvinit scripts by vkazanov on Friday July 28, 2023 @11:41AM (#36908534)
Yes, systemd is far from trivial. The model of its operation is rather convoluted.

But most people just don't care. long running applications are wrapped in a control group, can be reliably killed, stopped, etc.

There some questions around binary logs, yes, but nothing truly unbearable.

Re:Systemd 254 released, deprecating sysvinit scripts by sophacles on Friday July 28, 2023 @11:39AM (#36908497)
Can you define spaghetti in this context, and point to examples in the code?
Re:Systemd 254 released, deprecating sysvinit scripts by haolez on Friday July 28, 2023 @06:46PM (#36914397)
My point is that the complexity is still there, but hidden.

There is good and bad code in systemd as there is good and bad sysv init scripts.

Re:Systemd 254 released, deprecating sysvinit scripts by kaba0 on Saturday July 29, 2023 @03:23AM (#36917763)
Which is the proper place for complexity to live in and get properly tested by millions of boots each minute. Remember, essential complexity of a task can never be reduced.

As opposed to that shitty bash script you pasted from 3 stackoverflow answers that already has 3 bugs just from existing, let alone all the indeterminacy that comes with it execution with all the other similarly shitty bash scripts, all unique to your system.

Re:Systemd 254 released, deprecating sysvinit scripts by Karellen on Friday July 28, 2023 @11:33AM (#36908412)
As someone else has pointed out, this is only a deprecation at this point.

For comparison, support for `cgroups v1` which is being removed in this release, was described as "legacy", and to be removed in a later version, happened with systemd v233 released in March 2017. That's more than 6 years between deprecation and removal.

Also, `cgroups v1` systems were marked as "tainted" starting in v248 released in March 2021.

Based on that, you've probably got a few years yet before your sysv scripts actually start breaking, and you'll probably get a more visible heads-up a couple of years before it actually happens.

Re:Systemd 254 released, deprecating sysvinit scripts by mqus on Friday July 28, 2023 @11:09AM (#36907924)
"will be removed in a future release"

So this is not even planned to be removed for some releases. TBH I'm surprised it wasn't already deprecated.

Re:Systemd 254 released, deprecating sysvinit scripts by bravetraveler on Friday July 28, 2023 @03:12PM (#36911785)
Yea, woe is me - having to be aware of an init system. If you want users, you'll cater to them. Distribution maintainers do.

Here's the Unit, what this provides:

    [Unit]
    Description=Whatever
    After=network.target network-online.target
    [Service]
    Type=forking
    ExecStart=/etc/init.d/your_awesome_initscript start
    ExecStop=/etc/init.d/your_awesome_initscript stop
    ExecReload=/etc/init.d/your_awesome_initscript restart
    [Install]
    WantedBy=some.target
For bonus points - and smaller repositories and more reliability...

... one could skip the init script, offloading whatever nonsense it does to the DSL of systemd.

It takes hardly any effort, searching for obvious keywords with 'man systemd.{unit,service,exec}' at your disposal. A likely one is 'Environment' for, well, environment variables.

Save yourself dozens of lines of code and support it. It's noble to work without, but why deliberately limit yourself beyond making an unheard statement?

It's not removed yet, there's time.