this post was submitted on 07 Dec 2024
74 points (93.0% liked)

Linux

48555 readers
753 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hello everyone! I would like to know why there seems to be some dislike toward Ubuntu within the Linux community. I would like you to share your reasons for why you like Ubuntu or, on the contrary, why you don't. Thanks 🙇

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 4 days ago (1 children)

My daily driver for ~25 years is still on sysvinit. I have plenty of experience with systemd based distros. I run proxmox on my home server. I don't hate systemd, but it's a lot less intuitive for me.

Example: I want to start the tailscale daemon and service at boot. Easy, add it to /etc/rc.d/rc.local . Oh wait, I want my laptop to check for an internet connection before trying to bring up tailscale. Otherwise the boot process halts for 20 seconds until it gives up. Easy, add a bash script in rc.local to test for an internet connection before trying to bring tailscale up.

I know the answer is systemctl something, but I have to look it up EVERY DAMN TIME. and this is just one of many things that have been giving me heartburn for years.

[–] [email protected] 1 points 4 days ago (1 children)

But you are doing the work the computer should do by scripting your own startup process. Also, it will process your rc.local sequentially whereas systemd does things in parallel. If you have 5 different custom services that need network, your approach would have them started one after another. Systemd would wait for network access and then start them all in parallel. If one of those hangs, the others will still start in a few seconds (unless they depend on the hanging service) and the boot process will still continue.

Also, what about if some service fails? systemd can restart them automatically, you have commands to see at a glance whether your desired services are all running (i.e. the system is in your desired state), it manages the log outputs for each service, etc. etc. .... it's a huge comfort win and once you've written a few units, you won't have to look everything up all the time.

[Unit]
Description=My service
After=network-online.target

[Service]
ExecStart=/usr/local/bin/myservice -d

[Install]
WantedBy=multi-user.target

Put this in /etc/systemd/system/myservice.service, run systemctl daemon-reload followed by systemctl enable myservice and Bob's your mother's brother. Optionally, start it directly using systemctl start myservice. (On most systems, service myservice start will work, too.) It doesn't get any easier than that.

And, if you start to automate your system's configuration(s) using e.g. Ansible, it's far easier to just place a few files in the filesystem and run a few commands than to modify the rc.local in an automated fashion without breaking something.

While I don't really like the one-tool-for-everything approach with systemd and its various additional features (timedated, resolvd, etc.), I do like the main feature.

[–] [email protected] 1 points 1 day ago

I use slackware btw. Doing work for the computer is half the fun.

But I did learn something here, so thanks for that.