LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 08-14-2019, 10:50 AM   #211
jsbjsb001
Senior Member
 
Registered: Mar 2009
Location: Earth, unfortunately...
Distribution: Currently: OpenMandriva. Previously: openSUSE, PCLinuxOS, CentOS, among others over the years.
Posts: 3,881

Rep: Reputation: 2063Reputation: 2063Reputation: 2063Reputation: 2063Reputation: 2063Reputation: 2063Reputation: 2063Reputation: 2063Reputation: 2063Reputation: 2063Reputation: 2063

Quote:
Originally Posted by business_kid View Post
...The use of C, or C++ imposed the restraint that it was slow to write. Perl or python isn't like that: But has systemd got a BDFL like Linux or Pat who will set firm limits and be listened to? It has strayed from doing one thing and doing it well. A pity. Shrinking a perl or python project is a most difficult thing.
I'm not sure the programming language systemd is written in really matters to those that have a strong view about it one way or the other. Not really sure where you're going with the Python comments tho.

I wondered where RMS stands on the subject - other than "it's not an issue, ethically speaking", seems he's not fussed; provided it's "free software".

Quote:
Originally Posted by https://www.networkworld.com/article/2900305/stallman-joins-the-internet-talks-net-neutrality-patents-and-more.html#comments
On systemd

The systemd init software has rocked the Linux community, causing forks of popular distributions and sparking heated debate.

Stallman, however, has long stood apart from the world of open-source and Linux – he regards “open-source” as a weak form of openness, and insists on referring to Linux as GNU/Linux. Thus, it wasn’t a surprise that, when asked whether he had an opinion on the systemd controversy, he replied with a flat “no, I don’t.”

“I’ve never seen it, I’ve never used a system that had it; I know it’s free software, so ethically speaking, it’s not an issue – it’s just a convenience question.”
"Convenience" might be the context here, at least according to RMS.

From what I understand Linus isn't all that dissimilar in his views about systemd - other than "it has a few insane design features" IIRC.
 
Old 08-14-2019, 02:05 PM   #212
ttk
Senior Member
 
Registered: May 2012
Location: Sebastopol, CA
Distribution: Slackware64
Posts: 1,038
Blog Entries: 27

Rep: Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484
IMO the implementation language does matter, some.

Traditional init is implemented in C, but most of the logic is in the shell scripts, where sysadmins can change init behavior to their liking. That worked well.

Nowadays it's pretty common for sysadmins to also know perl and/or python. They're the next step up from bash in terms of capability.

If systemd were implemented in perl or python, tweaking the code to adjust its behavior to situational needs would be within the reach of many sysadmins (as they do now with shell scripts in traditional init systems).

Since systemd is implemented in C, and fairly obscure, that option is simply not available to most users. Vanishingly few sysadmins have C skills, and recompiling / redeploying the entire init system to change some bad behavior is a much heavier operation.

In this case, the choice of programming language imposes a real obstacle to doing a sysadmin's job.
 
3 members found this post helpful.
Old 08-14-2019, 04:15 PM   #213
TheRealGrogan
Member
 
Registered: Oct 2010
Location: Ontario, Canada
Distribution: Slackware, LFS, Manjaro (for gaming)
Posts: 570

Rep: Reputation: 413Reputation: 413Reputation: 413Reputation: 413Reputation: 413
Well, the unit files are human editable text, there is some system wide configuration (e.g. system.conf) and units can be deleted or masked (symlinked to /dev/null) or simply not implemented in the first place. Most sysadmins wouldn't need to hack the C sources. Silliness like journals can be set to "storage = none" and a traditional syslogd configuration can be used (or you can just redirect the journals to syslogd). You can also do away with systemd's networking and use traditional ifup/down etc. if you wish to.

PART of the yuck factor is distro implementation, for example SystemD in Arch is used more sensibly than, say, SystemD in Ubuntu. That really depends on how the units are set up and how many there are (including static ones that do init or configuration steps at every boot). Just for example.

Definitely more rigid than a tiny init program and the choice of shell scripting though, of course. I would always prefer that (and simple boot scripts at that, like you know whose :-) )

There are some things I don't mind about systemd, for example using systemctl to manage services. Enable, disable, mask etc. Though there is some strangeness to get used to, for example some services in distros use templates, when multiple instances of, or different implementations of a service may be used. When you configure the service to start, YOU have to name the unit with the template as you enable it. For example the unit may ship as "syslog-ng@.service" which is bollocks, it won't enable like that. You have to go look at /etc/default and find the name of the template, for example syslog-ng@default and enable the service like: "systemctl enable syslog-ng@default.service" and that will create the symlinks accordingly. I found that to be counter intuitive. Another weirdo thing is that some services start on demand through a systemd socket. You have to mask those to disable them.

I don't hate everything about systemd, just most everything.
 
3 members found this post helpful.
Old 08-14-2019, 06:59 PM   #214
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
Quote:
Originally Posted by TheRealGrogan View Post
Silliness like journals can be set to "storage = none" and a traditional syslogd configuration can be used (or you can just redirect the journals to syslogd).
One feature that's very nice to have is journalctl -p err. Answers the question "Is there something wrong on my server?" in a matter of seconds. Extremely helpful. Add this to persistent logs, and you can search for things like "What went wrong on the last boot?"
 
Old 08-14-2019, 09:42 PM   #215
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,550

Rep: Reputation: 3404Reputation: 3404Reputation: 3404Reputation: 3404Reputation: 3404Reputation: 3404Reputation: 3404Reputation: 3404Reputation: 3404Reputation: 3404Reputation: 3404
Quote:
Originally Posted by ttk View Post
Since systemd is implemented in C, and fairly obscure, that option is simply not available to most users.
Believe or not, also today "init" binary from Slackware is written in this "fairly obscure" C programming language.

Quote:
Originally Posted by ttk View Post
Vanishingly few sysadmins have C skills, and recompiling / redeploying the entire init system to change some bad behavior is a much heavier operation.
This is from the FUD series "you know, commies eats babies at dinner", right?

Probably that was really fun on '60 but now we are almost in 2020, still...

Quote:
Originally Posted by ttk View Post
In this case, the choice of programming language imposes a real obstacle to doing a sysadmin's job.
The sysadmins does not need to learn C/C++ programming to customize systemd services, but to learn how to write some config files. At least, this way is on Ubuntu.

But let's look within the real Slackware-current, which already ships some of those systemd's unit files, like "/lib/systemd/man-db.service"

What we have there?
Code:
[Unit]
Description=Daily man-db regeneration
Documentation=man:mandb(8)
ConditionACPower=true

[Service]
Type=oneshot
# Recover from deletion, per FHS.
ExecStart=+/usr/bin/install -d -o root -g root -m 0755 /var/cache/man
# Expunge old catman pages which have not been read in a week.
ExecStart=/usr/bin/find /var/cache/man -type f -name *.gz -atime +6 -delete
# Regenerate man database.
ExecStart=/usr/bin/mandb
User=root
Nice=19
IOSchedulingClass=idle
IOSchedulingPriority=7
If a sysadmin can't learn in half of hour how to write a file like this, I bet that's better for him to throw the towel and focus in gardening instead. Or growing the nephews.

Last edited by LuckyCyborg; 08-14-2019 at 10:14 PM.
 
Old 08-14-2019, 11:12 PM   #216
TheRealGrogan
Member
 
Registered: Oct 2010
Location: Ontario, Canada
Distribution: Slackware, LFS, Manjaro (for gaming)
Posts: 570

Rep: Reputation: 413Reputation: 413Reputation: 413Reputation: 413Reputation: 413
Don't treat people like they are stupid if they don't orate every detail. Of course "init" is a C program, everybody here knows that. This is a Slackware forum where people tend to know things. He was talking about init being a simple program, with the rest being implemented by defining runlevels in inittab and your choice of shell scripting being the rest of the coding, as opposed to (quite literally) a million lines of C code and some configuration files.

Quote:
Originally Posted by LuckyCyborg
But let's look within the real Slackware-current, which already ships some of those systemd's unit files, like "/lib/systemd/man-db.service"
That's because this has crept into upstream projects. That's not a good thing, moreover, it serves as an example of why we hate this one way mentality. Those files could simply be removed before rolling up the packages, they aren't doing anything... mandb runs via shell script in cron.daily. Those unit files have nothing to do with Slackware. I noticed those a few months ago and deleted /lib/systemd and recently did so again when the mandb package was upgraded.
 
2 members found this post helpful.
Old 08-14-2019, 11:24 PM   #217
TheRealGrogan
Member
 
Registered: Oct 2010
Location: Ontario, Canada
Distribution: Slackware, LFS, Manjaro (for gaming)
Posts: 570

Rep: Reputation: 413Reputation: 413Reputation: 413Reputation: 413Reputation: 413
Quote:
Originally Posted by kikinovak View Post
One feature that's very nice to have is journalctl -p err. Answers the question "Is there something wrong on my server?" in a matter of seconds. Extremely helpful. Add this to persistent logs, and you can search for things like "What went wrong on the last boot?"
Yes, knowing how to work journalctl is useful, I can't deny that, but my problem with the journals is that they get to be quite large databases. When they got to be 50 Mb+, I even noticed system initialization taking a few seconds longer. At first I was reigning them in with journald.conf and maximum file size and maximum usage settings, but it's still ridiculous that the logs are tens of megabytes on my desktop systems, vs. a few hundred kilobytes of text based syslogs. On servers the journals get quite large.

I'd rather use tail and grep on text files, personally.

P.S. The journals are also easily corrupted. I didn't like that either.

Last edited by TheRealGrogan; 08-14-2019 at 11:26 PM.
 
1 members found this post helpful.
Old 08-15-2019, 12:56 AM   #218
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,118

Rep: Reputation: 4192Reputation: 4192Reputation: 4192Reputation: 4192Reputation: 4192Reputation: 4192Reputation: 4192Reputation: 4192Reputation: 4192Reputation: 4192Reputation: 4192
Quote:
Originally Posted by TheRealGrogan View Post
Quote:
Originally Posted by LuckyCyborg View Post
But let's look within the real Slackware-current, which already ships some of those systemd's unit files, like "/lib/systemd/man-db.service"
That's because this has crept into upstream projects. That's not a good thing, moreover, it serves as an example of why we hate this one way mentality. Those files could simply be removed before rolling up the packages, they aren't doing anything... mandb runs via shell script in cron.daily. Those unit files have nothing to do with Slackware. I noticed those a few months ago and deleted /lib/systemd and recently did so again when the mandb package was upgraded.
personally, I agree with Dave on this.
 
1 members found this post helpful.
Old 08-15-2019, 01:11 AM   #219
ZhaoLin1457
Senior Member
 
Registered: Jan 2018
Posts: 1,032

Rep: Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238
Quote:
Originally Posted by TheRealGrogan View Post
This is a Slackware forum where people tend to know things.
I agree. And that's exactly why the systemd critics should not treat people who maybe do not care about this "issue" like being stupids, and serve us claims like in the following quote...

Quote:
Originally Posted by TheRealGrogan View Post
He was talking about init being a simple program, with the rest being implemented by defining runlevels in inittab and your choice of shell scripting being the rest of the coding, as opposed to (quite literally) a million lines of C code and some configuration files.
Oh, well... In my humble opinion, insisting that systemd is just an init system because it contains an init system and comparing it with the traditional "init", is like insisting that Plasma5 is just a windows manager because it contains a windows manager and comparing it with "TWM" all the ways, just because it ships a windows manager named "KWin"...

Yes, it contains a windows manager, BUT the Plasma5 contains much more features than a windows manager, and even itself, that KWin offers much more features than TWM.

Same is with systemd. A fair comparation of it with the traditional "init" could not be done because of the really huge differences of features.

And anyway, if we want to be barely fair in comparations, I believe we should compare systemd with the flock of packages shipped by Slackware to resolve some features in the likes of systemd. True, starting with init system, but you should add also eudev, ConsoleKit2, PolicyKit, WhateverKit, udisks{,2} and God knows which ones other.

If we will do the sums, maybe we will discover that "our solution" is several times more complicated than that million lines, also as lines of code, not only as packaging, which probably is obvious.

Last edited by ZhaoLin1457; 08-15-2019 at 03:28 AM.
 
1 members found this post helpful.
Old 08-15-2019, 03:31 AM   #220
ttk
Senior Member
 
Registered: May 2012
Location: Sebastopol, CA
Distribution: Slackware64
Posts: 1,038
Blog Entries: 27

Rep: Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484
There are unit files, yes, but they are limited to providing parameters to systemd's hard-coded behavior. They are not comparable to bash, perl or python, which are general-purpose programming languages capable of exhibiting any behavior.
 
1 members found this post helpful.
Old 08-15-2019, 03:34 AM   #221
ZhaoLin1457
Senior Member
 
Registered: Jan 2018
Posts: 1,032

Rep: Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238
Quote:
Originally Posted by ttk View Post
There are unit files, yes, but they are limited to providing parameters to systemd's hard-coded behavior. They are not comparable to bash, perl or python, which are general-purpose programming languages capable of exhibiting any behavior.
The systemd's unit files could be used to launch in certain manner and with certain parameters, not only of any binary but also of whatever scripts written in bash, perl or python.

A behavior not dissimilar with what ConsoleKit2 could do, for example...

https://linuxconfig.org/how-to-autom...-systemd-linux

Last edited by ZhaoLin1457; 08-15-2019 at 03:40 AM.
 
Old 08-15-2019, 03:43 AM   #222
ttk
Senior Member
 
Registered: May 2012
Location: Sebastopol, CA
Distribution: Slackware64
Posts: 1,038
Blog Entries: 27

Rep: Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484Reputation: 1484
While true, that doesn't help sysadmins do their jobs when systemd is hard-coded to do skmething stupid. The script-wrapping unit files you describe can introduce additional behavior, but cannot provide a workaround.
 
3 members found this post helpful.
Old 08-15-2019, 09:34 AM   #223
ZhaoLin1457
Senior Member
 
Registered: Jan 2018
Posts: 1,032

Rep: Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238Reputation: 1238
Quote:
Originally Posted by ttk View Post
While true, that doesn't help sysadmins do their jobs when systemd is hard-coded to do skmething stupid. The script-wrapping unit files you describe can introduce additional behavior, but cannot provide a workaround.
You are kind to give details about this "hard-coded" behavior of systemd?

This is one of the myths ventilated many times over Internet, regarding systemd.

But, speaking of the part of init system from systemd, from what I seen, it uses a huge set of unit files to know how to boot whatever services and in which order, from UDEV to Apache and MySQL.

Now, the systemd itself ships a series of daemons or services. One of them is UDEV, which we love to cannibalize and use it proudly as eudev. Other is login1, which we still try to clone in the form of ConsoleKit2 with the help of XFCE guys. Other is timedated, which is vaguely similar with ntpdate. And so on.

Which one has hard-coded a stupid behavior? And how you explain that when systemd is used by RedHat on Enterprise Linux, it is used also by SUSE or Ubuntu even on Enterprise Linux, and those companies have each one thousands of full time hired programmers, nobody do not bother to fix this "stupid behavior" if it exists?

You do not believe that is expected that systemd source code to be read and considered by so many skilled programmers on that "obscure" C programming language, that something stupid should be certainly noticed?
 
Old 08-15-2019, 09:35 AM   #224
jakedp
Member
 
Registered: Oct 2016
Location: Canada
Distribution: Slackware64, Mageia
Posts: 226

Rep: Reputation: 184Reputation: 184
Quote:
Originally Posted by bassmadrigal View Post
And what about the millions of other projects hosted on github? Are all of them just as bad as systemd since they're still hosted there?

That is not a relevant argument and that is putting words in people' s mouths. The point was about Microsoft and how systemD and Microsoft share the same type of spirit.



Not sure what argument to make if one cannot understand the significance and implications of Microsoft owning the largest software repository in the world, and has ever seen.


Microsoft is not all to blame, they are taking advantage of an opportunity that was handed to them; and just following their behavioral patterns as they have for decades. No surprise there. The problem is it was handed to them on a silver platter because freedom and open have become corporate buzzwords and the fundamentals to ensure these buzzwords have been forgotten in the majority. Centralizing most of open source development onto one site was stupid.
 
1 members found this post helpful.
Old 08-15-2019, 09:47 AM   #225
jakedp
Member
 
Registered: Oct 2016
Location: Canada
Distribution: Slackware64, Mageia
Posts: 226

Rep: Reputation: 184Reputation: 184
Quote:
Originally Posted by Richard Cranium View Post
I'd respond to that, but then this thread would very rapidly become more vile than any of our past systemd threads. Have a nice day.

Because someone disagreed? There is no name calling, or other rude behaviour, sure some passionate moments. Yet, it is passion that is the vehicle behind free software and if people were not passionate about their free systems we would be using shitty systems from the 90s or earlier on shitty hardware with CPU and RAM still measured in Mb and hard drives weighed in pounds and three digit resolution sizes.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Q. Can your Linux PC run Crysis? OK, it can. But will it run natively? A. Soon, very soon LXer Syndicated Linux News 0 03-11-2014 11:01 PM
LXer: My Nerd Life: Too Loud, Too Funny, Too Smart, Too Fat LXer Syndicated Linux News 0 01-24-2014 05:21 AM
LXer: Abolishing patents: Too soon or too late? LXer Syndicated Linux News 0 01-09-2013 02:20 PM
Application Assessment for Linux Migration MSquared Linux - Software 1 02-02-2005 05:14 PM
Probed and Attacked - Battle Damage Assessment halifax Linux - Security 2 08-17-2003 08:06 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:01 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration