this post was submitted on 03 Jul 2024
114 points (91.3% liked)
Linux
48149 readers
599 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Sometimes I really hate the utility names people come up with.
I would love to see chatgpt rename all the core utils in a way that summarizes their function.
The name does do what it says & in just 4 char
I feel like this is well named (run as user 0) so then I'm wondering what else you dislike and what you think would be improvements?
My complaint was mostly targeting the big picture of everything living in
/bin/
I inferred the 'user 0' thing to their credit like you, it just still felt really strange as numerals are kind of a no no when programming -- you can't begin variable and other names with them and I guess having them as a suffix feels strange too as it's not common practice.
It will definitely be the only utility I recall that uses a numeral.
To me the whole numeral systems are archaic, User ID numbers don't line up when transferring data from hard drives from another machine eg 1000-1005.
The numeral permission system is archaic and requires explicit knowledge to know the difference between a 7 6 and 4. In GUI Immutability is separate when it should be more integrated as a file control. The octal permissions are from another decade and modern platforms have permissions on whether a executible can access the internet, access input devices like camera or microphone, or sensitive data like contacts, pictures, etc...
I think file tagging should be greatly expanded, IDv3 meta data for example was a workaround for the limitations and the core filesystem should have robust enough tagging to make it unnecessary.
I'll be controversial now -- eliminate the . prefix to hide files. Yes I know it had been this way for decades and was grandfathered in as a feature after a bug, that should have been in the filesystem properties like chattr +I and you shouldn't need .hidden indexes to hide files just like windows and osx litters zip files with MDF or inf or whatever (memory is fuzzy from non use).
Some people say "4 character" limit, that needs to go too -- FHS naming structure is confusing and not self evident what it does to people trying to learn who already have IT training. /etc/ having 2 or more bins /bin vs /usr/bin -- 'what does usr mean the new it ponders' 'oh it must mean 'user' I guess'. -- weird stuff like that.
To systemd credit they have no problem being controversial and relentlessly persuing their vision in a practical way, hell I use their stuff hapilly.
I just feel like the run0 thing is a band aid on bigger problems, and AI critique would be very fascinating to make these human interfaces you know... more for us humans :P
If not systemd, maybe the rust people or someone else will be baller enough to try to tackle these funny ackward quirks that have accumulated over the years and straighten it all out.
It will definitely be the only utility I recall that uses a numeral.
Utility names should include lowercase letters (the lower character classification) and digits only from the portable character set.
Note that many versions of macOS adhere to these standards: https://www.opengroup.org/openbrand/register/ https://www.opengroup.org/openbrand/register/brand3700.htm https://www.opengroup.org/openbrand/register/brand3705.htm
I know it had been this way for decades and was grandfathered in as a feature
If people were more resistant to "grandfathered" features I think we would not have as much software as we do today: https://www.jwz.org/doc/worse-is-better.html https://en.wikipedia.org/wiki/Worse_is_better
It's probably possible to make several programs with "50% functionality" in the time it takes to make one program with 100% functionality. Having more programs that are suitable for a majority of relevant applications is probably better than having one program that is suitable for all relevant applications, since having more programs will probably enable a larger variety of problems to be solved, and people often have to solve many different types of problems in their life.
what does usr mean
https://refspecs.linuxfoundation.org/fhs.shtml https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04.html
Some operating systems may handle long path or file names in a surprising way, so having short paths and names is useful: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13
{NAME_MAX}
and{PATH_MAX}
are described in more detail at https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html#tag_13_23_03_02 and used in the context of https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pathchk.htmlNote
The resources I linked are descriptive and not prescriptive, but in my experience they are suitable to depend upon as a reliable baseline, which makes meeting client requirements with software engineering easier.
The one that really annoys me is using "-r" and "-R" interchangeably for recursion. Why that has stood is beyond me.
Probably: "oh we already have a
-r
for xxx, let's do recursion with-R
"But it literally is a summary.
It run's an executable as the user with id 0 (root) and it's called run0.