• 0 Posts
  • 8 Comments
Joined 2 years ago
cake
Cake day: June 1st, 2023

help-circle



  • none of Ubuntu’s many projects has ever become a long-term, distro-agnostic alternative to whatever it was supposed to replace, suggesting either low quality or insufficient effort

    I’d add irrational hate against Canonical to the list of possible causes.

    systemd was in the hands of one single guy with very controversial ideas in the beginning. It wasn’t really better than Upstart, yet got adopted by more and more distributions over time.

    Unity worked smoothly when Gnome-Shell was sluggish as hell on the same hardware.

    And you have fixed versions every half a year with a set of packages that is guaranteed to work together. On top of that, there’s an upgrade path to the next version - no reinstall needed.

    Ubuntu’s slogan is “Linux for human beings” which fits quite well, I believe. Otherwise, it wouldn’t get recommended to newbies so often. If you want all the nerdy stuff, there are plenty of other distributions to choose from. 😉


  • 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.


  • If the container instructions say to set the TZ variable, this means that they bring all the necessary timezone information (for all timezones around the world) with them inside the container. For Alpine Linux, this would be the 1.5 MB (uncompressed) tzdata package.

    If you are instructed to link to those files on the host system, the container usually doesn’t come with the tzdata package and the only way for it to use your timezone is to use the information from the host system by mounting the 2 files.

    However, if you don’t mount these files, the container will usually run in UTC and won’t observe DST. So, all the times in log files and everything regarding time will be in UTC.


  • I like Ubuntu for exactly that: The bravery and manpower to try different things. I remember I loved their Init-System Upstart when it came out in 2006 - long before systemd got established. It made managing services and their dependencies far easier than with the SysV-Init system other distros had at the time.

    Unity was miles ahead of Gnome-Shell in the beginning. And I loved the one-menu-bar approach - similar to macOS - as it saved screen space on smaller screens.

    It’s easy to flak on Ubuntu for not keeping in line with “tradition”, but I believe we wouldn’t have some newer projects without Canonical trying something new and showing people what’s possible.