[–]▶ No.961981>>962023 >>962066 >>962071 >>962157 >>962233 >>962341 >>962990 >>962996 >>963075 >>963147 >>963467 >>963581 >>963842 >>963904 >>963934 >>964540 [Watch Thread][Show All Posts]
Why is the linux file structure absolute ass
when will they ever consider fixing it
>install program
>where the fuck is it?
>look it up
>you must go into usr folder
>not there
>no other usr folder
fuck off
▶ No.961990>>962029 >>962045 >>962072 >>962114 >>962341 >>963147 >>963160
t. I'm to lazy to read FHS and see the reasons behind this type of hierarchy
>install program in windows
>:(
>Your PC ran in to a problem and needs to restart. We're just collecting some """"error"""" info and then we'll restart for you.
>restarts PC
>Something happened
>what the fuck happened?
>Something
fuck off
▶ No.961998>>962005 >>962029 >>962041 >>962072 >>962341 >>963147 >>964180
where is my program's data installed?
%appdata%?
%localappdata%?
C:/users/nigger/appdata?
C:/users/nigger/appdata/Roaming?
C:/users/nigger/appdata/Local?
C:/users/nigger/LocalLow?
C:/Documents and Settings?
C:/Documents and Settings/nigger/Local Settings/Application Data?
My Documents?
The other My Documents folder that says access denied when you click on it?
the registry?
a combination of multiple of the above?
fuck off
where is my program installed?
C:/The Program?
C:/Nigger/The Program?
C:/Program Files (x86)/Some Company/Some Other Bullshit/The Program?
C:/Program Files/Some Company/Some Other Bullshit/The Program?
Inside Steam/Origin/Epic Launcher?
fuck off
▶ No.962005>>962015
>>961998
same problem with wine
>user/nigger/local settings/more settings/app settings/nigger
▶ No.962015
>>962005
Can't really blame wine though, blame the fucked up Windows structure.
▶ No.962023>>962029
>>961981 (OP)
>Why is the linux file structure absolute ass
It's divided so that you can mount directories over the network by their type. E.g., common data to your whole lab, common binaries just for the Sun cluster, etc.. It made a lot of sense back when disk was very expensive.
But Linux's structure is fine anyway as a normal user has no business outside their home directory, and private program data is usually tucked away nicely in one .program file or directory (except for GNOME, fuck you, Miguel). That's very different than Windows where user files are FUCKING EVERYWHERE.
▶ No.962029>>962032 >>962064 >>963042
>>961990
Linux has never crashed.
>>961998
/home/nigger/.config/retard/
/home/nigger/.local/share/retard/
/home/nigger/.retard/
/home/nigger/.retardrc
/usr/bin/retard
/usr/share/retard/
/usr/share/man/man1/retard.1
/usr/share/applications/retard.desktop
/usr/share/locale/___/retard.mo
/usr/share/doc/retard/
/usr/share/info/retard/
/usr/share/licenses/retard/COPYING
/usr/lib/retard/
/etc/retard/retard.conf
/usr/include/retard/
>>962023
>a normal user has no business outside their home directory
lmfao linux nigger in his ghetto enjoy your fucking dot files
▶ No.962031>>962032
How about we make a new os!
I'll prototype some logos...
▶ No.962032>>962038 >>962072
>>962029
>>962031
Is this /g/ leaking? Go back.
▶ No.962038
>>962032
Nice point tardo.
▶ No.962041>>962122 >>962973 >>963833
>>961998
wow you just listed a file structure that makes sense and has a breadcrumb trail behind it rather than the nigger tier linux file structure.
where a program is split into multiple fucking directories like some goddamn hoarder throwing shit all around their house and claiming they know where everything is.
>where is my program installed?
C:/programs files
You dumb nigger how hard is it to understand
the %appdata% is a location used to store temporary files from the installed programs to access, you have no business being there unless you need to remove files.
>defending outdated crap tier shit to justify your shit os
If linux dipshits had any brains they would create virtual folders where all the programs are installed in neat compiled and together rather than separate like the dumb shit way it's currently being used.
▶ No.962045>>962125
>>961990
>Your PC ran in to a problem and needs to restart. We're just collecting some """"error"""" info and then we'll restart for you.
This never fucking happens you braindead shit, next time list an actual reason for being fuckign retard
▶ No.962047>>962341 >>962977 >>964530
>ITT anons lament the OS devs' inability to form a fascist government to force software devs to set up their software to install to sane locations
There is logic in both systems, it's the fags that write installers that are retarded.
▶ No.962051>>962068 >>962341
>but what about windows!
Windows being shit doesn't make posix-shit any better!
▶ No.962064
>>962029
You're either trying too hard or are legit retarded. Either way you're embarrassing yourself.
▶ No.962066
>>961981 (OP)
If it's too hard for you, I think you should probably stick with Windows
▶ No.962068
>>962051
It's called whataboutism and it's how these brainlets think.
▶ No.962071
>>961981 (OP)
>Linux with a bad case of redhat jews
>absolute ass
Gee, I wonder why?
▶ No.962072
>>961990
if you get a blue screen when installing programs on windows, that's on you
>>961998
good point about program data location, appdata was a bad choice and writing to install folder was sadly restricted via UAC
Still, install location is almost always chosen by the user itself, which is great.
>>962032
hi /g/
▶ No.962077>>962080 >>962087
The problem with windows isn't necessarily the file structure it's that nothing follows any standard, it's all a clusterfuck
And god help you if you need to do anything with the registry
▶ No.962080
>>962077
Actually, the linux approach to configuration really bothers me. Five gorillion different files, each with it's own special snowflake syntax. Shit can even differ between distributions.
▶ No.962087
>>962077
Almost everthing on win follows a standard, the issues are that there are a gorillion different standards for the same thing, the eccessively lax ones are popular, and there's a lot of hand rolled solutions because devs didn't know about the standard covering their specific case.
▶ No.962091>>962155 >>962936
Why force users to care about any of this?
>system level stuff goes in the System Folder, usually Extensions if it's something without any UI like a shared lib, or Control Panels if it has a UI
>since the entire OS is inside a folder, you can have multiple OSs on the same partition, and transfer your entire system with a single drag and drop
>there is no default directory structure whatsoever outside the System Folder, normal software and documents go anywhere you want them and can be moved around at will, because the filesystem keeps track of things with a UID Db instead of pathnames
>persistent system-wide software settings go in the Preferences folder, inside the System Folder, using more than one file per program for this purpose is vehemently discouraged by the official guidelines
<All of this went down the shitter starting around the late System 7.5 era, tumbling downhill rapidly over OS 7.6-9, as Apple started adding Windows-isms like the Applications, Documents, and Application Support folders, as well as needlessly pouring mandatory shared libs from inside the System file all over the System Folder and beyond.
▶ No.962092
▶ No.962093
Don't like it? Make your own Linux distribution with whatever file system tree structure you want. Smarter people than you have done that and it resulted in very cool ideas being implemented: GoboLinux.org
▶ No.962114>>962125
>>961990
This has nothing to do with file structure.
▶ No.962122>>962936
>>962041
>the %appdata% is a location used to store temporary files from the installed programs
Wrong. Minecraft installed all its files to AppData/Roaming
▶ No.962125>>963213
>>962114
It's a retarded argument against a retarded OP. At least I got some (You)'s from triggered windows users. >>962045 was the best.
▶ No.962149>>962153 >>962154 >>962205 >>963941
/usr/bin was "invented" because some AT&T employees ran out of disk space in the 70s. /usr is the UNIX weenie way of writing "user" and originally held the home directories.
http://lists.busybox.net/pipermail/busybox/2010-December/074114.html
When the operating system grew too big to fit on the first RK05 disk pack (their
root filesystem) they let it leak into the second one, which is where all the
user home directories lived (which is why the mount was called /usr). They
replicated all the OS directories under there (/bin, /sbin, /lib, /tmp...) and
wrote files to those new directories because their original disk was out of
space. When they got a third disk, they mounted it on /home and relocated all
the user directories to there so the OS could consume all the space on both
disks and grow to THREE WHOLE MEGABYTES (ooooh!).
Of course they made rules about "when the system first boots, it has to come up
enough to be able to mount the second disk on /usr, so don't put things like
the mount command /usr/bin or we'll have a chicken and egg problem bringing
the system up." Fairly straightforward. Also fairly specific to v6 unix of 35
years ago.
The /bin vs /usr/bin split (and all the others) is an artifact of this, a
1970's implementation detail that got carried forward for decades by
bureaucrats who never question _why_ they're doing things. It stopped making
any sense before Linux was ever invented, for multiple reasons:
Standards bureaucracies like the Linux Foundation (which consumed the Free
Standards Group in its' ever-growing accretion disk years ago) happily
document and add to this sort of complexity without ever trying to understand
why it was there in the first place. 'Ken and Dennis leaked their OS into the
equivalent of home because an RK05 disk pack on the PDP-11 was too small" goes
whoosh over their heads.
That's another thing wrong with everything in UNIX. Something well-designed like Multics, Common Lisp, PL/I, and Ada has good reasons for everything that's in there. The reason C and UNIX do something is usually incredibly stupid, like they ran out of disk space or they just didn't know how to do it right (and if you use UNIX, neither will you), which sucks.
https://en.wikipedia.org/wiki/ICL_VME
>Files and other persistent objects are recorded in a repository called the Catalogue. Unlike other operating systems, the file naming hierarchy is independent of the location of a file on a particular tape or disk volume. In days where there was more need for offline storage, this made it easy to keep track of files regardless of their location, and to move files between locations without renaming them. As well as files, the Catalogue keeps track of users and user groups, volumes, devices, network connections, and many other resources. Metadata for files can be held in an object called a File Description. The Catalogue was probably the first example of what would later be called an entity-relationship database.
A solution to this problem was found in the 1970s, but instead of fixing anything, the AT&T employees preferred to bureaucratize and standardize their mistake without any solution. If that /usr disk became full and they still needed more space, they would have had to pick another random directory. Maybe all this bullshit is why UNIX weenies think UNIX was the first time anyone attempted a hierarchical file system, because nobody else screwed it up this bad.
For reasons I'm ashamed to admit, I am taking an "Intro
to Un*x" course. (Partly to give me a reason to get back on
this list...) Last night the instructor stated "Before
Un*x, no file system had a tree structure." I almost
screamed out "Bullshit!" but stopped myself just in time.
I knew beforehand this guy definitely wasn't playing
with a full deck, but can any of the old-timers on this list
please tell me which OS was the first with a tree-structured
file system? My guess is Multics, in the late '60s.
▶ No.962153
>>962149
TFW Linux is fucked forever because some retard put their steam games on another drive.
▶ No.962154>>962157 >>962167 >>962936
>>962149
>the solution is to use a registry
You're not serious
▶ No.962155
>>962091
I'm sad that I missed out on Apple during this era.
▶ No.962157>>962167 >>962202 >>962207
>>961981 (OP)
The Filesystem Hierarchy Standard sucks a lot. stali's approach to fixing it was nice but unfortunately it's dead.
/bin - all executables go here
/bin/kernel - linux kernel
/dev - devices
/etc - system config/program config/user setup/network setup
/etc/rc.{start,stop} - init scripts
/home/root - root's home
/home/* - user home dirs
/include - include files
/lib - libraries for development
/local - non default stuff
/mnt - mount points
/proc - linux procfs
/share - man pages, locales ...
/sys - linux sysfs
/tmp - permanent storage ;)
/var - spool, run, log, cache
/usr - softlink /
As far as living Linux distros with alternative filesystem hierarchies go, GoboLinux exists and takes some inspiration from NeXTSTEP and BeOS. I'm not very familiar with it but Wikipedia and https://gobolinux.org/at_a_glance.html have summaries of its approach.
>>962154
He is. The Multicuck has no care for simplicity or consistency, he'll wolf down any shit which frees him from the Unix bogeyman whether it's actually an improvement or not.
▶ No.962167>>962179 >>962195
>>962154
>>the solution is to use a registry
You're probably assuming this is something that works on top of a UNIX-like file system, instead of a different way of utilizing disk space and organizing devices. It's no more a registry than the UNIX directory structure with /dev and /proc and mounted drives is a registry. Everything uses the normal way of naming and selecting files.
https://www.fujitsu.com/uk/Images/the-architecture-of-open-vme.pdf
The sequence of selectors used to specify an object selection is known as a
hierarchic name. Although in many cases such a name uniquely defines a
catalogued object two successive selections with the same hierarchic name may
select different catalogue objects - if, for example, a new version of an object has
been created between selections.
The OpenVME system provides a means of establishing an efficient reference to
a particular object, a process known as selection. Such a reference is known as a
currency and represents not merely the selection of an object but also the context
in which it was selected, including the security attributes associated with that
selection. A currency, for its lifetime, always represents a localised, temporary
reference to the same catalogued object; once established, it may also be used as
a starting point for further object selection.
>>962157
>He is. The Multicuck has no care for simplicity or consistency,
Inconsistency is a huge reason for bloat and duplication in UNIX. I care about simplicity, which to me means not needing tens of millions of lines of code, not shaving a few options off of "ls" and needing "tar" (a tape archiver) to copy directories.
>he'll wolf down any shit which frees him from the Unix bogeyman whether it's actually an improvement or not.
Of course it's an improvement. Suppose Rob Pike made a "successor" to Plan 9 and declared that you could name a file independent of its physical location and that "users and user groups, volumes, devices, network connections, and many other resources" were also named in the hierarchical file system. UNIX weenies would be calling that the culmination of the "everything is a file" philosophy.
Date: Tue, 19 Nov 91 08:27:49 EST
From: DH
Yesterday Rob Pike from Bell Labs gave a talk on the
latest and greatest successor to unix, called Plan 9.
Basically he described ITS's mechanism for using file
channels to control resources as if it were the greatest
new idea since the wheel.
Amazing, wasn't it? They've even reinvented the JOB device.
In another couple of years I expect they will discover the
need for PCLSRing (there were already hints of this in his
talk yesterday).
I suppose we could try explaining this to them now, but
they'll only look at us cross-eyed and sputter something
about how complex and inelegant that would be. And then
we'd really lose it when they come back and tell us how they
invented this really simple and elegant new thing...
▶ No.962179
>>962167
>UNIX weenies would be calling that the culmination of the "everything is a file" philosophy.
That sounds about right.
▶ No.962195>>963883
>>962167
And how would Unix benefit from this catalogue bullshit? You claim to care about simplicity and reducing code, yet instead of looking for a saner filesystem hierarchy you push another layer of complexity and excuse it with "you guys would totally like this if Rob Pike promoted it because he's adopted other systems' ideas before." This kind of cancer is the stuff destroying Linux and you're too blinded by your clever little ideas to wonder if they actually fit the OS' design philosophy.
>but the unix design philosophy sucks
Then write your own OS designed around a different philosophy instead of polluting an existing one and making it even less consistent. The suckless movement and projects like musl are already doing a great job at reducing LOC, inconsistency, and complexity in Unix, they don't need your whining about how Unix isn't exactly like your favourite mainframe operating system from the 20th century. Catering to fags like you who want everything even if it doesn't fit together leads to clusterfucks like C++.
▶ No.962200>>962203 >>962341 >>964281
GoboLinux tried to change that. Sadly, it never caught on.
▶ No.962202>>962204
>>962157
BTW, what happened to stali? Any mention of it has been scrubbed from suckless' website and git repos. Is there a backup anywhere?
▶ No.962203>>962234 >>962807 >>962936
>>962200
Why does it have to "catch on"? If you think it's good, use it. Contribute packages to it. Fix the problems that you have, if any, and contribute those fixes. Patch user space programs to make them more compatible.
I honestly have no idea where this lemming mentality comes from. Will you people never be happy unless your distro becomes literally windows in terms of popularity? The red pill is even if you're the only user of that distro, it's OK as long as it works for you. The guy who made gobolinux had a new idea about how things should be done, and he had the will to make it happen. The only thing that matters to him is whether it works for him, whether he thinks the system is "correct". Who carea how many people download it? It's like you're all living in some "lmao let's change the world" fairy tale. You change only yourself.
▶ No.962204
>>962202
I have no idea. Maybe there's an explanation in their mailing list archives or something.
▶ No.962205>>962255 >>963883
>>962149
Huh. That's actually a very interesting piece of history. Always thought /usr meant user space, as opposed to kernel space.
Standards bodies are garbage every single time; not sure why anybody expected them to care about these issues. They just want everything they already have to keep working, dammit. Keep your subversive why questions to yourself.
▶ No.962206>>963071
Oh hi, I didn't see you there. I was just passing through.
▶ No.962207>>962951
>>962157
>/home/root
This is probably bad decision. Root's home directory, /root, is kept on the root partition so thar you can keep /home on a separate one and log in as root to do maintenance without having to mount /home at all. While it IS inconsistent with the rest od the scheme, there actually is a good reason for that.
Unless you can somehow make /home/root part of the root partition with the rest of the user directories separate...?
▶ No.962233
>>961981 (OP)
>He's never looked in the OS dir tree of Windows
It's worse than most GNU+Linux distros.
▶ No.962234>>962285
>>962203
>Why does it have to "catch on"?
Because it's a social form of software. Encouraging people to reconsider ideas is important.
Yes you can change yourself when it becomes untenable, as a line in the sand. Otherwise it's a healthy thing.
▶ No.962246
The legacy horseshit is dead. Long live the legacy horseshit.
▶ No.962255
>>962205
While /usr did originally mean "user", overtime it has become "Universal (or Unix) System Resources", since /home has replaced it on some systems. I think plan9 still places the user directory in /usr though.
▶ No.962285
>>962234
The point is stop giving a shit about what other people do or don't do. Linux is unique. It lets you put whatever you want on top of it. You don't need to put GNU POSIX shit in there if you don't want to. You can mount the API file systems wherever you want. You can swap out init systems. You can do anything. So do it and stop worrying.
▶ No.962341
>>961981 (OP)
This is one of the reasons I still use Windows and haven't totally dropped it. I like having the ability to install software into a single directory. I do hate applications that by default install into places you cannot change and dump a bunch of shit into %APPDATA%. My Program Files folder is nice and organized, but the Windows directory is a pile of shit as bad in my opinion as the linux filesystem, but at least on windows I can separate the stuff I install from the mess that the OS makes.
>>961990
literally doesn't happen unless you're using windows 10 in which case you're hopeless. XP and 7 don't have this problem ever. at worst a program is incompatible and will crash.
>>961998
I agree appdata is shit, but in most cases I will tell a program to install under, for example, C:\Program Files\Utilities\Program and to store it's data there as well.
>>962047
>>962051
agreed.
Does anyone know if there is a way to change the default file system of linux? Being used to windows and DOS it would be nice to have a non-shit OS with a non-shit file structure
>>962200
Shit, I'll try this. I've never heard of it before.
sorry for the mass replies everyone.
▶ No.962397>>963883
- The directory structure is split so you can NFS mount them by usage type on a heterogeneous cluster.
- /bin is statically linked tools for when something's preventing pulling up a full system with dynamic linking, or to be used during boot prior to the system being ready for libraries.
- It's /root instead of /home/root in case your user directories are on NFS, it's a home directory that is always local to the machine so you can fix problems (like with NFS).
ITT /tech/ learns everything they bitch about is actually excellent design and they're outed as faggots.
▶ No.962807>>962818
>>962203
Cuz even if I use it, or there's another distro with a similar scheme, most other people won't, no big distro will, and it'll still be a pain in the ass to change the existing standard. Doing my best to avoid fucking systems feels exaustimg enough.
>lemming mentality
>red pill
wew lad no need to flex that galaxy brain of yours at us peasants
▶ No.962818
▶ No.962936>>962944 >>964304
>>962091
>Why force users to care about any of this?
because educating users is important, and because the alternative you propose is trash: keeping track of every single file and folder being moved around is a performance nightmare that scales horribly as the file count goes up and is a confusing mechanism that can easily lead to bugs, and asking programs to use only a single file for system wide storage is insanely inconvenient for everyone.
>>962122
that is minecraft's fault, also appdata is for long-lived files, it's not %temp%
>>962154
not all registries are window's registry, that would be painful.
also the thing he's describing seems to be a db more than a registry
>>962203
because tiny userbase means skewed perspective: you don't get feedback from anyone but a small group of like-minded autists, nothing good can come from that.
>The red pill is even if you're the only user of that distro, it's OK as long as it works for you.
the red pill is that your sticking to said distro is a memetic dead end: you are only delaying the inevitable, making the future change more and more difficult while sticking to less and less useful tools, and nobody will remember your stand.
>You change only yourself
learning when to let go would be a good start.
▶ No.962944>>962959 >>964362
>>962936
>seems to be a db more than a registry
wtf do you think a registry is?
▶ No.962951
>>962207
You could bind mount /root (and somehow hide it) to /home/root and it should mount regardless of if /home is mounted or not.
▶ No.962959>>962981 >>964239
>>962944
why is a registry bad?
it's just a file cabinet list of where everything is installed and located.
▶ No.962973>>963616
>>962041
>If linux dipshits had any brains they would create virtual folders where all the programs are installed in neat compiled and together rather than separate like the dumb shit way it's currently being used.
▶ No.962977>>962984
>>962047
If you're using linux and are using installers instead of a package manager, you have bigger problems.
▶ No.962981
>>962959
Registries are bad as you can't easily move a program's whole settings around, you have to surgically cut them out and splice them in.
▶ No.962984
>>962977
I only install Windows applications in Wine and shortcut them to my desktop since Linux apps are so shit and M$ is evil corp and Linux better OS
▶ No.962990>>963018
>>961981 (OP)
Daily reminder that if you're using a modern major distro, use systemd, or use an initramfs, /bin and /usr/bin are symlinked to each other and contain the same contents.
▶ No.962996>>963255
>>961981 (OP)
Windows is worse in every possible way. In UNIX and GNU, you can just copy your anime on a HDD and mount it on your old animu folder. Also, there is the whereis and which commands on the GNU system.
▶ No.963018
>>962990
Ubuntu here (obviously using systemd). You made me check and they are not symlinked and have different contents. Where did you get your info?
▶ No.963038
Cutler was right
Unix bullshit like this is why it stays behind cleaner designs
▶ No.963042>>963145
>>962029
>lmfao linux nigger in his ghetto enjoy your fucking dot files
I bet you're the faggot who always demands to run as root.
▶ No.963071>>963984
>>962206
>1024x768
>KDE3
which century do you think we live in, nigger
▶ No.963075>>963244
>>961981 (OP)
ONE'S ROOT AND THE OTHERS NOT YOU KIKE
▶ No.963145>>963146
>>963042
>user has one folder
>programs proceed to dump shit into that one folder
ls | wc -l
33
ls -a | grep "^\." | wc -l
60
This is fine because in Linux the user is a nigger.
Your browser cache is even stored in /home fucking lol. How many mongs are archiving their cache when they muh elegantly backup their home folder.
▶ No.963146>>963255 >>964362
>>963145
>his browser doesn't reset itself upon exit
OH NO NO NO
▶ No.963147>>963213 >>963255 >>963482
>>961981 (OP)
It's a lot of historical cruft that hasn't been relevant in decades, but continues due to muh backward compatibility and retarded grognards like >>961990 and >>961998 who think because they suffered it themselves then it must be preserved as some retarded initiation rite.
Windows gets to break backwards compatibility because they give no fucks. But even Windows has retarded things like
>Program Files vs. Program Files (x86) (and developers don't always follow the convention)
>Appdata
>Fodlers in C:/Windows/
I just install all my Windows software I care about under D:\Games or D:\Programs, which ends up being D:\Sandboxie\DefaultBox\drive\D\Programs\ because I'm not a pozzed faggot. On Lunix I'd consider using GoboLinux but it's such a shit distro aside from the file tree that I just accept it.
Really 99% of programs should just be portable with static-linked libraries. I already have no issues with space usage by programs, and I wouldn't mind buying a few extra drives just for the privilege of enjoying a hassle free file system. Most programs don't use that many big libraries to get much benefit from dynamic linking, and many of the libs they do use could have been swapped for smaller ones or sometimes just importing the one function. There's a lot of people who import 100 MB libs to use one 5-liner function.
▶ No.963160>>963213
>>961990
>linux fag can't defend his beloved shit OS against a valid question
>so linux fag just spergs out with some angry nonsense story
Typical childish behavior we've come to expect from them.
Anyway, OP is right, the unix structure is garbage. You can demand people to read about the original idea behind it, but that doesn't change what it is: outdated and absolute shit.
This is just one of the reasons why linux will NEVER get a userbase beyond a handful autistic users. It desperately needs a redesign from the core. A massive overhaul.
But spergs hate change and can't handle constructive criticism, so it'll stay shit, if only out of spite.
▶ No.963213>>963234 >>963608 >>963883
>>963147
>due to muh backward compatibility and retarded grognards
>but I don't need /dev/tty to watch my gay porn, so we should remove it, who even uses serial anymore, amirite guys?
>>963160
Read more carefully, notice the first line of the post and then read >>962125 Thanks for another (You).
>outdated and absolute shit
>It desperately needs a redesign from the core. A massive overhaul.
Just like systemd. That was a nice massive overhaul. That outdated SysVinit garbage is just horrible. Yes it works, but it's old so we have to replace it.
>constructive criticism
Yes, your post is a prime example of constructive criticism:
>outdated and absolute shit
tells me so much, thanks. I'll immediately start working on absolute shit part, I know exactly what to do.
I don't get it why you fags have so much trouble understanding linux filesystem hierarchy. It's not that complicated, you just have to stop sucking dick for one second and read the standard. Shit.
https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
▶ No.963234
>>963213
>That outdated SysVinit garbage is just horrible. Yes it works, but it's old so we have to replace it.
I hope this is sarcasm
but I do agree that the filesystem heirarchy could use an overhaul.
From your link, etc used to mean et cetera, but now it's where the configs go. Ok, cool. WHY ISN'T IT CALLED /conf?!?
/bin and /sbin are pointless. Just have it be /bin.
/opt is pointless. What is an "optional software package"? Is that just anything that didn't come preinstalled with the system? That can't be it, because installed programs end up in /bin anyway. Get rid of it.
I can kinda see the purpose of /usr. Kinda. I think it could use a rename. /usr looks way too much like "user", which is very unintuitive. I don't have a good name for it that fits in like 3-4 letters, but it should be more obvious to know what's in there at first glance.
▶ No.963244
>>963075
Root canals are not a good thing you fuck
▶ No.963255>>963388
>>962996
>hur dur i don't know how to mount on windows im a retard hur dur
>>963146
>wasting bandwidth re-downloading entire websites like its the 80's
>>963147
>Program Files vs. Program Files (x86)
Program Files is for 64bit programs while (x86) is for 32bit programs.
Appdata is for your programs to install temporary data to access whenever it loads, it writes a bunch of shit into there so it dosn't have to reload it all the time.
c:windows is where your windows installation/drivers/fonts files are. you don't need to mess with it unless you really need to.
▶ No.963388>>963489 >>964362
>>963255
>Program Files is for 64bit programs while (x86) is for 32bit programs.
An utterly superfluous distinction, not enforced by OS and not obeyed by devs.
>Appdata is...
As explained by other posts, there are multiple such directories and no consistency regarding which is used. And while I'm here, let me just give a great big fuck you to all the games that put their saves in My Documents.
>you don't need to mess with it unless you really need to.
>windows regularly balloons to 50-100 GB requiring manual intervention
>don't need to mess with it
>system files constantly go missing, leading to "file not found"
>don't need to mess with it
Whatever WIDF
▶ No.963467>>963883
>>961981 (OP)
>Why is the
Why is it? It makes perfect sense. /bin/ and /lib/ are for the basic bootup process and bare-bones single user mode for recovery and maintenance operation. /usr/ is for anything installed above and beyond this base, /opt/ is for site-specific modifications done without your package manager (ie things you compile yourself), and so on. It makes perfect sense because it's always been this way since the very early 1970s. You're just confused because you're a Wintarded baby.
▶ No.963482>>963492
>>963147
>>Program Files vs. Program Files (x86)
holy FUCK I hate this shit. fuck microshart and fuck linux too. don't forget the \users folder, nobody fucking uses it apart from normies because that's what windows uses by default.
Ideally I'd have
C:\
|_Program Files
| |_category 1
| |_category 2, etc.
|_media, documents, etc.
|_OS only shit
and that's it. it's the current year for fuck's sake, I don't care about the extra space taken up if I don't let programs share libraries. I would rather spend $100 on disks than have to deal with a convoluted filesystem.
▶ No.963489
>>963388
>>system files constantly go missing, leading to "file not found"
how the hell does this even happen? use windows for a week regularly, and try to install any fucking program and it throws "DURR CANNOT FIND API-WIN-MS-CRT-RUNTIME.DLL HURRR" when a search literally turns up that exact fucking .dll among all the other .dlls that work just fine. the only way to fix it is reinstalling the Visual C redistributable (which is a shitshow in itself) multiple times, and usually that doesn't work so your best bet is reinstalling windows.
▶ No.963492>>963505 >>964304
>>963482
>let's statically link everything
It's really about time, I know there are arguments either way but at least shit would work. If there is a security flaw with a certain library it should be up to the OS to contain it anyway, a perfect OS would allow no library to usurp its authority and expose a vulnerability.
▶ No.963505
>>963492
this, the extra size doesn't really matter to me. However some libraries for programs are huge, but generally those programs don't have libraries that other ones use.
One problem is that the end user doesn't have the freedom/flexibilty of having the libraries, but instead has a single binary program which is less trustworthy. Open Source still doesn't mean that the binary file a user may download is secure, the only way is to compile yourself from source but this isn't practical for most users, and even for people who know what they're doing it can be a hassle.
I would personally be fine if programs just included their dependencies in a single folder, and this is also on developers to sort out. I would much rather unzip a folder and get to using it than download an installer and make unnecessary registry entries.
▶ No.963581>>963634
>>961981 (OP)
Gobolinux fixed this, but communists hate usability, love bureaucracy, and are the loudest faggots in the room, shouting down any sensible changed whenever they can.
Here's some insight into how the fhs became such a dumb clusterfuck
https://yakking.branchable.com/posts/fhs/
>How did the Unix directory tree grow into the sprawling ent that it is today? It happened mostly through incremental change, not by design. You could almost say it happened organically.
>For example, the /usr directory was originally, in the early 1970s, meant for home directories. "Usr" is short for "user" in various parts of Unix. What happened was the the Unix developers had two disks in their machine, one for the system, the other for user home directories. They ran out of disk space on the system disk, and fixed this by moving parts of the system to the user disk, eventually crowding out users from /usr to /home. As a result we now have the system spread on the "root disk", and the "user disk" (/usr).
That's the kind of bullshit that people are desperate to defend.
▶ No.963608
>>963213
>linux filesystem hierarchy
>It is maintained by the Linux Foundation
pure cancer
▶ No.963616
>>962973
I have been using their package manager on Ubuntu and I have to say that it's finally package management done right. Spilling all the binaries and libraries right into the system was an awful choice and has led to the problem where you can have either stable and outdated software, or have everything bleeding edge and as unstable as a late-game Jenga tower.
With Guix you can build anything you want, have multiple versions of the same package, and they all sit inside the store without stepping onto each other. You then declare a Guix profile with the packages you actually want to use and switch profiles as needed.
▶ No.963634>>963883
>>963581
>hur dur let's use some archaic shit from the 70's and never modernize it
like the retarded naming scheme that makes no sense.
>usr instead of user because it saved 1 byte.
▶ No.963639
Look at Gobolinux, NixOS, GuixSD, and Tiny Core Linux (if I'm remembering correctly) to get away from FHS cancer. Windows does better than FHS in regards to where a program resides. However, it's terrible in regards to where that program's settings reside (eg, registry).
And no, they won't ever consider fixing it because they don't consider it broken. They made it a STANDARD after all.
▶ No.963833>>964216 >>964362
>>962041
>you have no business being there unless you need to remove files.
Gas yourself kike. I have the full right to view and access my data.
▶ No.963842>>964304
>>961981 (OP)
Browsing Linux root folder is like browsing Windows system32 folder. You have no business there.
▶ No.963883
>>962195
>And how would Unix benefit from this catalogue bullshit?
It won't because it's not compatible with UNIX.
>You claim to care about simplicity and reducing code, yet instead of looking for a saner filesystem hierarchy you push another layer of complexity and excuse it with "you guys would totally like this if Rob Pike promoted it because he's adopted other systems' ideas before."
I already explained that it's not something that works on top of UNIX, but something that works differently. You keep confusing UNIX's bullshit with the actual hardware. A file system is an abstraction created by software.
>This kind of cancer is the stuff destroying Linux and you're too blinded by your clever little ideas to wonder if they actually fit the OS' design philosophy.
Nobody has proposed adding this to Linux. What's destroying Linux are C, panics, the OOM killer, hundreds of system calls, and all this bullshit that copies what a PDP-11 happened to do in the 70s.
>Catering to fags like you who want everything even if it doesn't fit together leads to clusterfucks like C++.
C++ sucks because nothing in C works and C++ is created by adding bullshit to C. Everything C++ can do could be done in a much cleaner and simpler way if it wasn't based on C.
>>962205
>Standards bodies are garbage every single time; not sure why anybody expected them to care about these issues. They just want everything they already have to keep working, dammit. Keep your subversive why questions to yourself.
It depends on the standards body. If they have to write a rationale for what they do, the why questions matter and the quality of work is higher because they have to consider different options and justify their choices. If their job is to "document existing practice" then they don't care and don't want to know because it would make them hate their jobs even more.
>>962397
That's revisionist bullshit. NFS didn't exist at the time and UNIX didn't have dynamic linking at the time.
>ITT /tech/ learns everything they bitch about is actually excellent design and they're outed as faggots.
That's true when they bitch about Multics segments, the VME catalogue, tagged memory, dynamic linking, and so on. When it comes to UNIX, it's even shittier than they think.
>>963213
>I don't get it why you fags have so much trouble understanding linux filesystem hierarchy. It's not that complicated, you just have to stop sucking dick for one second and read the standard. Shit.
A whole tree in that "standard", /usr, would have been for home directories if a PDP-11 didn't run out of disk space. Why is "configuration" data stored in a directory called /etc? Because the PDP-11 had an extra "etcetera" disk by that name. If they had one less disk, it would have been stored somewhere else. Everything in UNIX is based on the device configuration of a single computer. "They have never separated the program from the machine." Their idea of "portable" is making everything else look like that one machine.
>>963467
>It makes perfect sense because it's always been this way since the very early 1970s.
Bullshit. It's only been that way on AT&T's PDP-11s and it has always sucked.
>>963634
They don't defend it because it's from the 70s, they defend it because it's from AT&T and they can't tell the difference between 80s corporate shilling and academic thinking. Better solutions already existed in the 70s for almost everything wrong with UNIX, but they did not come from what UNIX weenies consider to be acceptable corporations. This is why someone in the 70s could have done something the rest of the world considered good for decades and UNIX weenies will say it sucks until Rob Pike copies it.
The fundamental design flaw in Unix is the asinine belief
that "programs are written to be executed by computers
rather than read by humans." [Now that statement may be
true in the statistical sense in that it applies to most
programs. But it is totally, absolutely wrong in the moral
sense.]
That's why we have C -- a language designed to make every
machine emulate a PDP-11. That's why we have a file system
that forces every file to be viewed as a sequence of bytes
(after all, that's what they are, right?). That's why
"protocols" depend on byte-order.
They have never separated the program from the machine. It
never entered their tiny, pocket-protectored with a
calculator-hanging-from-the-belt mind.
▶ No.963904
>>961981 (OP)
Linux is a kernel.
▶ No.963934>>964217
>>961981 (OP)
>visit 8chan one fucking time in my life
>see this thread, the absolute dumbest words i've ever read
i hate you all and I'm never coming back
▶ No.963941>>964206
>>962149
Before fags start thinking usr mans user let me say this: usr is universal system resources.
▶ No.963984
>>963071
>which century do you think we live in, nigger
21st?
▶ No.964180
>>961998
It's installed where you ask the installer to install the files. I know it's a hard concept to grasp, but you'll manage. That said, it is true that the way some programs (games especially) store their shit all around the place because MS told them to is irritating as fuck (user data saved in the document or user directory instead of the actual game directory always pisses me off).
▶ No.964206
>>963941
I know, but that's not clear enough at first glance. If that's what it means, make it /res for resources. Or better yet, ditch the entire concept and put the binaries in /bin and libraries in /lib.
KISS
▶ No.964216>>964240
>>963833
>Gas yourself kike. I have the full right to view and access my data.
>Retard goes into folder and removes shit
>windows crashes because retard removed important os files
>WINBLOWS SUCK WAAAAAAHH!!!!!!
▶ No.964217
>>963934
fuck off and stay out
▶ No.964222>>964225 >>964233
What does /tech/ think of the suckless proposal of a new FHS?
Filesystem
/ - the root home
/bin - all executables
/sbin -> /bin # softlink pointing to /bin
/boot - all boot files
/etc - system configuration
/home - user directories
/var - spool, run, log, cache
/share - man pages, locales, dependencies
/include - include/headers
/lib - static libraries for building stuff
/mnt - mount points
/usr -> / # softlink pointing to /
Based on the Linux assumption:
/dev - devices
/proc - proc files
/sys - sys files
For crap stuff:
/sucks - stuff that sucks, like ugly gnu library dependencies, or systemd fake handlers
▶ No.964225
>>964222
Rename /etc to /conf
▶ No.964233>>964248
>>964222
>symbolic link /usr to /
Bad idea, the linux kernel patches expect /usr/src to exist. Then there a whole host of legacy software that expects /usr/lib to exist. If you ditch legacy software and the linux kernel then go for it.
▶ No.964239
>>962959
Try committing the windows registry to git.
▶ No.964240>>964244
>>964216
>%appdata%
>important OS files
▶ No.964244
>>964240
the other retard was talking about c:\windows idiot
▶ No.964248
>>964233
>expects /usr/lib to exist.
ok so it looks for /usr/lib. /usr is now a link to /, so if it's looking inside /usr, it'll just loop back to the FS root. Then it'll look for lib inside of that, which is where the libraries will actually be.
▶ No.964281
>>962200
I've read a bit about Gobo. So they organized the directory structure in a way that actually makes sense. That's fantastic, almost Mac-like! So you would imagine it is a very newbie-friendly distro. But no, it seems to be extremely unfriendly in every other respect.
> https://fosspost.org/reviews/distributions/gobolinux-a-linux-distribution-with-new-filesystem-hierarchy
▶ No.964304>>964306 >>964362
>>962936
>educating users is important
Why educate them on something humans shouldn't even know in a competently designed system? It's the equivalent of forcing users to manually input IRQs in order to get hot-plug peripherals working.
>the alternative you propose is trash: keeping track of every single file and folder being moved around is a performance nightmare that scales horribly as the file count goes up
You realize filesystem hierarchy is also an abstracted Db, sitting atop the CHS geometry of the actual storage device, right? Having UIDs available as an alternative to pathnames (or better yet, the underlying scheme on which paths are merely one type of metadata, to prevent overloading filenames) won't scale any worse than paths do.
>is a confusing mechanism that can easily lead to bugs
As opposed to piling file identification, filetype, and directory structure all onto the same extremely brittle plaintext string? One that arbitrarily forces users to keep things in particular places for no real technical reason?
>and asking programs to use only a single file for system wide storage is insanely inconvenient for everyone.
Why? If you have more stuff, put it in other forks, instead of randomly smearing redundant files all over, since the point of the file hierarchy is to present useful abstractions to users, not act as a crutch for lazy programmers.
>the red pill is that your sticking to said distro is a memetic dead end: you are only delaying the inevitable, making the future change more and more difficult while sticking to less and less useful tools, and nobody will remember your stand.
This. If you don't push your shit on the normalfags, features that support your prefered use style will be eliminated from newer systems, leaving you either stranded or forced to reimplement it yourself from scratch.
>>963492
No, no, NO, NO! We have too much bloat already, I do not want a billion copies of the same standard libs eating up mass storage, plus contending for RAM AND CACHE. Modern OSs should be using more sophisticated deduplication mechanisms, not less!
YOU MOUTHBREATHERS ARE LITERALLY ADVOCATING FOR FUCKING ELECTRON ON /TECH/
>>963842
What if I want to install a program on another partition? Rat's nest of brittle symlinks ahoy!
▶ No.964306>>964362
>>964304
>No, no, NO, NO! We have too much bloat already, I do not want a billion copies of the same standard libs eating up mass storage, plus contending for RAM AND CACHE. Modern OSs should be using more sophisticated deduplication mechanisms, not less!
>YOU MOUTHBREATHERS ARE LITERALLY ADVOCATING FOR FUCKING ELECTRON ON /TECH/
dude, he's not talking about writing shitty "apps" in pajeetscript. These would be white people's C/C++ programs.
▶ No.964362>>964644
>>962944
Registries are a kind of hierarchical database, which is an unnecessary restriction in this case.
>>963146
>Not using cross session caches
Wew
>>963388
>system files constantly go missing, leading to "file not found"
What the fuck are you doing to your system?
>>963833
>I have the full right to view and access my data.
You also have the full right to hose your linux install with rm rf, doesn't mean it's a good idea.
>>964304
>Why educate them on something humans shouldn't even know in a competently designed system?
Because "where is my stuff" and "how do I move my stuff" are things users should know, and dumping everything but a single file per program under "system folder" goes against that.
>You realize filesystem hierarchy is also an abstracted Db, sitting atop the CHS geometry of the actual storage device, right?
Of course, and keeping it consistent and performant is already a nightmare: see any new file system, they are all night unusuable and prone to data loss for years.
Add a second abstraction layer on top, and you're asking for trouble: to make it worse, you aren't pretending to move stuff in the abstraction while leaving it be in the low layer (as the filesystem does all the time), you are moving stuff at the low layer and keeping it still in the abstraction (something the filesystem never does, that's a task for the disk firmware and a pretty slow one too).
Having the filesystem as the top astraction layer with your proposal below it would work much better, but good luck with compatibility.
>Why? If you have more stuff, put it in other forks, instead of randomly smearing redundant files all over, since the point of the file hierarchy is to present useful abstractions to users, not act as a crutch for lazy programmers.
Having everything in a single file is not user friendly in many cases: consider having save.db, video.ini, keybinds.ini and editor_designs.json as separate files or as a single blob.
>Modern OSs should be using more sophisticated deduplication mechanisms, not less!
Deduplication at no cost is good, but unfortunately deduplication and portability are often at odds.
Electron apps are a symptom more than an issue by themselves,the root cause being that it's incredibly hard to get a consistent webviewer on different systems: all major browsers break standards in their own special way, their feature sets are incomplete yet bloated at the same time, and users are more than happy not to update them to avoid bad changes.
Packing an entire fucking self-contained web browser in your program wouldn't be too much of an issue if it was well optimized, non-pozzed, and if it wasn't abused to do shit that's hundreds of times faster when done natively: of course, in such an utopia it would also be fine to have said browser as a shared library (something like DirecX for our MS friends).
TL DR both portability and deduplications need serious improvements.
>>964306
Practice trumps theory, also implying white people don't write webshit: just look at Pike.
▶ No.964530
>>962047
Yet another argument in favor of fascism
▶ No.964540>>964644
>>961981 (OP)
One of the things MacOS does right, IMO. Most apps live in a folder in /Applications, with all their attendant files, with an optional folder in /var/private occasionally.
Of course if something is an mpkg installer then all bets are off, but the vast majority of stuff uses the good old open-disk-image-copy-contents-to-applications install method.
▶ No.964644
>>964362
>dumping everything but a single file per program under "system folder"
Maybe my description of the classic Mac System's hierarchy wasn't quite clear enough:
┌volume root ''(can have any name)''
├''(various OS-independent things relating to the filesystem, all invisible)''
└┬System Folder
├┬Extensions
│└''(anything optional or 3rd-party without a UI, like shared libs)''
├┬Control Panels
│└''(anything optional or 3rd-party with a UI)''
├┬Preferences
│└''(system-wide persistent stuff)''
├System ''(file containing all mandatory 1st-party pieces of the OS)''
└''(various other stuff)''
''(software, documents, folders, etc., can be put or moved anywhere and named anything.)''
The point is to place as few arbitrary restrictions on users as possible.
>they are all night unusuable and prone to data loss for years
Except those designed by people who actually know their shit, like BFS and ZFS.
>but good luck with compatibility
Yet another argument for a Macintosh-style "burn the bridges" mentality toward other platforms.
>consider having save.db, video.ini, keybinds.ini and editor_designs.json as separate files or as a single blob.
Humans should never see nor touch such things directly. Instead, the application should provide a good native UI for editing their contents, an export/import function for migration, and a well documented API for other devs.
>all major browsers break standards in their own special way, their feature sets are incomplete yet bloated at the same time
I think I'd put the blame one level higher, at the destruction of the W³C and their firmly SGML-derived XHTML standard, in favor of WHATWG's rolling-release HTML5 non-standard. The inmates, that is browser devs, are now running the asylum.
>both portability and deduplications need serious improvements
In another thread about how shit *N*X/Windoze are, someone suggested slicing shared libs into smaller pieces, which might make it easier to have multiple versions of the same library work efficiently together.
>>964540
Keep in mind a lot of OSuX software will, when first opened, silently run an installer that pozzes your system. If something asks for your account password, it's installing stuff. Some, like Microsoft Office, will even check on every run, and silently "repair" its tentacles if anything was moved.