Stories
Slash Boxes
Comments

SoylentNews is people

posted by on Wednesday February 22 2017, @09:56AM   Printer-friendly
from the it's-already-perfect-is-not-the-right-answer dept.

We all know about Microsoft's latest OS, so I won't rehash. A lot of us intensely dislike it, to put it politely. Those of us who can, use other operating systems. This is Soylent, so let's focus on the one that is the most important to us: Linux.

I have been using Windows as my OS since right after Atari times. A few years ago I bought an ARM (ARMHF/ARMv7) netbook and put Lubuntu on it. I had problems with my first Linux experience, mainly in the area of installing software: missing packages in Synaptic, small dependency hells, installing a package at a time by hand, some broken stuff. I put it down mainly to the architecture I have been using, which can't be supported as well as x86-64.

Now, we all know that no software is perfect, and neither is Linux, even though it is now my main OS. We support it in spirit and financially, but there is always room for improvement.

So, the question is: What are your problems with Linux and how can we fix them? How do we better it? Maybe it's filesystems, maybe it's the famous/infamous systemd. Let's have at it.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Interesting) by q.kontinuum on Wednesday February 22 2017, @12:08PM

    by q.kontinuum (532) on Wednesday February 22 2017, @12:08PM (#470120) Journal

    I like my Linux laptop and the servers I maintain, I hardly use anything else. But most distributions I see on other laptops are terrible, by implementing the same shit I abandoned Windows for ~15 years ago. (Well, I say abandoned. I do have a Windows-VM on my work-laptop for some office-stuff, which I might need every half a year or so if I deal with someone insisting on MS-Office. I had to use Windows at work for Visual Studio for some time, until 10 years ago, etc. My wife has a Windows laptop for some of her work, and I help her sometimes. Our CI infrastructure needs to support Windows builds as well, and sometimes the build node template needs to be updated. For the past 3 years, I see a Windows UI on average approximately every 3 weeks for a couple of hours.)

    Following things terrible in some distributions sprang to my mind first:

    • evince-thumbnailer created thumbnails for connected USB drives. Took ages to disconnect the drive, and is a huge privacy risk: I don't want anyone to find thumbnails in my home folder just because I once had an USB drive attached.
    • gnome3 - no further comment needed, methinks. XFCE rules.
    • PackageKitCommandNotFound [fedoraproject.org] - Not sure how it works internally, but if I accidentally paste a line of a confidential document to the terminal (text marked, careless middle-click on terminal), I don't want to automatically start an online-search for "furryporn" or "molotow receipe".
    • systemd - One of the biggest advantages of Linux was IMO that you can get nearly everywhere using grep and find in /var/log and /etc. Having a binary format for logfiles is IMO the most stupid idea for a long time
    • Ubuntu Privacy - click here for more [fixubuntu.com]
    • lack of command line tools - Maybe I'm just incompetent, but I find it hard to find instructions to configure network or printer on command-line without being overruled by NetworkManager in Ubuntu desktop. I do need to support my dad once in a while, and being able to do stuff via ssh on command line is essential.
    • hiding root-causes - I know there is a rule that the user shouldn't be bothered with error messages he can't comprehend anyway. But it makes debugging so much harder for those who do know a bit more.
    • dialogs with mouse-select for text disabled - Why the fuck in 2017 do I still have to re-type error messages displayed on the screen to google them?
    --
    Registered IRC nick on chat.soylentnews.org: qkontinuum
    Starting Score:    1  point
    Moderation   +4  
       Insightful=1, Interesting=2, Informative=1, Total=4
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 2) by eravnrekaree on Wednesday February 22 2017, @02:09PM

    by eravnrekaree (555) on Wednesday February 22 2017, @02:09PM (#470158)

    I agree except for systemd. When you are dealing with a huge log file, having the log in a database can be a big advantage since it becomes much easier to be able to query certain fields and so on without having to parse the file. I do agree that you should be able to configure it to use the log file of your choice, such as text or sqlite.

    systemd's init files are also easier to deal with, because its a declarative format, there is less wheel reinventing to do simple things. You can always write a shell script if you need to, but often systemds init files have the feature you need, its much easier to write a declaration rather than have to write complex shell code. Shell code is not easier to deal with than the delcarative file format.

    • (Score: 4, Insightful) by q.kontinuum on Wednesday February 22 2017, @04:24PM

      by q.kontinuum (532) on Wednesday February 22 2017, @04:24PM (#470253) Journal

      I believe in the approach of small, dedicated tools for certain tasks, cobbling them together for big tasks. In this context I would expect a tool which ingests the existing log files and imports them into a database.

      Systemd as an init system is imo broken because it requires adaptation of other sw to work --> not modular.

      --
      Registered IRC nick on chat.soylentnews.org: qkontinuum
    • (Score: 2) by NCommander on Thursday February 23 2017, @03:11AM

      by NCommander (2) Subscriber Badge <michael@casadevall.pro> on Thursday February 23 2017, @03:11AM (#470575) Homepage Journal

      My biggest issue with the binary log format is I can't easily glue syslogd to it. At a previous job, I would have syslog send all logs to a central source so I could easily check any machine in the cluster. The *sane* thing would be to do is make journald output to syslogd, and then provide a binary backend to syslogd to get the advantages you listed. Log files could also be written in plain text to /var/log for times when journalctl can't read its own database. That way you get all three, remote logging, text logging, *and* binary logging. Instead, they threw the baby out with the bathwater and made it extremely difficult for the two to interact in a sane way.

      Unit files are an improvement (this was something upstart also did), but systemd's implementation is badly flawed. The first one is that a typo is not a critical failure; you put Userr=nobody, and you'll get your program running as root without error. Upstart comparatively would refuse to load the file until it parsed successfully. The second (and IMHO fatal) error is its all or nothing. I can't define a custom variable and load it from another location. A couple of daemons (most notably varnish) requires command line arguments to be set at run time to load the right VCL files. The only way to do this with systemd is edit the unit file, and then have it merge it by hand when dpkg upgrades varnish (fortunately it will let you drop to a shell to do this. RPM will just override it without a message).

      --
      Still always moving
  • (Score: 2) by Scruffy Beard 2 on Wednesday February 22 2017, @03:13PM

    by Scruffy Beard 2 (6030) on Wednesday February 22 2017, @03:13PM (#470208)

    It is possible to disable network manager [ubuntu.com].

    But I generally agree: it seems that much brokenness comes from trying to emulate Microsoft's mistakes.

  • (Score: 2) by TheRaven on Wednesday February 22 2017, @04:24PM

    by TheRaven (270) on Wednesday February 22 2017, @04:24PM (#470254) Journal

    evince-thumbnailer

    It's actually worse, because thumb drives contain untrusted data and the image parsing libraries that are used to produce these thumbnails have a pretty poor security record (lots of arbitrary code execution from malformed images). This isn't such a problem if it's properly sandboxed, but I don't believe that this one is.

    One of the biggest advantages of Linux was IMO that you can get nearly everywhere using grep and find in /var/log and /etc. Having a binary format for logfiles is IMO the most stupid idea for a long time

    There are lots of things I don't like about systemd, but this isn't a criticism I understand. Binary-only logs let you do things like use block chain or Merkel tree ideas, so that you can validate an append-only structure. For any file on disk, you need some program to be able to parse it and a structured format can give better searches than a simple grep. As long as you have statically linked tools for doing the inspection on your root partition, this shouldn't be a problem.

    --
    sudo mod me up
    • (Score: 2) by gawdonblue on Thursday February 23 2017, @05:24AM

      by gawdonblue (412) on Thursday February 23 2017, @05:24AM (#470611)

      As long as you have statically linked tools for doing the inspection on your root partition, this shouldn't be a problem.

      And therein lies my main problem with SystemD: it all works as long as you have all the dependencies all in a row. It is a terrible design due to its complex web of dependencies, and inherently fragile.

      People! Don't build dependencies into fundamentally independent processes. This makes sense, it always has made sense. It always will make sense (no matter what Windows developers think).

  • (Score: 2) by NCommander on Thursday February 23 2017, @03:28AM

    by NCommander (2) Subscriber Badge <michael@casadevall.pro> on Thursday February 23 2017, @03:28AM (#470580) Homepage Journal

    On the topic of network mangler, simply define the interface in /etc/network/interfaces on Ubuntu, and NM will mark it as "disabled" in the UI and will not try to change it. I do this with the ethernet adapter on my desktop, while leaving NM control wifi because dealing with WPA on the command line makes me sad. This is noted in the NM documentation but easy to overlook.

    One gotcha with this: make sure you have an ethernet adapter that has a persistent MAC address. This *usually* isn't a problem on x86 machines, but some ARM boards randomize MACs on boot. udev has a rule to make sure that a given mac always gets the same ethX number so the above works. If it sees a new MAC, it assigns a new number. I found a kernel bug that way when we overflowed an integer :).

    --
    Still always moving
    • (Score: 2) by q.kontinuum on Thursday February 23 2017, @10:19AM

      by q.kontinuum (532) on Thursday February 23 2017, @10:19AM (#470655) Journal

      On the topic of network mangler, simply define the interface in /etc/network/interfaces on Ubuntu, and NM will mark it as "disabled" in the UI and will not try to change it. I do this with the ethernet adapter on my desktop, while leaving NM control wifi because dealing with WPA on the command line makes me sad. This is noted in the NM documentation but easy to overlook.

      Thanks, that is helpful. Unfortunately this didn't work on Fedora. I found some other documentation [qacafe.com].

      --
      Registered IRC nick on chat.soylentnews.org: qkontinuum