this post was submitted on 03 Jul 2024
114 points (91.3% liked)

Linux

48171 readers
800 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
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 4 months ago (1 children)

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.

[–] [email protected] 1 points 4 months ago* (last edited 4 months ago)

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

provide about 50%--80% of what you want from an operating system

one expects that if the 50% functionality Unix and C support is satisfactory, they will start to appear everywhere.

Unix and C are the ultimate computer viruses.

users have already been conditioned to accept worse than the right thing.

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

If any pathname component is longer than {NAME_MAX}, the implementation shall consider this an error.

if the combined length exceeds {PATH_MAX}, and the implementation considers this to be an error, pathname resolution shall fail

{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.html

Note

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.