Slashdot Mirror


Fedora Aims To Simplify Linux Filesystem

jfruhlinger writes "Even Linux's most passionate partisans will admit that its filesystem, which stashes vital files in a variety of arcane directories, can be baffling to users. The developers at the Fedora project want to cut the Gordian knot and consolidate all executables into /usr/bin and all libraries into /usr/lib or /usr/lib64. One downside: this system would conflict with the standards developed by the Linux Standard Base, or the (rarely used) Filesystem Hierarchy Standard."

74 of 803 comments (clear)

  1. When do we get compression? by SharkLaser · · Score: 2, Insightful

    The one thing that baffles my mind is that Linux filesystems still don't offer compression of specific folders or files. Seriously, Windows has had this for over a decade. There's a few experiemental filesystems that can compress the whole partition, but still not individual files. Why doesn't Linux have such a simple but important filesystem feature? And no, I don't want to make an archive file, because I want to access those files and folders while they are compressed.

    1. Re:When do we get compression? by royallthefourth · · Score: 3, Informative

      Make the directories you want compressed into mountpoints on the compressed partition.

    2. Re:When do we get compression? by Shikaku · · Score: 2

      It's still possible with squashfs and aufs, but squashfs is readonly so aufs is so you can still write to the directory.

      It's not very user friendly obviously however.

    3. Re:When do we get compression? by billcopc · · Score: 2, Interesting

      How important is that, really ? The only times I've used NTFS compression were for freeing up temp space on ancient servers, back when 9gb and 18gb SCSI drives were the norm. Seems like a throwaway feature to me.

      For portable usage like CD/DVD and USB flash, a full-disk compressor like squashfs is just fine.

      --
      -Billco, Fnarg.com
    4. Re:When do we get compression? by Arker · · Score: 2

      And no, I don't want to make an archive file, because I want to access those files and folders while they are compressed.

      Yes, actually you do, because once you do you can.

      Anyhow back towards the 'article' such as it is, conflicting the the LSB is no reason not to do something, the LSB has never been relevant to anything. If you want a standard file layout just copy Slackware's - it's the most sensible and broadly compatible.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    5. Re:When do we get compression? by SuperQ · · Score: 3, Funny

      This isn't 1995. Nobody cares about filesystem level compression anymore. Go buy a 2T drive.

    6. Re:When do we get compression? by Anonymous Coward · · Score: 3, Insightful

      And no, I don't want to make an archive file, because I want to access those files and folders while they are compressed.

      The way I understand it, there's really no good generic way to handle file compression at the FS level.

      Even the way NTFS does it is to create a compressed file to hold the contents of the original file, like an archive. But if you'll notice, whenever you open the compressed file, NTFS will expand the whole compressed data into another special file until you close it. Watch the disk space usage change and you'll see. You can easily set up a situation where you do not have enough free disk space to open a compressed file, and that is not intuitive for a user.

      What you want is an ability to compress small individual blocks of the file that can be accessed separately without having to decompress the entire file. But doing that creates all sorts of other problems such as how to efficiently allocate the space for the compressed contents which might change over time (and change size) without causing a great deal of additional fragmentation. This is rather harder to do.

    7. Re:When do we get compression? by jd · · Score: 5, Interesting

      They don't need to. Linux has the ability to read/write compressed files directly (zclib?) and doesn't need the filesystems to support this. Which is great because it means compressed files will work under ALL filesystems ALL of the time (if you have the library installed) and you don't have to wait for each filesystem maintainer to add it. You also have no risks of one FS maintainer deciding another's implementation sucks and not being compatible with it. Which is very likely under Windows.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    8. Re:When do we get compression? by c2me2 · · Score: 2

      It's not your business to tell people what they should want. And not every machine or situation is right for a 2TB drive. Flash drives, laptops, tablets, etc.

    9. Re:When do we get compression? by mysidia · · Score: 2

      The one thing that baffles my mind is that Linux filesystems still don't offer compression of specific folders or files. Seriously, Windows has had this for over a decade.

      It sounds like you want ZFS. ZFS has supported compression for a long time LZJB compression since early on, GZIP compression since pool version 5, ZLE compression since pool version 20...

      The only problem is.... well, on Linux it's mostly available only using FUSE. There is the ZFS On linux port mentioned, but I suppose that's really not "production quality" yet.

      Compression seems to be one of those things that Solaris excels at.

      Of course this is useless if your storage hardware is low-end or you lack CPU, since while compression increases capacity, it doesn't increase how much of that storage you can have live data on at average activity

    10. Re:When do we get compression? by antifoidulus · · Score: 5, Insightful

      Actually there are valid reasons to compress at least some of your files beyond the need for saving space, namely that the speed differential between I/O(esp. platter drives) and CPUs is continuing to grow incredibly fast. The performance gap is getting to the point that for files that tend to compress(executables and libraries are among them), the time it takes to read the compressed file off the disk and then decompress it in memory may be less than the time it takes to read the entire uncompressed file from disk.

      Now there are tools that allow you to do this just for executables, but since they don't run on all platforms you can be in kind of a bind. By putting your executables and libraries in their own file compressed file system, you can gain a lot of the advantages of executable compression while still being able to use it on pretty much any platform.

    11. Re:When do we get compression? by skids · · Score: 4, Insightful

      Add to that, in network attached storage solutions, every file you read is squeezed through something as small as a 1GBbps pipe.

    12. Re:When do we get compression? by SuperQ · · Score: 5, Insightful

      Sounds like you have a problem with file formats, not filesystems. Filesystem level compression is a stupid idea since it doesn't have any way to apply appropriate compression methods to the files. Should I apply zlib to uncompressed audio? No, use FLAC. Should I apply zlib to logs files? No, I should probably use something like LZO or Snappy that have block seeking.

    13. Re:When do we get compression? by dmitrygr · · Score: 4, Informative

      wrong wrong wrong wrong wrong wrong wrong wrong just tried it. NTFS FS, 2GB free, file on there 30GB full size, compressed to 15GB. opens juts fine even though there isn't 30GB free there. also opens instantly (does NOT decompress 30GB anywhere)

      --
      -------
      1. Enjoy your job
      2. Make lots of money
      3. Work within the law

      Choose any two.
    14. Re:When do we get compression? by fuzzyfuzzyfungus · · Score: 2

      The difficulty is that(while most compressed archives are supported) you run into the situation where either the tool you are using has to have the ad-hoc ability to operate on the contents of a given archive type, or you need to decompress somewhere temporary, operate, and then compress it back up. That is sort of annoying.

      What you really want is something like http://code.google.com/p/fuse-zip/ Fuse-zip(ideally one with support for all common archives you are going to run into; but if this is just for your use it doesn't much matter: Because the zip archive becomes a FUSE-mounted filesystem location, all non-zip-aware programs will transparently operate on the contents of the archive without even knowing anything is different.

    15. Re:When do we get compression? by cmdr_tofu · · Score: 2

      Bzip2. Vim, bzcat, bzdiff can give you direct access. If you *need* the filesystem to do this and not userspace well there is probably a fuse plugin, but I believe btrfs has this feature as well.

    16. Re:When do we get compression? by fuzzyfuzzyfungus · · Score: 2

      My understanding is that btrfs has something in that vein. In the meantime, the ability to use FUSE opens some convenient options for special-case compression of specific areas of your system:

      fuse-zip, as its name suggests, lets you mount a zip archive as though it were a filesystem, giving arbitrary programs the ability to interact with the contents as though it were an ordinary FS, so no need for tool-specific zip support. The .zip still has to go somewhere, so this isn't really an FS for /; but if you have a giant pit of highly compressible material in a directory somewhere, replacing it with a fuse-zip is pretty simple.

      There is alse FuseCompress, about which I know less...

    17. Re:When do we get compression? by PrimaryConsult · · Score: 2, Insightful

      NTFS has been updated pretty consistently actually (the last being Windows XP with NTFS 3.1). Since then the Windows OS on top of it has evolved to actually take advantage of the features of 3.1.

      What you said is akin to, "You mean, since the last time the default *nix file system was updated? I can't believe they're still using the aging ext file system, with all of it's 90s features like 'symbolic links' ".

    18. Re:When do we get compression? by DrXym · · Score: 2

      I've used compression on laptops which are running tight on space, especially when a folder contains hundreds or thousands of infrequently but still useful files. e.g. documentation & samples folders, apps I still need but don't run too often and so on.

    19. Re:When do we get compression? by Rutulian · · Score: 2

      No, I think you are confusing the compressed files/folders function (right-click, send to compressed folder) with the compression filesystem property (right-click, Properties, Advanced). The former is just a userspace program, like Winzip, that makes archives. The latter is exactly what you described in your second paragraph. The filesystem transparently compresses files in small clusters, and it suffers from fragmentation problems, like you also mention.

    20. Re:When do we get compression? by smash · · Score: 2

      What you probably really want is de-dupe. Run ZFS. ohwait...

      IMHO, this effort is pointless. If you're poking around in the file system you want it to be like any other Linux so that you don't piss off admins any more than redhat already does due to being different. If you're an idiot who can't RTFM to find out where files are, then you probably shouldn't be poking around the filesystem outside of ~/.

      If you want to make linux user friendly, get rid of the need for users to go poking around in the filesystem.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    21. Re:When do we get compression? by Barsteward · · Score: 2

      If its in an office environment they could probably save a lot of space/bandwidth by using a by junking DOC/XLS formats and go to ODF files. they are massively smaller

      --
      "The hands that help are better far than lips that pray." - Robert Ingersoll (1833-1899)
    22. Re:When do we get compression? by smash · · Score: 2

      Yup. Its all about de-dupe. Files are already compressed as CPU speed has outstripped IO by a large margin - compressing your file format gets you better IO speed. Thus, having the FS try and compress your already compressed data with some generic algorithm = LOSE.

      Block level de-dupe on the other hand, can save you HEAPS of space on a typical system. Like, cut your disk utilization by 50-60% on a typical file share storing end-user files.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    23. Re:When do we get compression? by sortius_nod · · Score: 2

      my 10TB server I bought & built with my fiancee disagrees with your narrow view of the world. Just because you're not capable of planning ahead doesn't mean others aren't. More astroturfing from Microsoft's elite!

    24. Re:When do we get compression? by EvanED · · Score: 2

      Fortunately, he's also wrong about the last time NTFS was updated: it got some significant updates with Vista. An admittedly sucky and long-overdue symlink feature, but also the very intriguing transactional NTFS.

      The latter is the sort of thing I'd actually love to see more of in the Linux world, but the Linux folks are too busy spouting off about how MS never innovates.

    25. Re:When do we get compression? by Capt.+Skinny · · Score: 2

      No one listens to feature requests

      Why should they? OSS devs aren't a group of altruistic folks just waiting around to fulfill arbitrary feature requests from end users. They, like the rest of us, need some incentive to implement a new feature. If a dev on the project finds your proposed feature useful, or sees it as an interesting technical challenge, or has some other (possibly financial) incentive to implement it, then he'll listen. Otherwise it's up to you to either implement it yourself or hire someone to do so.

      It's not sane people that avoid OSS; it's the people who expect a typical customer/vendor relationship with a software publisher who are turned off by (or just don't realize) the fact that OSS doesn't work quite the same way.

    26. Re:When do we get compression? by donaldm · · Score: 3, Insightful

      The one thing that baffles my mind is that Linux filesystems still don't offer compression of specific folders or files.

      If you need to do this why not try a compressed, gzip'd or bzip2 tar, rar or zip file. You can even use your a graphical explorer to actually create and manage your archives (yes you can have more than one). When I say manage you can easily (ie. point and click) display, extract and even insert specific files.

      Windows has had this for over a decade.

      Well you could do this in Unix for over 20 years.

      Why doesn't Linux have such a simple but important filesystem feature? And no, I don't want to make an archive file, because I want to access those files and folders while they are compressed.

      Linux does, I think I already explained this above.

      --
      There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
    27. Re:When do we get compression? by paulatz · · Score: 4, Funny

      tl; dr

      try compressing your comment for greater readability

      --
      this post contain no useful information, no need to mod it down
    28. Re:When do we get compression? by Kjella · · Score: 3, Insightful

      So are you Wikipedia, the Gutenberg project or SourceForge? You're certainly not going to read 1TB of text unless you plan to live the next billion years or so, you are some kind of speciality site. The point is that most use appropriate compressed formats for their purpose. PNG beats BMP-in-a-ZIP. FLAC beats WAV-in-a-ZIP. Lossy formats like JPG, MP3, H.264 video are already well compressed.

      Sure, compression is the way to go. But is it that vital that it's in the file system instead of working with zip files? Maybe to you. But I think you know you are an extreme minority on this one. Most people are happy having zip folders and a search engine that reads inside zip files and I know Linux has both. Or actually most people have no problem storing their text uncompressed at all because it takes up <1% of their drive.

      I guess none of the people you talked to felt this was a problem worth solving. To me it would be a bit like learning Linux has issues with >1 TB RAM or >1000 cores, even if that was so I wouldn't exactly feel it is or ever would become a problem for my desktop. So yeah, it probably would get returned with "Well, if it's a problem to you feel free to do something about it, but I don't think anyone here will work on it."

      Or something less polite, depending on who you ran into and how you formulated your feature requst.

      --
      Live today, because you never know what tomorrow brings
  2. Simple by wsxyz · · Score: 3, Funny

    Just store everything in /
    What could be simpler?

  3. Fedora, eh? by turgid · · Score: 4, Insightful

    The developers at Fedora can do whatever the heck they like. Pat knows what he's doing, and that's good enough for me.

    1. Re:Fedora, eh? by tepples · · Score: 2

      There is no reason for PAM ever

      Other than not wanting your food to stick to the foil.

  4. Re:Good idea by l2718 · · Score: 2

    /usr/local/bin is not supposed to contain any system executables, only locally installed ones. Fedora does not install anything there already. In any case, /usr/local/ seems to have been replaced by /opt/ in most UNIX installations today.

  5. Re:Not a Mac dumb down, please by mattventura · · Score: 2

    You can enable some hidden setting somewhere to show hidden files, but then it shows it shows EVERYTHING, including dot files. There's now way to get it to show /bin, etc but not .bashrc and stuff.

  6. /bin, /sbin had their functions by l2718 · · Score: 5, Informative

    I think it's important to realize why the four directions /bin, /sbin, /usr/bin, /usr/sbin exist (and similarly why /lib is separate from /usr/lib). The reason is that once upon a time discs were small, so that /usr would be mounted separately from the root partition. So /bin and /lib are small directories containing as much of the operating system as you need to get going before you mount /usr and get everything else. In particular, this means the utilities needed to mount those other filesystems and to fix errors in them (e.g. fsck). The separation between /usr/bin and /usr/sbin means that ordinary users don't have system programs (those from /sbin) in their search path. Today most installations have the whole system (/ and /usr) on the same partition and it seems that many users use a GUI rather than a terminal. This means that the separation is not needed. Note that this change is not about multiple-architecture situations like /usr/lib and /usr/lib64. It's about the separation between /lib and /usr/lib (or /lib64 and /usr/lib64).

    1. Re:/bin, /sbin had their functions by shibashaba · · Score: 2

      Having the separate directories still comes in handy when rescuing systems. Something Fedora is missing here is that it's not the separate directories that confuse people, it's the abbreviations.

      In all honesty, users this new don't need to be messing around with the system at such a low level, Windows actively discourages it as well. The problem is that there is still not enough mature applications available for new users. They are not always satisfied with what comes prepackaged, so they venture out on the web. Source tarballs, random executable no automated installation, and distro specific software is just plain intimidating.

      They could change the names of the directories to something obvious, but then experienced users will be stuck typing in unnecessarily long directory names all day long.

      And as far as gobolinux is concerned, my system is already a giant mess of symlinks. I would prefer to not have that.

      --
      ---------- Open Source is capitalism applied to IP.
    2. Re:/bin, /sbin had their functions by EvilIdler · · Score: 2

      I don't think it matters with separate directories. On a rescue disk you'd only have the essentials to get going anyway, right? But I agree that the abbreviations can be confusing. I'd love to see a simpler installation like OS X (NeXT) app bundles become the default. Since it's all mostly open source , or some commercial bits relying on open source frameworks (Gtk+, KDE/Qt) these app bundles would rarely need to bundle any dynamic libraries.

      I doubt a mess of symlinks is avoidable for now, though. Linux has a lot of hard-coded legacy paths which programs unfortunately expect for all sorts of things. The ld system is configurable, so adding a /Library as the first stop to look shouldn't be a problem, but a lot of developer tools would need to be made aware. It seems like a hell of a process, but I'm all for it. Now to get millions of developers to see it my way :P

  7. Baffling to users ? by alvieboy · · Score: 2

    most passionate partisans will admit that its filesystem, which stashes vital files in a variety of arcane directories, can be baffling to users.

    Isn't that [directories] what filesystems are to provide, so things can be well organized ?

    Calling them, current UNIX/Linux filesystem hierarcy, "arcane", baffles me. Unless you're Poettering, of course. There is a good reason for things to be where they are, and, due to recent increase of embedded systems, a much more valid reason to split different levels of files across different filesystem hierarchies (read /bin vs. /usr/bin).

    I can accept complains about "/opt" and "/usr/local" - they might not make much sense nowadays, but if you happen to need to bootstrap from a read-only 8Mb flash device, and need to have a somehow working system before you access some external data,

    or

    you have a huge shared filesystem where a few servers rely upon, and you don't want to replicate all system files,

    then I see no reason at all to change this.

    Actually, perhaps increasing the diversity of directories might come in handy (like in /usr/i686/lib + /usr/x86-64/lib + whatever you might need, and with eventual optimizations, and with eventual debug).

    Or is this discussion only about directories which reside on the root of the filesystem ?

    1. Re:Baffling to users ? by spitzak · · Score: 2

      You can make Linux applications that run out of a single directory. Use the RPATH option to the linker, which is effectively the same as adding the directory the executable is in to LD_LIBRARY_PATH. Readlink /proc/self/exe to find the executable and use that to find all your other data files.

      Most commercial Linux software does exactly this. Installers pretty much dump an Application directory into /opt and then do a bit more cruft to add a symbolic link to /usr/bin, and to add launch menu items and .desktop files (I agree it would be nice if the system was changed so these extra bits could just reside in the Application directory as well). Advanced users can even try to use the system's versions of shared libraries by renaming the .so files in the Application directory. I can insure you that *nobody* cares if there are multiple copies of various libs and we certainly could never distribute code without being able to force exactly what libpython we are using.

      Linux actually has it better over Windows and OS/X in that there is a well-defined place to dump your user's configuration that is *not* part of the Application, so the users don't clobber each other and the configuration stays even if the application is removed. This is to put it in ~/.appname. Windows suffers from a *lot* of potential locations (due to everything being writable at one time), while OS/X has a misguided attempt to put writable data into the application directory.

  8. no thanks by bsDaemon · · Score: 2

    the file system hierarchy makes perfectly good sense -- the absolute basics are in /bin, distribution/system stuff is in /usr/bin and anything that an administrator installs for that particular box is in /usr/local/bin. Substitute sbin for sysadmin-y binaries. I guess maybe it doesn't matter as long as it doesn't take off, since I can just not use Fedora ever again, but frankly I like things just they way they are. The weird places that Ubuntu stashes things is already enough of a hassle when you have an extremely heterogeneous environment like I do at work.

  9. Re:Dumb move by ThorGod · · Score: 5, Interesting

    Uhh, I want my stuff separate from system stuff. I want to be able to back-up my stuff without including standard stuff.

    System essentials should be in /bin. Non-essentials in /usr/bin, and my stuff in /usr/local/bin.

    Fedora has jumped the shark.

    I agree. I suspect the libraries are the more 'needed' change, but your point is valid even there.

    What I'd like to know is what's wrong with the FreeBSD file system, and why don't they just 'do that'? IIRC, everything non-standard is in /usr/local. Some configs are in /etc, but most (all?) non-base configs live in /usr/local/etc. If you blow your system away and have backups of /usr/local and /etc under FreeBSD then you can just reinstall the base system and be 'fine' (aside from the local user files, but that's an obvious restore/backup situation.)

    This smells a lot like "we want to do things our own way" (tm). I suppose that's fine, but don't act like you're doing humanity a service by wiping your butt with a different hand ;)

    --
    PS: I don't reply to ACs.
  10. Re:Errr by jd · · Score: 3

    As a kindly reader, I'd even put in a note for the editors whilst it was in the firehose queue that this should be "Knot". Not really a major typo and the editors can't be blamed for not reading all the comments, but it'd be good if more people DID pre-screen the submissions and enter USEFUL corrections so that the quality can be improved.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  11. even simpler by FudRucker · · Score: 2, Interesting

    forget /usr, just do /bin /dev /etc /home /lib /media /proc /root /sbin /sys /tmp /var

    --
    Politics is Treachery, Religion is Brainwashing
  12. The idea is problematic by Sipper · · Score: 5, Insightful

    Although this proposal sounds reasonable at first, actually implementing it is troublesome. Linux systems have an expectation that the root directory / and the /usr directory may be on different filesystems; thus /bin is expected to come with / and be available at boot time, where /usr may not be. This means that making /bin -> /usr/bin via a softlink would break that.

    Although the article summary claims that the Filesystem Hirearchy Standard (FHS) isn't used very often, some distributions such as Debian actually do try their best to follow it and even have it as one of the specs for how to build packages. Debian developers discussed the idea of trying to follow Fedora in this proposal, but it looks like it's too troublesome to be worth it. For one thing, all of the filesystem recovery tools or anything else that would be required in an emergency at the command line would need to be built into the kernel initrd images, which could be done but which doesn't seem terribly reasonable.

    As such I think most Linux distributions are going to need to wait and see how well it works out for Fedora on this effort.

    1. Re:The idea is problematic by evilviper · · Score: 2

      They address that by saying "There is no way to reliably bring up a modern system with an empty /usr,"

      This is bullshit. I know because I've done it plenty. I've setup servers with minimal / filesystems for years, because /usr and all other filesystems are iSCSI/NFS/etc. mounts that aren't brought-up until needed (as indicated by heartbeat, or whatnot).

      There are only a couple spots that need to be fixed (with RHEL5 init scripts) to allow booting multiuser without /usr mounted. One is the use of head/tail, and grep -m1 is sufficient. The other is a single pam lib in /usr/lib that needs to be copied to /lib (or lib64 if that's your thing...).

      If / is corrupted then trusting your recovery tools on / seems like a bad idea.

      The idea behind / being a separate filesystem is that / is so damn small, and barely ever being written to, that there's next to no chance of it getting corrupted. If you throw a bunch of crap onto /, and have RPMs updating it 2,000 times a day, then you're just simply screwed.

      Building an initrd image just for this task is insane added complexity and overhead, and really, nobody is going to actually do that... This will just turn Linux into Windows, where everyone mindlessly accepts that the most trivial day-to-day issues will cause the system to fail to boot, and requires a boot disc to fix.

      I understand the desire to consolidate bin and sbin, but putting everything into /usr is a tremendously foolish move, for very, very little reason.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  13. Re:Not a Mac dumb down, please by Iskender · · Score: 2

    Why fix what is not broken?

    Because sometimes when I install software on Ubuntu I can't find the magic file that makes it run.

    I can choose the software I need, I can install it perfectly, and I know how to use it. I also know that some bin directory or other tends to house these things, but somehow that's not always enough - I can't trace the single action needed to make it run.

    Call me dumb if you like. But seeing as how I've built my computer from components myself and installed the OS myself I have a feeling it's not solely my fault when I can't find an "executable" on my own computer. Hasn't happened on any other OS either...

    (That said the part where they break standards is probably an actual problem with any reform.)

  14. GOBO Linux by pentalive · · Score: 4, Informative

    http://www.gobolinux.org/ Combines executables and necessary libraries each in their own directory under '/programs' Uses links to show files in traditional places.

  15. Re:Good idea by skids · · Score: 2

    What package manager GUIs are for. There's a lot going on in the filesystem that you'll probably never know or care about. Trying to simplify some at this level of the system for reasons of end-user convenience is just asking for trouble.

  16. I like it by hey · · Score: 2

    This makes sense to me. All those extra directories had historical reasons but time marches on.

  17. RANT: Don't break my file system by peppepz · · Score: 5, Insightful
    There is nothing exoteric or baffling with the filesytem of Linux.

    It is well-specified. There's a folder for executables, a folder for binaries, a folder for configuration data, a folder for temporary stuff. And its layout hasn't changed for 20 years.
    Compare it to Windows, where the file system layout changes from one Windows version to the other, there are no documents specifying most of its organization, and it doesn't matter anyway, because since Windows NT the file system is meant to be only managed by automated installation tools, and even an expert user can not hope to fix it when things go wrong.

    What's wrong with /bin and /lib ? They serve a specific purpose, and the files they contain shouldn't be directly handled by a user who gets confused because of the presence of more than a single directory in his $PATH, so who will gain from their "semplification"? Don't tell me the real reason is that Fedora's next-generation self-aware omniscient init system has grown so complex that they're no longer able to support a split /usr installation because of its dependency hell.
    Please do not turn Linux into an unmanageable mess as the one Windows has become.
    End of rant

    1. Re:RANT: Don't break my file system by grumbel · · Score: 2

      What's wrong with /bin and /lib ?

      Among other things: They force you to splatter files from different pieces of software into the same directory, making it impossible to install different versions of the same application.

    2. Re:RANT: Don't break my file system by hedwards · · Score: 2

      Indeed, a while back I had a Vista install go tits up because I had added new partitions and had accidentally run bootrec forgetting about what that would do to the partition labeling. And MS doesn't provide proper tools to handle a situation like that without loading up a recovery disc. By the time I had that mostly sorted out, the profiles wouldn't load.

      Right, now Linux is largely impervious to that sort of thing, so obviously, the thing to do is find ways of making it pervious to that stuff.

    3. Re:RANT: Don't break my file system by ToasterMonkey · · Score: 2

      There is nothing exoteric or baffling with the filesytem of Linux.
      It is well-specified. There's a folder for executables, a folder for binaries, a folder for configuration data, a folder for temporary stuff. And its layout hasn't changed for 20 years.

      Right, because computers haven't changed much in the last twenty years probably.

      WHY do you cut every single program into little pieces and box them together?

      Look at the RHEL Tomcat RPM, compare to traditional /opt/tomcat or /usr/local/tomcat or even /tomcat

      WHY does anyone think cutting that or any application into ten different directories, mixing its private bits with private bits of completely unrelated programs is a good idea?

      I can think of reasons to seperate user configuration and data from non-user things from log files, but not for mixing that shit in with similar data from other apps categorically.

    4. Re:RANT: Don't break my file system by phorm · · Score: 2

      /bin and /lib fine.
      But you've actually got /bin /sbin /usr/local/bin /usr/local/sbin (in many cases the "local" is stuff not installed from a native package, etc)
      then /etc /usr/local/etc
      then /lib /usr/lib /usr/lib64
      then /tmp /var/tmp
      etc

      It's easy enough to see some of the reasoning behind the superuser and regular binaries... and perhaps the native/non-native (local) stuff, but the overall situation is a bit messy, especially when one is trying to figure out how to allocate space in some situations.

      My personal peeve is apps that decide to use /opt and then have their own temp/log/etc directories. Grrrrr

    5. Re:RANT: Don't break my file system by Bill_the_Engineer · · Score: 2

      Among other things: They force you to splatter files from different pieces of software into the same directory, making it impossible to install different versions of the same application.

      /lib, /bin, /usr/lib, /usr/bin, /sbin, /usr/sbin, /usr/local/bin, /usr/local/lib have their place. You are not "forced" to splater files from different pieces of software into the same directory, but it makes sense to have these in a standard location if they are meant to be shared with other programs. Don't forget you can place different versions of the same application in separate subdirectories (e.g. /lib/widget/ver-1, /lib/widget/ver-2) or you could indicate version in the filename (e.g. /lib/libwidget-ver1, /lib/libwidget-ver2).

      I'm a little disappointed with Fedora's direction. I use them as the bleeding-edge OS and scientific linux (RHEL) as my stable OS. Changing UI isn't a deal breaker, but making differing file directory structures is pushing the limits. Maybe they should just change their name to Fubuntu?

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  18. Re:Dumb move by Miamicanes · · Score: 2

    > Trying to understand all those folders It hurts the widdle windows users' heads
    > since they don't understand why they can't just keep throwing everything in C:\

    (dryly) I see you've never visited \winnt\system, \winnt\system32, and the half-dozen or so directories with parenthesized "x86", "64", and/or "wow" that stupidly perverted the entire win64 file hierarchy. Sigh. We finally got symlinks & real directories for \users and \programs, then Microsoft realized its "error" and fucked them all up even worse than before. Sigh. :-(

  19. Ahmmm by xfurious · · Score: 2

    /
    |-- etc
    |-- usr
    | |-- bin
    | |-- lib
    | |-- lib64
    ...
    |-- bin -> usr/bin

    That '->' in here? That means a symbolic link (ln -s) ...

    One of the biggest potential hurdles against LSB (and indeed the whole plan) could be /bin/sh. A lot of shell scripts have #!/bin/sh as their first line (or #!/bin/bash or what have you). If /bin went away, any script with a call like this inside would break. Some scripts might use env to locate the script interpreter, and since env is already in /usr/bin/env, these won't have problems.

    I think this guy forgot to read his own diagram... if /bin is symlinked to /usr/bin, the scripts will work perfectly fine. This article is a little stupid, imho. In all fairness, the guy does realize that there are workarounds, but this paragraph and the one after talk about complete non-issues.

    Many distributions have reworked the filesystem hugely, with some regulo symlinks on /usr, /tmp or where-ever to deal with code that hardlinks these locations (which, in most cases should never be required, because you should be accessing 'bin' directories via PATH, and 'lib' directories via LD_LIBRARY_PATH... and 'tmp' directories using the stdlib functions (or a language-specific wrapper).

    Certainly '/etc' has no standardized variable or way of accessing it other than just hardcoding in '/etc', but this is why we have symlinks.

    I agree with the other posts about keeping the boot volume separate from the non-essential OS code volume (/usr). It is there for a reason, not just compatibility. Also, /sbin has always been stupid so good riddance there. Separating super user executables from normal executables helps nothing in 99% of cases. What matters is the write and execute privileges on the actual executables, not the directory. I believe the argument is that if you want to have tiered write access amongst non-root administrator accounts, with administrators only able to write to /usr/bin but not /usr/sbin, you can do it with SLIGHTLY less work. But really- if everything is written PROPERLY, a simple change to the system's PATH variable, and some time moving the right executables into the more restricted directory will yield an identical result without the clutter by default, and the need for people to explain what sbin is to newbie users.
    Also whoever had the bright idea to not have */sbin in the PATH was just retarded. I have no idea what their argument is on that.

  20. My Mom by spottedkangaroo · · Score: 2

    When linux gets so simple my mom can sysadmin it with no worries, but I can't get anything done... wtf do I switch to? Corollary: why do we keep fixing things in linux kerneled operating systems that aren't even broken. Just leave the file system alone or you'll end up with Ext5: Unity Disaster.

    --
    Imagine if you weren't allowed to use roads because a bus company complained about your driving 3 times. --skunkpussy
  21. nonsense by Tom · · Score: 2

    Is it nonsense-week on /. or what?

    "Even Linux's most passionate partisans will admit that its filesystem, which stashes vital files in a variety of arcane directories, can be baffling to users.

    Errr... no?

    First up, you rarely need to dig out those directories, especially not during daily use. A systems administrator may need to venture into /var/lib/whatever occasionally, but a user? Another non-problem created by people confusing their audiences. A system administrator, who needs to know these things, shouldn't be baffled by it, or whatever you're paying him, it's too much. A user, who would be baffled, shouldn't need to worry about it.

    There's method to the madness - the mentioned filesystem standard, for example. If you don't grok the method, don't try to "simplify" it. Simplification only works, if you understand the thing you're simplifying really, really well. Otherwise, you're just throwing stuff out, and then say "oh, crap" when you realize much later that you shouldn't have.

    --
    Assorted stuff I do sometimes: Lemuria.org
    1. Re:nonsense by Shimbo · · Score: 2

      Is it nonsense-week on /. or what?

      Well, no. It appears to be bad summary week. And people replying without RTFA week. Actually skip the article even, read Lennart Poettering's post on fedora.devel.

  22. Re:Good idea by starfishsystems · · Score: 2

    In case you hadn't noticed, the organizational models for /usr/local and /opt are different in a manner similar to the difference between column-major and row-major arrays.

    For example, /usr/local/bin contains executables for all local applications. This is convenient in terms of configuring such things as PATH and LD_LIBRARY_PATH environment variables but can easily lead to application name and version collisions. The /opt convention is for each application to reside in its own subdirectory, meaning that multiple application versions can safely coexist, that /opt can refer to a nonlocal filesystem, and so on.

    It's also possible, and very successful, to build hybrids of these two models, but unfortunately there is no convention for doing so. Instead we seem to have regressed to a point where package management supports local software installation only and will not meaningfully install on networked filesystems.

    --
    Parity: What to do when the weekend comes.
  23. Re:Not a Mac dumb down, please by smash · · Score: 2

    The thing is, a mac is fine if you're a power user. Unfortunately Gnome and KDE are trying to replicate bits of OS X without getting the foundations laid properly first to make such pieces actually work

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  24. \usr\bsd\games\advent by Jeremiah+Cornelius · · Score: 2

    From my cold, dead hands...

    --
    "Flyin' in just a sweet place,
    Never been known to fail..."
  25. Or they could fix the actual problem by DragonHawk · · Score: 2

    They address that by saying "There is no way to reliably bring up a modern system with an empty /usr, there are two alternatives to fix it: copy /usr back to the rootfs or use an initramfs which can hide the split-off from the system."

    Of course, they conveniently omit the third option: Fix their init system so it doesn't depend on half the software ever written just to bring up a basic system.

    Unix wins because it follows KISS. Fedora (and others) have been moving away from that. It's not good.

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
  26. Re:Mod Parent Up by SharkLaser · · Score: 2

    No, he is completely wrong about NTFS decompressing the files. It does not, like others have noted too.

  27. These comments prove the point by hmbJeff · · Score: 2, Insightful

    As I read the comments for this topic, what stands out is that there are a bunch of arbitrary and conflicting interpretations of the "right" place to put things on a Unix/Linux system, each of which is justified by some sacred "historical reasoning" (even though no one can ever agree on said reasoning).

    And that is the problem. Why should I have to know which arbitrary approach happened to be followed by a particular distro or installed package?

    I don't have touchy geek pride or a need to whip out my big nerd phallus at parties--I just want the systems I manage or use to be reasonably robust and consistent. I don't care who wins--I just don't want all the variations.

  28. Re:Mobility by blair1q · · Score: 2

    A tablet without a fast wi-fi connection to a honking big server is a serving tray for the beer you're going to go get me.

  29. Unix stuff is behind the scenes by perpenso · · Score: 2

    Finder on Mac OSX hides all important standard Unix directories such as /etc and /usr, and /home is also empty; users are found in /Users. This makes Finder pretty useless and stops any users learning about the true directory hierarchy. I can see the move to simplify the filesystem as great for newtime users, but it isn't actually that bad as it currently is with lib64 and lib and everything else. Why fix what is not broken?

    The unix stuff is behind the scenes, there is no intention to make it necessary for a user to ever become aware of it. The unix stuff is really a secondary environment for those wanting to use traditional unix tools and apps. There was originally debate as to whether the console would even be installed by default, leaving it as an optional install for those who desired it.

  30. Damn...this is running wayyy to smoothly!!! by golfnomad · · Score: 2

    if it ain't broke don't fix it! I see no BSOD's here I see no need to reboot everyday Everybody hates success........

  31. Re:If it ain't fix by GenSolo · · Score: 2

    I mount /boot, /bin, /sbin, /lib, and /lib64 read-only from a small SSD; I mount /usr on a large HDD. Maybe that's not a good argument, but it's yet another reason I'll probably never use Fedora.

  32. Re:If it ain't fix by Ant+P. · · Score: 2

    Fedora's excuse for this is that their distro can't boot properly with /usr on a separate partition anyway, so rather than fix that bug so it at least boots far enough to mount that filesystem — like every other distro I've installed with that partition layout seems capable of doing — they're just saying "fuck the standards" and doing their own thing.

  33. Re:Mobility by GPLHost-Thomas · · Score: 2

    As in... nowadays, we don't store movies and music compressed??? What performance and characteristics do you imagine doing by re-compressing a file that already has lossful compression?

  34. Mod Grandparent Ignorant by KingMotley · · Score: 2

    Sorry, the AC is completely wrong. That is not the way NTFS works at all, not even close.

  35. Re:-I just don't want all the variations. by Daniel+Phillips · · Score: 2

    what GNU/Linux fork isn't busy screwing with how things have been?

    Debian.

    --
    Have you got your LWN subscription yet?