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."

602 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 Anonymous Coward · · Score: 1

      You might wanna upgrade that 20megabyte hard disk to something more modern, like maybe 100.

    5. 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.
    6. Re:When do we get compression? by blair1q · · Score: 1

      True dat. There isn't a space-saving methodology in the world that's more cost effective than slapping another terabyte into the rack.

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

    8. 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.

    9. Re:When do we get compression? by SharkLaser · · Score: 1

      It can be really important if you're storing thousands of files (text, or anything that compresses well) and still need fast direct access to them. I just had a need for it this weekend (and still do), but the only solution was a stupid workaround and create and mount compressed partition to what files and folders I wanted compressed and then move them there. In Windows this would had just been a case of ticking the compression option in folder options dialog.

      I've used it on Windows sometimes too, it's a simple yet important feature. There are times where it can save you thousands of MB's.

    10. 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)
    11. Re:When do we get compression? by GioMac · · Score: 1

      It's out of the Subj.

      Use BTRFS, which is available in Fedora too. BTRFS is aimed to be default in version 17.

      --
      "It feels like I'm at the Zoo when reading this thread - I'm frightened, but it's interesting" (c)
    12. Re:When do we get compression? by SharkLaser · · Score: 1

      It's not a matter of that, I have TB's of space. But if my files compress up to 90% and they take 1TB, isn't it much better if they only take 100GB? Otherwise it's just stupid waste.

    13. 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.

    14. 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

    15. 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.

    16. Re:When do we get compression? by 0123456 · · Score: 1

      What the heck kind of files do you have that take up 10TB and aren't compressed? Video, images, audio, all of those are already compressed in the vast majority of uses.

    17. Re:When do we get compression? by peppepz · · Score: 1

      Seriously, Windows has had this for over a decade.

      You mean, since the last time Microsoft updated Windows' file system? I can't believe they're still using the aging NTFS when other operating systems have advanced file systems such as ZFS and BTRFS.

      There's a few experiemental filesystems that can compress the whole partition, but still not individual files.

      Correction: there's a next-generation, not experimental file system, BTRFS, that does that and also sports features that Windows 8 is missing. You can compress individual files or folders using the "btrfs filesystem defragment -c" command.

      On top of that, if you want, you can use NTFS-3G which will allow you to use the legacy file system of Windows, NTFS, with all of its '90s features *including transparent compression of individual folders*.

    18. Re:When do we get compression? by barrkel · · Score: 1

      SSD = very expensive small storage; mobility = no space for extra storage

    19. Re:When do we get compression? by Anonymous Coward · · Score: 1

      File system compression is not of much use these days. Big files, such as video and audio data, are already compressed and cannot be compressed further (at lest not by much). Same applies to docx or odf files, which are actually zip archives of XML files. Images are also compressed. Leaving only normal text files and some executables to be uncompressed. AS these files are very small compared to the other data, it is not of much use to implement or use an compression system for files or the whole volume.

    20. 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.

    21. Re:When do we get compression? by barrkel · · Score: 1

      How will I get that into my Macbook Air?

    22. Re:When do we get compression? by 0123456 · · Score: 1

      There are times where it can save you thousands of MB's.

      Like, wow. THOUSANDS of megabytes.

      Given my ~$1000 home server has around ten million megabytes of disk space, I'm totally worried about saving a few thousand.

    23. Re:When do we get compression? by CjKing2k · · Score: 1

      Simply put, it's not that important anymore. If you're talking about a decade ago, when your typical desktop drive was 20 gigs, then sure it made a difference. Now that sub-terabyte drives are on the way out, the added cost associated with transparent compression makes it almost completely useless.

    24. 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.

    25. Re:When do we get compression? by Gumber · · Score: 1

      Well, putting aside the fact that you are talking about filesystem internals, and the OP is talking about conventions for filesystem layout:

      Disks are really big these days. The things people tend to fill them with are images, video and audio that is already in a compressed format. So, for the average user, directory compression isn't going to be a big win.

      To put it more succinctly, this isn't an important filesystem feature.

    26. 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.
    27. 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.

    28. 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.

    29. 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...

    30. 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' ".

    31. 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.

    32. Re:When do we get compression? by somersault · · Score: 1

      Not if you want to it to be reliable while you're enjoying your mobility

      --
      which is totally what she said
    33. Re:When do we get compression? by Roger+W+Moore · · Score: 1

      via the USB port.

    34. Re:When do we get compression? by RichMan · · Score: 1

      What do you have to store that is that big? Why do you want to compress ?

      Most user data is games or songs and vids.
      Songs and videos are already compressed, attempting to recompress them with a filesystem filter is a waste of everyones time.
      Most games also have some form of compression on their data. So no gains expected on most of your data.

      If you are talking enterprise data then access speed is an issue so you are not looking at compressing anyways.

    35. Re:When do we get compression? by jd · · Score: 1

      That would work too. In the end, it doesn't matter if it's done through FUSE or a glibc extension - the fact is that it can be done and has been possible for a long time by one or both methods.

      --
      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)
    36. 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.

    37. Re:When do we get compression? by thehodapp · · Score: 1

      I tried compressing most of my old files in my home directory into mp3 with LAME but nothing worked after!!

    38. 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.
    39. Re:When do we get compression? by shibashaba · · Score: 1

      Just make sure you dry it out first.

      --
      ---------- Open Source is capitalism applied to IP.
    40. 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)
    41. 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.
    42. Re:When do we get compression? by smash · · Score: 1

      No, what you really want is block level de-dupe. Having your FS randomly try to guess at how to best compress your files, when they are typically already compressed using highly specialized codecs = fail.

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

      All config in /etc, all binaries in /usr/bin and /usr/sbin, all libs in /usr/lib.

      That is completely made of win.

    44. Re:When do we get compression? by barrkel · · Score: 1

      Riiiight, so I drag around an ugly mechanical drive every time I need to use my laptop, sure. That's exactly why I spent extra money on getting a small and light machine.

      I mean, I even have ZFS compression enabled on my NAS - saves me a good 30%, which turns out to be a fair amount of money when you have 8 drives in a redundant configuration. Going above 8 drives is an expensive proposition, needing a new SATA controller, a new case, etc. Going with bigger drives, to get the benefit, will mean buying 8 new drives. Either way, you're looking at 500-1000 USD to add decent performing redundant storage.

    45. Re:When do we get compression? by mattack2 · · Score: 1

      Filesystem level compression is a stupid idea since it doesn't have any way to apply appropriate compression methods to the files.

      When the filesystem has typing built into it, it can.

      Heck, even just basing it on the file extension would work.

    46. Re:When do we get compression? by Millennium · · Score: 1

      Largely because it isn't an important feature. The case can be made for FS-level encryption, but FS-level compression is pure bloat.

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

      Text files. They don't take 10TB, they take 1TB but it's growing. So Slashdot Linux users suggestion to this is to get new 10x 1TB drives instead of just compressing the data and keep using the same 10TB?

      This is the reason why most sane people avoid OSS. No one listens to feature requests, but only tells you "you don't want to that anyway, do this instead" while I perfectly good know compressing them is exactly what I want to do.

    48. Re:When do we get compression? by Bob9113 · · Score: 1

      Nice post. There's a lot of info packed in those few sentences. It made me think through how filesystems and compression work, and I learned from the experience. Thanks!

    49. Re:When do we get compression? by Korin43 · · Score: 1

      Text files. They don't take 10TB, they take 1TB but it's growing. So Slashdot Linux users suggestion to this is to get new 10x 1TB drives instead of just compressing the data and keep using the same 10TB?

      This is the reason why most sane people avoid OSS. No one listens to feature requests, but only tells you "you don't want to that anyway, do this instead" while I perfectly good know compressing them is exactly what I want to do.

      Or maybe no one thinks its worth their time to make a feature that only one user has a real need for. Most people don't have 10 TB of text files. In fact, most people I know never use more than 30 GB total unless they have (a) an insane amount of music or (b) a reasonable amount of videos.

    50. 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!

    51. 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.

    52. Re:When do we get compression? by soundguy · · Score: 1

      I slapped a 750 gig drive in my Lenovo over a year ago for about 80 bucks (Newegg). There's really no excuse to be running out of space when you could triple your storage for the equivalent of a week's worth of Lattes and junk food lunches. If even that pittance is out of reach, you need to think about the wisdom of your past career choices and maybe rethink your future plans.

      --
      Nothing worthwhile ever happens before noon
    53. Re:When do we get compression? by Anonymous Coward · · Score: 1

      Of course the irony of that is that in some ways it's almost as important as it was a decade ago. Sure, we've got hugeass magnetic media, but look at the trends in storage: it's to things like SSDs for a lot of applications. The cheapest Macbook Air has a 64 GB SSD. That is really not very much. Even 128 GB would look very small to lots of people. And of course then you have all the mobile stuff like phones.

      Is FS compression worth it? I don't know. If it only got 1 GB or something in a 64 GB drive, probably not. If it got really good compression but at the cost of slowing access by 50%, probably not. But if you'd pick up 5 or 10 GB on a 64 GB drive for a 10% performance loss or something like that... then it starts to look really attractive. From most accounts, you'll still be winning out performancewise by going for a SSD, while being a little less crunched for space.

    54. Re:When do we get compression? by Anonymous Coward · · Score: 1

      You have an unfair amount of storage - we need to redistribute some to those less fortunate. I don't care you have have fancy finance degrees!

    55. Re:When do we get compression? by GigaplexNZ · · Score: 1

      In fact, most people I know never use more than 30 GB total unless they have (a) an insane amount of music or (b) a reasonable amount of videos.

      Or more than 2 modern AAA video games installed.

    56. 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.

    57. Re:When do we get compression? by myzz · · Score: 1

      The btrfs actually has compression (although I think you can't switch it on/off per-directory in single btrfs filesystem). http://blogs.oracle.com/wim/entry/btrfs_compression

    58. Re:When do we get compression? by f16c · · Score: 1

      "I slapped a 750 gig drive in my Lenovo over a year ago for about 80 bucks (Newegg)."

      I bought a 3.5" 320 GB hard drive three weeks ago from there. The drive was roughly $42 shipped to my home. I'm using it now. Due to the recent flooding in Southeast Asia recently the same drive is priced at $85 or thereabouts now. My advice would be that unless you have an absolute immediate need for more space to wait a few months before even considering buying a new hard disk.

      --
      bob@Osprey:~>
    59. Re:When do we get compression? by grumbel · · Score: 1

      The main benefit in compression I see isn't in reducing file size, but in increasing access speed. Dealing with source trees for example is extremely slow, they contain plenty of small files and the overhead when traversing them is enormous. They could be much better handled when there would be a way to tell the filesystem that a directory is static and should be compressed. It would also avoid such ugly hackery you will find in Debian and Ubuntu in the form of: /usr/share/doc/*/*.gz

    60. Re:When do we get compression? by PaladinAlpha · · Score: 1

      And compressing back and forth with external program all the time is just stupid.

      What's an external program? What makes code in a separate binary to compress/decompress different from code baked into the filesystem to compress/decompress? If the files aren't accessed that often what's wrong with a simple compress/decompress script?

      This is another case of an ignorant armchair administrator (with no real-world experience) unwilling to let go of a bad idea when presented with superior alternatives and cold, hard facts.

    61. Re:When do we get compression? by EvanED · · Score: 1

      Or more than 2 modern AAA video games installed.

      Heck, nowadays all you need is Windows 7 and one such game and you'll be pushing 30 GB. Windows is what, 15 GB? (My Windows directory is actually a little over 22 GB, but I'm not sure that's a fair comparison.) Portal 2 is 12 GB. Boom, 27 GB, conservatively. Starcraft 2: 9.4 GB. Mass Effect 2? 11.4 GB.

    62. Re:When do we get compression? by fluffy99 · · Score: 1

      Not if you want to it to be reliable while you're enjoying your mobility

      Based on my experience managing a large network, SSDs have been less reliable than spinning platters. They're getting better but I'm still seeing about a 4% failure rate within the first year compared to 2% for spinning platters. I've noticed the overall reliability of drives has been going down over time. I am counting a few batches of SSD that all died within 4 months, and the 1 tb drives that all died within a year due to the firmware bug.

    63. Re:When do we get compression? by smellotron · · Score: 1

      [transactional NTFS] 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.

      Looking at the wikipedia page for this, it sounds like something that can be done without too much difficulty by writing to temp files (in the same filesystem) and then "committing" the transaction by jiggling hard links (off the top of my head, I'm thinking fsync, fdatasync, link, and unlink). Granted, it would probably be nice to wrap this type of logic into a portable library, it doesn't seem like the Linux "ecosystem" is really lacking for this sort of functionality. Is there some additional functionality that I've overlooked that Transactional NTFS provides?

    64. Re:When do we get compression? by swalve · · Score: 1

      Different filesystem. Not ext3 or ReiserFS, but the "my computer" filesystem that everything mounts onto.

    65. Re:When do we get compression? by smellotron · · Score: 1

      I'm talking about data on a server. And no, access speed isn't such an issue because the files aren't accessed that often. And compressing back and forth with external program all the time is just stupid.

      I'm not sure about your use case, but the first that comes to my mind is compressed log files. "Compressing back and forth with external program[s]" seems to be just fine for me: zcat, zgrep, zless et. al. seem to do the job just fine. Heck, even with a program that wants a filename on the command line, you can use bash to do things like ./mycrap -i <(zcat input.txt.gz) -o >(gzip -c -9 output.txt.gz). It takes a few extra pipes and processes to do this, but the program simply sees ./mycrap -i /dev/fd/63 -o /dev/fd/62 and chugs along oblivious of the compression.

    66. Re:When do we get compression? by EvanED · · Score: 1

      So I think the biggest benefit is the wrapping up thing you mention. But there are a number of other compelling benefits that I think you get from something like TxNTFS that you can't get via the temp file approach. (I'm not super familiar with all this, so I may be talking out of my ass a bit, but I would bet some reasonably small amount of money I'm right.)

      The biggest is coordination across multiple files. Suppose I want to update both foo.txt and bar.txt simultaneously. How can I jigger around temporary files in such a way that both files are guaranteed to remain consistent? I don't think you can.

      A smaller benefit is that you don't need temporary files. Suppose my program is working on some multi-gigabyte file in such a way that it can, consistency guarantees ignored, just update some blocks in the middle of the file and be done with it. With TxNTFS, it can just do that. Without it, if you want consistency, you now have to copy that multi-gigabyte file to a temporary file, then rewrite the blocks you want. If you're not using a COW file system, that's terribly expensive. Fortunately, while COW systems are still reasonably rare, they are increasingly common (with ZFS and Btrfs both being COW systems).

      Another benefit you can get with the way transactions are implemented in Windows is better coordination across multiple entities. This is probably not very important on Linux, but is moreso on Windows. For instance, transactions can span both file system accesses and registry accesses and have ACID semantics in total. That only has some applicability to Linux. But I think that it's also possible to write a program that hooks into the Windows KTM (kernel transaction manager) to provide other transactable entities. For instance, you could imagine that a DBMS would hook into the KTM -- and then you would be able to write programs that have transactions that span both regular file system accesses as well as DB accesses through that DBMS.

      I'm not sure how useful that last bit would be though. I find the actual, formal API for doing transactions (instead of doing the sort of hacky "transactions" that you have to now) as well as multi-file transactions the most important benefits.

    67. Re:When do we get compression? by 93+Escort+Wagon · · Score: 1

      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.

      You seem to think Linux development is mostly powered by hobbyists and college kids, while in truth it's mostly done by developers being paid by companies - like Red Hat - that are trying to sell Linux in "a typical customer/vendor relationship".

      --
      #DeleteChrome
    68. Re:When do we get compression? by EvanED · · Score: 1

      The biggest is coordination across multiple files. Suppose I want to update both foo.txt and bar.txt simultaneously. How can I jigger around temporary files in such a way that both files are guaranteed to remain consistent? I don't think you can.

      By the way, I should say that you can if you create a sort of "lock" file. When I want to do my thing, I create exclusive that lock file, move around those files in such a way that they can be backed out, sync, remove the lock file, remove the temporary files.

      However, this still isn't as fully-general as a true transactional FS. Other processes running your program now cannot (legally) read the protected file if the lock file exists. This means that you can't have a long-running transaction, which you might want to do if you want to be able to read a consistent image for a long period of time. (Of course, you could solve that by making a private copy of those files -- hopefully COW -- and referring to those, but this sure is a lot of complexity in your program because the system is too lazy to provide a useful feature.)

      Furthermore, I'm not sure how much isolation TxNTFS transactions provide. In particular, suppose I have a process A that's doing some edits inside a transaction, then another process B that is reading the file but the process is entirely non-transaction-aware. What you'd hope for is that A's changes aren't visible to B until commit. I suspect TxNTFS provides this though I don't know for sure. (They do state that it's full ACID.) However, my lockfile "suggestion" does not: non-transaction-aware processes (in this context, non-lockfile-aware processes) can get an inconsistent view of the files.

    69. 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.
    70. Re:When do we get compression? by smellotron · · Score: 1

      The biggest is coordination across multiple files. Suppose I want to update both foo.txt and bar.txt simultaneously. How can I jigger around temporary files in such a way that both files are guaranteed to remain consistent? I don't think you can.

      For a single file, you could do something like this (gross pseudocode):

      ./solve -o foo.txt.tmp
      link foo.txt foo.txt.old
      rm foo.txt
      link foo.txt.tmp foo.txt
      # ... repeat as necessary
      rm foo.txt.old

      That final rm is the step that destroys the old data, so all you need to do is loop through all "uncommitted moves" for foo.txt and bar.txt, then once everything else works you remove foo.txt.old and bar.txt.old. If anything fails, you just relink the old names on the way out.

      A smaller benefit is that you don't need temporary files.

      This is true. The approach I'm describing doubles disk usage. Support from the storage (filesystem/database) layer should be more efficient. Another benefit for high-volume systems is that the storage layer may put its logs on a different disk that is tuned for frequent small writes, as opposed to sharing the same disk as the original data.

      For instance, transactions can span both file system accesses and registry accesses and have ACID semantics in total.

      Yeah, I prefer the "everything is a file (descriptor)" approach. This is more of a "misfeature" in the Windows approach to configuration, IMHO.

    71. Re:When do we get compression? by siride · · Score: 1

      Talk about a non-solution.

    72. Re:When do we get compression? by EvanED · · Score: 1

      That final rm is the step that destroys the old data, so all you need to do is loop through all "uncommitted moves" for foo.txt and bar.txt, then once everything else works you remove foo.txt.old and bar.txt.old. If anything fails, you just relink the old names on the way out.

      That doesn't give a consistent view. During your work, there are times when the file system isn't in a consistent state. Sure, you can tell it's not consistent because there are missing files, but it's still not consistent.

      There are also subtleties you have to work out so you get atomicity. What happens if two processes do that at the same time? If you're not careful, you could wind up with this (.1 files are tmp files belonging to process 1 and .2 files belong to process 2):

      1: link foo.txt foo.txt.1
      1: link bar.txt bar.txt.1
      2: link foo.txt foo.txt.2
      2: link foo.txt foo.txt.2
      1: rm foo.txt
      1: rm bar.txt
      2: rm foo.txt [fails]
      2: rm bar.txt [fails]
      1: link foo.txt.1 foo.txt
      2: link foo.txt.2 foo.txt
      2: link bar.txt.2 bar.txt
      1: link bar.txt.1 bar.txt
      1: rm foo.txt.1 bar.txt.1
      2: rm foo.txt.2 bar.txt.2

      and now the state has process 1's bar.txt and process 2's foo.txt.

      Process 2 would have to use the failure of the rm to detect a conflict and roll back. Does this protocol guarantee atomicity? I think it might... but if I were actually writing this program, I'd want to see a proof of it. There are too many subtleties. For instance, if you change from a rm foo.txt; rm bar.txt; link foo.tmp foo.txt; link bar.tmp bar.txt protocol to a rm foo.txt; link foo.tmp foo.txt; rm bar.txt; link bar.tmp bar.txt protocol, it is now definitely incorrect.

      Yeah, I prefer the "everything is a file (descriptor)" approach. This is more of a "misfeature" in the Windows approach to configuration, IMHO.

      "Everything is a file descriptor" is only half the story. To do the above, your file descriptor needs to support all the operations you use in your protocol. You could totally imagine a file-descriptor-based API to the Windows registry, but that's not enough if you can't link registry entries. Using my DBMS example, how many DBMSs allow you to create hard links of records?

      I'm not saying that transactions are essential -- clearly they aren't. But look at the database world. You don't have DBMS implementers telling application devs to do the sorts of things that we're talking about in order to get sort-of-but-not-completely-ACID properties at the application level. No, DBMSs support transactions natively. It makes programming applications much easier, much less error prone, and allows for more efficient implementations. And I think it's high-time to bring the same benefits to the file system.

    73. Re:When do we get compression? by catmistake · · Score: 1

      Your request is baffling, as is the insightful moderation. So... compression keeps you clinging to Windows and ntfs? Your argument may have made sense in 1993 when HDD space was expensive... but now that space is cheaper than the proc cycles it takes to compress. Go ahead and stretch your legs, we'll make room.

    74. Re:When do we get compression? by spongman · · Score: 1

      I think he means lseek(2)-style direct access.

    75. Re:When do we get compression? by EvanED · · Score: 1

      Process 2 would have to use the failure of the rm to detect a conflict and roll back. Does this protocol guarantee atomicity? I think it might... but if I were actually writing this program, I'd want to see a proof of it.

      Thinking about it more, it can definitely violate consistency in an "undetectable" way:

      # Create temporary files
      1: link foo.txt foo.txt.1
      1: link bar.txt bar.txt.1
      2: link foo.txt foo.txt.2
      2: link foo.txt foo.txt.2
       
      # Copy temporary files to "real" files
      1: rm foo.txt
      1: rm bar.txt
      1: link foo.txt.1 foo.txt
       
      2: rm foo.txt
      2: link foo.txt.2 foo.txt
       
      1: link bar.txt.1 bar.txt
       
      # At this point:
      # foo.txt exists and is process 2's
      # bar.txt exists and is process 1's
       
      2: rm bar.txt
      2: link bar.txt.2 bar.txt
       
      # Remove temporary files
      1: rm foo.txt.1 bar.txt.1
      2: rm foo.txt.2 bar.txt.2

      I think you need the lock file.

    76. Re:When do we get compression? by EvanED · · Score: 1

      Oh wait, ignore that sequence: I got process 2's steps out of order. (It does the link of foo before the rm of bar.)

    77. Re:When do we get compression? by tfigment · · Score: 1

      Symbolic links aka Junctions were added in Windows XP so it is a decade old at least. What is missing was a good built in tool to use them but that is what Mark Russinovich is for.

      Each FS have their merits. I don't really need to have README.TXT, Readme.txt, readme.txt coexist in the same folder at the same time so I prefer that part of FAT32/NTFS anyway.

    78. Re:When do we get compression? by phorm · · Score: 1

      Exactly how fast do you think that the drives in your average PC transfer? On consumer hardware, 1GB/s isn't bad.
      On enterprise environments, you're going to see SAN connections rather than NAS, and with speeds that greatly surpass 1GB/s (albeit with potentially a lot more users), plus all sorts of fun caching etc.
      Even on a lot of the mid-level NAS setups, you can find multiple bonded gigabit NICS or beyond. Sure if you've got too many users then speed is going to suffer, but in many cases it does just fine.

    79. Re:When do we get compression? by jroysdon · · Score: 1

      Speaking of NAS - dedupe is a great benefit. Previously one would use NFS to mount common binaries and libraries between systems from a common server. Now, with a NAS, instead of having to maintain an identical binary/library to use on all these systems, the NAS can dedupe where ever all the identical blocks (especially when a file only changes say 1%), and great storage savings can be found.

    80. Re:When do we get compression? by Daniel+Phillips · · Score: 1

      Stay away from my /sbin kaythx.

      --
      Have you got your LWN subscription yet?
    81. Re:When do we get compression? by Anthony+Mouse · · Score: 1

      Compression can actually speed up disk access in some cases. The CPU and memory are faster than the disk, so the time it takes to read one block from the disk and decompress it can be less than the time it takes to read two uncompressed blocks.

    82. Re:When do we get compression? by Grishnakh · · Score: 1

      For individual files, frequently you can just compress them with gzip; most applications will automatically ungzip them. But generally, this feature just isn't needed; most large files these days don't compress very well at all. Movies, for example, are already compressed, so another layer of compression won't yield more than a couple percent improvement if anything, at the expense of speed. JPEG pictures too don't compress well. The files that do compress well are usually small, such as text files or documents, and you're not going to fill up a 1TB hard drive with those. On-the-fly compression was useful back in the days of 40MB hard drives, not any more. What IS useful is on-the-fly encryption.

    83. Re:When do we get compression? by cthulhu11 · · Score: 1

      ZFS manages somehow.

    84. Re:When do we get compression? by Xtravar · · Score: 1

      Solid state drives have driven up the price of hard disk space again, and driven down the capacity. Additionally, a lot of people have the extra processing power/ram to spare and may even come out ahead on performance with compression on.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    85. Re:When do we get compression? by smellotron · · Score: 1

      That doesn't give a consistent view. During your work, there are times when the file system isn't in a consistent state. Sure, you can tell it's not consistent because there are missing files, but it's still not consistent.

      Yup, this is inconsistent from an external view during the transaction, which you need to solve with a lock. This, among other holes you have pointed out, make this ad-hoc transactional model much worse than a proper RDBMS. I guess you can think of it like a futex in linux: programming with futexes sucks, but it's the foundation of libpthread mutexes and condition variables (which are comparitively easy). So I guess back to your original point: a "transactional filesystem" abstraction layer sounds like an itch worth scratching, but it's not innovation by any means.

      Using my DBMS example, how many DBMSs allow you to create hard links of records?

      Not any RDBS that I know about, but hard links are not relational. I would expect this sort of behavior to be supported by any object or otherwise hierarchical database. In fact, it is directly supported in many modern programming languages via reference counting and objects.

    86. Re:When do we get compression? by Omestes · · Score: 1

      The filesystem transparently compresses files in small clusters, and it suffers from fragmentation problems, like you also mention.

      Which is better than not having the option at all. I generally only use NTFS compression on directories of old, but essencial, files, that aren't frequently accessed. I have a rather large amount of RAW files that I've already processed, for instance, I don't need to access any given file frequently, and I almost never modify them, but I can't just store them away either since I often need to access at least on of them. I also have a couple directories full of old documentation and research, again I might only need to access one file of hundreds in a given month. This is nice since the drive I used for old files (old, slow, and salvaged) is getting to the point where I'm getting paranoid about space, but not at the point where I really feel like going through the hassle of swapping/buying drives.

      My old laptop, when it ran Windows, also had copious compression on pretty much every system folder that was accessed or modified (which is strangely common in Windows) less than monthly.

      It is flawed, but I still think it is a valid feature in some cases. Which isn't to say that I really miss it too much on my Linux machines, but then again they are generally leaner, and I also generally don't use them for the same things I use my Windows box for.

      --
      A patriot must always be ready to defend his country against his government. -edward abbey
    87. Re:When do we get compression? by Electricity+Likes+Me · · Score: 1

      Needing FUSE would violate the "fast" part of the equation.

      I've been listening to promises that FUSE was now fast-enough for years, but I'm yet to see more then 20mb/s performance from it. Which seems fast enough, right up until you need to actually do anything with it (there's also the observation that lightweight compression like LZO can easily beat that speed).

    88. Re:When do we get compression? by peppepz · · Score: 1
      Junctions can only point to directories. The full symbolic links implementation was added in Vista as you can read in Vista's release notes.

      I think that the common feature both junctions and symbolic links are built on, reparse points, was added earlier. But then I can point to the elegance of a system from the 70s where every file or directory can become a "reparse point", and indipendently of the underlying file system.

    89. Re:When do we get compression? by peppepz · · Score: 1

      edit: And Windows XP *was* released a decade ago.

    90. Re:When do we get compression? by Air-conditioned+cowh · · Score: 1

      Seems like a throwaway feature to me.

      Seems like a really useful feature to me!

    91. 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
    92. Re:When do we get compression? by vga_init · · Score: 1

      Not a compressed partition, but rather a compressed file system contained in a file on the uncompressed file system!

    93. Re:When do we get compression? by EvanED · · Score: 1

      So I guess back to your original point: a "transactional filesystem" abstraction layer sounds like an itch worth scratching, but it's not innovation by any means.

      IMO if transactional file systems aren't an innovation... I'm not sure what is.

      Sure, it's standing on the shoulders of DB transactions and whatnot, but that's pretty much true of every innovation.

    94. Re:When do we get compression? by Anonymous Coward · · Score: 1

      I wish I had modpoints to give to royalthefourth or to remove from SharLaser or siride.
      It is very good that file systems does not become the everything but the kitchen sink of storage strategy.
      If you need different storage strategy for different directories, you put the directories on different filesystems and you mount them in the structure that fits your needs.
      That is easy to do and very flexible.

    95. Re:When do we get compression? by Anonymous Coward · · Score: 1

      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.

      That is not how it works at all.

      NTFS compression works by breaking the file into groups of 64KiB (Might be 16KiB, don't remember exactly) and then compressing each lump of file using ZLib. This compromises seek performance for file size (if you seek 1MiB into a file and the read 10bytes then the system will need to decompress the 64KiB block into RAM and grab those 10bytes but it DOES NOT need to decompress the whole file). This is why NTFS compressed files are fast to access compared to 7-Zip or such compressed archives, the compromise is that the files also end up being bigger (due to only compressing 64KiB data lumps independent of each other) compared to archives (which compress the whole file at once).

      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.

      Ironically, you state exactly what NTFS ACTUALLY DOES right after criticising it for not doing it that way.

    96. Re:When do we get compression? by cnxsoft · · Score: 1

      BTRFS file systems can be used in Linux and offers compression. It will be the default FS in Fedora 17.

    97. Re:When do we get compression? by somersault · · Score: 1

      I'm not talking about reliability while sitting still, I mean while being mobile, ie moving around. SSDs do have their downsides of course, but I'd prefer an SSD in all my future laptops. In my desktop I have an SSD and a HDD. I expect the HDD to outlive the SSD.

      --
      which is totally what she said
    98. Re:When do we get compression? by AliasMarlowe · · Score: 1

      Riiiight, so I drag around an ugly mechanical drive every time I need to use my laptop, sure. That's exactly why I spent extra money on getting a small and light machine.

      For bonus points, ensure the external drive is also noisy, smelly, and discolored (as well as scratched and dented). It will make your MacBook Air look even better in comparison. Of course, this image may be tarnished if the external drive is actually doing a valuable job.

      --
      Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    99. 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
    100. Re:When do we get compression? by xtracto · · Score: 1

      There is also FuseCompress which supports LZMA, ZLIB, and bzip2 compression formats.

      The problem I see with these features not being part of the filesystem is that if you wanted to access said data in another system (say, at a friends house using a usb disk) you will be screwed as you need to install the extension on each computer.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    101. Re:When do we get compression? by e70838 · · Score: 1

      Most of us agree with the simple need of a compressed directory. We mainly disagree that adding features to the filesystem is a correct way to do that.
      What you call "use esotheric workaround" is very trivial for most of linux developers. If you have the level of knowledge to need to compress a directory, you generally have the level to find it easy to do using the CLI.
      I do not reject your lengthy rant about FOSS. Playing with mounting points, partitions (resize, move, ...) and file systems should be available without the CLI, using an eye candy gui.
      The need is present since a long time and has never been solved. Ubuntu has provided a partial work-around using FUSE everywhere. I do not think this is a correct solution because it is hiding things, not making them simpler. This work-around has probably postponed the invention of a clean way to handle file systems.

    102. Re:When do we get compression? by javanree · · Score: 1

      Then the conclusion is even easier :
      "Redhat's (mostly business) users don't need or just don't care about disk compression so they don't ask for it"

      Disk compression is a terrible band-aid for a cheap and easy-to-fix problem. Maybe it's time people rethink their storage strategies first...

    103. Re:When do we get compression? by smash · · Score: 1

      Yes, i believe there was also updates with Vista SP2 or Win7 as well. However arguing that NTFS was regularly updated when pointing to Windows XP is pretty stupid.

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

      That's more or less what LessFS does.
      It does compression and also does De-duplication, so it is equal or many many times more efficient and space saving than simple compression.

      LOL at the anti linux comments below. I see your transparent compression and raise you the deb package management with debian multi arch repos. *rakes in the chips* Nice playing with you pals.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    105. Re:When do we get compression? by LizardKing · · Score: 1

      It can be really important if you're storing thousands of files (text, or anything that compresses well) and still need fast direct access to them.

      Just tar them, compress the tar file, then use something like file roller to browse the compressed archive. This is exactly the way the Unix philosophy is supposed to be applied - using discrete tools to do specific tasks rather than complicating things like the general purpose file system code.

    106. Re:When do we get compression? by LizardKing · · Score: 1

      Based on my experience managing a large network, SSDs have been less reliable than spinning platters.

      Yup, just had another SSD fail two days ago. This one was six months old, and hasn't had that much use. The worst thing is that when SSDs fail, they tend to fail hard rather than slowly degrading as spinning disks generally do.

    107. Re:When do we get compression? by DrXym · · Score: 1
      I don't think compression is something which Windows actively waves under the nose of users (it's in an advanced dialog) but the fact is it's there. And encryption is too. And when you check the box to compress or encrypt Windows doesn't make a big song and dance about it, it just does what it's told.

      This is what open source and Linux needs to learn. Maybe some people are masochists and seriously consider mounting loopback devices pointing at compressed or encrypted files or some other shit as no big deal but they are in a minority. Regular users, even most power users would prefer a GUI that offers a checkbox and an OS which makes such functionality seamless and easy to tap.

      I think in the case of compression / crypto part of the issue is ext4 doesn't offer them at all so kludges like loopbacks have to be used. I would hope that btrfs will offer them and perhaps other extension points so perhaps Linux will eventually deliver this sort of functionality.

    108. Re:When do we get compression? by ttong · · Score: 1

      So you want to compress and decompress inside the kernel? Really?

    109. Re:When do we get compression? by DrXym · · Score: 1

      Having to write scripts to explicitly compress a directory and mount it as a regular directory (or whatever) is nowhere near as trivial or convenient as a one-shot checkbox. I also believe that a file system or at least something that looks like a file system to user land does need to support extensions such as compression / encryption natively in some form. It's pretty clear the kernel devs thinks so too or Btrfs wouldn't be striving to offer those features and wouldn't be on track as the replacement for ext4.

    110. Re:When do we get compression? by Bigos · · Score: 1

      or links

    111. Re:When do we get compression? by mapkinase · · Score: 1

      Exactly, In order to be able to "open" a compressed directory, one does not have to decompress the whole thing if compression is done right. It's when you have 30GB file in that directory, then it might become a problem.... unless compression is done right.

      --
      I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
    112. Re:When do we get compression? by drsmithy · · Score: 1

      If its an older PC I think i'd rather not waste CPU cycles on compression.

      Probably worth pointing out that compression will often actually improve disk IO, because the CPU is so much faster than the disk, the fact that less actual data needs to be written (and particularly read, as decompressing is faster) will make a machine with a compressed drive faster overall.

      This has been true since at least the Pentium II days, and probably all the way back to the 486DX.

    113. Re:When do we get compression? by hairyfeet · · Score: 1

      Thank you, and did you notice i got labeled flamebait for daring to point out such an obvious thing? I mean when did it become hearasay to say "Having a checkbox or button for the users is a good thing" in the community? Has it REALLY become so taken over by the "FLOSSie club" mentality that simply asking for a button is now evil? And what about the other two things I pointed out, having a "find drivers" and roll back drivers" button for when something goes wrong? That may not be something a regular user is gonna use every day but by George when something goes wrong they are gonna be damned glad its there!

      I don't think its masochists though, I truly believe from my interactions in the forums that those that believe FLOSS is a "club" that its their job to actively deny members to has taken over too much of the Linux community. They actively fight making things easier or better for the users because that might let in "noobs" or "the unwashed masses" while ignoring the fact isn't that what FOSS and the whole movement was for? Wasn't it to free the world from software that was out of their control? According to the FLOSSie club that is only for those that believe, and whom don't think esoteric workarounds like loopbacks are difficult. Kinda sad really, that the trolls have taken over the movement, but there you go.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    114. Re:When do we get compression? by Meeni · · Score: 1

      It's free software. You want it, you code it.

    115. Re:When do we get compression? by BosstonesOwn · · Score: 1

      I sense a new movement here... Occupy Server Storage ? Distribute the 1% storage to the 99% ?

      --
      This package Does Not Contain a Winner
    116. Re:When do we get compression? by Compaqt · · Score: 1

      Can you encrypt directories in Windows? Which version?

      I know that if you plug in an unformatted hard drive in Ubuntu you get the option of formatted with an encrypted filesystem, all with GUI tools for locking/unlocking.

      --
      I'm not a lawyer, but I play one on the Internet. Blog
    117. Re:When do we get compression? by Just+Some+Guy · · Score: 1

      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.

      On Solaris and FreeBSD, it's zfs set compression=on tank. The problems have been solved, for suitably large values of "solved".

      --
      Dewey, what part of this looks like authorities should be involved?
    118. Re:When do we get compression? by fluffy99 · · Score: 1

      I'm not talking about reliability while sitting still, I mean while being mobile, ie moving around. SSDs do have their downsides of course, but I'd prefer an SSD in all my future laptops. In my desktop I have an SSD and a HDD. I expect the HDD to outlive the SSD.

      I've seen exactly one spinning laptop drive fail due to impact (the entire laptop didn't survive either), whereas I've had numerous laptop SSDs get flaky and start quietly corrupting data. Some of those SSDs actually draw more power than a spinning HD too.

      For me SSDs have a ways to go before I'll embrace them without reservation.

    119. Re:When do we get compression? by MareLooke · · Score: 1

      Indeed, if this feature was actually useful in an enterprise setting RedHat would have implemented it years ago. The simple fact that they did not is in itself enough proof that it is a useless feature.

      For my personal usage I barely have any files I could compress and save any reasonable amount of space with. Old documents tend to go in tar bzipped files which, incidentally, I can just browse as if they ware normal folders with my file manager of choice. If the OP can't with his then his file manager is a gimped piece of crap that needs replacing.

      File system compression is a non-solution to a non-problem.

    120. Re:When do we get compression? by pak9rabid · · Score: 1

      How do SSDs figure into that equation? Aren't people trying to squeeze out as much GB/$ as possible? Or does that stop happening when Linux gets insulted ;)

      If you're storing media (images, audio, video files) on your SSD instead of OS files and applications, you are clearly missing the intended purpose of an SSD. Get a large-capacity traditional HD on the cheap for all that shit.

    121. Re:When do we get compression? by Rennt · · Score: 1

      Heck, even just basing it on the file extension would work.

      No. God no! Firstly, Linux doesn't even have meaningful file extensions, and secondly (going by Microsoft's experience) it creates a security nightmare and is prone to unpredictable behavior. Kill that crap with fire.

    122. Re:When do we get compression? by Rich0 · · Score: 1

      Do RAW files even compress using external utilities (at least enough to make it worthwhile)? They're internally compressed and they're lossless multimedia which is a tough nut to compress in any case.

      The best candidates for compression are things like random data files that don't employ internal compression, documents, executables, and text files. The files that individually tend to be large almost always employ internal compression already (video, audio, etc). Filesystem compression is good for taking care of the other 80% of the files that didn't warrant individual treatment.

    123. Re:When do we get compression? by Rich0 · · Score: 1

      Most files do not use codecs at all.

      The problem with solving this at the level of the individual file is that it takes care of big files like videos, but does nothing to handle the bazillion little files like what you find in /usr, /var, /etc, etc. Collectively they use quite a bit of space, though clearly comparatively little if you're talking about a MythTV box.

    124. Re:When do we get compression? by DrXym · · Score: 1
      You can encrypt a directory by checking a box on its advanced properties so that every file it contains and every file created / copied thereafter in that folder is encrypted. Encryption is via a key tied to your login so you don't have to mount the folder or anything and presumably you could share keys or do other interesting things. You can't encrypt and compress files at the same time as encryption renders the file data essentially random and therefore impervious to significant compression.

      It doesn't stop someone viewing the contents of the folder, but not the contents of the file. If you want to encrypt an entire volume you use Bitlocker, Truecrypt, PGPDisk or a bunch of other similar solutions. Truecrypt is free and well trusted so that would be the defacto choice IMO unless you need enterprise level functionality.

      Mac OS X also supports crypto through the GUI. FileVault protects the contents of your home folder, encrypting them with your login credentials. Or you can password protect a folder by turning it into an encrypted disk image and mount that to access it.

    125. Re:When do we get compression? by Anomalyst · · Score: 1

      Use them as cache under ZFS. let the software make intelligent decisions on what needs to go on the disk instead of making wild-assed-guesses as to what needs to be there. http://www.zfsbuild.com/2010/04/15/explanation-of-arc-and-l2arc/

      --
      There is no right to feel safe thru security vaudeville at the expense of everyone's freedom, privacy and tax money.
    126. Re:When do we get compression? by quinto2000 · · Score: 1

      This does solve an important problem in the Windows server space. Windows generates big log files, and there's no good log rotation built in. I do routinely end up compressing the log directories on many of my Windows servers. However, Linux has several good standard log rotators, so it's less of a concern. I've actually never run into the problem of a log directory filling up on Linux. What's the other use case where you have 1 TB of text files, other than logs?

      --
      Ceci n'est pas un post
    127. Re:When do we get compression? by nschubach · · Score: 1

      So, your question is: Why don't you have compression on your Macbook?

      I thought we were talking about Linux file compression, and you mentioned a solution (partition compression) but compare it to a Macbook and your lack of ability to compress?

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    128. Re:When do we get compression? by grumbel · · Score: 1

      Linux has the ability to read/write compressed files directly (zclib?) and doesn't need the filesystems to support this.

      Hacking workarounds together at the app level is the problem, not the solution.

    129. Re:When do we get compression? by bored · · Score: 1

      Probably worth pointing out that compression will often actually improve disk IO.

      Well, not really. If that were true then windows would probably enable folder compression by default. Besides latency issues that someone else pointed out, the overhead of doing something like updating 512 bytes in the middle of a file is significantly faster with an uncompressed file than a compressed one. Furthermore, streaming read/writes are where a the compressed filesystem gains advantages. In those cases the amount of advantage is dependent on the actual performance of the CPU's, compression ratios, and drives involved. Its also dependent on the question of whether there is a CPU sitting around idle. Anyway, the actual performance of a high speed algorithm like LZO (or LZS in the old days) has never really been much more than 2-4x a single hard-drive (and in some cases worse by similar factors). You should think about how the system performs when the compression ratio of the data is 1.2:1. Then consider that rarely was the compression ratio of a whole volume much greater than 2:1. Any advantages of compressed volumes were easily overcome with just basic software RAID0. Higher end RAID systems were often significantly faster than compression.

    130. Re:When do we get compression? by Admiral_Grinder · · Score: 1

      I don't think SSDs are the cause of the current price hike. If that was the case then we would have expensive drives last year.

      I noticed that the drives I buy are now almost double the price than 6 weeks ago, probably something to do with Thailand hard drive factories refactored into swimming pools.

    131. Re:When do we get compression? by marcosdumay · · Score: 1

      Non-solutions are great for non-problems.

    132. Re:When do we get compression? by drstevep · · Score: 1

      I fail to understand this response.

      Yes, Linux can compress files and you can browse within the compressed archive. Yes, Linux could do that 20 years ago. Hell, so could my CP/M system, 30+ years ago.

      The central question is transparency of access across all applications. A brilliance of Unix was the transparency of access to byte streams across sources through the use of the filesystem integrated with driver references. An application sees a byte stream of data, and doesn't care if it is bytes stored on a disk or bytes being read from a TTY device. The concept of "filesystem" includes layers that are (reasonably) consistent across sources to provide a common interface to the data source.

      Embedding compression adds additional layer of transparent functionality. The application sees a name, if it is a directory it can proceed to open the directory and query for objectnames within it. The app need concern itself with only files and data; the filesystem manager maintains the source processing models (including, by the way, what kind of filesystem (EXTx, etc.) is used to manage the data store).

    133. Re:When do we get compression? by hairyfeet · · Score: 1

      From Win2K Pro on up, that is 12 years, you can just right click on a folder, select properties and under advanced you will find "Compress contents to save disk space" as well as "Encrypt contents to secure data" but of course you can not encrypt and compress because the encryption makes the files look like a random scattering of 1s and 0s so naturally compression simply won't work.

      You should try looking up sometime "77 things about windows 7" is I believe the name of the whitepaper or even some of the writings of the guy that writes the WinTechNet tools (Russinovich I believe) because frankly there is insane amounts of customization and advanced features of Windows NTFS that most users don't even know about, until they find a need for it of course. You have junction points, which was CLI until Vista but since has a GUI, you can encrypt files and folders, compression, alternative data streams, custom ACLs, there is frankly an insane number of features of the NTFS file system just sitting there. Hell the whole system has gotten insanely powerful, win 7 now has a built in tutorial tool where I can record a step by step tutorial to walk my customers through fixing a problem or I can just take control of their box in less than 5 minutes while they are on the phone and fix it by remote, so simple to use I walked a 73 year old grandmom through remote assistance over the phone.

      But this gets to the heart of why I think Linux isn't gaining share, and it is thus: MSFT is busting their asses to make things EASIER for the user. Even the most advanced tasks can easily be found using WinSearch and has GUIs and helpful tutorials. Hell my 71 year old dad is learning voice command control for his PC all because he simply typed "mic" into control panel and found a tutorial on using his microphone for voice commands!

      Sadly and I get infinite hate and venom for daring to say this but i truly believe it is this dark fact that the community doesn't want to admit which is Currently Linux IS Windows 98, no more and no less because while MSFT and Apple have seen that the key to users is making things easier for them, with Linux, just like Win98, the GUI is really nothing but a shell over a CLI underpinning, and instead of working to make the GUI a first class citizen the developers often just put the absolute most basic items in the GUI and instead of having an advanced GUI for advanced tasks expect the user to drop out of the GUI for CLI, just as we often had to do with Win98.

      As a retailer and geek I want that to change. i remember the days of having shelves filled with choices, from Commodore to Atari, from Tandy to Compaq. I believe choice is healthier for the system as a whole and healthier for the user. Hell i even think having lots of choice is healthier for MSFT as it forces them to stay on their toes and listen even closer to the consumer. But we simply won't have that choice if the community doesn't stop acting like Linux is this little "club" where only CLI heads and nerd are allowed. I mean look at the post I was responding to, which i got labeled flamebait for daring to point out what was going on, where a user said he could really use a simple feature that has been in Windows for a decade. What happened? he was insulted repeatedly before someone came up with a truly Rube Goldbergesque workaround to create a compressed loopback mountpoint, a workaround i'm sure would involve a page and a half of CLI as well as writing and testing his own script.; That's just insane folks!

      --
      ACs don't waste your time replying, your posts are never seen by me.
    134. Re:When do we get compression? by jd · · Score: 1

      What "one filesystem"? Microsoft keeps trying to do WinFS and other experimental systems, NTFS keeps getting "revised", blah de blah blah. There is no "the" filesystem. There is the default filesystem on Windows 7, but there is bugger-all guarantee that will have any relationship with the default filesystem on Windows 8. Thumb drives that use NTFS are wasting space and there's a hell of a lot more thumb drives than there are hard drives. You may not be aware of this, but DVDs don't usually use NTFS either, but are probably more important candidates for compression than any other device.

      So what is this mythical "the" filesystem of which you speak?

      --
      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)
    135. Re:When do we get compression? by jd · · Score: 1

      It's not in the kernel, it's in the low-level app libraries. (Ok, actually there IS a zlib compression function in the kernel that can be used for files, but it's not the one I'm referring to. Damn complexity.)

      Basically, it overrides the "standard" application-layer I/O functions and replaces them with ones that do on-the-fly compression. It's totally invisible to applications, so you can ignore any references by others to "application level" workarounds. This isn't in the applications at all. It's in the interface between userspace and kernelspace, which (arguably) is where it should be. To the application, it's as if it were in the kernel - the app can't tell the difference - but it's not hogging up kernel threads and therefore not subject to all the headaches you get when a kernel thread goes nuts munching on CPU time.

      I would imagine it's tunable. I've honestly never tried tuning it. It's there and when I roll my own distros (I'll only use other people's distros when I'm rushed for time) I invariably use it.

      (For those not around long enough, I have spent almost 2 decades ferreting out under-utilized, obscure yet amazingly useful projects - be they kernel or userspace. I wouldn't even rate this project as obscure in relative terms - I've seen far more obscure projects that people are insane for not using but can be excused on the grounds that nobody tells anyone anything. Y'know, word-of-mouth is great but it requires one to open one's mouth.)

      --
      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)
    136. Re:When do we get compression? by mattack2 · · Score: 1

      Security nightmare?

      I simply mean "treat .txt as a text file, .mov as a movie", so you know how to compress the first one well and probably do nothing at all on the second one.

      This was the technique used in a file-based compression utility I used in the early 90s on the Apple IIGS. (Well, not .movs, but you get the idea.)

    137. Re:When do we get compression? by jd · · Score: 1

      True, but when it's in the filesystem, you're restricted to the specific filesystem versions that use compatible compression. When it's a layer, it doesn't matter what version of anything anyone uses. That's the great thing about layered OS design - you're not subject to version hell. API hell, yes, but not version hell. Can't do much about API hell, since loosely-coupled designs have to rely on some method of communicating, but Linux limits API hell by enforcing backwards-compatibility at key points. This means, however, that you have to add your version-independent layers at those points and no other.

      --
      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)
    138. Re:When do we get compression? by jd · · Score: 1

      See above. See LWN's article on low-level libraries. Hell, see a book on design. Low level libraries aren't applications and aren't application level. They're userspace but they're not appspace.

      --
      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)
    139. Re:When do we get compression? by barrkel · · Score: 1

      Did you read beyond my semicolon, or was it too much text for you?

      When you have a single device with only SSD storage, how do you store compressible files belonging to the OS?

      Me, I use filesystem compression on them. Not because it's fast or slow; but because that's the solution to the actual problem.

    140. Re:When do we get compression? by barrkel · · Score: 1

      What makes you think I have OS X on my Macbook?

    141. Re:When do we get compression? by javanree · · Score: 1

      I bet they totally loved you for that when a disk (or worse, RAID set) started crapping itself and just a few lost bits caused a directory (or worse...) to be totally inaccessible... Again, disk compression is usually a poor band-aid for a problem which can be solved in many more elegant ways. And this particulair band-aid just masks the wound and might cause nasty infections further down the road.

    142. Re:When do we get compression? by shutdown+-p+now · · Score: 1

      This requires you to decide in advance how big you want the compressed partition to be, and it's hard to change later if you misjudge the size.

    143. Re:When do we get compression? by shutdown+-p+now · · Score: 1

      In case of NAS, however, filesystem-level compression would not help, since the file would be decompressed before its data is sent over the network.

    144. Re:When do we get compression? by shutdown+-p+now · · Score: 1

      Actually, that post is fundamentally wrong in how it describes NTFS file compression (just read other replies, they already explain it).

    145. Re:When do we get compression? by NorthWay · · Score: 1

      "Those who don't understand UNIX are condemned to reinvent it, poorly." - Henry Spencer

      Well, there are days I keep thinking to myself that much the same applies to the Amiga. Except often not actually getting what they want.

      On my Amiga I had a (de)compressing filesystem. You basically named it and told it what real directory to link to. After that your view of that filesystem was as if the files were uncompressed. You could use your real path to fiddle back and forth with compression and selecting algorithms per file. There was a very nice compression framework done by third-parties that this used - plug-in compressions of all types.

      And if you were "cheap" you could use a loader patch that recognized the executable directly and decompressed it.

      Of course, storage systems will probably begin compressing data by default to increase space and speed. I think some might already do (though you might want a standard that transfers compressed over the wire all the way into your host).

    146. Re:When do we get compression? by DaVince21 · · Score: 1

      There's another advantage to compressing the data, though. A lot of the boot and load times on software and distros is spent reading files from disk. Compress these files, and there's less to read, which is good. The CPU will take over the task of uncompressing the files, which is a lot faster than loading the full file (depending on how large it is).

      Thus, I'd see compression as something that can be very beneficial to load times.

      --
      I am not devoid of humor.
    147. Re:When do we get compression? by Korin43 · · Score: 1

      In fact, most people I know never use more than 30 GB total unless they have (a) an insane amount of music or (b) a reasonable amount of videos.

      Or more than 2 modern AAA video games installed.

      A compressed filesystem isn't going to help with your games (their data is probably in a tightly packed binary format anyway). You're right though that that would be a good reason to need a bigger hard drive.

    148. Re:When do we get compression? by Korin43 · · Score: 1

      Good point (see my other comment). These will all compress they same as audio/video (ie: they won't compress at all), so it doesn't change my point.

    149. Re:When do we get compression? by BatGnat · · Score: 1

      ASCII pr0n?

    150. Re:When do we get compression? by AReilly · · Score: 1

      There is essentially no virtue in a compressed filesystem because there is essentially no compressible data on a modern file system. The bulk of user data these days (by volume) is already compressed, as JPEG images or MPEG sound files, or similar. A very few people or situations will have a fair chunk of information in the form of documents and guess what: the modern forms of those are already compressed too (zipped XML is the new doc.)

      The pieces of data that people will complain about, executables and libraries, aren't particularly compressible either, and are not useful in compressed form because the modern operating systems that execute them operate by demand paging. Everything else (directory structure, control files) is in the noise, and arguably much better off uncompressed for efficiency of access.

      --
      -- Andrew
    151. Re:When do we get compression? by rwa2 · · Score: 1

      It's pretty user friendly on just about every Linux LiveCD/DVD or pendrivelinux USB distro...

      Haven't tried setting up squashfs + aufs cow on my regular system yet, tho, but it ought to be straightforward to model it after the configuration used by one of those USB distros.

    152. Re:When do we get compression? by bingoUV · · Score: 1

      While compression is not completely worthless, COW, transactional FS (full ACID), file level RAID levels, are more important because they cannot be done in userspace. Encryption and compression can be done in userspace, and less important. Though more convenient if these are available from filesystem.

      This is another case of ignorant Linux users answering with an "you don't want to do that anyway", when I perfectly know I do.

      You have been unable to demonstrate you really need it, and that userspace solutions (zlib et al) are really inadequate.

      Patient to doctor : Give me antibiotics for my viral fever
      doctor : you don't need them
      patient : I perfectly know I do need them

      --
      Bingo Dictionary - Pragmatist, n. A myopic idealist.
    153. Re:When do we get compression? by 1s44c · · Score: 1

      Did you read beyond my semicolon, or was it too much text for you?

      When you have a single device with only SSD storage, how do you store compressible files belonging to the OS?

      Me, I use filesystem compression on them. Not because it's fast or slow; but because that's the solution to the actual problem.

      I read it. The comment I replied to was:

      SSD = very expensive small storage; mobility = no space for extra storage

      You are complaining that I didn't take into account an assumption you didn't type. That was not an OS file specific comment. I don't compress OS files, my OS isn't big enough to make it worth thinking about. However I do uninstall packages I don't need.

      They are selling 600GB SSD drives now. Does your OS really take more than 600GB on a mobile device? The problem is the cost of these disks not 'no space for extra storage'.

    154. Re:When do we get compression? by psmears · · Score: 1

      However, this still isn't as fully-general as a true transactional FS. Other processes running your program now cannot (legally) read the protected file if the lock file exists. This means that you can't have a long-running transaction, which you might want to do if you want to be able to read a consistent image for a long period of time.

      Not to mention what happens if your process crashes (or is killed) after it's obtained the lockfile, but only half way through updating the data...

    155. Re:When do we get compression? by barrkel · · Score: 1

      How on earth am I going to get a 600GB SSD into a MacBook Air, and how much is that going to cost?

      There is more than one factor here. It's completely disingenuous to say that the problem is the cost not the small size; the problem is the cost per unit of size, which means there is a tradeoff to be made. One tradeoff which you are rejecting is to buy a smaller SSD (or live with what you get in an MBA, which you can't change easily) and compress files that aren't frequently used. It's a perfectly valid tradeoff. It saves money, at the cost of making infrequently accessed files slightly more expensive to access. The fact that they are stored on an SSD doesn't make it any less valid to compress them. The fact that it takes 10 milliseconds to compress a megabyte of data with reasonable algorithm is a perfectly fine tradeoff to make.

    156. Re:When do we get compression? by Electricity+Likes+Me · · Score: 1

      No but I'd like FUSE to be a A LOT faster then it currently seems to be.

    157. Re:When do we get compression? by Bengie · · Score: 1

      The only annoying part about compressed data is you can't do DMA transfers between your HD an NIC since the data first needs to be decompressed by the CPU.

      My NIC supports filetransfer offloading and it actually takes less CPU to transfer 960mbit/sec over SMB2/IPv6 than it does to use iPerf/IPv6 at 960mbit/sec.

      My CPU usage during SMB at my NIC's max speed is about 0.6%, while iPerf is about 2-3% cpu at the same speeds. Both times nearly all CPU usage is kernel mode, so I know it's all in the drivers.

    158. Re:When do we get compression? by Bengie · · Score: 1

      "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."

      Ever hear of "streaming"? They decompress one block at a time in memory as it's read it from the HD.

    159. Re:When do we get compression? by Bengie · · Score: 1

      " it sounds like something that can be done without too much difficulty by writing to temp files (in the same filesystem) and then "committing" the transaction by jiggling hard links"

      What you described would work for applications that are aware of your way of doing transactions, but the biggest benefit for the FS doing it, is for applications that aren't aware. If the FS doesn't forcefully lock the file from other applications, you will get race conditions that will cause dirty reads/writes.

      NTFS supports transactions just like a database. Plus, the new transaction framework allows linking transactions across multiple computers and even into MS-SQL, so when you commit, you can make sure your DB, local fs and remote fs are all in sync.

    160. Re:When do we get compression? by billcopc · · Score: 1

      Don't blame FUSE - well, not entirely at least. Blame the slow kerneluserspace linkage that requires lots of memcpy-on-memcpy action to get anything done. It is too tightly coupled to allow good performance unless you implement your own fancy async bufferingon the userspace side. The idea of FUSE is great, but the current implementation is half-assed and no one seems to be motivated to fix it - myself included - because none of the hardcore devs have any use for it.

      I'm not a hardcore kernel guy, but I do tend to build idealized environments for myself. If I need to store 40gb of files, I get 40gb of space, screw compression. Even with today's processors, compression is still a big resource hog and I have better uses for that CPU time. If we had hardware-accelerated compression, my stance would be different - someone call Jen-Hsun Huang!

      --
      -Billco, Fnarg.com
    161. Re:When do we get compression? by billcopc · · Score: 1

      You are correct on most points, though in Windows, updating part of a compressed file does not require reprocessing the entire file. It works on 64kb chunks, so only affected chunks need to be updated. Despite that, there are other considerations such as fragmentation that do hurt performance, as compressing a 64kb chunk down to, say 20kb, still leaves a 44kb "gap" which must either be seeked over, or read through and discarded.

      Compression works well in some special cases, but not at the OS level. For example, backup tapes greatly benefit from compression, because they have relatively slow transfer rates to begin with, might as well maximize capacity and throughput. Modern SSDs also benefit from block-level compression because it helps squeeze more out of each memory cell, in terms of both throughput and longevity by decreasing the number of erase/write cycles needed - in this case, compression is handled in the SSD's controller chip at full speed (~6.0gbps in current models).

      Compression made sense for the Linux kernel "bzImage", back when we were booting from floppies and slow hard drives, where it often saved 30 seconds in loading times and allowed to fit the kernel onto small removable media. Today I think we just do it out of habit, because the difference between loading a 3mb file vs a 10mb file is negligible on modern hard drives - roughly 1/10th of a second.

      --
      -Billco, Fnarg.com
    162. Re:When do we get compression? by billcopc · · Score: 1

      Funny, my laptop is plenty reliable and I carry it every day as I walk/pub/cab to and from pubs and the occasional client site. In 12 years of laptops I have had exactly zero hard drive failures. Luck ? Maybe... but even if I'd had one or two failures in 12 years, it's still not enough to call them "unreliable". I could tolerate a failure every few years, it won't ruin my life. That's what backups are for.

      In contrast, I've had to RMA quite a few SSDs that had died prematurely. Thankfully, OCZ's RMA service is quick and painless, but they are still ironing out the kinks in this relatively new tech. Again, backups for the win.

      --
      -Billco, Fnarg.com
    163. Re:When do we get compression? by somersault · · Score: 1

      Have you moved it around much while it was switched on though? I wouldn't expect a failure all of a sudden, more a few bad sectors which gradually cascade.

      --
      which is totally what she said
    164. Re:When do we get compression? by jbolden · · Score: 1

      You know you've ranted this stuff before but...

      1) Linux is over 60% of the server market
      2) Linux is around 92-97% of the super computing market
      3) Linux is around 40% of the embedded OS space something like 3x the size of the next largest player, and the Linux kernel doesn't even support RTOS
      4) Linux is the 2nd most popular virtual operating system on mainframes
      5) LInux is doing fantastic in mobile phones and is around 40% of the smart phone market, expanding into every area and is likely to be the dominant OS

      Linux is around 1% of desktops. Why would anyone focus on the desktop market given all that far easier lower hanging fruit? Yes there is potential there, to fight a really hard battle against Microsoft and OSX who both do a fantastic job. Or throw in the towel for a decade or two, go for piecemeal getting some open source on Windows and OSX and focus on the other markets which seem much more amenable.

    165. Re:When do we get compression? by bored · · Score: 1

      I agree with your points in general, but this stood out:

      For example, backup tapes greatly benefit from compression, because they have relatively slow transfer rates to begin with

      Uh, you know that current tape drives (T10k, 359x, even LTO) all have physical media transfer rates between 140 (LTO5) and 250MB/sec (3592E07)? With compression it possible to get over 350-600MB/sec (depending on drive & compression ratio) on all the current generation drives. So, yes compression helps, but the drives aren't slouches. In the end, even a modest library with a dozen drives probably has more bandwidth than most companies combined disk subsystems. The backup bottlenecks are almost always how fast can the changed data be sourced from the array. Most of the "enterprise" backup solutions have some disk stage component built into them now, that sources from multiple servers, and then writes the result to a single tape drive. The problem is that a lot of places fail to realize that they cannot just create a media server out of a random dell/HP/IBM machine, instead they need to attach extremely fast disk on the staging machine. Of course this problem is made worse by the fact that none of the major storage vendors see fit to sell a medium capacity disk (50-100T) with gigabytes of IO bandwidth for just a few thousand dollars. For that you have to look at the 3rd tier storage vendors.

    166. Re:When do we get compression? by emilper · · Score: 1

      cryptkeeper; works like a charm on linux

  2. If it ain't fix by ickleberry · · Score: 1

    Don't break it. You'd think they'd want to get rid of lib64 first, since 32-bit libs on 64 bit systems will fade into obscurity sometime soon. It's only really proprietary software compiled for 32-bit libs that uses it anyway so just shove everything into /lusr/lib maybe /sbin and /bin and /usr/sbin can be consolidated into /bin but i'd definitely leave /bin and /usr/bin separate because at least you'll have a system that kind of works with just /bin if the /usr partition goes missing

    1. Re:If it ain't fix by skids · · Score: 1

      32-bit libs on 64 bit systems will fade into obscurity sometime soon

      Not in multiarch boot scenarios. The number of different lib subdirs is likely to increase over time, not decrease, and it's better for all concerned if one does not have to write two versions of "how to fix problems with libxxx", one for systems booting off multiarch media, and another for systems not carrying a multiarch library suite.

      This will be especially true of ARM, with its many variants.

    2. Re:If it ain't fix by adamchou · · Score: 1

      Yea and flying spaghetti monster forbid you accidentally type something like chmod a+rx on your consolidated /usr/bin directory. That'll be a load of fun to fix

    3. Re:If it ain't fix by Roger+W+Moore · · Score: 1

      Yea and flying spaghetti monster forbid you accidentally type something like chmod a+rx on your consolidated /usr/bin directory.

      That is an argument for backups NOT an argument for split bin directories. It seems to me that the original argument for split directories was, as the original poster mentioned, so that /bin could fit on the boot partition so the system would work even if no other partition can mount. Given that modern disks are easily large enough to hold /bin and /usr/bin in the same partition I really don't see a good argument for their continued separation.

    4. Re:If it ain't fix by sjames · · Score: 1

      I like the Debian approach of having /lib and /lib32. After all, the 32 bit stuff is the exceptional arch on a 64 bit system and as you say is the part that will go away one day.

    5. Re:If it ain't fix by EvanED · · Score: 1

      OS X also supports self-contained app bundles insensitive to FS location, such that "installation" is just copying or moving the bundle (a single directory with stuff underneath it) wherever you want it to go, and uninstallation consists of deleting the bundle. Linux users often praise package management systems like RPM as if they're a great reason to run Linux, but IMO they're just bandaids which make a horribly broken design marginally tolerable to use, rather than a desirable state of affairs.

      I couldn't have said this better myself. To me the fact that the typical state of affairs on Unix is you build a package with a particular --prefix, and if you want to put it somewhere else you have to rebuild it is absolutely ludicrous. It won't work if you move it from /opt/blah to /opt/blah-5.10, because /opt/blah was baked into the executables when they were built because that's what you gave as --prefix.

      At least on Windows there's typically a crappy excuse for this behavior, which is that the installation usually writes some configuration information external to the install folder (in particular, in the registry), and that information isn't updated. That's not the case on Linux... the information is stuff like the rpath of the executables and who knows what.

      It's like the Unix people implemented relative paths and rpath's $ORIGIN and such and then forgot that they did that.

      (Of course, I also think that FS layouts like what GoboLinux gives you are way, way superior to what you get by default. GoboLinux gives you actual separate installation directories for each package (keeping related things together! what a concept!), then puts symlinks in the standard locations.)

    6. 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.

    7. Re:If it ain't fix by sjames · · Score: 1

      How will fat binaries help me run a LEGACY binary? That's what 32 bit is on an x86_64 system.

      Fat binaries won't likely play very well with shared libraries either. I honestly don't see a benefit to them for anyone who knows what arch their system is. Just install the appropriate binary and be happy. Beyond that, Linux is sometimes installed on VERY small systems where fat binaries would be a big (pun intended) problem.

      There is a trend in Linux to use directories in /opt as bundles for apps that come with many pieces. However, that's actually orthogonal to package systems.>/p>

      Many Unix people consider fat binaries to be dumb.

    8. 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.

    9. Re:If it ain't fix by saint0192 · · Score: 1

      I hope that Fedora's new filesystem structure separate all the 64-bit libraries into /system and the 32-bit libraries into /system32!

    10. Re:If it ain't fix by Vegemeister · · Score: 1

      Because 64 bit binaries have better performance. AMD64 doubles the number of addressable registers and gets rid of a lot of legacy cruft. Furthermore, nobody compiles 64 bit binaries with -march=i386. x86-64 CPUs support a minimum of SSE2.

    11. Re:If it ain't fix by smellotron · · Score: 1

      It's like the Unix people implemented relative paths and rpath's $ORIGIN and such and then forgot that they did that.

      I love $ORIGIN and use it myself, but I've found that it's incredibly cryptic to most people. Even the googles, they don't seem to provide much information aside from mailing lists where people bicker over the feature.

    12. Re:If it ain't fix by GPLHost-Thomas · · Score: 1

      No, the way to fix it is the multi-arch thing of Debian (SID), which we are all migrating (painfully) to.

    13. Re:If it ain't fix by Dogun · · Score: 1

      While I imagine there are liekly cases where that statement about performance is true, I have generally not seen a performance boon from building 32-bits on 64-bit OSes.

    14. Re:If it ain't fix by GPLHost-Thomas · · Score: 1

      Yes, it's going to go away, but not for the reason you stated. It's going away, because we're moving to a multi-arch system, when libs of many arch can coexist (like armel and armhf, for example, not just x86 stuff).

    15. Re:If it ain't fix by Tomato42 · · Score: 1

      If that's true: Have they completely lost their minds?! I don't need another OS that can barely squeeze into 16GB flash drive.

    16. Re:If it ain't fix by Tomato42 · · Score: 1

      Large disks, modern disks, they both are non-existent in embedded markets, or if you want to boot from small SSDs. Private virtual machines have usually very small disk quota. Just because the regular desktop has big drive doesn't mean that all environments do.

    17. Re:If it ain't fix by Rich0 · · Score: 1

      The reason most other distros went with putting 32-bit stuff in /lib early on was porting. When amd64 came along EVERYTHING already worked 32-bit, and a subset of that could be compiled for amd64 without much issue. The problem was that the stuff that tended not to work out-of-the-box on amd64 was stuff that desktop users would have trouble giving up, like mplayer, flash, etc.

      By keeping 32-bit stuff in /lib you could just take 32-bit binaries and plop them into the system and it would work fine without modification. If you made /lib 64-bit then you'd have to relink everything, which creates a lot of hassle when the whole build system is broken to begin with.

      Over time many distros moved to putting 64-bit stuff in /lib as the 32-bit issues got fixed, or at least mitigated.

      The whole point of legacy support, however, is that you have to keep the legacy part the same as what you used to do, and make the changes somewhere that the legacy software won't notice. You make fancy new API calls, you don't change the behavior of existing one, and so on...

    18. Re:If it ain't fix by sjames · · Score: 1

      In this case, if you make the change to the 32 bit ld.so, you can move the libs silently to lib32.

      But yeah, in the beginning, 64 bit was the exception even on a 64 bit system.

    19. Re:If it ain't fix by Compaqt · · Score: 1

      Well, here's an argument (the traditional one): /bin is supposed to contain the minimal stuff you need to boot the system. /sbin is programs you don't necessarily want to give normal users access to. Basically, you can just prevent access to the directory itself. /usr/bin is everything else.

      Assuming you've got an SSD, you might want to put /bin on the SSD, but not everything else. If you want to have everything in one place, why not just symlink /bin to /usr/bin instead of dropping the directory structure?

      --
      I'm not a lawyer, but I play one on the Internet. Blog
    20. Re:If it ain't fix by higuita · · Score: 1

      most apps are waiting for something from the user, network or disk... only apps with CPU intensive usage you can see a difference
      something that uses the cpu for 1s isnt enough to give you ANY feedback about speed

      finally, a background flash running might be enough to kill any speed gain, as usually we are talking about about 5% to 20% speed increase (depend of course how the app uses the cpu) and a flash movie can eat 30% or more of your cpu...

      --
      Higuita
  3. Good idea by Tragek · · Score: 1

    But I'd like to still have a conceptual difference between /usr/bin and /usr/local/bin; Perhaps support local, but mirror it's contents into /usr/ using symlinks.

    I want to be able to install software from source, then wipe it all in one fell swoop if I'd like, which could be done with a mirrored /usr/local.

    1. 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.

    2. Re:Good idea by jimshatt · · Score: 1

      I use /opt/ to install software in (that isn't available through the package manager) and then link its binaries in /usr/local/bin, which is on the PATH. This gives me a clear view of what I've installed myself, and still be able to execute it easily.

    3. Re:Good idea by GioMac · · Score: 1

      RPM packaged SW is never installed in /usr/local/, for /opt/ you can find a lot.

      --
      "It feels like I'm at the Zoo when reading this thread - I'm frightened, but it's interesting" (c)
    4. 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.

    5. 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.
    6. Re:Good idea by catmistake · · Score: 1

      I disagree. Fedora shouldn't try to simplify what has basically been standardized. Linus already made this mistake. The problem with the linux filesystem is what is different about it from UNIX. Trying to make it simpler is just going to cause all kinds of issues... like a fracturing of the linux communities. No... don't try to make it simpler... make it more like UNIX. That will make it simpler.

    7. Re:Good idea by Tragek · · Score: 1

      Interesting; That's not how I'd understood opt, but good point.

    8. Re:Good idea by Tragek · · Score: 1

      So, given that I was 'raised' in the Linux tradition in a sense (lies, but not germane), could you elucidate on what you mean by the differences between the Linux FS style and UNIX style?

    9. Re:Good idea by starfishsystems · · Score: 1

      As I recall, /usr/local is a BSD-ism, whereas /opt arose out of System V. So they're culturally inflected as well.

      --
      Parity: What to do when the weekend comes.
    10. Re:Good idea by catmistake · · Score: 1

      I wouldn't know where to begin. The similarities are superficial and the differences are critical. Just off the top of my head, the way start up scripts are handled... and the location of same.

    11. Re:Good idea by TheReaperD · · Score: 1

      You forgot about all of the dlls that they store in %SystemRoot%\System32 or the older systems that hardcode to C:\WINDOWS and C:\WINDOWS\SYSTEM. It's not as "easy" as you suggest.

      --
      "Be particularly skeptical when presented with evidence confirming what you already believe." -
  4. Simple by wsxyz · · Score: 3, Funny

    Just store everything in /
    What could be simpler?

    1. Re:Simple by Anonymous Coward · · Score: 1

      /dev/null ?

    2. Re:Simple by satuon · · Score: 1

      Microsoft hears you.

    3. Re:Simple by lptport1 · · Score: 1

      I actually think GoboLinux had it down pretty well. I think I liked the filesystem as package manager concept most.

      Unfortunately it hasn't updated since the last time I tried it.

    4. Re:Simple by Caesar+Tjalbo · · Score: 1

      I like the idea of GoboLinux too. Although it could get us back in the good old mess of MS DOS and I'd rather not see a registry in Linux.

      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    5. Re:Simple by lptport1 · · Score: 1

      Okay, I'm not getting it. How did MS-DOS lead to a registry? I thought that was a torment that came with Windows.

    6. Re:Simple by Fancia · · Score: 1

      Have you seen Homebrew? for Mac OS X? It adopts a pretty similar concept, within the Unix hierarchy.

      --

      Bít, zabít, jen proto, ze su liska!
    7. Re:Simple by Dahamma · · Score: 1

      Seriously... I started using Windows 7 and now it's finally making (reasonable) distinctions about what files can be modified in system directories. Windows is moving towards UNIX, and UNIX is moving towards Windows... the perfect convergence, or the sign of the apocalypse!?

    8. Re:Simple by alukin · · Score: 1

      No, just do it right way: "C:\" is the best solution!

    9. Re:Simple by gbjbaanb · · Score: 1

      pah. Forget /usr/bin, put it all into /program%20files/ and /program%20files%20(x86)/

      now *that* is easier!

    10. Re:Simple by lptport1 · · Score: 1

      No, I hadn't. I'll look into it next time I get to play with Mac OS X.

    11. Re:Simple by Caesar+Tjalbo · · Score: 1

      INI files. Actually, that horror is with Linux-users. There are system wide settings in /etc and user-specific settings in /home/. Pick 10 random applications and look closely at the syntax, especially at differences between files.

      MS DOS was easy to grok but those INI files could end up at unexpected places and with wildly varying syntax's, the registry wasn't such a dumb solution to it even though the implementation leaves something to be desired. I don't know when the registry made its appearance but the way I see it was MS DOS what caused it.

      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    12. Re:Simple by BatGnat · · Score: 1

      /dev/null ?

      No!
      that's what I use for my backup destination, and I don't want to run out of space.

    13. Re:Simple by Caesar+Tjalbo · · Score: 1

      Sorry, I thought I had replied on this.

      The problem is INI files. With MS DOS they could end up in strange places and with different syntax's, not unlike the config files under /etc and /home/user. It was a decent ambition to deal with that mess even though the implementation of the registry is far from perfect.

      I don't recall when the registry came but administrating my last MS DOS (3.2) was already a bit of a problem on the then technical marvel of a 20 MB hard disk. You're correct afaik that the registry came with Windows but it was the experiences with MS DOS that lead to it, iirc.

      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    14. Re:Simple by lptport1 · · Score: 1

      Thank you. I actually have to agree with you, INI files offer no consistent syntax, format or location. But I definitely found comfort in the fact that I could just open them with edit and go to town.

  5. Dumb move by Anonymous Coward · · Score: 1

    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.

    1. 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.
    2. 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. :-(

    3. Re:Dumb move by Caesar+Tjalbo · · Score: 1

      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:\

      That's MS DOS. On Windows it's even nastier with folders like 'My documents'. It works ok if it does but when you have to navigate the tree towards it, especially on a system in a different language than English, it becomes a lot of trouble. Those windows users should feel right at home at /home.

      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    4. Re:Dumb move by yakovlev · · Score: 1

      I agree, this is a dumb move. I want / to be a separate PARTITION.

      partition /boot contains the kernel and boot-related files.
      partition / contains the minimal stuff required to get a running system. This is enough to debug problems on the other partitions.
      partition /usr is dramatically larger, and contains the bulk of what has become modern user space programs and libraries.
      partition /home is user data.
      partition /tmp is temporary files
      partition /var is system data files.

      Directories /etc and /root are on the / partition.

      If you combine the functions of /usr and /, you run a greater risk of breaking things under a variety of scenarios.

      For the average user who puts all of their data on a single partition, the distinction is irrelevant. For someone who actually cares about partitioning, there is a BIG difference.

    5. Re:Dumb move by Dogun · · Score: 1

      Red Hat jumped the shark in 1997. Once you go slack, you never look back. You do continue to look forward, though.

    6. Re:Dumb move by Dogun · · Score: 1

      I agree the wow64 fs and registry direction is confusing as hell. With the benefit of hindsight, I suspect they would have designed that differently (I will just assume it was fundamentally possible, if a bit more work in the short term.)

      c:\winnt vs c:\windows vs c:\win vs e:\foo are all theoretically valid windows directories, though. That's why windows has an API for finding the Windows directory.

    7. Re:Dumb move by shutdown+-p+now · · Score: 1

      FreeBSD has a well-defined concept of "base system" and "other stuff" - the former goes into /usr, the latter - including official packages - into /usr/local. Most Linux distros use packages for base system as well, so there's no such clear separation there.

    8. Re:Dumb move by drussell · · Score: 1

      Yes, I agree.. The standard FreeBSD filesystem arrangement is very clean and simple... It just makes a lot of sense. Base system is /usr and /etc, everything else is /usr/local and /usr/local/etc...

  6. Standardise by Anonymous Coward · · Score: 1

    Why not standardise on /Program Files/ and /Windows/System ?

    1. Re:Standardise by SuricouRaven · · Score: 1

      Or Program Files (x86) and system32. This problem isn't unique to linux.

    2. Re:Standardise by Anonymous Coward · · Score: 1

      Fuck it, /System and /Library

    3. Re:Standardise by Surt · · Score: 1

      Don't forget about SysWOW64

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    4. Re:Standardise by freedumb2000 · · Score: 1

      Why stop there? I'd go even further and use \Program Files\ and \Windows\System. A simple simple sed s/\//\\/g on all system source files should fix any incompatabilities.

    5. Re:Standardise by skids · · Score: 1

      Hell, if we are really going to cater to the numb, lets make it all case insensitive.

    6. Re:Standardise by Miamicanes · · Score: 1

      Count your blessings. At least spaces in directory and file names are (still) culturally taboo in LinuxLand. ${deity} help us all when Ubuntu changes names to "/user files/local files/et-cetera/my configurations/my apache configuration" in a moment of complete insanity...

    7. Re:Standardise by izomiac · · Score: 1

      IMHO, Windows has a pretty nice solution. Program files go into a subdirectory of %PROGRAMFILES% and config files into %APPDATA%. These variables change depending on the version of Windows, and the type of program (32 VS 64 bit). The user can rename or move those directories as well. Back when I had more time I used to keep each on its own partition for backup and multi-boot reasons (e.g. shared config files for ported programs). Linux had some issues with that, and Firefox was schizophrenic about case-sensitivity. (Technically, I suppose "borderline" might be a more accurate description of its behavior...) Of course, it was also hilarious to see your standard cocky IT guy scratch his head trying to install something when he realized my C:\ was missing a few directories and under one gigabyte in total size (this was after I opened explorer rather than my usual shell, I wasn't *too* cruel).

      That said, a lot of developers don't understand this "power user" detail about Windows. They hard code "C:\Program Files\" or do foolish things like keep their config files in the home directory (linux devs are horrible for this) or application directory. It's also funny to see people give shell commands in a tutorial, but not understand environmental variables (e.g. "Replace [User] with your username"). Surely anyone who used XP preferred typing "%USERPROFILE%" or "%APPDATA" rather than "C:\Documents and Settings\Username\Application Data\Roaming\", while remembering to quote and escape as needed. OTOH, Linux probably needs to rename /bin to "Program Files" before we'll see the end of space sensitivity in scripts.

    8. Re:Standardise by Lehk228 · · Score: 1

      ${deity} = "Eris"

      she isn't going to help, the change was her patch in the first place.

      --
      Snowden and Manning are heroes.
    9. Re:Standardise by EvanED · · Score: 1

      ${deity} help us all when Ubuntu changes names to "/user files/local files/et-cetera/my configurations/my apache configuration" in a moment of complete insanity...

      Personally I await that day with bated breath; I should be able to use spaces in file names and not worry about buggy scripts breaking because of it.

      Computers are for people to use. And_there's_a_reason_we_don't_write_sentences_like_this.

    10. Re:Standardise by smellotron · · Score: 1

      And_there's_a_reason_we_don't_write_sentences_like_this.

      TheReasonIsBecauseThisIsEasierToType. ItsAnnoyingToConstantlyReachForTheUnderscore. PlusILikeArguingAboutHowToCapitalizeThingsLikeTcpIp.

    11. Re:Standardise by jones_supa · · Score: 1

      Oh by the way, why didn't they just choose "C:\Programs" instead of "C:\Program Files" in Windows world. Of course a folder contains files! It must have been some Windows 95 thing that we now have to use these fancy new file names with spaces. While they moved to "C:\Users", they could have made this change too.

  7. 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 chill · · Score: 1

      Has he seen reason on PAM, yet?

      --
      Learning HOW to think is more important than learning WHAT to think.
    2. Re:Fedora, eh? by megalomaniacs4u · · Score: 1

      There is no reason for PAM ever

    3. 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:Fedora, eh? by catmistake · · Score: 1

      There is no reason for PAM ever

      We don't need no stinking authentication!

    5. Re:Fedora, eh? by Tomato42 · · Score: 1

      Yeah, just run everything as root

  8. 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.

  9. etcetera directory by Anonymous Coward · · Score: 1

    Who doesn't want to delete all the files in the etcetera directory, if it was important they would've given it an important meaningfull name.

    1. Re:etcetera directory by Robert+Zenz · · Score: 1

      It has an important, meaningful name: Everything That Configures.

    2. Re:etcetera directory by jones_supa · · Score: 1

      Yes, it indeed has a feeling of being some kind of scratch directory.

      Maybe /cfg would have been nice...

  10. Re:Not a Mac dumb down, please by antifoidulus · · Score: 1

    This makes Finder pretty useless and stops any users learning about the true directory hierarchy.

    Um, if any user is smart enough, or actually cares enough to learn about the true directory hierarchy, they will be using Terminal to do so, not finder. Also, telling Finder not to hide any folders is pretty easy to do, but the default for hiding them makes sense as most Mac users don't need, or even want, to see them, so hiding them makes the interface much cleaner.

  11. Gordian Knot by webbiedave · · Score: 1

    Now, for those who did not know, there's no Gordian Know. It's Gordian Knot.

    1. Re:Gordian Knot by iggymanz · · Score: 1

      All the Reimann manifolk were embarrassed to learn the proper word was something more convoluted.

  12. no thanks by Lawrence_Bird · · Score: 1

    I was a long time user of Slackware before switching to FreeBSD about three years back. One of the reasons why I used Slack for ....mmm.. 15 years.. was that Slackware put most things where they should be unlike what I saw happening with the various RedHats, Debians, etc. These guys would do better to clean up their own act before trying to hose everyone else because they think putting everything in the kitchen sink is "simpler".

    1. Re:No thanks by F.Ultra · · Score: 1

      Whats annoying with Upstart? The only annoying thing that I've encountered is that not all scripts are ported yet so if one for example have an application that needs to be started after a sql-server then one have to install either a Upstart script (to support MySQL) or a init.d script (to support PostgreSQL)...

    2. Re:No thanks by peppepz · · Score: 1

      One thing I dislike is the fact that it crashes and burns if the services it's trying to manage fork a number of times that is different from what you've specified in the relevant config file. I find it unelegant and prone to problems.

    3. Re:No thanks by vadim_t · · Score: 1

      Upstart makes it very challenging to block system boot.

      I needed to install new machines loading the installer from BOOTP. That went on as expected, until I ran into the issue of having to run a post-install script specifically on the first reboot, which must complete before the user is allowed to login, and upstart does everything possible to prevent me from blocking system boot.

      At least, if there's a way to get it done, I didn't figure it out, and ended up hacking around it in a very ugly way.

      Also I hate the very idea of it on a server. On a server I want simple and predictable, without any weird magic happening, and parallelism is entirely unnecessary.

    4. Re:No thanks by jon3k · · Score: 1

      If you didn't like upstart I've got some bad news. Fedora went to systemd as of version 15.

    5. Re:no thanks by GPLHost-Thomas · · Score: 1

      Exactly what do you call "things where they should be"? What's your definition?

      FYI, not putting something according to the FSHS is considered a bug in Debian (like putting a configuration file somewhere else than /etc, an arch dependent library somewhere else than /usr/lib, or even in /lib when it's not needed at boot time, etc.).

    6. Re:no thanks by Daniel+Phillips · · Score: 1

      Sure 10-20 years ago when trying to fix the server required minimal booting into root partition, fixing things and then gradually fixing and mounting the other parts required some basic programs hence the reason for /bin.

      That is the same way you fix a shiny new desktop machine today, or perhaps you have never tried fixing a sick computer. Oh right, we've reached the age of disposable computers, haven't we? If it won't boot, it's landfill.

      --
      Have you got your LWN subscription yet?
    7. Re:no thanks by Daniel+Phillips · · Score: 1

      Its a lost cause, apart from 2-3 geeky distributions everybody else is macifying or windowsifying linux to such a degree that it is nauseous.

      It's hard to express the degree of stupidity required to tie the network bringup to the GUI so that if the GUI goes down so does the network, yet that is exactly what NetworkManager does. Another brilliant Fedora idea I believe.

      --
      Have you got your LWN subscription yet?
    8. Re:No thanks by F.Ultra · · Score: 1

      So configure your services to not fork, with Upstart there is no need to fork anyway so there is no benefit what so ever to fork in a Upstart enviornment.

    9. Re:No thanks by F.Ultra · · Score: 1

      I myself love it for servers, now our sql dependent applications automatically start at the correct time when the sql server starts etc and also the service monitoring that Upstart has is very essential on a server restarting services who crash or exit on failure. What I don't like is that the logs are less informant though.

    10. Re:No thanks by vadim_t · · Score: 1

      That sounds like a bad idea. A service crash indicates something is badly wrong. Blindly restarting risks making whatever went wrong worse.

      For instance, if you have a bad RAM module, one thing you really don't want is to keep restarting a crashed database and making it more and more corrupted. Even if you have backups, you risk serving corrupted data, or bringing down the rest of the service.

    11. Re:No thanks by peppepz · · Score: 1

      Yes, that's what I do. I had some trouble when trying to have upstart run a daemon as an underprivileged user using su -c. I ended up dropping su and making the daemon binary setuserid.

    12. Re:No thanks by F.Ultra · · Score: 1

      And what is the ratio of bad RAM vs segfault in program due to bug which is fixed by restarting the service now ;-) And of course if say mysql would segfault, then what percentage of admins wouldn't just type "/etc/init.d/mysql restart" ?

    13. Re:No thanks by vadim_t · · Score: 1

      And what is the ratio of bad RAM vs segfault in program due to bug which is fixed by restarting the service now ;-)

      Hopefully, bad RAM happens more often. Databases are critical software and very well tested. I've never had one segfault on me.

      And of course if say mysql would segfault, then what percentage of admins wouldn't just type "/etc/init.d/mysql restart" ?

      Certainly not me. A segfault in a database is serious business, and a potential for corruption. At the very least I'd check the logs, try to make a copy of the database just in case, run a few tests to make sure everything seems to be in order, and try to find out if the error was reported on the mailing list.

      Also I definitely wouldn't restart it 20 times if it kept dying. After the second time, it's time to look at the issue very seriously.

    14. Re:No thanks by F.Ultra · · Score: 1

      Hope plays no part, there is a substantial amount of software running on servers that have hiigher risks of faults than RAM. And that includes all those fancy database engines of yours. And running a server is not equal to running only databases ;). In Upstart you can tell it to stop respawning after X attempts.
      What is quite puzzling is that you take an argument against Upstart by attacking a functionality of it that has been severely lacking on Linux for years.

    15. Re:No thanks by vadim_t · · Score: 1

      Hope plays no part, there is a substantial amount of software running on servers that have hiigher risks of faults than RAM. And that includes all those fancy database engines of yours.

      If it does, it's a crap DB. Most of the reason for a database's existence is to securely and reliably store data. If it crashes even once in anything but very obscure conditions, something is badly wrong.

      What is quite puzzling is that you take an argument against Upstart by attacking a functionality of it that has been severely lacking on Linux for years.

      It's decent functionality on a desktop. However, such things done automatically do not belong on a server. That is my main problem with it: upstart is a heavily desktop targeted tech that works there fine, but that isn't necessarily a good idea on a server.

      For instance, if you have an attacker trying to get into your box by exploiting a buffer overflow, giving them multiple tries through automatic restarts isn't a good thing.

      And Linux never lacked the functionality. You could always put stuff in /etc/inittab, run monit, or launch stuff from cron.

  13. Bad Idea by GeneralTurgidson · · Score: 1

    Fedora team needs a history lesson as to why there's 4 different bin file locations. They actually make quite a bit of sense, throwing them all into one is stupid.

    1. Re:Bad Idea by Shimdaddy · · Score: 1

      Please, generalturdigson, enlighten /. (and any Fedora team members who are reading) as to your reasons for calling them stupid.

    2. Re:Bad Idea by GPLHost-Thomas · · Score: 1

      Gosh, don't you know? The sbin dir is for superuser only binaries. The /bin and /sbin are there for vital binaries to be available at boot time, when there's no /usr available.

      FYI, most distro have, or are currently moving /var/run to /run, because it's creating issues not to have /var/run at boot time.

      Please explain to me how this isn't totally stupid to decide something and it's exact opposite on the exact same year (eg: recognizing that we need stuff at boot time on the rootfs).

    3. Re:Bad Idea by DMFNR · · Score: 1

      Because it makes sense and keeps things organized. The dilemma is that on one hand you have the "Windows Way" of having C:\Program Files being the dumping ground for all software, which can become a mess but at least you know that's where the executables are going most of the time (excluding the odd program that likes to stick it self right in C:\ for some reason or another), and on the other you have the Unix way which keeps things separated by their purpose on the system, but if the rules aren't strictly adhered too it can create a huge mess. Personally I don't see much of a problem with the current layout and I will always keep it that way unless some major breakthrough arises that makes even more sense, but this Fedora solution is no different than the way Windows has been doing it for years. Sure it will make it easier for people migrating from Windows, but I think that most people who have been *nix users for years would like to keep it the familiar way that makes sense to them. There's nothing unintuitive or complicated about it; /bin for the core utilities, /sbin holds the utilities for administrative tasks, /usr/bin holds all of the userland software, and /usr/local/bin holds all of my locally build stuff. It's helpful to me because I know my package manager is going to take care of the stuff in /usr/bin and the third party repos will update the few things I have in /opt, and anything in /usr/local/bin I am responsible for. It allows me to see at a glance what is what, which I think is important for keeping my software up to date and maintained. The /bin and /sbin deal isn't too important to me, but it helps each directory to stay uncluttered and I know what's where by convention.

      There is a hell of a lot more Linux is going to have to do before the mythical "Year of Desktop Linux" arrives. The more Window or Mac-like Linux tries to become, the more the individual strengths of Linux erode. It seems like these developers have all of these grand plans to improve usability which are unfortunately not in touch with what the users want and at the same time aren't attracting any new users because of them. If I want to use Windows, I'll use Windows. I guess Free Software is all about scratching an itch, and if this is what these guys want to do, so be it. I'll move somewhere else, as will many other people who see no reason to throw away something that works perfectly for them, and it's highly doubtful new users are going too flood in to take our places. The Linux community just seems to be confused right now, and hopefully they'll come to their senses and realize what the strengths of Linux are and focus on them rather than throwing out the old just for the sake of the new shiny.

  14. /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 skids · · Score: 1

      And the sbins keep system binaries that users cannot execute anyway out of the end-user's path, as well as providing an extra dir inode for permissions tricks if you ever need to do such a thing. I could easily see Fedora getting rid of sbin, and then complaining there are too many useless binaries showing up for end users, then making it so that some application goes in a crawls the tree for permissions, so it can show the users only the files they can execute, then making it so that this codepath gets run frequently enough that the system performance is effected. That's how these things tend to work.

      Note that while large, single mount, flesystems are prevalent these days in the PC area, the same is not true of embedded systems or classic clustering.

      To me the problem of "OSes have not provided good enough GUIs for newbs to find their files" is not best solved by up-ending things on the development/support/maintenance end.

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

      The bigger issue, which is still relevant, is that /bin and /sbin were tools that were necessary to bring the system up to the point where it could get to the network and mount the bulk of their file-systems from resources on the network (NFS, iSCSI). Though these days, that's as likely to be tools that are in the initrd...

    3. Re:/bin, /sbin had their functions by WaywardGeek · · Score: 1

      now Fedora wants to change the filesystem (to look like Mac OS ???)...

      I sure as heck hope the do! Let's see... Windows, Mac iOS, and Android all have the concept of an application directory where all the files for an app go. Installing an app just means copy the directory to /Applications or some such thing, and maybe doing a few system related things to inform the OS of your icon, uninstall program, etc. Android runs apps in restricted mode so they can only see their own directory, unless users give the app explicit permission to do more. As a result, any old fool can publish an app in the Android Market with 1/10th the experience and skill required to be in Debian. Do you think it is a good or bad thing that less than 10% of FOSS developers have the skills needed to contribute to Debian?

      I have an idea... maybe we should instead dump all of an applications files into shared directories, where they can clobber each other... Unix was first, Gnu/Linux is brilliant, but we retain baggage that's just embarrassing. Merging /lib and /usr/lib? What a complete waste of time.

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
    4. Re:/bin, /sbin had their functions by Alain+Williams · · Score: 1

      The separation of /bin from /usr/bin and /sbin from /usr/sbin is still valid if you are trying to make really robust systems. You have to start from the point of view that something horrible WILL happen and you need to fix the system. If your root file system is small then there is a good chance that it is not that damaged and you can bring the machine up with just the RFS mounted -- then set about fixing up the other file systems. I suspect that the Fedora recommendation would be to just reinstall -- that might be OK on Mickey Mouse systems but is often not an option on something mission critical.

      There is a lot of talk about small disks - that was not the reason for splitting things off into /usr. I know that a lot of automatic installers try to partition the disk as one big partition (+ swap & maybe /boot) - but they do that because it is easier than calculating partition sizes. However: a competent sysadmin will know how big to make his partitions and install on top of that.

      For the record I tend to partition the disk into these separate partitions:

      • /boot
      • RFS
      • /usr
      • /tmp
      • /home
      • /var

      And then maybe some data specific partitions -- depending on what the purpose of the machine is. With disks divide & rule helps make robust systems.

    5. Re:/bin, /sbin had their functions by starfishsystems · · Score: 1

      Many users use a GUI rather than a terminal. This means that the separation [between directories] is not needed

      Could you explain your reasoning here, please? I see no relationship between directory conventions used by the system and the choice of interface made by the user.

      --
      Parity: What to do when the weekend comes.
    6. 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.
    7. Re:/bin, /sbin had their functions by whoever57 · · Score: 1

      IMHO, you are just making things more difficult for yourself. The combination of everything except /home is so small these days (in comparison to a typical HD) that there is no reason to separate these out to individual partitions. With your solution, you either waste space, or risk making one of the partitons too small for future needs. Alternatively, by have the "extra" space shared between all these directories, your chance of making that mistake is lower.

      Given the size of today's HDs, what value is there in your scheme (apart from putting user files into a separate partition)?

      I don't make /home a separate partiton -- I have a /export partiton and /home is controlled by the automounter -- much more flexible. /home can then be a mixture of locally-mounted and network directories, etc.

      --
      The real "Libtards" are the Libertarians!
    8. Re:/bin, /sbin had their functions by radish · · Score: 1

      I would think if the system is "mission critical" then step 1 is failover to the DR host, and step 2 is then restore from backup. The contents of things like /bin is pretty static (between system updates it should be entirely static) so it's not like you have transactional data to try and rescue.

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    9. Re:/bin, /sbin had their functions by jedidiah · · Score: 1

      If everyone is supposed to be using the GUI, then monkeying around with old and well understood standards doesn't make much sense.

      Unix has always supported an arbitrary and flexible setup for both libraries and binaries. There's simply no need to "simply" things.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    10. Re:/bin, /sbin had their functions by starfishsystems · · Score: 1

      My observation was that whether or not everyone is supposed to be using the GUI, monkeying around with old and well understood standards doesn't make much sense.

      --
      Parity: What to do when the weekend comes.
    11. Re:/bin, /sbin had their functions by grumbel · · Score: 1

      And the sbins keep system binaries that users cannot execute anyway out of the end-user's path,

      That's the theory, it has never really been true in practice. On my Ubuntu here the user can execute everything in /sbin/, each file as the x bit set by default. Furthermore, many of the apps in there are actually quite useful for the user. All the mkfs stuff is useful for creating disk images, ifconfig will tell you your IP and so on. Those apps that actually need root permissions will tell the user soon enough.

      That said, I am not opposed to a better separation of programs according to functionality, but bin/sbin never seemed all that useful in practice.

    12. Re:/bin, /sbin had their functions by Compuser · · Score: 1

      First off, logically /lib should be a subfolder in /bin since libraries are needed to make executables works and are not an entity in themselves.
      Rename /bin into /programs or some-such for clarity. /dev, /proc and /sys also belong together though I am not sure how. Maybe under /devices.
      Crap like /etc should be all collected in /config or something clearly named.

      No need for /sbin, /tmp, /var, /root, /home, and /media.
      Make a /users folder. This would contain all user info. This is where /root belongs logically. And /sbin should be in /root logically. /tmp should only be present on server installs. A distro aimed at personal use should not have it. /var should be renamed to something clear like /logs and should be present in every user folder, not globally. /home should not be there at all. Just have /username (including /root) in /usr. /media, /mnt and other crap like that just needs to be in /dev

      Bottom line: when a user fires up a GUI browser for their filesystem, they should see just a few key directories and their purpose should be obvious from naming without any training in Unix. /programs, /devices, /users, /config
      On server installs, add /shared.

      BTW, I am not a fan of oversimplification either. Do not dump all things into something dumb like /unix or /linux or /posix. The whole /windows business is a mess. Users are afraid of even peeking inside this huge folder.

    13. Re:/bin, /sbin had their functions by drinkypoo · · Score: 1

      I want /bin back with only statically-linked stuff and scripts in it, and all the dynamic stuff (and convenience symlinks) in /usr/bin. But I also want each package installed to its own subdirectory somewhere and all its files symlinked into the tree to make it easier to manage them without a package manager. And if that incurs a significant performance penalty, what year is it?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    14. Re:/bin, /sbin had their functions by Dr.+Tom · · Score: 1

      most installations ... so you'll break it for the rest and not care? there is value in the separation of function

    15. Re:/bin, /sbin had their functions by kangsterizer · · Score: 1

      its not just because of small disks. its for reliability and integrity.

      generally on good systems, /bin /lib and friends would be mounted on small yes, but separate, read-only drives (sometimes read-write).

      should stuff in /usr which is much much bigger fail, the system would still boot.

      this stuff actually saved me once when I was remote. but i agree, disks are much more reliable now and redundancy is done at another level.

    16. Re:/bin, /sbin had their functions by EvanED · · Score: 1

      First off, logically /lib should be a subfolder in /bin since libraries are needed to make executables works and are not an entity in themselves.
      Rename /bin into /programs or some-such for clarity. /dev, /proc and /sys also belong together though I am not sure how. Maybe under /devices.
      Crap like /etc should be all collected in /config or something clearly named.

      I actually like pretty much all of these. I'd suggest putting /dev, /proc, and /sys together into /system. /dev becomes /system/devices, /proc becomes /system/processes (actually I'd be OK with keeping the abbreviation and using /system/proc), and /sys becomes... well, something. We're closer anyway. :-)

      Make a /users folder. This would contain all user info.

      To be honest, I think /home is still fine, though I wouldn't object to /users.

      This is where /root belongs logically.

      Yeah, agreed here as well. /home/me and /root always struck me as strange. Presumably it's so you can split them on different partitions, so it's not a meaningless distinction... but I'd rather see that handled in some other way. Perhaps by allowing something like the equivalent of "mount /dev/sda0 on /home, except don't hide /home/root".

      And /sbin should be in /root logically. /tmp should only be present on server installs. A distro aimed at personal use should not have it.

      Hmm, I'm not sure about these. I don't know where /sbin should go. I'd sort of rather see it in /programs/system or something. And /tmp has plenty of use for personal systems... though maybe it should be a per-user directory instead. /var should be renamed to something clear like /logs and should be present in every user folder, not globally.

      This I actually disagree with. There's a lot of "system" applications who will want to log data, like Apache or something. If you've got 5 admins who all need access, why are they going dipping into some user's ~, even if it's just a "virtual" user just for Apache who doesn't actually exist?

      (And on an unrelated note: let's promote the notion of ~ to the kernel level -- or at least glibc.) /media, /mnt and other crap like that just needs to be in /dev

      Strongly disagree with these. /media and /mnt should be merged, but they shouldn't go in /dev (or your /devices or my /system). That directory should remain pretty much untouched by typical users, and putting mounted media there I think is the wrong idea.

      I'm quite happy with a /media at the top level. (I'd also consider /removable-media or something but that's probably too verbose even for my preferences.)

      That said, I think some of my objection is guided by the way I view the /system directory -- which is also why I named it as I did.

    17. Re:/bin, /sbin had their functions by EvanED · · Score: 1

      Crap, HTML problems. Posting again for your reading ease. I'll preview this time even. :-)

      First off, logically /lib should be a subfolder in /bin since libraries are needed to make executables works and are not an entity in themselves.
      Rename /bin into /programs or some-such for clarity. /dev, /proc and /sys also belong together though I am not sure how. Maybe under /devices.
      Crap like /etc should be all collected in /config or something clearly named.

      I actually like pretty much all of these. I'd suggest putting /dev, /proc, and /sys together into /system. /dev becomes /system/devices, /proc becomes /system/processes (actually I'd be OK with keeping the abbreviation and using /system/proc), and /sys becomes... well, something. We're closer anyway. :-)

      Make a /users folder. This would contain all user info.

      To be honest, I think /home is still fine, though I wouldn't object to /users.

      This is where /root belongs logically.

      Yeah, agreed here as well. /home/me and /root always struck me as strange. Presumably it's so you can split them on different partitions, so it's not a meaningless distinction... but I'd rather see that handled in some other way. Perhaps by allowing something like the equivalent of "mount /dev/sda0 on /home, except don't hide /home/root".

      And /sbin should be in /root logically. /tmp should only be present on server installs. A distro aimed at personal use should not have it.

      Hmm, I'm not sure about these. I don't know where /sbin should go. I'd sort of rather see it in /programs/system or something. And /tmp has plenty of use for personal systems... though maybe it should be a per-user directory instead.

      /var should be renamed to something clear like /logs and should be present in every user folder, not globally.

      This I actually disagree with. There's a lot of "system" applications who will want to log data, like Apache or something. If you've got 5 admins who all need access, why are they going dipping into some user's ~, even if it's just a "virtual" user just for Apache who doesn't actually exist?

      (And on an unrelated note: let's promote the notion of ~ to the kernel level -- or at least glibc.)

      /media, /mnt and other crap like that just needs to be in /dev

      Strongly disagree with these. /media and /mnt should be merged, but they shouldn't go in /dev (or your /devices or my /system). That directory should remain pretty much untouched by typical users, and putting mounted media there I think is the wrong idea.

      I'm quite happy with a /media at the top level. (I'd also consider /removable-media or something but that's probably too verbose even for my preferences.)

      That said, I think some of my objection is guided by the way I view the /system directory -- which is also why I named it as I did.

    18. Re:/bin, /sbin had their functions by Dogun · · Score: 1

      This will absolutely not make its way downstream into an existing RHEL release. Maybe future releases.

    19. Re:/bin, /sbin had their functions by Anonymous Coward · · Score: 1

      but historically, /sbin was for static binaries so you could do system recovery (ie libc foobared symlink, see /sbin/sln). Maybe with initramfs this changes sure, but we'd need the FHS to change and that's not going to happen for UNIX and BSD platforms.

    20. Re:/bin, /sbin had their functions by cthulhu11 · · Score: 1

      My understanding of the small-/ strategy was always that it was to minimize the potential for media errors taking out something critical. The aforementioned devs, or at least the idiot who wrote the summary, would do well to understand the difference between the words "filesystem" and "directory". They'd also be much more valuable to users were they to drop an insane quest to break masses of existing software that relies on things living along certain paths, and instead do something about the embarrassment that we can't make ext4 filesystems >16TB.

    21. Re:/bin, /sbin had their functions by Compuser · · Score: 1

      I have no issue with your version either.
      But my rationale on /var is that logs is something an admin consumes (like any other form of media - books, movies, etc). So logs that a given admin would care about should be presented to them and those they do not should not.

      Example. A server in a household. One person reviews hardware related logs. Another takes care of internet facing services and security and the relevant logs. No-one looks at all the logs so there is no need for central repository. If multiple admins are registered to take care of any aspect of the system they get a separate copy of the logs. Hard drive space is cheap. Duplicate and personalize, don't centralize.

    22. Re:/bin, /sbin had their functions by GPLHost-Thomas · · Score: 1

      Today most installations have the whole system (/ and /usr) on the same partition

      NO! YOU maybe doing it, but not *most* people: you have no statistics to tell (and if you do, please share...).

      I don't do that, because of many reasons, like having less access to the rootfs is safer, having my /usr on LVM so that I can resize it, etc. Also, remember that /usr could be mounted read only (if you wanted to), which is quite a nice feature that increases performances quite a lot. Try to do that with the rootfs, and come back to me (I really wish it was possible to mount it read only as well)!

    23. Re:/bin, /sbin had their functions by GPLHost-Thomas · · Score: 1

      Note that while large, single mount, flesystems are prevalent these days in the PC

      I still consider that this is a newbie way of doing things. First, you should separate /tmp from others, because you don't want any stupid app to fill up your rootfs. Then /var should be separated because it optimizes access and you should take care that it never gets full.

      If you have a laptop, then it makes sense to use encryption. In this case, then a separate /home makes a lot of sense (but there's no reason why you would encrypt /usr). Even without encryption, a separate /home also makes sense anyway.

    24. Re:/bin, /sbin had their functions by GPLHost-Thomas · · Score: 1

      With your solution, you either waste space, or risk making one of the partitons too small for future needs.

      Ever heard about LVM? :)

    25. Re:/bin, /sbin had their functions by Electricity+Likes+Me · · Score: 1

      That said, I am not opposed to a better separation of programs according to functionality, but bin/sbin never seemed all that useful in practice.

      Well-implemented it seems like a fairly sensible separation. The real problem is that it's not well-implemented (or at least, not well adhered to).

    26. 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

    27. Re:/bin, /sbin had their functions by Dan+Dankleton · · Score: 1

      I generally wouldn't go that far unless I had several disks. If I've only got one disk then it gets /, /boot and swap. Why? I've only ever hosed partitions when I've done something stupid, and I do my best to avoid doing stupid things on mission critical machines. On the other hand, entire disks do fail and no partitioning scheme in the world will help that if you've only got 1 disk.

    28. Re:/bin, /sbin had their functions by RedHat+Rocky · · Score: 1

      And resizing filesystems?

      XFS and ext3/4 all allow online growth.

      --
      Anything is possible given time and money.
    29. Re:/bin, /sbin had their functions by mikechant · · Score: 1

      Make a /users folder. This would contain all user info.

      To be honest, I think /home is still fine, though I wouldn't object to /users.

      This is where /root belongs logically.

      Yeah, agreed here as well. /home/me and /root always struck me as strange. Presumably it's so you can split them on different partitions, so it's not a meaningless distinction... but I'd rather see that handled in some other way. Perhaps by allowing something like the equivalent of "mount /dev/sda0 on /home, except don't hide /home/root".

      The point of deliberately having root's home on the root filesystem and not under /home is so you can login and run as root without /home being mounted, for example if /home is corrupted, or if you want to move or resize /home, or if /home is network mounted (for sharing across multiple systems) and currently unavailable. I've found this useful on a number of occasions.

    30. Re:/bin, /sbin had their functions by Kjella · · Score: 1

      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.

      Or learn to use tab completion and use an intelligent text editor that can too, for scripts and such. Maybe rename it "Program Files" so you won't have half your tools break if you put a space in a directory name too. That has annoyed me many times on Linux with poorly written scipts and tools, so eventually you end up doing it too even if all the names look retarded with CamelCase or under_scores.

      --
      Live today, because you never know what tomorrow brings
    31. Re:/bin, /sbin had their functions by Chris+Mattern · · Score: 1

      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.

      This is still useful. If your file tree architecture is well-formed, you can have /usr be a separate file system and mount it read-only. This can do wonders for hardening your system against intrusion. And if you still have a separate /usr, it's still useful to have /lib, /bin and /sbin for emergency operations without /usr.

    32. Re:/bin, /sbin had their functions by Haeleth · · Score: 1

      Something Fedora is missing here is that it's not the separate directories that confuse people, it's the abbreviations.

      Something you're missing here is that this proposal has absolutely nothing whatsoever to do with new users or anyone being "confused" by anything. This is entirely about the technical benefits Fedora believes would be provided by having all distro-controlled binaries and libraries stored within /usr.

    33. Re:/bin, /sbin had their functions by EvanED · · Score: 1

      I did pretty much say exactly that. :-)

      But that's something that home users will almost never need to care about, and it'd be nice to make it possible to put it somewhere else and set things up that way by default for home systems.

      It may well already be that you can set this up. /root is listed as the home directory for root in /etc/passwd along with everyone else's home directory, so maybe that would work. But even if so, this seems like one of those things that, even if it is technically possible, is probably done so rarely that I'd really worry about what would break.

      Like I said, I'd rather move /root to /home/root and then fix the "separate volume" issue another way.

    34. Re:/bin, /sbin had their functions by Rich0 · · Score: 1

      Note that while large, single mount, flesystems are prevalent these days in the PC area, the same is not true of embedded systems or classic clustering.

      Actually, I think clustering/etc is one of their main use cases.

      Their logic is to put EVERYTHING in /usr and then mount it on a separate partition, read-only. The initramfs would be designed to mount /usr before running init. Doing an OS upgrade just amounts to mounting a different /usr, since EVERYTHING is in there. You'd only put per-machine modifications to the default configuration anywhere else. In a cluster you could have a bunch of machines all mount the same /usr.

      On the gentoo-dev mailing list there have been debates about this as more and more software requires /usr mounted at boot anyway (a lot of udev rules especially those concerning bluetooth in particular).

    35. Re:/bin, /sbin had their functions by offsides · · Score: 1

      Except that given the size of todays drives, there's no good reason NOT to separate them out into individual filesystems, tailored to the server requirements.. ESPECIALLY separating the root filesystem from anything else that is likely to fill up. Perhaps /usr doesn't need its own filesystem, but in that case you better put /usr/local on one instead. /var, /tmp and /home also should be on separate filesystems, since filling up your root partition is a great way to drop your server...

      The one partition that I've had mixed feelings about these days is /boot, but only because OSs like RHEL/Centos and Fedora have been exponentially increasing their partitiion size requirements lately (100M->200M->250M->???) and not having the old IDE disk size limitations for booting makes combined root/boot more feasible. Perhaps it doesn't make sense to multi-patition a workstation (and in fact, I don't - just root, /boot and maybe /data (symlink /home and anything else into it)), but unless you're trying to cram a recent full-size Linux build into a tiny server, there's no reason not to take 10-20G out of your disk space for your system partitions, and then use the reast as needed. Heck, I just spec'd out a couple of servers where I swapped out 15K 72G drives for 10K 300G ones because they were cheaper, and I don't need the spindle speed (and only looked at 72G drives because that's the smallest they come in these days!). That's ~4x the space on a system that already had more than enough...

    36. Re:/bin, /sbin had their functions by someSnarkyBastard · · Score: 1

      Your solution sacrifices robustness for simplicity. That said, I do support the idea of creating sane names for system directories.

    37. Re:/bin, /sbin had their functions by Michael+Wardle · · Score: 1

      I'd suggest putting /dev, /proc, and /sys together into /system. /dev becomes /system/devices, /proc becomes /system/processes (actually I'd be OK with keeping the abbreviation and using /system/proc), and /sys becomes...

      ... /system/kernel?

    38. Re:/bin, /sbin had their functions by PoopCat · · Score: 1

      One reason for separating out /var and /tmp at least was so that if some jackass^Wuser trampled all over /tmp (dd if=/dev/random of=/tmp/what_fun bs=10240 count=1000000), that didn't stop the system from logging to /var. Similarly if /var gets hosed in some fashion it doesn't stop the rest of the system from being used while fsck is run.

    39. Re:/bin, /sbin had their functions by Compuser · · Score: 1

      Not really. It is not too hard to make things robust. There is no reason why for instance a sub-folder could not be mounted even if the parent folder is corrupted. Just make every home directory a separate partition and mount them all under /users. If /users gets corrupted, mount discoverable user partitions somewhere else (e.g. /users-restore). So root folder could still be robustly accessible even if /users or /home were corrupted.
      In any case, the point is that complexity should be within the filesystem, not on the user end.

    40. Re:/bin, /sbin had their functions by whoever57 · · Score: 1

      One reason for separating out /var and /tmp at least was so that if some jackass^Wuser trampled all over /tmp (dd if=/dev/random of=/tmp/what_fun bs=10240 count=1000000), that didn't stop the system from logging to /var.

      That's why you have reserved blocks in any filesystem that users can write to. Much simpler than a separate filesystem.

      --
      The real "Libtards" are the Libertarians!
    41. Re:/bin, /sbin had their functions by PoopCat · · Score: 1

      Not sure simplicity is an issue. Once the filesystems are set up, it's no harder to manage two than one, and set-up is a one-off operation. No reserved blocks also means you aren't paying for storage that rarely gets used (on the assumption that users use more blocks in normal use than root needs IFF all other blocks are used).

    42. Re:/bin, /sbin had their functions by shutdown+-p+now · · Score: 1

      I want /bin back with only statically-linked stuff and scripts in it, and all the dynamic stuff (and convenience symlinks) in /usr/bin. But I also want each package installed to its own subdirectory somewhere and all its files symlinked into the tree to make it easier to manage them without a package manager.

      How about, instead of symlinks, making a FUSE module that takes a tree of directories with one-per-app, with a consistent layout beneath (i.e. /opt/foo/bin, /opt/foo/lib etc), and projects it in /usr/bin and /usr/lib accordingly? Main reason is that this would make it possible to literally uninstall apps by rm'ing their directory - with symlinks on a real FS, they'll be left dangling, and you'll have to clean them up separately

    43. Re:/bin, /sbin had their functions by whoever57 · · Score: 1

      Ever heard about LVM? :)

      Again, more unneccessary complexity. What if you need to boot the system off a CD/DVD? You have additonal steps before you can mount and change files on the drive. Just make your root filesystem 40GB and move on.

      Even with LVM, you still have to find that extra space when you add it -- why not just allocate it all at once, shared between /, /bin /lib, /usr etc..

      --
      The real "Libtards" are the Libertarians!
    44. Re:/bin, /sbin had their functions by EvanED · · Score: 1

      I like it. Now all I need is a spare couple years when I'm not doing anything else, and I can rewrite all of Linux and its userland. :-)

    45. Re:/bin, /sbin had their functions by badkarmadayaccount · · Score: 1

      If only we could manage disk volumes logically, instead of partitioning them geometrically. OTOH, LVM has sucky admin tools, IMHO.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    46. Re:/bin, /sbin had their functions by badkarmadayaccount · · Score: 1

      I wish the vfs layer supported Context Sensitive Directories, like HP-UX. And parametric symlink files with env variable binding like Domain/OS.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    47. Re:/bin, /sbin had their functions by badkarmadayaccount · · Score: 1

      /proc and /sys are more than devices. they go in /system along with /dev. /tmp is system global - users have their own, but the system also gets one - mouch more secure. /var has much more than logs - it stays where it is. Maybe include /tmp. /root is optional. /usr is UNIX Shared Resources. User folders are not UNIX components. Put them in /var if you must. /media and /mnt are mountpoints for ejectable media. Goes to special folder in /tmp (temporary mount point, get it?). /shared already exists in FSHS. It's called /pub.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    48. Re:/bin, /sbin had their functions by badkarmadayaccount · · Score: 1

      Implement symlink virtual filesystem. Loopmount XML conf file to get symlink tree. Done.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    49. Re:/bin, /sbin had their functions by GPLHost-Thomas · · Score: 1

      Just make your root filesystem 40GB and move on.

      No! That's bad for performance AND safety of the data. Doing few commands more (which by the way, are very easy to type, and you just need to write them ONCE down), when doing the recovery is nothing compared to the added safety. More over, for many things, you'll need special option, like noatime, which increases a lot read efficiency (for example, you can set that for your /usr, since you wont ever need this information).

      By the way, there are only 2 devices that might need further grow: /home and /var. Even without online growing/shrinking, you can umount these without rebooting.

      Even with LVM, you still have to find that extra space when you add it

      Typically, you'd leave some free space on the volume group, just for that purpose. NO! The space isn't more wasted than using a big, unique, partition. Also, what will you do once your HDD gets full? Easy: add another HDD, add the new space to the volume group, then resize a partition (which will span on more than a single disk, thanks to LVM).

      why not just allocate it all at once, shared between /, /bin /lib, /usr etc..

      See above. It's a *very* bad newbie way to do things, and that's truth for both a server or a laptop. It's slower not to do it, less safe, and less convenient.

  15. 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 steveb3210 · · Score: 1
      /usr/local (or /opt if you insist) are quite vital - when I custom compile something for a server, I prefer to keep anything I install completely and 100% separate from the packages that the system install..

      Ruby for example, I compile with --prefix=/usr/local/ruby...

      I had to custom install node for a production environement recently, --prefix=/usr/local/nodejs...

      Should later on I want to replace ruby or node or whatever, its as simple as replacing or removing a single directory rather than trying to separate compiled from packaged. These two are especially good examples because they both have package managers themselves. Since by default they will install relative to the binary for the program, you get all your language-specific packages installed all in the same place.

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

      Save yourself pain. Make a new filesystem naming point, say /usr/companyname. Put your company specific code into that directory. Isolate all applications into some application naming structure, say /appl/foo for application foo. Don't allow applications to put so much as an init script elsewhere, because you were smart and told them they aren't allowed to run any code as root, not even startup scripts.

      --
      "I may disagree with what you say, but I will defend unto the death your right to say it." -- Voltaire
    3. Re:Baffling to users ? by skids · · Score: 1

      The only directory subtree I find especially baffling are the /sys/class, /sys/device layouts. And those are A) still a work in progress and B) too new to be arcane.

      Most everything else make perfect sense to me. I mean, at least on Debian. I've found a few doozies on other distros. But even saying that, it's good the level of standardization across distros is as high as it is -- so don't break that.

    4. Re:Baffling to users ? by WaywardGeek · · Score: 1

      Calling them, current UNIX/Linux filesystem hierarcy, "arcane", baffles me.

      The Unix files system is pre object oriented programming. It was developed back when we organized function calls by the purpose they served, rather than the class of object they belong to. So, you get /usr/share/doc where all applications in theory put some documentation, and /usr/bin where they put executables, and /usr/lib where they put libraries. It was just an extension of how C programmers coded (and I am one). Now days, the proper way to organized files is to keep all the files of a given object together in one place, meaning you need a /Apps directory or /Program Files where one directory == one application. Every file an app needs should be there, other than base libraries provided by the OS, which should be few and stable. Sure, there are quite a few exceptions, like device drivers, system information like menus and icons, and such. The Zero Install guys have the right idea.

      The Gnu/Linux file organization is one of the main obstacles to FOSS development. If I want to publish an Android app, I write it this week, and it's in the Market next week. This is because my app will run in a jail where it can only find the files it really needs, in it's own application directory. If I want to provide an Android library (which I have), you just publish your code and people link to it statically. In Debian, you have to do a shared library, meaning you have to do extensive testing for any new release. It's total BS red tape, and it's killing Linux FOSS efforts. It's actually easier to develop FOSS for WIndows.

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
    5. Re:Baffling to users ? by pla · · Score: 1

      Nonono, you see, now that Windows 7 actually includes something resembling real security so every app and virus can't store itself in c:\windows(\system32), Linux needs to go in exactly the opposite direction.

      Now that we have fairly well-defined locations such as program files, program files (x86), windows, windows\system32, windows\syswow64, windows\winsxs, and a dozen other common (but actually somewhat consistent based on purpose) places to stick standard apps under Windows, Linux clearly needs to streamline and streamline.

      * rolls eyes

    6. Re:Baffling to users ? by jedidiah · · Score: 1

      If you want to have an OpenStep style setup, you can do that quite easily with the current Unix file system layout.

      Infact, that's exactly what /opt is for.

      Shared libraries "killing FOSS". That's rich. Not only are such things not "killing Linux FOSS efforts", they are also very useful on non-FOSS systems.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    7. 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. Re:Baffling to users ? by QuantumRiff · · Score: 1

      I don't understand how you think that is as simple as putting all your program data in "c:\program files\microsoft\office 10\1033\bin" (or is that program files (x86) done silently without telling you)

      then your data goes into c:/users/localdata/applicationdata/microsoft/office/outlook/"
      Or your settings/data can go in an arcane database that is only 20MB or so in size, but can take a modern computer 3-4 minutes to search through..
      Except of course, libraries, which might be in c:\windows\system32\ or c:\windows\syswow64\
      (both of those are a fun set of folders named after GUID's and using lots of hardlinks to make things even easier to locate)

      How can you not see the simplicity of windows compared to unix?

      --

      What are we going to do tonight Brain?
    9. Re:Baffling to users ? by 21mhz · · Score: 1

      Save yourself pain. Make a new filesystem naming point, say /usr/companyname. Put your company specific code into that directory.

      Then go and hack $PATH, ld.so.conf etc. to make that work.
      The pre-defined hierarchy in /usr/local is wired up so that the system finds your stuff if you drop it there.

      Isolate all applications into some application naming structure, say /appl/foo for application foo. Don't allow applications to put so much as an init script elsewhere, because you were smart and told them they aren't allowed to run any code as root, not even startup scripts.

      You didn't try this in the real world, did you?
      Actually, we have packaging systems which help cope with applications in a better way than filesystem pigeonholing ever could.

      --
      My exception safety is -fno-exceptions.
    10. Re:Baffling to users ? by cbackas · · Score: 1

      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.

      OS X stores user configuration in ~/Library/Preferences, and always has. While I have seen poor ports try to write things directly into the application, it's clearly the wrong way to do things, works against the design of the system, and just plain doesn't work right for multiple/non-admin users for the most part. The built-in user preferences facilities for developers (Both CFPreferences and NSUserDefaults) use the Library/Preferences locations too, so you'd have to go out of your way to NOT do this.

    11. Re:Baffling to users ? by smpoole7 · · Score: 1

      > *rolls eyes*

      This. And you know what else? If you have more than one user login on a typical Windows system, the files will go everywhere. There will be several "My Documents" folders, and if one user forgets to log out, and someone saves his file under someone else's login, you get to hunt for it. Great fun, and a great way to kill an afternoon. (Or better yet, the user will go back later, log in under his user name, go "wharr's mah file?" and RELOAD it from the thumb drive. Net result: you have a dozen copies of the same dancing chicken video on the hard drive.)

      As for the original idea, that of combining the file system on 'Nix systems, speaking as someone who has wholeheartedly switched from Winders to Linux, I think it's dumb. I *want* my system and supervisor's executables in /sbin or /usr/sbin. I don't want my users to even know that these programs EXIST. I don't want them to see them or even smell a hint of their existence. No. Not happening.

      By the way ... the comments here are obviously based on each person's experience (including mine). But at the risk of stating the obvious: be careful when assuming that your system will be like everyone else's. For 'zample, many servers load up the /var/ and /opt/ directories. That's where they store their data. A Linux Terminal Server, by contrast (and if you haven't tried that, by the way, you don't know what you're missing; its a beautiful thing for an office full of non-technical people who just need email and Web browsing), IS going to store tons of stuff in separate /home directories. Different systems, different approaches.

      The idea of my mail store or database being in a directory that could even be viewed by Joe Sixpack The Conscientious Employee is enough to make me ITCH. Incessantly. When I install a new package, one of the things I do is run around chmod'ing and chown'ing as tightly as I can -- I open it up only as much as is absolutely needed for the package to work properly.

      One size does NOT fit all. End of the day: leave it to me. Don't force some weird filesystem consolidation on me. I'll decide what people need to see, and if they have trouble finding it, I'll show them how to do a Search. :)

      --
      Cogito, igitur comedam pizza.
    12. Re:Baffling to users ? by alcourt · · Score: 1

      Actually, we use it successfully in the on a very large number of systems across multiple operating systems.. Common problems we used to encounter which drove us to this is one vendor insists /usr/local is owned by them, another says they own /opt, a third claimed they should drop binaries in /usr/bin, named the same as OS binaries of course (yes, deliberately replacing some key binaries). By using a neutral directory on all systems, you protect yourself from badly behaved vendors overwriting or blocking your company local utilities and eliminate unnecessary arguments about /opt vs /usr/local. You once make one change to your standard PATH and you are done.

      It helps that we recompile all code ourselves, we don't use pre-built packages. We know better than to trust that code that isn't compiled by us to cooperate nicely with others.

      Applications using the OS packaging is just evil. In the real world, every time any application runs as root or installs as root, you've lost a key battle in your effort to secure your system and keep it maintainable. Those applications that follow our standard are a breeze to keep running. They don't touch any other applications on the system, and you never worry about conflicting library requirements because you end up stacking 30-60 applications on a single logical system. We even can patch with fewer problems because the application doesn't rely on crazy libraries. They want a library version specifically? They provide their own. (Used to bite us a lot on Red Hat).

      The problem with packaging is that it runs as root. The SA either has to spend a lot of time validating the package to ensure it won't break the OS or violate security standards, or just give up and assume that the application just installed a back door on the box in the package scripts. Keep the apps away from root forever, and you've just closed one of the most significant sources of errors. I used to review application packages, and it was common to see established vendors pull stunts like create UID 0 accounts, open up network listeners as root, add root .rhost entries and turn on r-services, or otherwise create numerous back doors. Some even did chmods on key binaries to make them world writable.

      --
      "I may disagree with what you say, but I will defend unto the death your right to say it." -- Voltaire
    13. Re:Baffling to users ? by catmistake · · Score: 1

      Calling them, current UNIX/Linux filesystem hierarcy, "arcane", baffles me.

      How anyone could refer to the UNIX and Linux filesystem hierarchy in the same breath as one and the same baffles me. They are quite different... and idk what caused linux in its early days to depart from the canonical UNIX placement of things. It was unnecessary.

    14. Re:Baffling to users ? by catmistake · · Score: 1

      while OS/X has a misguided attempt to put writable data into the application directory

      I don't think this is necessarily the way to do things in OS X, its just that some developers do this, some applications do this, and you're right... its misguided... and its weird. But its also not all that common as many developers are very smart.

    15. Re:Baffling to users ? by scdeimos · · Score: 1

      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.

      Putting .config files in the user's home directory is so 2001. Please stop it. If you're to believe one of the many specifications out there, like the XDG Base Directory Specification, then you should be storing user configuration files in ~/.config/blahblah so you're not filling up the user's home directory with crap.

    16. Re:Baffling to users ? by Daniel+Phillips · · Score: 1

      If I want to publish an Android app, I write it this week, and it's in the Market next week. This is because my app will run in a jail where it can only find the files it really needs, in it's own application directory.

      No, that has nothing to do with it. It is because everything has been carefully set up for you by legions of Google gnomes. Have you actually looked at the structure of the Android SDK? It's a huge hairball,and I do mean huge. Have you looked at the structure of Java classlib? What a monument to something. Hey, here's a great idea: put all the Java class files in the same directory, why should there be so many directories? Makes about the same amount of sense.

      --
      Have you got your LWN subscription yet?
    17. Re:Baffling to users ? by GPLHost-Thomas · · Score: 1

      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).

      Actually, what you want is multi-arch support.

    18. Re:Baffling to users ? by GPLHost-Thomas · · Score: 1

      The Gnu/Linux file organization is one of the main obstacles to FOSS development. If I want to publish an Android app, I write it this week, and it's in the Market next week. This is because my app will run in a jail where it can only find the files it really needs, in it's own application directory. If I want to provide an Android library (which I have), you just publish your code and people link to it statically. In Debian, you have to do a shared library, meaning you have to do extensive testing for any new release. It's total BS red tape, and it's killing Linux FOSS efforts. It's actually easier to develop FOSS for WIndows.

      Actually, shared libraries are handled a way better in Linux than in Windows. In Windows, you can have many versions of the same library, and an app will choose the one it needs. That sux and completely kills the idea of having one, unique, shared library actually really shared between apps. Under Linux, we just need to rebuild, that's easy, and in non-FOSS, you're just stuck with what's available. This shared library system is even more important in embedded systems where space is scarce. Saying that people need to statically link to all libs is just plain stupidity!

    19. Re:Baffling to users ? by Haeleth · · Score: 1

      I can accept complains about "/opt" and "/usr/local" - they might not make much sense nowadays

      Really? Where would you suggest I install software that doesn't come from my distro's repositories, then? Because I'm sure as hell not going to put it in plain /usr where it could conflict with the package manager and cause all kinds of horrible problems.

    20. Re:Baffling to users ? by bluefoxlucid · · Score: 1

      Now days, the proper way to organized files

      As people consistently argue that newer is better and this old stuff is just old and archaic... because they want to change what isn't broke. It's not broke but we can make a damn good argument for why it's broke and needs fixing...

      Explain what is not working.

    21. Re:Baffling to users ? by WaywardGeek · · Score: 1

      What you really need is shared libraries that never change, unless there's a major security flaw detected. When you install, you get hard links in your app's directory to all the exact versions of each shared library they depend on. Any application using the same shared library also has a hard link to it, so it's only on the disk once. With this scheme, while it takes more space, testing requirements drop a ton, you don't break when you upgrade, and you can have multiple versions of apps and libraries installed at the same time. Also, running apps in a jail is the way to go. Not that it eliminates threats, but it's a lot better than letting an app see the whole system. The truth is even on phones space requirements are rapidly becoming a non-issue, and the ease of developing applications is more important than ever. Just look at Android, with now over 300K apps, vs Debian with around 30K packages.

      If there is ever going to be a year of the Linux desktop, it's going to take a lot more freedom to develop and publish apps. Just try to get your app into Debian that you write in a couple of days. I did manage to get one in, and I'm glad it's there because it will help a certain class of people, but the effort required was higher than writing the app, and most apps never find a sponsor. The root cause of all this red tape is how we represent apps in Linux. Having a single version of any given shared library was a good idea the year they thought of it, but it's not any more.

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
    22. Re:Baffling to users ? by Dynedain · · Score: 1

      OSX App Data storage:
      ~/Library/Preferences

      Windows App Data storage:
      ~/Application Data/

      Very few OSX programs try to write to /Applications. That went away with OS9 and most developers got smart about it because Apple forced the issue by breaking backwards compatibility.

      A lot of Windows programs used to try to write to the /WINDOWS the Registry or /Program Files because of lazy devs who use hardcoded paths and assume everyone is an administrator. Microsoft unwittingly cultivated this attitude by facilitating extreme backwards support, instead of forcing devs to get with the times. They finally stopped this in Win7 and forced old bad apps to use virtual machines.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    23. Re:Baffling to users ? by badkarmadayaccount · · Score: 1

      Please oh please become a package maintainer - we need more like you.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    24. Re:Baffling to users ? by GPLHost-Thomas · · Score: 1

      What you really need is shared libraries that never change, unless there's a major security flaw detected.

      During the life of a particular distribution, you just want fix to bugs and security flows, yes, and that's what happens after a flavor of Debian or Ubuntu is frozen (and then released). But what you don't want to change is the ABI (Application Binary Interface). Even when there's a security flow, you don't want the ABI to change. When there's an ABI change and you have reverse dependency on a library, you got to get in touch with the release team, and make a transition in SID (packages depending on your library wont get migrated until everyone made the transition), and it takes a fair amount of work to have this to happen, but it's really necessary (note: most of the time, a simple binary only upload is enough, since just rebuilding solves the issue if the API didn't change).

      When you install, you get hard links in your app's directory to all the exact versions of each shared library they depend on. Any application using the same shared library also has a hard link to it, so it's only on the disk once. With this scheme, while it takes more space, testing requirements drop a ton, you don't break when you upgrade, and you can have multiple versions of apps and libraries installed at the same time.

      Not, libraries don't work with symlinks in Linux, but with the SONAME attached to it. Until the SONAME changes, you don't have ABI incompatibility. If this happens, then it's a bug, and you can file a report against the library package (eg: the SONAME must change if there's an ABI incompatibility). If the SONAME stays the same, but the minor version of the library increases, then you're only producing changes without ABI modification (most of the time: fixes or improvements, no new features). If the SONAME changes, then you can normally have multiple versions of the same library installed on the system.

      For example, under debian (and by policy, so it's a MUST, if you see an example where it's not the case, please fill a bug report), if you have libfoo in version 3.4.5.2, the SONAME being libfoo3.4, then the corresponding debian package will HAVE to be: libfoo3.4_VERSION_arch.deb (not that the version of the package doesn't have to match the SONAME, but it's often the case, so here the version would be 3.4.5.2-1 for example, with "1" being left for Debian to increase).

      Also, running apps in a jail is the way to go. Not that it eliminates threats, but it's a lot better than letting an app see the whole system.

      That's another debate (and I agree with your point: jailing/chroot is useful), and it has nothing to do with library version coexistence, or SONAME, or even the fact you think (wrongly) that libraries should be duplicated.

      The truth is even on phones space requirements are rapidly becoming a non-issue, and the ease of developing applications is more important than ever.

      But again, doing what you wrote doesn't make it more easy for programers. It just makes it a complete nightmare to manage security issues (because if you duplicate libraries, then you got to update all of them, and risk to forget one, or loose track of which one got the fix or not). Also, duplicating libraries mean that you will store them multiple times in memory at runtime, which really, is a big issue (last time I checked, mobile phone are still stuck with not even 1GB of RAM, and even with more on a desktop computer, saving RAM is always good).

      Just look at Android, with now over 300K apps, vs Debian with around 30K packages.

      In Android, anyone can decide to put one more app in the store, without much checking of usefulness. In Debian, before you can upload a package, a Debian developer will ask what's your motivation to have the package in the archive. For example, if there's already a pack

    25. Re:Baffling to users ? by WaywardGeek · · Score: 1

      Hackers love to share. GNU/Linux should embrace this. If they do, they'll increase FOSS development in GNU/Linux tenfold. That's the entire point of my argument.

      I see you're very knowledgeable about Debian and that was a long and thoughtful reply. Of course this is slashdot, so I don't mind playing devils advocate, but I'm actually a big fan of Debian. It is some of the most important software ever written. It's changed the world in amazing ways. I've used it as my main OS on my main machine, and we do on our severs at work, and the Ubuntu distro I use now for various reasons is based on Debian.

      That said, my goal is to get GNU/Linux developers and the Debian devs in particular to wake up to the fact that we've built a cathedral when we need a bazaar. As you've likely read in the paper by that title, Emacs was developed in a manner where ever bit was laid by expert craftsman under the watchful eye of RMS. Contributors were not allowed to add to the cathedral willy-nilly. GNU was going to be built right, even if RMS had to do it himself. Meanwhile, Linux Torvalds threw out his kernal and encouraged everyone to use it and people started building all sorts of stuff. Anyone could write a program today, and have it shared on the list tomorrow. That was the bazaar, and it's where the heart and sole of GNU/Linux was created. Then came the Debian package manager, and the whole scene changed. It is wonderful to have pre-compiled repositories of verified code compiled from source, and that's the foundation that made Debian great. The problem is that this binary repository is managed lovingly by devoted monks. Every brick is carefully examined by experts and nothing gets included unless it passes the high standards of the Debian monastery. The good news is that it's no longer just one man in charge. The bad news is there's now a group of devoted monks in charge. The process of carefully examining every brick and excluding most has not changed since emacs.

      The magic happening in Android, and I hate to admit but iOS too, is they've gone back to the bazaar model where anyone can share any app they like. Sure, most of it is crap. In fact they probably have an app for crap. Part of it is driven by developer greed, which is counter to what Debian stands for, but most of it is just hackers enjoying their new found freedom to share. Sure, the base is solid, and carefully crafted and built at Google. You can't just write any old crud and expect it to ship installed on every phone by default. You need the default code base to "just work". However, anyone is enabled to share whatever crap they like as an app in the market. That freedom to share is missing in Debian.

      Now, back to the technical points we talked about. I'm not recommending sym links, but hard links to shared libraries, and I'm recommending that apps run chrooted in an app jail, and that they install in an application directory where every library they need has a hard link. They could have their own /usr/lib directories for their shared libraries, but on the actual disk it should be /Apps/MyStupidFartApp/usr/lib/libsndfile.so.whatever. This would keep MyStupidFartApp from colliding with my friend's competing BiggerAndBetterFarts app, as we're likely to want to install a /etc/fart.conf. Because my fart app has deeper tones, it wins and my friend's loses, but later he submits a patch to libsndfile while gets included in Debian but totally breaks my poorly tested fart app. Why should my popular fart app suffer because it has bugs that were sensitized by a new libsndfile shared library? If we just run them in their own jails, and never upgrade their shared libraries (except in sever security situations), that fart app should continue to run for decades. Why should I go through the Debian packaging and review process to share a stupid buggy fart app? Why does Debian stand in my way?

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
    26. Re:Baffling to users ? by GPLHost-Thomas · · Score: 1

      That said, my goal is to get GNU/Linux developers and the Debian devs in particular to wake up to the fact that we've built a cathedral when we need a bazaar. As you've likely read in the paper by that title

      Of course I know the Cathedral and the Bazaar. I believe that Debian is a mix of both methods, since we release SID 4 times a day, and stable each 2 years based on that.

      That was the bazaar, and it's where the heart and sole of GNU/Linux was created.

      I'd say that's what Linux is doing now (but do you remember the Linux 2.5 development version?), I'm not so sure about GNU and the GNU tools.

      The problem is that this binary repository is managed lovingly by devoted monks. Every brick is carefully examined by experts and nothing gets included unless it passes the high standards of the Debian monastery. The process of carefully examining every brick and excluding most has not changed since emacs.

      Debian is adding about 500 new (source) package each month. I don't think anyone can even keep-up with this pace and know all what's available. In some ways, there's too many packages in already (especially since many aren't maintained by anyone, and that the QA team has to suffer the burden of it). If you want even more packages to get in, the issue isn't religion. Debian is a do-ocratie: do things, and you'll be right. Here, there's clearly not enough people working on mentoring / sponsoring uploads.

      The magic happening in Android, and I hate to admit but iOS too, is they've gone back to the bazaar model where anyone can share any app they like.

      And you know what? I'm SOOOOOOOOOO happy that this isn't the case in Debian!!! No, I don't want just any random sh*t to get in the archive. Thanks but no thanks.

      However, anyone is enabled to share whatever crap they like as an app in the market. That freedom to share is missing in Debian.

      You are free to share crap through a private repository, and advertize about it. But you don't have the freedom to upload anything into main. The first reason for that is at least that we have the need, for legal reasons, to check on the debian/copyright file. By the way, another way of sharing would be PPA, like it happens in Ubuntu. The advantage of PPAs is that you also get the advantage of having your package built on all arch (eg: you use the buildd things from Debian), which would be quite hard to reproduce at home.

      Why should my popular fart app suffer because it has bugs that were sensitized by a new libsndfile shared library?

      Simple: because we want libsndfile to be FIXED, once and for ALL of it's reverse dependency, and because we care about the distribution as a whole. Your example is pointing at flaws and errors, these should get fixed, that's it, and that's why we got a bug tracker.

      If we just run them in their own jails, and never upgrade their shared libraries (except in sever security situations), that fart app should continue to run for decades.

      You still don't get it, so I'll try again. So, according to you, if we have 2 applications, then it's ok to have 2 times the same library stored twice, and using twice the amount of RAM that they should. What if that's the case for let's say 1000 apps instead of 2? What if all apps where carrying their own version of libc6, which makes about 20 000 packages in Debian holding their own version of libc6? What if there was a security issue in libc6? Will we have to update ABSOLUTELY ALL the 20000 packages? I don't think that's remotely possible to work this way, unless you find 20 000 new Debian Developers to work this way. The memory usage would go up a lot too. Please don't tell that libc6 isn't a good example: you'll find some others, I'm sure. I could say gtk, qt, alsa, or whatever, there would be just less "users" but the point would be the exact same one. So, NO, what

    27. Re:Baffling to users ? by WaywardGeek · · Score: 1

      You still don't get it, so I'll try again. So, according to you, if we have 2 applications, then it's ok to have 2 times the same library stored twice, and using twice the amount of RAM that they should.

      You do realize that with hard links, a file can be in multiple directories and stored on both disk once? If the Linux kernel doesn't detect that we're loading the exact same shared library twice, that bug should be fixed. There should be zero impact on RAM and very little on disk space (you still have to represent the directory structure multiple times). However, if two applications downloaded and installed through an App Center were compiled with different versions of libc, then yes, have two on the disk. How many are we realistically talking about, given that we're not talking about the stuff that comes pre-installed or anything in any .deb file? Several megabytes? In an extreme case maybe a gigabyte of disk space?

      What if that's the case for let's say 1000 apps instead of 2?

      If a user actually donwloads and installs 1000 apps, there's likely to be some bloat. My phone has 32 gigabytes. Even the gigabyte of bloat this is likely to cause with 1000 user downloads is a minor problem.

      What if all apps where carrying their own version of libc6, which makes about 20 000 packages in Debian holding their own version of libc6? What if there was a security issue in libc6? Will we have to update ABSOLUTELY ALL the 20000 packages?

      Since apps would run in jails, you'd only want to upgrade the apps needing the functionality that's broken. For example, if my app does not have permission to use the network, you should not upgrade my copy of libc6 to fix a major network security bug. Again, we're talking about user apps, not the base shipped by Debian. How many packages are we likely talking about? 10 mabye?

      Please don't tell that libc6 isn't a good example: you'll find some others, I'm sure. I could say gtk, qt, alsa, or whatever, there would be just less "users" but the point would be the exact same one.

      I didn't want to get into this much detail, but you are right. Libc isn't a representative case. If I make a simple command line utility, it should by default link against an older libc to be compatible with as many distros as possible. High level packages like Qt should be published by the developers in occasional stable releases not only in source form, but in binary, all the way down to libc. When building a Qt app, I should be able to specify that I link against an exact version of Qt, which of course could mean users have do to a major download if they don't have it already, or I could specify that it must be a version of Qt 4.x, where x >= 7. It should also indicate that it was built and tested with Qt 4.7 with the full SHA-256 hash code of the Qt library used, so if users have trouble running it with Qt 4.9, they can run it instead with the original 4.7.
      This could mean I have three versions of GTK+ and four of Qt if I'm a user who loves running old apps that don't have newer releases. So what? Why not let the program author and end user do that.
      Again, I'm not recommending Debian abandon the debian package manager or how they build their distro. They just need to add a layer on top for downloading and sharing apps that work cross-distro. In more detail, there also needs to a way to share libraries among developers without going through the whole debian package/review process, and it could leverage the work for done for sharing apps.

      Funnily, I think the opposite way. I think Linux needs more very complex and full application like Photoshop (and not the stupid Gimp) to be able to be saved. Lucky, in some areas, it's getting better (have you ever tried Rosegarden, for example? It's really close to using Cubase now...). It would also need games.

      One

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
    28. Re:Baffling to users ? by GPLHost-Thomas · · Score: 1

      You do realize that with hard links, a file can be in multiple directories and stored on both disk once?

      I do. And I also realize that they don't work over multiple partitions. Anyway, using hardlinks instead of SONAMEs isn't the correct solution. SONAME are working well, and we're fine with them, we don't need the hardlinks on top of that, so why bother changing something that works already very well? In what exactly, adding hardlinks, will help? Should we completely redesign shared libs, and remove SONAMEs then?

      However, if two applications downloaded and installed through an App Center were compiled with different versions of libc, then yes, have two on the disk. How many are we realistically talking about, given that we're not talking about the stuff that comes pre-installed or anything in any .deb file? Several megabytes? In an extreme case maybe a gigabyte of disk space?

      If someone wants to do what you are saying above, then he can simply do static linking. So I don't see your point.

      Since apps would run in jails, you'd only want to upgrade the apps needing the functionality that's broken. For example, if my app does not have permission to use the network, you should not upgrade my copy of libc6 to fix a major network security bug. Again, we're talking about user apps, not the base shipped by Debian. How many packages are we likely talking about? 10 mabye?

      You're just trying to find an example that matches your argument, but I don't think that works. What if we REALLY find a bug affecting them ALL?

      Anyway, currently, you HAVE some vendors that are shipping statically apps. Try installing google earth on Linux, for example. It's one binary for all distro, and to be installed under ~/bin. But frankly, I don't like it... It's like that for only one reason: because we don't have the sources, and we can't rebuild.

      I didn't want to get into this much detail, but you are right. Libc isn't a representative case. If I make a simple command line utility, it should by default link against an older libc to be compatible with as many distros as possible.

      This is not the way things work. Do this: objdump /lib/libc.so.6 -p | grep SONAME. This tells the SONAME of the libc. If you do something and dynamically link it to libc, then it has to have the matching SONAME of the system one, otherwise at runtime, it wont be able to use the functionality of libc. There's nothing such backward compatibility here. Either you have a matching SONAME pair, either you don't. End of the story.

      High level packages like Qt should be published by the developers in occasional stable releases not only in source form, but in binary, all the way down to libc. When building a Qt app, I should be able to specify that I link against an exact version of Qt, which of course could mean users have do to a major download if they don't have it already, or I could specify that it must be a version of Qt 4.x, where x >= 7. It should also indicate that it was built and tested with Qt 4.7 with the full SHA-256 hash code of the Qt library used, so if users have trouble running it with Qt 4.9, they can run it instead with the original 4.7.

      Again, that's not the way it works. When you build a library, you give something like this to gcc: -Wl,-soname,libfoo.so.1.0
      Then your library will have libfoo1.0 as soname. There's no such things such as >= libfoo1.0, it has to be AN EXACT MATCH. It has to, that's the way library works. If you think it shouldn't, feel free to contribute to the GNU compiler... :)

      Then under Debian, there's dh_shlibdeps that will collect dependencies for each library you have built against. That's an automatic process, and you shouldn't care too much about it, but what you got to know is that it will, by default, and IIRC, do Depends: libbar1 (>= VERSION-INSTAL

    29. Re:Baffling to users ? by WaywardGeek · · Score: 1

      Ok, so I get SONAME must match exactly. I'm only advocating doing what Android does today, but in a way that saves even more disk space. Android today makes every app have it's own copy of every library it uses, whether a .so file or statically linked, other than base libraries that are part of Android. The resulting bloat isn't even enough for Google to feel like bothering to minimize it, though it bothers me. So, just have apps run in chroot (and additional permission) jails where they see their own copy of / exactly as it was when the developer built and tested it. As an exception to this, the developer could specify which libraries he wants to allow updates to, and if there is some crazy security bug that impacts this app, then force an upgrade. IMO, Linux security is pretty flawed today, even compared to Mac OS X, Windows, and Android. This is partly why we have to carefully review source and hate trusting binary only apps. With better jails and app monitoring, I think we could reduce the required review process considerably.

      I don't understand why you keep bringing up SONAME when I mention hard links. If I have 20 identical files on the disk that are all read-only, making them 20 hard links to the same file is just to save disk space and memory. The SONAME mechanism is still in place and works as before. It's not an either/or thing. Hopefully the Linux kernel is smart enough to load the same file only once, even if it is linked to in different directories, but it's a corner case that may not yet have been optimized.

      As for wanting higher quality FOSS apps, I have some bad news, though RMS would refuse to believe it. While there are rare and often noble exceptions (like gcc), the general rule is that if a programmer can sell his program, he will. Most of us like open source and we like to contribute, but we like money, too. Photoshop, from what I hear, has lots of functionality users are willing to pay for, and few if any worthy competitors. This means the next worthy competitor could print money by offering a product just as good for half the price. So, given how much people like money, don't hold your breath for that open source Photoshop.

      The point when most stuff becomes open source comes when there's no money to be made by keeping it closed source. That's how we got Open Office and Mozilla. These markets where so dominated by Microsoft's monopoly, there was no money left to be made. The Microsoft monopoly on OSes forced Linus to write his for free. If someone had said, "Linus, here's a lot of money for writing our next proprietary kernel", I suspect instead of Linux, we would have had to wait for the next guy who wanted to write his own kernel so bad he'd even do it for free. How much better would it be to write your own kernel and get rich at the same time? Eventually, even for free or low cost, open source projects can catch up to teams of paid developers, but only if those developers stop innovating. This happens naturally sometimes when a market niche has matured.

      The most noble exception I know of is RMS himself. Until the world starts pumping out more people like RMS, we're not going to see all that excellent free software we want.

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
    30. Re:Baffling to users ? by GPLHost-Thomas · · Score: 1

      I don't understand why you keep bringing up SONAME when I mention hard links.

      Because thanks to the SONAME mechanism, your hardlink idea is useless. You just load whatever SONAME you need, and that's enough to know what library to load.

      The point when most stuff becomes open source comes when there's no money to be made by keeping it closed source.

      I'd rather say that sometimes, it makes more sense to be open source, and it can sometimes even generate more money. It's especially interesting to see projects starting with an open core, then deciding to release everything (see Xen for example...).

      The Microsoft monopoly on OSes forced Linus to write his for free.

      When Linus made one of his first presentation, he said that proprietary Unix were so expensive, that it takes less money to write one than to buy it. What motivated Linus wasn't Microsoft, but other Unix, and especially Minix.

      If someone had said, "Linus, here's a lot of money for writing our next proprietary kernel", I suspect instead of Linux, we would have had to wait for the next guy who wanted to write his own kernel so bad he'd even do it for free.

      We would then all be running Hurd, FreeBSD or Minix.

      How much better would it be to write your own kernel and get rich at the same time?

      Well, Linus got rich...

      Eventually, even for free or low cost, open source projects can catch up to teams of paid developers, but only if those developers stop innovating.

      I don't believe so. Also, it's plain false, today, to think that open source isn't ALSO driven by money. Many big projects are (and some aren't). I'd be very careful with all these generalities, because the open source world is full of exceptions.

    31. Re:Baffling to users ? by thejynxed · · Score: 1

      Sweet lord, that was commercial software? Sounds as bad as malware found on Windows systems, in fact, it sounds WORSE than what your average malware will do on a Windows system.

      Of course, I don't think that stuff even approaches the incredibly crazy things that programs like Norton or McAffee do to a Windows OS...worst behaving commercial software packages I've ever had the mispleasure of dealing with, even the Enterprise versions are atrocious.

      --
      @Mindless Drivel: 100% of Twitter posts ever Tweeted.
  16. 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.

  17. 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)
  18. Forget filesystem location, what about LVM? by Scareduck · · Score: 1

    Can't take a hard drive built with LVM and migrate it to another machine with the same name -- i.e. a common operation after a hardware upgrade. I suppose it is possible to rename the logical volume, but this is fairly arcane, and why should I have to do this? ext4 offers no such impediment.

    --

    Dog is my co-pilot.

    1. Re:Forget filesystem location, what about LVM? by nabsltd · · Score: 1

      Can't take a hard drive built with LVM and migrate it to another machine with the same name -- i.e. a common operation after a hardware upgrade.

      I do this all the time with VMs with absolutely no config changes (i.e., it just works).

      Now, if you have a system with a LVM group/volume name of foo/bar, then yes, you can't just add disks that already have a foo/bar group/volume to the machine and have it work. If there is no name collision, though, it just works. It's how I upgraded a really old Fedora install. I renamed the old LVM group, then disconnected the old hard drives, added an SSD, installed the latest Fedora on the SSD, and plugged the old drives back in to allow me to copy my customizations to the new drive.

      I suppose it is possible to rename the logical volume, but this is fairly arcane

      lvrename VolumeGroupName OldVolumeName NewVolumeName is arcane? I can tell you don't do much with LVM, since lvrename is one of the least twisted of all the LVM commands.

    2. Re:Forget filesystem location, what about LVM? by prefect42 · · Score: 1

      Are you really just griping about clashing vg names? If this is something that you need to do, just name your volume groups with unique names in the first place. Is this wildly different to having ext4 filesystems with identical labels? The solution in that case is to use UUIDs instead to mount, which are highly unlikely to clash. But I don't really see the problem in setting your vg name to machinenamevg2009a. When you get your new machine you can call the VG machinenamevg2011a. But this really is griping over nothing.

      Also, given you should really need to use the vg name directly too often, why not just mash your palm into the keyboard when you choose a vg name...

      --

      jh

  19. what users? by Superken7 · · Score: 1

    What users should care about where binaries go? Really, which kind of users are baffled to find several binary directories?

    I bet that most that do, understand simple concepts such as $PATH, which and are probably able to deal with there being multiple directories.

    I can see how this could be beneficial for installers and could help package maintainers that port from one distribution to another. Maybe Linux Standard Base already addresses this and this is only a moot point. This is only good if everybody does it equally anyways, or you will be just another distribution making things their own (different) way.

    Is it really that important to consolidate binaries and libraries? I find other things like networking configuration and boot process, init scripts or inittab to be more confusing to system administrators, for example. But binaries?

    Why not work on having _persistent_ system setup (like boot process, networking, config files, etc) work as universally as other tools such as ip/ifconfig. Imagine doing package search nmap and have it translate into apt-cache search on debian and yum search on fedora or CentOS. Or "network eth0 192.168.20.3 gateway 192.168.20.1": would write the corresponding /etc/network/interfaces on debian or /etc/sysconfig/network under redhat-based distros. Now THAT would be great.

    Everything which works towards being not distro-specific is great, but IMHO you get that through abstraction. Not by saying "no, THIS is the right directory to put things in, I am right and everyone should do it the same way".
    It's probably much more easily said than done, but that's how I see it.

    1. Re:what users? by jon3k · · Score: 1

      This seems like the "why are you wasting time giving me a speeding ticket when there are murderers out there" argument. How about we knock out some simple low-hanging fruit while we work on the big stuff?

      But as for your question, I'd answer it with another question - why not? Why not remove some unnecessary and archaic complexity?

    2. Re:what users? by Superken7 · · Score: 1

      You are right. Yes, there is nothing wrong with removing the complexity if it is unnecessary. Before trying to solve a problem you first must find an authentic problem to solve. Maybe this isn't really considered a problem at all, and someone just feels like simplifying things. In the open source community, people will probably work on what they enjoy.

    3. Re:what users? by badkarmadayaccount · · Score: 1

      Electra initative. Plaintext backend.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  20. Re:It aint broke by royallthefourth · · Score: 1

    Actually, Windows has had a totally baffling directory layout ever since XP.

    http://gadgets.boingboing.net/2008/06/25/bill-gates-rant-from.html

  21. "union" filesystem can do this already, no? by yossie · · Score: 1

    Rather that move things around, how about use "union" filesystem to present an optional different view of things. Heck, you could use chroot and union fs to create a completely different singular view of the same file system to different users..

    1. Re:"union" filesystem can do this already, no? by badkarmadayaccount · · Score: 1

      That would be reimplementing CSD as in HP-UX.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  22. GOBO by Anonymous Coward · · Score: 1
  23. 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
    1. Re:even simpler by st3v · · Score: 1

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

      Forget that, just do /Applications /Devices /Settings /Users /Users/root /Libraries /System /Temp /Variable

    2. Re:even simpler by suspiciously_calm · · Score: 1

      Getting rid of sbin is part of the goal. bin and lib should definitely go into some subdirectory together that can be mounted on a different partition.

    3. Re:even simpler by bill_mcgonigle · · Score: 1

      do /Applications /Devices /Settings /Users /Users/root /Libraries /System /Temp /Variable

      So, do you hate sysadmins, or are you in the left-Shift keyswitch business?

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    4. Re:even simpler by Michael+Wardle · · Score: 1

      Agree, but it's trivial to adapt to.

      ~/.inputrc
        set completion-ignore-case On

      ~/.zshrc
        zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'

    5. Re:even simpler by bill_mcgonigle · · Score: 1

      set completion-ignore-case On

      Oh, awesome, thanks!

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    6. Re:even simpler by Gazzonyx · · Score: 1

      and /mnt

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    7. Re:even simpler by shutdown+-p+now · · Score: 1

      sbin is for "static binaries", isn't it? At least back in the day, everything there was statically linked and could be used without pretty much anything else available.

      On the other hand, why would you care about bin and lib being mountable on a different partition? Is there anyone who still does that these days?

  24. So windows is right by microbee · · Score: 1

    Putting everything under C:Windows and C:Windows/system turn out to be the way to go.

    1. Re:So windows is right by F.Ultra · · Score: 1

      Na, it's far better to put all the 64-bit dll:s into C:\Windows\system32\ and the 32-bit dll:s into C:\Windows\syswow64\. Makes perfect sense :-)

    2. Re:So windows is right by Lehk228 · · Score: 1

      and \Windows\system32 and \program files, and \program files (x86), and AppData\Local\VirtualStore\Program Files\ ...

      --
      Snowden and Manning are heroes.
    3. Re:So windows is right by jon3k · · Score: 1

      Well with that logic let's divide the root filesystem up into 10,000 directories then it'll be WAY better than windows!

    4. Re:So windows is right by EvanED · · Score: 1

      I'm pretty much as big of a Windows fan as anyone on Slashdot, but that still makes me cringe. :-)

      I think that every, say, 10 years, everyone should have to rewrite all their software and ignore backwards compatibility cruft like applications hard coding c:\windows\system32 (which is why I'm guessing they did that). Then make it illegal to run any code that has since gone through more than one rewrite (and is thus >20 years old).

      (Of course I say that with my tongue pretty firmly planted in my cheek... but god damn are there some ugly things sticking around in computing because that's the way things have been for decades or because fixing them will break lots of programs etc.)

    5. Re:So windows is right by scdeimos · · Score: 1

      Your first mistake is hard coding paths in your application. That's what causes breakage in the first place.

      I dislike Windows about as much as you claim to like it, but at least it has an API call you can use to ask it where various standard folders are: SHGetSpecialFolderPath(). It's been around since Windows 98 (95?) and is even accessible from .NET through the managed wrapper function System.Environment.GetFolderPath()

    6. Re:So windows is right by EvanED · · Score: 1

      Hey, I don't say I do that, I say there are a lot of crappy developers that do that. :-) And their programs break if you move stuff around.

      And yeah, it sucks. I've decided to not install programs in the past because they've hard-coded install paths and such. For instance, at least last I checked, Chrome. (Not that I'd use it on Windows anyway.)

    7. Re:So windows is right by Dogun · · Score: 1

      No new code (except in the rare case where you are writing a tool to migrate stuff out of the VirtualStore into a new unprivileged user data directory) should reference the VirtualStore. That was created because ignorant devs couldn't wrap their heads around ACLs and didn't listen when MS told them that there's things out there that aren't admins.

    8. Re:So windows is right by catmistake · · Score: 1

      sure... and what Linux really needs is a registry. Then its transformation to the Dark Side will be complete.

    9. Re:So windows is right by pseudonomous · · Score: 1

      Those gconf xml files remind me an awful lot of the windows registry...

    10. Re:So windows is right by catmistake · · Score: 1

      Perhaps its time to get your vision checked, as they are not even remotely similar. xml files are files. The Windows Registry is a database.

    11. Re:So windows is right by F.Ultra · · Score: 1

      Well, imho it doesn't make any sense for backward compatibility either since the old software is the 32-bit one and that path is changed while the new 64-bit software that has to be recompiled and changed anyway is the one who gets to use the old path :-)

  25. Re:It aint broke by 0123456 · · Score: 1

    Actually, Windows has had a totally baffling directory layout ever since XP.

    And it got much worse in Windows 7.

  26. Re:Mod Parent Up by Surt · · Score: 1

    Regrettably, that was the last sign of the apocalypse. Doesn't look like we'll even make to 2012.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  27. Re:It aint broke by alcourt · · Score: 1

    /bin separate from /usr/bin has been a major annoyance to me in trying to administrate RHEL boxes alongside HP-UX, AIX and Solaris. "Oh, yeah, RHEL puts that one in /bin, but this other one in /usr/bin, gotta remember which is where."

    40MB hard drives have been gone for a very long time. /bin should only be a symlink to /usr/bin as they are on say HP-UX and Solaris and AIX. The only things that should go into /sbin are those things absolutely required to boot or single-user repair (fsck, mount, etc.) a filesystem so it can be booted in case you have an idiot who still thinks /usr is too big to fit on the same spindle as /. (That said, combining /sbin and /usr/sbin is a good idea to me).

    Now, this does not cover some of the other filesystem stunts pulled by RHEL and Fedora, but binary locations is something I've never seen Red Hat do intelligently.

    --
    "I may disagree with what you say, but I will defend unto the death your right to say it." -- Voltaire
  28. 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 peppepz · · Score: 1

      I don't think Debian follows the FHS on x86_64 because it puts 64-bit libraries in /lib and not /lib64. Which is a good thing, the FHS was broken in that respect IMHO.

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

      Too late. In the testing and unstable distributions, Debian has segregated the library files into lib32 and lib64 directories. I think it's a good change. Much easier to handle binaries from both architectures now.

    3. Re:The idea is problematic by ToasterMonkey · · Score: 1

      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.

      Uh.. what expects /usr to be a separate filesystem? Where? Which decade?

    4. 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
    5. Re:The idea is problematic by alcourt · · Score: 1

      Uh.. what expects /usr to be a separate filesystem? Where? Which decade?

      Unfortunately, current Red Hat installers, including RHEL. I don't think they've changed it in RHEL 6 (we're certifying that now). Yes, it's bad, and it has the added problem of making cross platform script very annoying (Wait, RHEL puts that in /bin, not /usr/bin, but this other is /usr/bin, but Solaris, HP-UX and AIX it's all /usr/bin or /sbin for a few critical items).

      --
      "I may disagree with what you say, but I will defend unto the death your right to say it." -- Voltaire
    6. Re:The idea is problematic by Rutulian · · Score: 1

      Keyword may that you dropped there. Most installers still set it up that way by default. I know I still prefer to have it that way even if it's not the default. In any case, if you know that there is a possibility that /usr and / will be on different filesystems (which there definitely is), you need to make sure your system will still boot if /usr can't be mounted (ie: init scripts can't depend on binaries or libraries in /usr).

    7. Re:The idea is problematic by FreakyGreenLeaky · · Score: 1

      The point is it might be on a separate filesystem. That's one of the many beauties of UNIX, it allows you that freedom.

    8. Re:The idea is problematic by vadim_t · · Score: 1

      This decade. Tiny root downloaded from BOOTP, /usr mounted over the network is a perfectly sensible setup for a cluster.

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

      Either you are on a journalling filesystem or you need to be fired.

      Your magical thinking just makes you look like a fool. Plenty of advanced and reliable file systems don't do journaling. UFS2 immediately comes to mind. Many factors are vastly more important than journaling or no journaling, such as barriers (would you like to guess what feature LVM doesn't support?) and write cache.

      Also, the whole point of consolidating in /usr/ is so that you can mount /usr as read-only and take useful snapshots of it and stuff, which you can't do now because read-only and non-read-only stuff is all interspersed in / .

      Once again, some idiot has to tell me I just CAN'T do things which I frequently do...

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    10. Re:The idea is problematic by greed · · Score: 1

      It's great for HTPC nodes, too. No disk on any node, all you need is a couple gig of RAM, a LAN port, and something cheap for video like an nVidia 9400M (the ION platform, basically).

    11. Re:The idea is problematic by peppepz · · Score: 1

      Putting 32-bit libraries into lib32 and 64-bit ones in lib64 is OK. It's the unsuffixed "lib" directories that are problematic. In Debian /lib64 points to /lib if I'm not wrong, which goes against the FHS, that for binary compatibility reasons requires /lib to contain the 32-bit libraries.

    12. Re:The idea is problematic by marcosdumay · · Score: 1

      What: People. We expcet to be able to put /usr on a different partition, thus boot scripts can't expect that to be on the same partition as /.

      Where: Wherever a network installation makes sense. That means, where you want to have the same installation available on a serie of networked computers.

      Wich decade: This decade, and each one since the 70's. Network installations didn't go away, except where people switched to Windows, that can't do network installs, and thus needs a series of different tools (and nanning) for simulating that "let's install this software for everybody" feature.

    13. Re:The idea is problematic by Sipper · · Score: 1

      A nice theory, but completely wrong. See: http://thread.gmane.org/gmane.comp.sysutils.systemd.devel/1337

      There's no such conclusion in the above thread. They're certainly discussing it, so I appreciate you pointing me to the thread anyway.

      http://article.gmane.org/gmane.comp.sysutils.systemd.devel/1352
      http://article.gmane.org/gmane.comp.sysutils.systemd.devel/1349

      I still stand by my original statement.

    14. Re:The idea is problematic by Sipper · · Score: 1

      Binaries are not allowed to be in /lib nor /lib64 in terms of the FHS (which at least Debian does its best to follow). These areas are supposed to be for libraries only. The reason you don't want binaries in there is that this is a path that the linker (ld) looks to load dynamic libraries. At minimum there would be a performance hit for ld looking through the extensive list of binaries that normally live in /usr/bin.

      Basically what you're suggesting could probably be done in theory, but there would be a performance and possibly security impacts that may be more detrimental than the benefit.

    15. Re:The idea is problematic by deek · · Score: 1

      I just checked my system (Debian testing, amd64). The /lib64 directory is not linked to /lib. It only has one entry inside it, though, which is a link to the 64 bit loader: /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.13.so .

      The /lib directory contains a link to the 32 bit loader: /lib/ld-linux.so.2 -> /lib32/ld-linux.so.2 . The rest of the files in the /lib directory are all 64 bit libraries, though.

      I just looked up the FHS v2.3 standard. You're right, it does specify that on an amd64 platform, 32 bit libraries should go in /lib. So Debian does break the FHS in this regard.

      Found a document which describes the Debian/Ubuntu approach to multiarch support: https://wiki.ubuntu.com/MultiarchSpec#Design . It talks about the shortcomings of both the FHS and the previous 64 bit Debian system, and how the new multiarch system solves this.

    16. Re:The idea is problematic by Sipper · · Score: 1

      If initrd is sufficient to mount /usr and /, what would it change if the file system recovery tools are in / rather than /usr ?

      Well, for one thing, it would require changing all of the initramfs scripts that are used to build an initrd image from, and for building a generic kernel it would require including in all of the possible recovery programs, which includes recovery programs for filesystems your system isn't using. However -- the more I think about this, the more it seems like this would be fine on modern desktop or laptop hardware (just not on embedded).

      And if we need file system recovery tools to mount /, they need to be in initrd.

      Yes, on this I agree with you, and I've had this problem myself and had wished that the recovery utilities were in the initrd. These days I've been using XFS on top of encrypted LUKS; this is a bit of a crazy thing to do, because XFS generally gets some minor corruption if the kernel panics or the system is otherwise hard-powered-off without a proper shutdown and without using the Magic SysRq emergency shutdown sequence. https://secure.wikimedia.org/wikipedia/en/wiki/Magic_SysRq_key Recovering / then becomes a multi-step process of booting a Linux LiveCD that has both cryptsetup and xfs_repair available on it, mounting the encrypted partition via cryptsetup, then running xfs_repair. (Typically I use a newer CD version of Knoppix to do this.) The initrd image already has to have cryptsetup in it (AFAIK) to mount the encrypted partitions, so it's not that much of an extension to add the recovery programs, and if they were there it would be more convenient, as I wouldn't have to boot a recovery LIveCD to recover /.

      The point is simplification, instead of having initrd to mount / that is used to mount /usr, just have initrd to do the job o / and /usr, with regards to boot.

      I'm still skeptical that bundling together all of the executables on the system into one directory is going to end up being a simplification. That sounds more like a mess you'd expect on Windows in the /system or /system32 directories than something you'd expect on a modern *nix system. However; long ago some Unix systems used to have startup binaries in /etc which I thought was ugly; at least HP-UX did that at one time.

  29. Mobility by tepples · · Score: 1

    There isn't a space-saving methodology in the world that's more cost effective than slapping another terabyte into the rack.

    Provided you have a rack. Adding another terabyte to a laptop or tablet means carrying around a relatively bulky USB hard drive and powering it somehow.

    1. Re:Mobility by leenks · · Score: 1

      Or replacing the redundant optical drive with a new 1TB drive.

    2. Re:Mobility by postbigbang · · Score: 1

      Tablets are entertainment devices. They don't use huge files, like those in movies, music.... oh, wait.

      --
      ---- Teach Peace. It's Cheaper Than War.
    3. Re:Mobility by blair1q · · Score: 1

      Cheaper to get a new laptop than to dick around with compression and deletion for hours on end, multiple times a month, until you still just run out of room.

    4. 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.

    5. Re:Mobility by postbigbang · · Score: 1

      Gosh, what do I do with that USB thingie?

      --
      ---- Teach Peace. It's Cheaper Than War.
    6. Re:Mobility by donaldm · · Score: 1

      There isn't a space-saving methodology in the world that's more cost effective than slapping another terabyte into the rack.

      Provided you have a rack. Adding another terabyte to a laptop or tablet means carrying around a relatively bulky USB hard drive and powering it somehow.

      On my laptop (2 x 650GB 2.5in drives) I can replace them with 2 x 1TB drives and the weight of my laptop won't increase. Granted it will cost but it is very easy to replace a modern laptop 2.5in disk with a larger capacity 2.5in disk and for some this can be very cost effective.

      --
      There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
    7. 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?

    8. Re:Mobility by postbigbang · · Score: 1

      Lossy codecs suck. I understand the implications of that statement, but lost quality these days is like death by a thousand cuts. You can do varying kinds of compression, but the net result is that media will tend to fill the space provided for it, no matter the compression type or level. It's all about consumption, not letting go when you're done. We hoard media like we hoard hobbyist materials, and so forth.

      --
      ---- Teach Peace. It's Cheaper Than War.
    9. Re:Mobility by GPLHost-Thomas · · Score: 1

      Dumb. Do you have the idea of the size of a 180 minutes, 1080p movie, without compression? I'm not sure this would fit on any HDD you'd have... Anyway, even cutting this debate, trying to re-compress a FLAC is still a totally dumb idea.

    10. Re:Mobility by postbigbang · · Score: 1

      Fine. Quote ridiculous raw numbers.

      I know fully well what kind of compression yields occur after various renderings.

      So go ahead. Use that 1080p movie. Not 1 in 100 can visually discern the difference, and not 1 in 5000 use more than two channels for playback. Lots of empty cars on that train, eh?

      Do people need more space? Yes. Should they all have their own copies? No. We need the pipes that allow deduplicated streams, regionalized/localized cache, and other more astute distribution mechanisms. We already have data rates that exceed the realtime needs of 1080p-- why don't we use THOSE (speaking to those in the USA)? Why must the wheel be constantly reinvented? Why have AT&T and Verizon been allowed to lay new copper instead of fiber *everywhere*? Sorry for the rant, but quoting raw data rates is a red herring.

      --
      ---- Teach Peace. It's Cheaper Than War.
  30. a few facts... by nirik · · Score: 1

    Just a few actual facts to note here:

    a) This is currently just a proposed feature for the next Fedora release. It's been discussed some on the Fedora devel list, but thats it. It's not yet been discussed by the Fedora Engineering Steering Comittee or even answered all the questions presented by the list. So, nothing is sure yet here, it's just a few folks proposing it at this time.

    b) The feature page is at:
    https://fedoraproject.org/wiki/Features/UsrMove
    It had a lot more info and questions on it.

    We will have to see how this plays out, it's way to early to tell, IMHO.

  31. 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.)

  32. 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.

    1. Re:GOBO Linux by bananaquackmoo · · Score: 1

      +1. Gobo was the first Linux I tried out because it was the only one with what I deemed a "sensible" filesystem. I used it for a while, but eventually I had to migrate to a more mainstream Linux for my needs. I do miss Gobo's filesystem though.

    2. Re:GOBO Linux by Chris+Pimlott · · Score: 1

      The little-known GNU Stow project has been available to do this for over a decade. Although it uses the convention /usr/local/package-name instead.

    3. Re:GOBO Linux by hitmark · · Score: 1

      Been using that as my Linux distro for a couple of years now, and it can take some interesting levels of abuse. I have rolled back borked installs of such things as udev and glibc thanks to the versioned subdirs.

      --
      comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
  33. Re:This is stupid by Crispy+Critters · · Score: 1
    Weird that "confusing to newbies" is not in TFA. Was it invented by the submitter?

    The reasons stated were 1. "clean up the mess that was made when the /sbin and /bin directories were first split" 2. "it would be far simpler to run multiple instances of the operating system on different machines on a network," 3. "facilitate the use of snapshots"

    The first of these is begging the question (what mess?). I can't make heads or tails of the other two.

    If Lennart Poettering is a primary advocate, it means that the change would make something the Lennart wants to do on his personal desktop easier for him.

  34. Compression? by Pharmboy · · Score: 1

    Why is everyone talking about compression? Seriously, that isn't the topic or something most Linux really give a damn about.

    Now, reorganizing the system so the files are arranged in a more logical fashion? That is great and something I have been waiting for 15 years! I understand the desire to maintain a degree of similarity and do things they way they have always been done, but directory structure on Linux is ridiculous for most users. This is one reason I would prefer a different OS version for desktop and server. I can see why the existing structure is used for servers, which can have hundreds or thousands of users accessing the same files, but most desktops have one or maybe two users.

    Yeah, this means I have to learn a new system, after sticking with the RH way of doing things since the 90s, but if it is a BETTER system, a more simple system, then it would be worth the pain.

    --
    Tequila: It's not just for breakfast anymore!
    1. Re:Compression? by catmistake · · Score: 1

      Now, reorganizing the system so the files are arranged in a more logical fashion? That is great and something I have been waiting for 15 years!

      No... it isn't a good idea, because its already in arranged in a logical fashion. See some of the excellent comments above (but below the file compression crap) for historical explanations of why stuff is where it is. Did you really think just because it wasn't instantly understandable without explanation that it wasn't well thought out? No... it was seriously well thought out for decades before Linux existed.

      What makes Linux great is how similar it is to UNIX, but free, yet it does everything Windows does, usually within weeks of a new MS "feature" (aka breaking things Linux previously fixed). What makes Linux crap is what is different about it from UNIX.

      It is a crap idea to take something misunderstood and try to "fix" it by making it "simpler," when that effort will only serve to make things more confusing ("oh, its like this in this distro, but this distro is different, and this distro is similar, but also different").

    2. Re:Compression? by Pharmboy · · Score: 1

      It wasn't thought out for decades before Linux, you are being dramatic. The Linux kernel came around in 1991, Unix came around in 1970, but Linux wasn't based on the original versions of Linux. It was was modeled after System V, which didn't come out until 1983. The file layout in 1970 was a completely different animal.

      What makes Linux great isn't how close it is to Unix. It is what it does as a stand alone product.

      --
      Tequila: It's not just for breakfast anymore!
  35. I like it by hey · · Score: 2

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

    1. Re:I like it by wvmarle · · Score: 1

      They still make sense to me. OK /usr is nowadays not often nfs mounted or so, but there are good reasons to have a few directories to sort things out. Dumping everything in one directory is also not the best thing to do, imho. It's not broken, no reason to fix it.

      And very useful is the /usr/local path: distros tend to not use it (they install all there stuff in /usr/bin or /usr/lib) but I use it for my own software. Mostly little scripts that I wrote myself, and need to have available system wide for cron jobs and so. A directory to mess around in without having to be afraid of breaking the system, and still having it available system wide, is just great.

    2. Re:I like it by dbIII · · Score: 1

      There's still good reasons for some of it. If you know you only need to transfer /usr/local to a new box instead of stuff scattered everywhere it can save a lot of messing about. There's also a good reason for some stuff in /sbin even now when things go all pear shaped, it's not just for when you can't mount /bin or /usr.

    3. Re:I like it by mangst · · Score: 1

      Reorganizing the file system like this would have been a good change to implement for v3.0 of the kernel.

    4. Re:I like it by hey · · Score: 1

      Looks good. Like a Mac. But all lowercase, please.

    5. Re:I like it by hey · · Score: 1

      I hope the kernel doesn't depend on any hardcoded paths in the filesystem. Besides /proc and /system.

    6. Re:I like it by mangst · · Score: 1

      Actually, I think you're right. I don't think it matters to the kernel what the directory structure is because the kernel is concerned with more lower-level things like memory management.

  36. Re:obligatory by skids · · Score: 1

    Precisely. Some people have too much time on their hands.

  37. Re:Fedora standards by blippo · · Score: 1

    Word!

    The Unix file-tree got it right. It's kind-of clear where your files are, and everything is rooted in / (duh).

    Microsoft messed up, people are not finding their files in folder hidden deep in some weird structure, and are trying to solve
    the problem by abstracting away the hierarchal structure, which only confuses people even more. Now up to a point where the tree is going to be "killed"
    (hidden even more)

    Sadly the major linux distros seems to have swallowed the bait. I suddenly have weird folders for my desktop, photos, documents, etc, and they
    seem to be "localized" so it's not entirely clear what they are named. Dynamic mounts are suddenly made under /media ? What's fuckng wrong with /mnt that
    has been around since the seventies, is as aptly named, and is shorter to type? I am waiting for "tags" on Ubuntu, Unity seems to heading in that direction.

    User experience geeks can rave all they want about tags and that people do not "think hierarchically", but I am confident that the confusion is rather the leaky and broken abstractions on the windows platform.

    The unix file tree is a little like this: http://xkcd.com/297/

  38. 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 rathaven · · Score: 1

      I agree with this but can see why people may think this way. When I was a newbie I had a very different opinion when I started with Linux/Unix. The reality is that for newbies /usr/bin /bin and /opt/product/bin is not, on the face of it, as straightforward as simply a folder called "Program Files". Unfortunately when you look into the Windows filesystem binary files and libraries are often nearly anywhere despite Microsoft's advice, especially with .Net, Java and many other languages. I have to say that in most cases I see developers working on Linux do tend to have the tendency to stick to the filesystem locations as it supplies an appropriate area for most requirements.

    2. 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.

    3. 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.

    4. 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.

    5. Re:RANT: Don't break my file system by 21mhz · · Score: 1

      Hmm, so if you have two different binaries of "foo", installing them in different folders can help you distinguish them? Do you always run the binaries with the explicit file path? Because having two different "foo" in the executable search path has obvious problems.

      As the other comment said, people use name suffixes to distinguish multiple versions, and maybe alias the default one to the generic name. So you could use "foo-1" and "foo-2" if you want to be explicit, or run "foo" which is symlinked to the preferred version.

      --
      My exception safety is -fno-exceptions.
    6. 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

    7. Re:RANT: Don't break my file system by visualight · · Score: 1

      They will break it, but don't worry they'll convince several other distros to follow their lead, since apparently they own Linux now. I'm not worried about breakage, only annoyed at the prospect of jumping through hoops to get no measurable gain.

      Thing is, this whole thing is bullshit. *No one* who understands enough to be messing with lib paths is confused by the file system, and when this is done, anyone unable to understand the current system *STILL WON'T UNDERSTAND*. All that will happen is everyone once again re-arranging their lives to satisfy some whim at fedora/rh.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    8. Re:RANT: Don't break my file system by catmistake · · Score: 1

      There is nothing exoteric or baffling with the filesytem of Linux.

      You are mostly correct. There is a single detail that is baffling about the filesystem of Linux: Why is it different from UNIX? Much is the same... but why was there any divergence whatsoever? IMO, this delayed Linux acceptance in the server space by about 5 years... long enough for the grey beards to start moving on and the young whips, unaware of how things should be placed, who didn't know any better because they were never exposed to any real UNIX, to fill those positions. And the next generation is going to be screwed because of the detachment of the past from the present.... that's where I see this insane suggestion coming from "hey... this doesn't make sense to me... let's change it," without bothering to investigate why things are the way they are.

    9. Re:RANT: Don't break my file system by wolrahnaes · · Score: 1

      I don't have a problem with your overall point, but you can't deny that the FHS layout is needlessly complicated for almost every desktop/workstation and even the vast majority of servers. There's no need for more than a half dozen places to put binaries (including libraries). Everything relating to /opt/ seems entirely pointless. Root's home is separate from the main /home/ for valid technical reasons, but for consistency it would make sense if it at least appeared to be within /home/ and didn't show up directly under the root. I could go on but it's late and I have to get up for work in a few hours.

      Don't change for the sake of change of course, but at the same time don't act like what we have is perfect. What we have was built around the way old Unix was used, not how the vast majority of *nixes are used today. We don't need every system to be built with the expectation that it's going to be split up among multiple volumes and partially on shared filesystems that may or may not be the same architecture because the vast majority will not, no matter what class of hardware we're talking about. Those who need that can set their stuff up that way, the rest of us would benefit from a simpler layout.

      --
      I used to get high on life, but I developed a tolerance. Now I need something stronger.
    10. Re:RANT: Don't break my file system by swillden · · Score: 1

      They will break it, but don't worry they'll convince several other distros to follow their lead, since apparently they own Linux now.

      I thought Ubuntu owned Linux now.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    11. 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...
    12. Re:RANT: Don't break my file system by Bill_the_Engineer · · Score: 1

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

      Yet we all went back to Linux which is based on a very mature way of doing things.

      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?

      It's called being modular. Those distinct RPM packages allows a dependency to be fulfilled without requiring the entire Tomcat software suite being installed. Also it allows the developer to only install the portions of Tomcat that is needed. You can do the same thing using the source tar file that you place in /opt/tomcat or /usr/local/tomcat, except you would have to specify the configuration manually.

      One other thing, some of those Tomcat RPMs are optional plugins not included with the core Tomcat tar file.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    13. Re:RANT: Don't break my file system by Rich0 · · Score: 1

      The problem is that apparently several prominant pieces of software have already broken FHS by not supporting booting without /usr present. I've heard that udev rules are a big part of the problem - especially those involving bluetooth. So, Fedora's suggestion is to just mount /usr earlier and not rely on init to do it. Once you do that having a separate /usr/bin and /bin doesn't add any value.

      Quite a few distros are likely to follow, eventually, since they'll end up having to fork/patch more and more stuff to do things their own way.

    14. Re:RANT: Don't break my file system by NerveGas · · Score: 1

      One location for binaries? Would that be /bin, /usr/bin, /usr/local/bin, /sbin, /usr/sbin, or /usr/local/sbin?

      --
      Oh, you're not stuck, you're just unable to let go of the onion rings.
    15. Re:RANT: Don't break my file system by gbjbaanb · · Score: 1

      but this is the point - you have apps written by people who do not understand the filesystem and end up putting their binaries in /usr/local/bin or worse - /opt/bin, or even /home/user/bin

      There are too many /bin directories on a modern system that do not really need to be there, /bin and /sbin - does it really make a difference if they were consolidated?

      If it were simpler (not that I'm saying RH are right here BTW), you'd get a lot more consistency and *nixs would be easier to maintain.

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

      Odd, because I could have sworn I have different versions of several applications installed just fine

      Then you obviously have never bothered to actually try that. By far most software has no provisions for installing in a versioned way into the /bin /lib hierachy. You can of course hack them together that way if you have the source, but it's not a standard thing software does. Also uninstalling is real fun when you have a /usr/local where a user just "make install"ed stuff into.

      of giving each its own separate bin and lib under its directory in /opt.

      Yes, exactly my point. If you want to have it clean, you better avoid the /bin /lib mess.

    17. Re:RANT: Don't break my file system by peppepz · · Score: 1
      A "breaking change" is what happens when something that just worked is replaced by something that promises the moon but then doesn't work, spits 8 pages of stderr with not a single line useful to debug what's going wrong, and comes with no documentation whatsoever aside from a couple blog posts which are unuseful anyway because they have become obsolete a couple of git commits after they were published.

      I'll send you a DECtape with my system log next time I'm hit by those kind of "fixes".

    18. Re:RANT: Don't break my file system by peppepz · · Score: 1

      Aren't you forgetting something in the picture? "Common files" for example. Or the whole world stuffed inside System32 (even on x64). Then you have to take into account side-by-side component installation, which happens somehow in C:\WINDOWS\winsxs. And the 64-bit / 32-bit directory split on the disk doesn't end the whole story: there's the filesystem redirection mechanism, that makes 32-bit programs see C:\WINDOWS\SYSWOW64 as C:\WINDOWS\SYSTEM32. A similar hack is in place for the registry, where 32-bit keys are actually stored in the 64-bit registry but under a key called Wow6432Node. I don't know how, but in my Windows Vista installation a 32-bit application had managed to create a real 64-bit key called Wow6432Node and this resulted in an infinitely recursing registry. And let's not talk about how manageable the registry is, even when it works.

    19. Re:RANT: Don't break my file system by Junta · · Score: 1

      Yes, exactly my point. If you want to have it clean, you better avoid the /bin /lib mess.

      The thing is the *nix philosophy for CLI apps has always been mostly small single-purposed utilities brought together on the fly to do more complex things. If *every* application has it's own bin dir, your path is an unmanageable mess *or* you have to fully qualify invoking applications. I for one do not savor the thought of '/opt/fileutils/bin/ls|/opt/gawk/bin/awk '{stuff}'|/opt/grep/bin/grep foo'.

      This effort is fairly silly anyway. It only *really* has any impact in package-managed content which *already* is isolated at a layer other than the filesystem.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    20. Re:RANT: Don't break my file system by grumbel · · Score: 1

      If *every* application has it's own bin dir, your path is an unmanageable mess

      Not really, as there are clean and simple workarounds with symlinks:

      ln -s /opt/softtware-x.y.z/bin/software /usr/bin/software

      Thus you could cleanly separate different software packages and different versions of the same software, while not having to enlarge your PATH at all.

      It only *really* has any impact in package-managed content which *already* is isolated at a layer other than the filesystem.

      The problem with package manager is that they just manage the mess, they don't fix it and many problems caused by /bin /lib still exist. Installing different versions of the same package for example is impossible with dpkg.

    21. Re:RANT: Don't break my file system by gbutler69 · · Score: 1

      No they don't. Not in any way. You have the complete option of installing an application and all its dependencies in a private folder. I do it all the time.

      --
      Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
    22. Re:RANT: Don't break my file system by grumbel · · Score: 1

      Yes and by doing that you are completely by passing the global /bin, /lib structure. So how exactly is that an argument for /bin /lib again?

  39. Good by nine-times · · Score: 1

    At least on a basic level, I get the Linux filesystem, but I do think it's a little silly. Things are pretty fragmented, sometimes arbitrarily, and the names don't make any particular sense. Like storing settings in a folder called "etc"?

    I know the conventions have been around for a long time, but I think at a certain level it makes sense to start fresh and come up with a new standard that actually makes sense, and not just stick with old conventions because they're hard to change. Surely they can come up with a directory structure that satisfies technical needs while still making sense to novices and end-users. Unfortunately, it's going to be nearly impossible to get consistent adoption by various unix/linux vendors of any new conventions you come up with.

    1. Re:Good by catmistake · · Score: 1

      know the conventions have been around for a long time, but I think at a certain level it makes sense to start fresh and come up with a new standard that actually makes sense, and not just stick with old conventions because they're hard to change.

      I don't have a problem with this. But lets at least change the name, not keep calling it Linux if it no longer looks anything like what it was, even if it still uses the same kernel.

    2. Re:Good by FreakyGreenLeaky · · Score: 1

      Sorry, but your post is so wrong on so many levels, it's actually quite funny, amazingly ignorant.

      You sound like a typical windows user, frankly. Just change everything just for the sake of change... god almighty. What about continuity, evolution, incremental changes, stability? The world is full of horror stories about the many, many multi-million dollar "rewrites" committed by IT criminals - almost all of which end in failure, wasting tax payer or shareholder money.

      What you find "silly", "fragmented", "arbitrarily", etc, others find eminently understandable, rely on and are thankful for. Thankfully, your kind will always have windows where you can screw around to your vacuous hearts content, trashing mindlessly as you go. For the educated and enlightened, there is UNIX.

      So, please, get back to your real-world equivalence of windows, which is inbreeding with your momma behind the trailer outhouse.

    3. Re:Good by jc79 · · Score: 1

      /etc = Extended Text Configuration

    4. Re:Good by nine-times · · Score: 1
      From the Wikipedia:

      There has been controversy over the meaning of the name itself. In early versions of the UNIX Implementation Document from Bell labs, /etc is referred to as the etcetera directory,[24] as this directory historically held everything that did not belong elsewhere (however, the FHS restricts /etc to static configuration files and may not contain binaries).[25] Since the publication of early documentation, the directory name has been re-designated in various ways. Recent interpretations include Backronyms such as "Editable Text Configuration" or "Extended Tool Chest".

      It's called "etc" for etcetera because it had random crap in it. Not only is that arguably a sloppy approach to begin with, but that's not really what it's used for anymore.

  40. Re:Not a Mac dumb down, please by gtirloni · · Score: 1

    Power users are being cornered ever since people started to look at Apple for vision. I just had to switch from GNOME to KDE because GNOME (and Canonical) made a very good job at killing productivity.

    --
    none
  41. Flamebait much ? by alexhs · · Score: 1

    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.

    man hier

    And, if you're lost,
    man man

    Plus, it has nothing to do with Linux (my advice applies to *BSD — Mac OS X included —, Solaris, QNX... just to cite a few)

    Now if you can explain to me what is in C:\Windows or \\HK* ...

    --
    I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
    1. Re:Flamebait much ? by sqldr · · Score: 1

      Well, it's not exactly been immutable over time. I haven't built a server on more than 2 or 3 partitions since there ceased being a point. And 'sbin'. Is that for 'superusers', or is it for 'system'? People disagree.

      Then /srv came along to make up for some failings of /var... it's DATA... but it's not constantly changing... then does that mean we put websites under /srv/www only if its files don't change? What if it's a bit of both - split it up? (try getting the developers to get that to work..)

      If there is one rule about /usr/local it is this: DO NOT MAKE RPMS THAT WRITE TO IT!!!! (and don't manually put stuff where RPMs are allowed to write, for that matter). Alas too many people do. So that got broken and continues to get broken, and I've had to explain it far too many people.

      Yeah. So I turned into an FS nazi to get everyone to follow it exactly so at least we're all on the same page and pasting the docs on it, and 3 years later, most of my colleagues fully understand it. Until a new employee turns up.

      Then there's odd ones like /etc/opt, which has its very occasional use, but it's so rarely used that most people don't even believe it's correct when you're using it correctly, so I stopped bothering.

      By far the worst problem is the "./configure; make; make install" cycle which works right up until people start doing stuff like /usr/include/qt4 instead of just having /usr, /usr/local or /opt/qt4 as the prefix, which makes farting about with CFLAGS a bit of a chore. So you get stuff like "gtk-config --cflags" which kinda works in the one case of gtk, but it's hardly a "standard". I guess we could use a registry... *ducks* :P

      --
      I wrote my first program at the age of six, and I still can't work out how this website works.
    2. Re:Flamebait much ? by saint0192 · · Score: 1

      I thought sbin stood for static binaries. The ones that a system needs at its core when other things fail... All the core components of the operating system are stored there..

    3. Re:Flamebait much ? by pedestrian+crossing · · Score: 1

      And 'sbin'. Is that for 'superusers', or is it for 'system'? People disagree.

      My understanding is that it's for 'static'. As in statically-compiled binaries so if your libraries get hosed or you can only mount /, you have the tools you need to recover. Yes, this does reinforce your point, and I do agree with the rest of your post...

      --
      A house divided against itself cannot stand.
  42. Scary!!! by iggymanz · · Score: 1

    Guess which bug I hit when trying to build my Linux 3.1.0 kernel from the gzipped file, the one where if there are more than 16K entries some symlinks get hosed using the usual gzip included in many distros. (yes, there is patch). Now that is probably the most used compression algorithm in the open source world, and it had that long time issue that now cropped up with the massive amounts of files in kernel. And you want to trust your filesystem to some such thing with perhaps other bugs to crop up on massive amounts of internal files? no thanks, filesystems need to be rock solid.

  43. Standards? UNIX Traditions? What is that? by GioMac · · Score: 1

    Subj. Where are these "Standards"?

    Unix traditions? Do you feel SCO Smell? Or maybe *BSD? Or maybe HP-UX? AIX? SunOS? Mac OS X?
    What we have here:
    - Difference in init (noSysV, SysV, launchd, etc)
    - Hell, difference in packaging or not true packaging, usually pure old-fashioned (AIX additionally has RPM, thanks)
    - sysconfdir (/etc) mess everywhere
    - No stable solution for labeling/access control (Like Selinux/apparmor)
    - Hell knows where are my files/FHS inconsistency
    - Patched OSS software

    Same applies to most of the non-RPM Linux distros as well.

    Usually changes in Fedora are done according to standards like LSB, FHS etc:
    - Upstream software is used, only generic patches, no serious changes, contribution is done in upstream, not in distro only (normal OSS way, not like in Ubuntu)
    - Fedora changed it's init process SysVinit -> upstart -> systemd
    - In sync with updated kernel for functionality (Systemd is compatible with cgroups, easy process control/accounting), of course sometimes it's bleeding edge SW and needs to follow next release in order to use it completely, but at least you are part of it and prepared
    - RPM heaven - easy build, RPM -V checks, no extra files, FHS consistency, LSB, compatibility with PackageKIt
    - /etc/sysconfig - you don't change things in /etc/init/*
    - /etc/*.d/ - just add water
    - Same will be done in RHEL6

    Personally, I don't think there is a difference for me where files are located, in /bin or /usr/bin or sbins. For me generic file permissions, security and SELinux controls access to them, not the path.

    I use Fedora.

    BTW, bad way from Mac OS X:
    - /private/etc/
    - /private/tmp/
    - /private/var/
    - /home - empty
    - /net - empty
    - /cores - empty
    - /opt - empty

    Uppercase structure (why didn't they move it to /Mac or something like this?)
    - /Volumes
    - /Users
    - /System
    - /Network
    - /Library
    - /Developer
    - /Applications

    Yes, it's all build with standards, sure.

    --
    "It feels like I'm at the Zoo when reading this thread - I'm frightened, but it's interesting" (c)
  44. Re:This is stupid by drb226 · · Score: 1

    There are reasons things are as they are

    99% of the time the reason is simply: because that's how the developers did it. Just because there are reasons doesn't mean the reasons are good. "Leave things be" is quite possibly the worst advice, ever, when it comes to advances in computing.

  45. Re:Not a Mac dumb down, please by peppepz · · Score: 1
    "which" will tell you where any executable in your path resides. 99% of the times, it will be /usr/bin. If it's a third party package, it might be in /opt/product name/bin.

    In comparison, Windows scatters executables all over the disk so I'm not sure how Linux is worse exactly.

  46. Re:Fedora standards by DrXym · · Score: 1

    A few links would deal with apps that expect stuff in one place to see it in another. But most apps are configurable these days so it's not a big deal except when have binaries, many of which would go in /opt/ anyway and have scripts to deal with the vagaries of different systems. Really the issue is that Unix filesystem is arcane and in most cases for no good reason. So if Fedora want to simplify it a bit then I don't see the issue with that.

  47. gobolinux (was Re:Good idea) by sqldr · · Score: 1

    I'm more worried about the loss of sbin (and /usr/sbin) where, although its purpose has morphed over time, it's a great place to put exes that you're NOT supposed to type on the commandline. Like cronjobs, scripts that are called by other scripts, or simply stuff that users shouldn't use or want cluttering their path.

    Incidentally, these guys have taken it WAY further:

    http://www.gobolinux.org/

    --
    I wrote my first program at the age of six, and I still can't work out how this website works.
  48. Get off my lawn by renegadesx · · Score: 1

    Why not put the libs into /lib where they belong and boot all libraries out of /usr? While we are at it, all the lib64 stuff could easily have a subdirectory (i.e. /lib/lib64). While we are at it, can we get rid of the following TLD's? /media: /mnt made sense /misc: what is this even supposed to be used for? /net: not even part of the official standard. /srv: officially there still is no consensus on how its meant to be used, plus its main uses (httpd, databases) were fine in /var /selinux (Im sure you can find a place in /usr for some of it, most of it looks like it belongs in /etc anyway) Sorry to sound "get off my lawn"ish but it all comes across as unnessecary polution to me and we really did get along fine before all these.

    --
    Make SELinux enforcing again!
  49. Re:Not a Mac dumb down, please by tchuladdiass · · Score: 1

    And you'd have a better time finding the executable in a directory with thousands of files, vs. several directories with hundreds of files? You can't even go by the file date, as that doesn't reflect the date the file was installed (but whatever date the package says it is). What I do (on an RPM based system) is: rpm -ql packagename |grep bin (or grep man), to find what I'm looking for. And, "rpm -q --last" to find the most recently installed package.

  50. Re:Mod Parent Up by chromas · · Score: 1

    I think we can. Remember, just when the drama starts to build...ad break!

  51. Re:Not a Mac dumb down, please by kesuki · · Score: 1

    Synaptic can tell you about every file that belongs to a software package it knows about and show you where it is located on your system. Search the database for the software package you are interested in and select it in Synaptic's main window. Next, click on the Installed Files tab to see a list of all files and where they are.

    hth hand

  52. Re:This is stupid by peppepz · · Score: 1
    /bin is for important system files that can be useful to mount the rest of the file system. Only a well-specified set of files goes there, your distribution knows what they are, and you shouldn't ever put anything in there, nor delete anything found there. See them as the equivalent of the hidden files in C:\ on Windows.

    /usr/bin contains all the executables that are part of your system. Except those few, fixed ones that went in /bin.

    /usr/local/bin potentially contains all the executables that you as a user might want to add to your system, for example stuff that you compiled.

    /opt/package name/bin contains the executables found in a specific package, usually a large package with many files which aren't of interest to the rest of the system, and that you downloaded from a third party instead of having it installed as a part of your system's distribution.

    Repeat the same reasoning replacing "bin" with "lib" for libraries.

  53. Creating problems where there weren't any by jiteo · · Score: 1, Insightful

    This, bizarrely, reminds me of an article on feminism, and how, having won the major gender inequality battles, they're starting to pick silly fights where a rational person would see no fight to pick.

    I think something similar is happening here, and with Ubuntu's Unity and maybe GNOME 3 as well. Having achieved a big chunk of what they set out to achieve, they start looking for the next big goal, but there's no next big goal to be found, so they just invent something utterly ridiculous. The file system is fine, just leave it be. All the newbies need to know about is their home directory, and those who need to know about the entire file system are perfectly fine with how it's currently laid out.

    1. Re:Creating problems where there weren't any by couchslug · · Score: 1

      "but there's no next big goal to be found"

      "Quality" is Big, but insufficiently Shiny to merit consideration.

      --
      "This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
  54. 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.

    1. Re:Ahmmm by hedwards · · Score: 1

      If you do that, you'll end up with a computer that won't boot. /bin must be on the root partition otherwise you're never going to get that computer to boot up.

  55. 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
    1. Re:My Mom by spottedkangaroo · · Score: 1

      Ooops, ranted about the filesystems, I didn't realize they were talking about the layout of the distribution and the well organized directories full of useful information. I unloaded my rant too early. It still applies, but it's aimed at slightly the wrong things.

      --
      Imagine if you weren't allowed to use roads because a bus company complained about your driving 3 times. --skunkpussy
  56. Re:Not a Mac dumb down, please by TheRealGrogan · · Score: 1

    I'm sure you aren't really as dumb as you seem, but the unix filesystem heirarchy makes a fuck of a lot more sense than "other OS". I can install stuff using a "make install" and then find every single piece of it later when I want to remove it. I have "Linux From Scratch" based systems that I don't even have package management on.

    It's also not hard to guess where a particular executable is, based on the type of program. I know a typical user program installed from a distro's repository is going to be in /usr/bin. Core system utilities will be in /bin. Daemons will be in /usr/sbin and so on. Libraries will be in the appropriate install --prefix's lib directory. Headers will be in the appropriate prefix's include directory. Resources like icons and shit will be in the appropriate prefix's share directory.

    Besides, you have tools like "whereis" at your fingertips for finding executables that are in your PATH, and if that doesn't cut it, you have tools like locate and find.

  57. The file system belongs to the USER. by linebackn · · Score: 1

    I know programmers and developers often like to think they know best, but it is important to remember that the file system belongs to the user, not you. You should respect that by not littering THEIR file system up with thousands of small files that they will never touch directly, obscurely named files and folders, or visible system internals.

    There is no good reason an end user should be able to browse in to /dev or even see it at all. In *nix there are no attributes for hidden folders so you hacked it by having files start with a period?!! Individual applications are split up in to many thousands of scary looking files and folders that often get picked up when the user searches for something on the drive.

    Look at the original MacOS - each application and even the OS was often just one distinct file each. Nothing scary there, and easy to manipulate.

    All modern OSes have gotten away from that. On Mac, Windows, and Linux a "fresh" install easily has 10,000 files on it and an insanely huge directory tree. There is so much stuff it even has to have dedicated locations just for user files. Basically the entire disk belongs to the OS - not the user any more.

    It doesn't help that Unix style file systems hail from the multiuser mainframe era where the disk NEVER belonged to an individual user.

    Complain about the technical issues all you want, you are making things more confusing for end users than it needs to be.

    1. Re:The file system belongs to the USER. by jedidiah · · Score: 1

      No. Anything outside of /home is NOT owned by the user.

      Basically, I can wipe the system and reinstall it and run "apt-get install firefox" and that will all manipulate the rest of the system that end users never really see or touch directly. That is the system and is owned by itself. It doesn't need to be tinkered with by the end user and it can be easily and trivially rebuilt by any decent package manager. There's no good reason to muck around with it or even to make it easier for some Lemming n00b to muck around with it.

      That's the beauty of how Unix files are organized. I can blow away the system owned files and recreate them and "my own stuff" doesn't need to be touched and won't be.

      The end user doesn't need to see or be bothered by /usr/bin. All they need to know is what menu to click on to type "kdenlive" and where the "go button" is. ...total non problem pointless solution to something that didn't need to be solved to begin with.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    2. Re:The file system belongs to the USER. by Lunix+Nutcase · · Score: 1

      In the case of 99% of desktop users, the only user who ever actually uses the system?

    3. Re:The file system belongs to the USER. by Vegemeister · · Score: 1

      So you're one of those doofuses who dumps all their files in C:\ then?

  58. Step away from the fs and nobody gets hurt! by jafo · · Score: 1

    This sure seems like a bad idea, are there really people who are complaining about this? Seems like it could lead to a backlash of unity-proportions. :-) I'd be ok with if it if looked exact like the current file-system, but without littering my home directory with empty "Videos", "Pictures", "Documents", "Webcam", "Music", "Desktop", "Downloads", "Public", "Templates" directories...

    1. Re:Step away from the fs and nobody gets hurt! by Daniel+Phillips · · Score: 1

      This sure seems like a bad idea, are there really people who are complaining about this? Seems like it could lead to a backlash of unity-proportions. :-)

      True, now that you put it that way. The Fedora guys should definitely throw caution to the wind and do it, then maybe we will be a step closer to being rid of Fedora entirely.

      --
      Have you got your LWN subscription yet?
  59. Whats next - System32 ? by NemoinSpace · · Score: 1

    Another set of developers who are to lazy to learn the intricacies of a software and decide to "rewrite". I guess there *was* a reason for Redhat to dump the desktop side.

  60. 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.

    2. Re:nonsense by mr100percent · · Score: 1

      Linux has a relatively steep learning curve. Your sys admin idea might apply to people with lots of experience, but if you want people to replace Windows or OS X with Linux, this becomes an issue.

    3. Re:nonsense by Fred+Foobar · · Score: 1

      Welcome to the year of the linux desktop, where stuff breaks if you don't keep everything local. If you remove structure it is really hard to get it back if not impossible. It isn't hard to maintain that structure, but apparently many many programmers don't even bother with the output from or input to autoconf/automake whatever. This isn't a problem with the filesystem hierarchie, but with programmers that don't even know how the tools of their choice works. The 'user' isn't even using $PATH anymore: Programs land in a database and/or menu and are launched by click.

      Last time I checked, most of my shortcuts that are "launched by click" don't specify the full path to the executable. Take a shortcut to Firefox as an example. The command is just "firefox" (plus possibly some switches and options). When I click on the shortcut, the underlying system (Gnome or whatever) searches the PATH environment variable for that executable and runs the first instance that it finds, in the same way a shell would do (of course, Gnome technically is a shell too). This means if I install a different version of Firefox under /usr/local/bin, the system then runs that version instead, just as it should (because /usr/local/bin comes before /usr/bin in PATH).

      I hope people will start to remember why such a structrure was introduced and keep the old functionality. My last personal oh crap moment came when debian changed their libc and people could no longer write to directories they only had group write rights to. How about regression tests?

      How would a change in the libc affect whether users can write to directories? The C library doesn't determine file/directory access; if it did, it would be extremely easy for a program to get around file permissions by using a different C library, or by not using a C library at all. It sounds like either the permissions or groups changed (see /etc/groups), or SE Linux stuff (which I don't believe is necessary for most users) is getting in the way.

      --
      It was a really good paper.
    4. Re:nonsense by Tom · · Score: 1

      More nonsense.

      I know several people who had never touched Linux before I met them, and one of them actually bought her first computer with my help. These people used Linux without bothering about the fine details of the FHS. For one, every distribution for the past 10 years has made it easier and easier to run Linux. Two, if you don't do arcane stuff, you seldom have to. Three, whenever they had to, they simply accepted things being as they were and worked with that. Human beings are great that way.

      Note the "four, I helped them" is absent from that list. Because I didn't.

      I don't know what kind of users you have in mind, but maybe Linux isn't the right OS for your grandmother.

      --
      Assorted stuff I do sometimes: Lemuria.org
  61. Re:no long filenames ? by Alain+Williams · · Score: 1

    how about making the filesystem a bit more intuitive, call it "Programs" or "Applications"

    and break a gazillion programs out there that have been working for years. What about the transition -- some with have /bin/date and others /Programs/date -- it will make porting programs between systems much harder.

  62. Re:Wrong move by Alain+Williams · · Score: 1

    First, in a modern Linux system you don't bother if the executables are in /bin /sbin /usr/bin or /usr/sbin or even /home/marvin/bin. You start the programs from a menu or quick start buttons (or how ever your UI has named its buttons).

    Actually: No. Most programs that my systems start are out of scripts of one sort or another. You are talking about desktop systems, the Unix/Linux world is much bigger than that -- servers are very important.

  63. Re:Not a Mac dumb down, please by thehodapp · · Score: 1

    power user? sorry to bust your bubble but neither KDE or GNOME were ever meant much for power users. Try a customized tiling WM (awesome, i3, dwm; I personally use musca). Or if you must, use Openbox. Once you get the hang of it and customize it how you like, your productivity will shoot up (get used to those shortcut keys).

  64. Re:Not a Mac dumb down, please by smash · · Score: 1

    No it doesn't. Open a terminal and its all there. If you aren't comfortable with the terminal, you probably shouldn' be fucking with those directories.

    I'm a power user / unix admin of 15 years, and I've yet to find a reason to go poking around the unix filesystem on my mac, other than to edit the default apache configuration on my little lion server mac mini. If you're running desktop OS X, there is pretty much ZERO reason to be poking around in those directories.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  65. 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.
  66. But so many files are shared between programs by DragonHawk · · Score: 1

    Given the prevalence of libraries being used by more than one program, trying to organize things into directories-per-program doesn't make a whole lot of sense to me. You'd really need to have a different directories for each package. So now you've got thousands of package folders, each with a handful of files. What does that get us?

    I think the idea of keeping track of what files belong to what package is the job of the package manager, not the filesystem layout.

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
    1. Re:But so many files are shared between programs by EvanED · · Score: 1

      I think the idea of keeping track of what files belong to what package is the job of the package manager, not the filesystem layout.

      It's amazing to me how un-Unix like Unix can be sometimes and still have its adherents saying it's doing the right thing. :-)

      Unix already has tools for dealing with anything you could imagine (okay, not true, but work with me) regarding the file system. Why should I need an entirely different set of tools for dealing with packages?

      (I sort of said this already in reply to another of your posts, but I liked my opening line and thought of it only after submitting that. :-) )

  67. Re:Not a Mac dumb down, please by TheBig1 · · Score: 1

    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.

    Sure you can:
    /Developer/Tools/SetFile -a v <File> #make a file / folder visible
    /Developer/Tools/SetFile -a V <File> #make a file / folder invisible

  68. Re:Not a Mac dumb down, please by MrHanky · · Score: 1

    dpkg -L packagename | grep bin

    Knowing a tiny bit about package management is all it takes.

  69. \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..."
  70. Re:Not a Mac dumb down, please by MrHanky · · Score: 1

    A power user isn't going to spend hours configuring a fucking window manager.

  71. 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.
    1. Re:Or they could fix the actual problem by Rich0 · · Score: 1

      Wow, this is like reading last month's gentoo-dev threads all over again... :) We just hashed out this whole argument in just about every direction it can go. Your point was one I originally advocated. The problem is that it is like spitting into the wind.

      Udev is apparently the problem, especially where bluetooth support is involved. Try to boot a system with a bluetooth keyboard without /usr mounted before init runs and most distros will make your life hard.

      So, they're basically turning the bug into a feature and saying, well, why not put EVERYTHING in /usr and then put it on a separate filesystem and move the mounting logic to dracut or whatever.

      Ultimately unless you want to fork and rewrite udev or try to convince them of the merits of your argument are just academic.

    2. Re:Or they could fix the actual problem by bill_mcgonigle · · Score: 1

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

      Fedora will argue that init, ConsoleKit, xinetd and (eventually) cron, at, et. al. are more complex in total than a single 'run-stuff' process. Plus cgroups management which has been effectively missing from linux until systemd.

      Does 'simple' mean 'do one thing and do it well' or 'avoid multiple redundant code paths that all do approximately the same thing? Yes, no, and both?

      Full disclosure: systemd in Fedora 15 causes me great frustration.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  72. 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.

  73. 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.

    1. Re:These comments prove the point by jedidiah · · Score: 1

      ...as long as you aren't trying to break your system by mucking around with things, you don't really need to know or be bothered with where a particular file is stored exactly.

      That's the beauty of the Unix way of doing things.

      Between PATH and LD_LIBRARY_PATH, stuff can be quite literally anywhere.

      You could even have a different setup for every application if you really wanted.

      However, there is something to be said for not trying to "fix" that which isn't really broken.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    2. Re:These comments prove the point by phorm · · Score: 1

      Between PATH and LD_LIBRARY_PATH, stuff can be quite literally anywhere.

      Where really SUCKS when you're trying to doing a least some management of space allocation and performance/privilege separation.

    3. Re:These comments prove the point by FreakyGreenLeaky · · Score: 1

      Which is precisely why it's a bad idea to introduce yet another inconsistent layout...

    4. Re:These comments prove the point by Anonymous Coward · · Score: 1

      You know, the FHS actually has a rationale included with it. You may want to read it.

    5. Re:These comments prove the point by suspiciously_calm · · Score: 1

      Between PATH and LD_LIBRARY_PATH, stuff can be quite literally anywhere.

      Except when paths are hard coded. #!/bin/bash anyone?

  74. Re:Not a Mac dumb down, please by TheCouchPotatoFamine · · Score: 1

    (for those that care you can use shift-command-G to navigate to a "hidden" dir like /usr/bin and the finder will work just fine!)

    --
    CS majors know the time/space tradeoff, but they never get taught the 3rd, crucial, tradeoff of the set: comprehension!
  75. Two cents by deblau · · Score: 1

    If you have to mount any partition other than / to boot, your OS has a pretty serious security hole.

    --
    This post expresses my opinion, not that of my employer. And yes, IAAL.
  76. Re:no long filenames ? by jmorris42 · · Score: 1

    > how about making the filesystem a bit more intuitive, call it "Programs" or "Applications"

    For the same reason we call it cp instead of copy, mv instead of rename, etc. We aren't drag and drool mouse users, we type.

    I really wish we had insisted the Windows refugees had been properly assimilated into UNIX culture before we gave you guys commit rights on our repos.

    --
    Democrat delenda est
  77. 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.

  78. Files, directories, and packages, oh my! by DragonHawk · · Score: 1

    Windows, Mac iOS, and Android all have the concept of an application directory where all the files for an app go.

    This is perfectly possible on *nix, too. There's nothing magic about any part of the filesystem. As long as the shell can find your executables, and the loader can find your libraries, it will run. But it's not as smart as it sounds.

    A great many libraries are used by more than one executable, package, or even family of packages. Where do those libraries go? They don't belong to any particular application. I suppose you could have a different directory for each library package, but what does that get us? Thousands of directories with a handful of library files in each? What's the advantage of that?

    Separating files by their intended purpose, the way traditional *nix does, has some advantages. For example, by having executables separate from libraries, the system spends less time searching inapplicable files when you invoke a command name. By having platform-independent files under /usr/share/, one can have share that tree across architectures. Not needed on a traditional personal computer, but in a "cloud computing" design with multiple platforms coming into use on demand, it's quite useful.

    I suspect the "one directory per package" mentality is largely driven by the closed-source world, where code sharing is rare, and software tends to be isolated. In the Free/Open Software world, it's very common for many different authors to both provide and make use of others' libraries and resources. Diving things into "products" doesn't make nearly as much sense there.

    As a result, any old fool can publish an app in the Android Market with 1/10th the experience and skill required to be in Debian.

    Debian (and most other distributions) have rather higher standards of quality. You have to do things like provide documentation, declare your dependencies on shared libraries, etc. This makes the system work better. It does mean "any fool" can't get their software into the distribution. But why would I want software written by a fool? Badly written software causes me pain.

    maybe we should instead dump all of an applications files into shared directories, where they can clobber each other

    It's the job of the package manager to keep things from clobbering each other, and it generally does a pretty good job. Anything installed on a system can potentially effect that system -- simply using different directories won't make that problem go away. That's why package managers exist in the first place.

    Merging /lib and /usr/lib?

    I think the /usr vs root distinction is less relevant than it used to be (what with even tiny computers having huge storage), but I do still think there's benefit to keeping a minimal but useful subset that can be used to fix the rest of the system. MS Windows has to use a "recovery environment" for that. I much prefer the idea that the rescue system can just be a smaller portion of the main system. Sure, sometimes it will be totally hosed and you need to boot from some other media, but plenty of times it's just that a more complicated subsystem has gotten broken, and it's nice to be able to fix that in-place.

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
    1. Re:Files, directories, and packages, oh my! by EvanED · · Score: 1

      Separating files by their intended purpose, the way traditional *nix does, has some advantages.

      And separating files by their package also has a lot of advantages.

      For instance, keeping multiple versions side-by-side becomes basically trivial. Version 1 goes in /opt/foo-1.0 and version 2 goes in /opt/foo-2.0. It doesn't matter if the packages weren't designed to sit side-by-side, if they use the same file names, etc.; it just works.

      They also contribute to why you need a package manager in the first place, because adminning a Unix system without one is a PITA. Want to upgrade a package? Have fun. Especially if it doesn't provide a "make uninstall" -- which is more common than it should be. If you had a separate directory and just wanted to replace it, that'd also be easy: just delete the old directory and install the new version. The other reason to have one is to do resolution of dependencies, and of course this is still very relevant if you have separate directories. But package managers could be a lot simpler if that was their sole task.

      For instance, how many package managers can you use without root? (The answer is approximately zero. I believe none of the big ones -- Apt, Emerge, Yum/RPM, etc. -- support it.) Now imagine an alternative world where software was built to install in a more Windows or (even better) OS X-like way -- now it doesn't matter what your package manager runs as. It just downloads any missing dependencies and extracts them to wherever you tell it to. If you have permission, it succeeds. And because the packages are built so that you can put them anywhere -- in contrast to now where they are usually built so they won't work outside of /usr/bin or whatever the maintainer decides -- they work.

      On a more philosophical level, isn't one of the benefits of Unix's "everything's a file" and "everything uses text for configurations and to communicate" approaches supposed to be that you can use the same tools for everything? If you want to edit a configuration file, you've got grep and sed and all that jazz to edit them. But now we have this second class of entity -- the package. And I can't use du on it. And I can't use rm on it. I have to go through the package manager because nothing else knows about what the packages are.

      I've got first-hand working with a system that has this sort of organization. What is basically the IT dept for the CS department here maintains a network file system with programs in our /s directory. Here is just some of the output of running: ls -d /s/a*:

      /s/ACE-5.6
      /s/ACE-5.6.2
      /s/a2ps
      /s/a2ps-4.12
      /s/a52dec-0.7.4
      /s/aRts-0.5.4
      /s/aRts-1.1.1
      /s/aXe
      /s/aXe-6.1.2
      /s/aacraid
      /s/aacraid-5.50
      /s/aalib
      /s/aalib-1.2
      /s/aalib-1.2-2
      /s/aalib-1.4rc4
      /s/abiword
      /s/abiword-0.9.6.1
      /s/abiword-1.0.2
      /s/abiword-1.0.3

      Furthermore, there's another file system that pretty much anyone can install programs to. (You need to get a role that lets you do this, but it's pretty freely given out, at least to grad students.) I've put a number of programs there. That's organized in much the same way.

      The whole system works beautifully. I find it way better than the typical Unix organization. The only thing that would make it better is if we didn't have to manually resolve dependencies ourselves and then compile everything.

    2. Re:Files, directories, and packages, oh my! by EvanED · · Score: 1

      They also contribute to why you need a package manager in the first place, because adminning a Unix system without one is a PITA. Want to upgrade a package? Have fun. Especially if it doesn't provide a "make uninstall" -- which is more common than it should be. If you had a separate directory and just wanted to replace it, that'd also be easy: just delete the old directory and install the new version. The other reason to have one is to do resolution of dependencies, and of course this is still very relevant if you have separate directories. But package managers could be a lot simpler if that was their sole task.

      This paragraph is pretty poorly worded. Let me try again:

      Dumping every binary in /usr/bin, every library in /usr/lib, etc contributes to why you need a package manager in the first place, because adminning a Unix system without one is a PITA. Want to upgrade a package? Have fun. Especially if it doesn't provide a "make uninstall" -- which is more common than it should be. If you had a separate directory and just wanted to replace it, that'd also be easy: just delete the old directory and install the new version. The other reason for package managers is to do resolution of dependencies, and of course this is still very relevant if you have separate directories. But package managers could be a lot simpler if that was their sole task.

    3. Re:Files, directories, and packages, oh my! by bill_mcgonigle · · Score: 1

      Thousands of directories with a handful of library files in each? What's the advantage of that?

      Yes! Not just directories, but filesystems. Thousands of filesystems. I know, this is capital CRAZY in a ufs/extN world, but with ZFS/btrfs, this makes more sense than not doing it.

      On my Fedora systems, I often come in to find, say, Thunderbird being wonky, then it crashes after a few minutes. Oh, Thunderbird got updated last night and now it can't find its symbols because the binaries have changed out from underneath it, so only stuff that's currently in-memory is going to work.

      "Oh, but you shouldn't run automatic updates". "Oh, but you shouldn't leave your environment logged in in when you go home". Nonsense, I say - those are artifacts of dumb filesystems.

      In a btrfs world, we'll have a /usr/thunderbird filesystem, with /usr/thunderbird@3.0.1-15 as a snapshot. The package manager can worry about which snapshots are still needed (due to dependencies) and which ones aren't. A nightly job can clean up any remaining orphans (after a reboot, for instance), but in the meantime, rolling updates don't mean 'broken user systems'. And multiple versions can co-exist simultaneously (with explicit dependencies).

      A unified /usr/bin is a small step in the right direction because we can fill that up later with a pile of symlinks to the current snapshots, for legacy compatibility.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    4. Re:Files, directories, and packages, oh my! by nschubach · · Score: 1

      IMHO (as an open source supporter) applications should come in packages that you simply "install" to an app directory. The system should then create sub-directories for it to gain access to the libraries, user files (specified by user), and settings. The application should only have access to that directory and only directory links provided within that directory.

      For instance:
      I have a 64-bit app called goodthing. I install it on my machine by using my package manager. The package manager notes that it's an amd64 application and creates a directory link to the 64-bit libraries folder on the system in the application install directory called /apps/goodthing/system/lib where the application will gain access to all available libraries on the system. It will also create a directory called /apps/goodthing/system/usersettings/ pointing to ~/.settings/goodthing/ to store configurations for the user running it and /apps/goodthing/system/userfiles pointing to ~/files/goodthing/ to store files created by the application. This could be extended to encompass more functionality up to and including links to hardware files (dev for instance) that would be in /apps/goodthing/system/dev if granted/needed. Applications installed under this system would only need to ensure that they do not create a system sub-directory since that would be reserved for each system and could be deleted upon install.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    5. Re:Files, directories, and packages, oh my! by DragonHawk · · Score: 1

      You make some interesting and insightful points. I don't have time for a proper reply, and likely won't before the story closes, so I just wanted to say that you made me stop and consider, at least. :)

      --

      dragonhawk@iname.microsoft.com
      I do not like Microsoft. Remove them from my email address.
  79. Re:This might be the right crowd to ask. by jmorris42 · · Score: 1

    > I'm actually one of those baffled new users he's referring to.

    Short version, man hier. Longer version google up the linux FHS, it explains what should be where and why things were made the way it is. Personally I'd be open to eliminating /usr since the reason for its existence is not nearly as strong as it once was. But there are still people who do have a need for a tiny root fs and network mounting everything else. And since everyone is already used to it there really needs to be a compelling reason to change it, not just another of Pottering's jihads against everything UNIX/POSIX.

    --
    Democrat delenda est
  80. 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........

    1. Re:Damn...this is running wayyy to smoothly!!! by Omestes · · Score: 1

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

      Actually I haven't had a BSOD in over 5 years (oddly since Vista came out) now (my girlfriend's PC did, but that was thanks to a dying video card). I haven't rebooted in over 3 weeks, on any of my boxes (OpenSuse, Mint Debian, OS X, and 3x Windows 7), with one of the Windows boxes having the most uptime, period. Right now my main Win7 box is the most stable PC in our house, with pretty much no reported errors or crashes in a two year period. My OpenSuse laptop is a bigger mess than any Windows box I've worked on for a very long time, but that's mostly because Tumbleweed is terrible (Hey Mint, can I have my rolling KDE release yet?).

      Every modern OS is almost completely equivalent these days, the only real differences are aesthetics and moronic tribal affiliations.

      --
      A patriot must always be ready to defend his country against his government. -edward abbey
  81. Re:User Base by iggymanz · · Score: 1

    And the thousands of RHEL users will be terrified, knowing damn well what happens at the Red Hat guinea pig farm may soon come down on their heads.

    Fooled

    Experimental

    Downloaders

    Of

    Redhat's

    Absudities

  82. Re:User Base by iggymanz · · Score: 1

    Uninterested Brotherhood of Unapproachables Not Tending Users

  83. No one is baffled. by salesgeek · · Score: 1

    In the Unix world, we tend not to bloat one tool with the features of another. Just google linux mount zip or linux mount rar for some interesting ways to do what you want that rely on the Unix many simple tools that work together philosophy.

    --
    -- $G
  84. Re:Not a Mac dumb down, please by scdeimos · · Score: 1

    In comparison, Windows scatters executables all over the disk so I'm not sure how Linux is worse exactly.

    Linux isn't worse than Windows in this regard, they're just trying to make it even better. I can't help but feel, though, that it's another case of "we don't like the existing standards so let's make a new standard!"

    My bugbear isn't where library and executables are located - it's where user configuration files are located. Programs seem to store things randomly, such as ~/.configfile or ~/.program/configfile or ~/.config/configfile or ~/.config/program/configfile. Then there are the ~/.gnome and ~/.gnome2 folders which seem to get a lot of 3rd party junk in them. And ~/.local.

    Please, pick one place and make everyone migrate their data there!

  85. Re:Not a Mac dumb down, please by Anonymous Coward · · Score: 1

    FYI the OS X version of "chflags" supports "hidden" / "nohidden". You don't have to use SetFile (which may not be installed since not everyone installs the developer tools). I believe it would be:

    chflags nohidden # make a file / folder visible
    chflags hidden # make it invisible

  86. Re:Not a Mac dumb down, please by EvanED · · Score: 1

    Please, pick one place and make everyone migrate their data there!

    You can support this effort by finding a developer of a Linux program and hitting them over the head with a rubber chicken until they make it so they read configuration information from either ~/.config/frobinator.conf or ~/.config/frobinator/whatever.

    (I have seriously thought about writing an LD_PRELOAD library that redirects any access to a file named ~/.something to ~/.config/something, but that seems... dangerous.)

  87. Ugh by Eil · · Score: 1

    Really, Fedora? I used to like Fedora because they weren't afraid to ship current versions of software and always tried to new newer, better ways to build a Unix-like OS. I liked how the Fedora community was organized and how the package management system worked. I liked Ubuntu because it took a solid, sane Linux distribution (Debian) and made it into a user-friendly, everything-just-works OS that practically anyone could use.

    But now I'm starting to believe that all of the mainstream Linux distros have lost their fucking marbles. Between adding more and more layers of pointless abstraction, the KDE4/Unity/Gnome 3 bullshit and this, I don't know what to think anymore. It's like they've all totally given up on improving a good thing and are now changing shit just to change it. Did the Linux world somehow absorb a massive influx of middle-managers and HR drones when I wasn't looking?

    Christ, it's enough to make me switch to BSD and start drinking.

    1. Re:Ugh by adri · · Score: 1

      Come to FreeBSD / PCBSD - and begin enjoying very fine wines / scotch. It's quite a nice place to be.

    2. Re:Ugh by Reziac · · Score: 1

      Thanks for reminding me, I keep meaning to try PCBSD and just hadn't gotten to it. Been frustrated with linux for years... first tried it in 1998, still haven't found one I can love. :(

      Tho the some-other-BSD disk someone handed me at the last LUG threw up all over my test box (a lowly P4-2GHz) and wouldn't install. ???

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    3. Re:Ugh by serviscope_minor · · Score: 1

      But now I'm starting to believe that all of the mainstream Linux distros have lost their fucking marbles.

      I agree 100%. I use Arch at the minute, and it seems very much more sensible.

      t's like they've all totally given up on improving a good thing and are now changing shit just to change it.

      Not just that, but changing it to whatever is the flavour of the decade. Before, there was a small but vocal group really chasing Microsoft. This seems to have changed into a large but vocal group chasing some odd combination of OSX, iOS and miscellaneous versions of Windows.

      If I want Windows or OSX, I know where to get it. I don't use Linux because I'm cheap, I use it because I prefer it.

      --
      SJW n. One who posts facts.
    4. Re:Ugh by CanOfBees · · Score: 1

      seconded.... now pass that single malt.

    5. Re:Ugh by rwa2 · · Score: 1

      Heh, sorry to fit your stereotype (minus the vocal bit), but I'm kinda glad that Nautilus finally got most of the features I liked from explorer.exe . But that's pretty much the only thing I missed from the Windows world.

      I'm certainly not a Mac guy, far from it. But I do have to admit that I like the way they package 3rd party applications, such that you just drop them into "Applications" and they're there, hidden in some self-contained directory tree. If you drop a new version with the same name into Applications, it replaces the old version (rather than just copying over top and making a mess).

      So yeah, it's sort of similar to how you can drop a tarball of something into /opt/something/ (not that too many Linux programs are packaged that way), and they might have all the /opt/something/bin /opt/something/lib etc. directories just work without having to do anything. I think FreeBSD sort of works in a similar fashion. It's kind of nice not to have random applications that you're toying with drop files all over the place.

    6. Re:Ugh by ffgandalf · · Score: 1

      i've switched to gentoo after ubuntu kept pissing me off. First pulseaudio killing some of my programs and scripts, then grub2 being a pain in the ass and not recongnizing my gentoo partition (at the time it existed to have something to play around w/) and then came unity.

  88. Re:This is stupid by 21mhz · · Score: 1

    /bin is for important system files that can be useful to mount the rest of the file system.

    And you have to "mount the rest of the system" where exactly?
    Can you point your finger at a system which has /usr on a different partition from the root filesystem, and it is this way for a good purpose?

    --
    My exception safety is -fno-exceptions.
  89. Too complicated by Swave+An+deBwoner · · Score: 1

    That's too complicated and confusing. Programs should be in "My Programs" and libraries should be in "My Other Files That I Don't Understand". And what's with those totally incomprehensible command names like "ls", "cp", "mv", "tar"? Make them "Show Me My Files", "Make Another One of These Please", "Put it Over There", and, um, what's tape got to do with anything?

    1. Re:Too complicated by lvxferre · · Score: 1

      Actually, I think Fedora's issue is not about "making it easy to understand", but about making it easy to maintain.
      Once, these distinctions were useful and meaningful. Today, they're pretty much arbitrary - it's not only /sbin and /bin, but:
      /bin
      /usr/bin
      /usr/local/bin
      /sbin
      /usr/sbin
      /usr/local/sbin
      /usr/games
      etc. The same applies to libraries.
      Do we really need SEVEN directories making the same thing?

      --
      Nerdy news for your nerdy needs? http://www.soylentnews.org Soylent News is people!
    2. Re:Too complicated by Swave+An+deBwoner · · Score: 1

      Well, if you're going to be serious about this, then I'd guess that the "/bin" versus "/usr/bin" distinction might not mean much these days for a system with terabytes of disk space but maybe on small embedded systems it's valuable; e.g., a "standalone" boot using only the root filesystem. If so, then I think that maintaining the separation for all "*NIX" systems can be useful in a "I know where that is" type of way.

      And for a class of commands that a typical "user" neither cares about nor would know what to do with, separating the "/bin" and "/usr/bin" from "/sbin" makes sense because one can leave "/sbin" out of the general user's path and avoid any possible confusion (remember those large multiuser systems with folks who have varying familiarity with *NIX?).

      Finally, I definitely make use of "/usr/local/bin" and "/usr/local/sbin" as a very handy separation between "stuff that's part of the OS" and "stuff I put there myself". Usually via symlinks to stuff in /opt which I generally arrange via package-name directories.

      Similarly for libraries ("/lib" versus "/usr/local/lib", etc.).

      But really, for mindless stuff like this, I prefer to just leave a snarky comment :-)

    3. Re:Too complicated by lvxferre · · Score: 1

      Well, if you're going to be serious about this, then I'd guess that the "/bin" versus "/usr/bin" distinction might not mean much these days for a system with terabytes of disk space but maybe on small embedded systems it's valuable; e.g., a "standalone" boot using only the root filesystem. If so, then I think that maintaining the separation for all "*NIX" systems can be useful in a "I know where that is" type of way.

      I disagree in three points:
      1. Even these embadded systems have nowadays enough capacity for both / and /usr;
      2. Symlinks, symlinks everywhere if one needs so badly that kilobytes, and
      3. initramfs reading /etc/fstab and mounting /usr before the real init - that is the way Fedora is trying to do it, source: https://fedoraproject.org/wiki/Features/UsrMove

      And for a class of commands that a typical "user" neither cares about nor would know what to do with,

      There is no such thing as a typical user, different users need different things. And confusers will always find a way to mess everything, with or without bin vs. sbin distinction - "oops, I intended to write rm -f ./*, NOT rm -f /* !". Privileges stop them making the system unusable.

      Finally, I definitely make use of "/usr/local/bin" and "/usr/local/sbin" as a very handy separation between "stuff that's part of the OS" and "stuff I put there myself". Usually via symlinks to stuff in /opt which I generally arrange via package-name directories.

      If it's part of OS, why it's in /usr/local in first place? And users needing this distinction can always do a /random/custom/directory/bin and set syslinks in /usr/bin, or even set the path.

      But really, for mindless stuff like this, I prefer to just leave a snarky comment :-)

      It was not snarky. Its chromatic index was 3. :-D

      --
      Nerdy news for your nerdy needs? http://www.soylentnews.org Soylent News is people!
    4. Re:Too complicated by Swave+An+deBwoner · · Score: 1
      Just to clarify 'cause I'm so chromatic today:

      If it's part of OS, why it's in /usr/local in first place? And users needing this distinction can always do a /random/custom/directory/bin and set syslinks in /usr/bin, or even set the path.

      I carelessly did not order the directory names and (my view of) their intended functions respectively, but what I meant was that what's in /usr/local/bin (or /usr/local/sbin) isn't stuff that's part of the OS but rather stuff that I added. Sometimes I'll add something into /usr/local that is intended to cover over the same named command that's in /bin or /usr/bin, and have it selected preferentially via the order of directories in my path or even of the global path. That is occasionally a useful feature of having different directories for executables. While one can create a /random/custom/directory/bin to do the same thing, that's not quite as "standardized" as knowing to always look in /usr/local/{bin,sbin} for that type of stuff.

      What it boils down to is that this work seems to me to be just polishing a diamond (you didn't think I'd call Fedora a turd, did you? I would not.) not solving one of the Grand Challanges that remain even for the lovely Linux OS.

  90. Re:Not a Mac dumb down, please by scdeimos · · Score: 1

    You can support this effort by finding a developer of a Linux program and hitting them over the head with a rubber chicken until they make it so they read configuration information from either ~/.config/frobinator.conf or ~/.config/frobinator/whatever.

    Occasionally I do. Some people get very defensive about their projects though and the majority of GUI users don't show hidden files, so developers rarely see a need to move things around.

  91. Simple fix... by s0litaire · · Score: 1

    Busybox

    You know dump all the common *nix commands into a single blob... problem solved. ^_^

    I'll put on my flame retardant suit now...

    --
    Laters Sol "Have you found the secrets of the universe? Asked Zebade "I'm sure I left them here somewhere"
  92. Qwerty v Alpha anyone by TooTechy · · Score: 1

    Is this the same question?

    Over time, many alternatives keep popping up. Each time they still fail to gain traction.

    1. Re:Qwerty v Alpha anyone by lvxferre · · Score: 1

      QWERTY is horrible - it's tautological - we use it because we use it. The same applies to LHS.

      --
      Nerdy news for your nerdy needs? http://www.soylentnews.org Soylent News is people!
  93. Separate the user BS from the rest of us by bussdriver · · Score: 1

    Abstraction. Since the desktop user doesn't care, then why mess it up for the rest who do care?? The simple users don't care if you have some convoluted process behind the scenes because even the simple stuff is convoluted to them.

    Leave unix alone! if a desktop user can't handle it then they should stick to the GUI.

    Proxies... hmm... make a more clear directory like; /binaries and /library and fill it with symlinks to help those people... GUI tools can run a script which auto populates those... or you could mount a virtual FS to handle those (like /proc or /dev)
    Then you keep things proper and the losers can go the easy route... software however can continue to properly function the same way (because those people should be able to grasp the concepts.)

    Actually, I think the package systems could use a bunch of wrapper features-- a package file handles install, removal and most importantly acts as a proxy for the App-- so you can run, drag and drop, install and delete with the package/receipt file. Then it seems easy and simple like Apple does but is more flexible. A package manager is a special directory where you search for packages and drag/drop to install stuff; the "copy" process is actually download and installation. The user can THINK their app is located in their home directory but its really just a proxy for a standard install. In fact you could even allow them to "run" the app directly from the package system directory; where it downloads and installs then execs and from that point it execs instantly from that location (but can be copied to other locations and run.) This would be the most desktop user friendly. Permissions could be handled in various ways... for example, if you can access the proxy, then you are allowed to run it. For GUI apps this would be a fine system...

  94. Welcome, simplified hierarchy! by lvxferre · · Score: 1

    Fedora got +1 respect from me because of this - FHS is deprecated IMO, and simplifying the directory hierarchy was needed for a long, long time. If they go a step further and adopt the same reasonable hierarchy from GoboLinux, even allowing installing software one-user-only, I'll switch immediately, even being a RPM distro (I work better with .deb).

    Now, let me do a wishlist...
    * Compressed directories;
    * Xfce and Mate fusing into one highly configurable DE, with as much features as the user WANTS, but allowing a small RAM footprint if the user doesn't use them;
    * A K3B GTK+ port;
    * Ubuntu's and Debian's .deb packages being fully compatible again;
    * An optimized, bug- and crash-free Firefox fork;
    * Ballmer dying in a fire [not really].

    --
    Nerdy news for your nerdy needs? http://www.soylentnews.org Soylent News is people!
    1. Re:Welcome, simplified hierarchy! by Daniel+Phillips · · Score: 1

      FHS is deprecated IMO

      Says who?

      --
      Have you got your LWN subscription yet?
    2. Re:Welcome, simplified hierarchy! by lvxferre · · Score: 1

      Says who?

      Just a noob [me] saying - note the 'IMO' [in my opinion]. I may be wrong, I know, but I see multiple executable and lib pathes as against KISS principle

      --
      Nerdy news for your nerdy needs? http://www.soylentnews.org Soylent News is people!
  95. Re:Fedora standards by WillKemp · · Score: 1

    Why would you use `find` when you could use `locate`?

  96. dd if=/dev/random of=/dev/hda by FyberOptic · · Score: 1

    This just in: everybody disagrees with how the Linux directory hierarchy should be implemented.

    That's because there is no truly good way to do it. You either try to split stuff up in some semblance of organization which makes it harder to locate things, or you throw it all in together which also makes it harder to locate things. It's like sorting music; maybe you have an instrumental of an album. Does it go in the same folder with the normal album? Does it go in an instrumentals folder for that particular artist or genre? Does it go into a separate instrumentals folder with all the other instrumental albums? There is no answer because everybody prefers a different layout. Hell, people can't really even agree on a single naming scheme for individual MP3s to begin with. Artist first? Song first? Album first? Include the year?

    Unfortunately you can't use a bulk renamer on the Linux filesystem. The only alternative I can think of is to just create like an environment variable system or some other method of letting users choose where stuff will be stored by default. All future software installations would then abide by those rules.

    But this is Linux we're talking about, so there aint gonna be consensus over doing it that way either.

  97. 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.

  98. VMS filesystem by camperdave · · Score: 1

    I would like to see linux standardize on the VMS filesystem, or at least on certain attributes. First, automatic versioning. Every time a file is written to, a backup is made, and the version number incremented. Second, overlaid directories. These worked like those transparencies of human anatomy in antique encyclopedia. For example, if $bin=/home/username/bin;/var/trap;/usr/$groupname/bin;/usr/local/bin;/usr/bin; then the system would look for a binary in those directories from left to right. /usr/bin would be the OS installed variant. /usr/local/bin would be the local variant. /usr/groupname/bin would be the variant used by members of the user's group. All these would be read only. /var/trap would be writeable. If there was a malware attack attempting to overwrite a critical binary, it would wind up in this folder, and a periodic wiping of this folder would keep the system clean. /home/username/bin would be for user specific variants of the binary.

    --
    When our name is on the back of your car, we're behind you all the way!
    1. Re:VMS filesystem by Tragek · · Score: 1

      I never understood overlaid directories until now. That actually sounds fantastic.

  99. That's usually pointless by dbIII · · Score: 1

    For example my tape drives can compress everything in hardware but I don't get them to do it becuase some data compresses better than others. It works better to compress the files that can be compressed before they go on the medium instead of getting the tape drive to try to get the get the best fit for everthing, do a miserable job with the compromise and take time to do it. Apart from the device that's the same idea as doing it to an entire disk filesystem (it's just a tape filesystem). What can be done is have a layer that compresses and decompresses individual files on demand and there's something in linux that can do that (as described in other posts here). Come to think of it, doesn't compression on NTFS work that way as well? It's not a compressed file system either!

  100. I wish they wouldn't by crucini · · Score: 1

    I run Ubuntu. With every upgrade, they break something and I have to spend time researching it.

    Mostly this breakage is someone trying to "improve" things.
    For example, pulse-audio. I suffered with it for a long while, then finally found how to rip it out by the roots.

    I do not want unix to be like Windows.
    I do not want my expectations broken on every release. Let it be. Make it stable.

    This is compatible with progress. I want great new applications like Chrome. New apps and libraries don't disrupt the platform. I wish these guys would understand how much of other people's time they are wasting.

    1. Re:I wish they wouldn't by Daniel+Phillips · · Score: 1

      Bump. I can hardly think of a more irresponsible and disruptive thing to do. If Redhat people wants to do something useful then get busy cutting down the daemon bloat please, both in userspace and kernel. And please stop treating fds as if they are free. And how about reducing the stupid number of dbus sockets.

      --
      Have you got your LWN subscription yet?
  101. Re:This is stupid by visualight · · Score: 1

    This is backwards. Advocates of this idea should be the one to jump through hoops to justify taking away an option that has been there forever.

    This idea doesn't solve even one problem for anyone. Anyone who can't grasp the file system will still be stupid after Fedora changes it, but mounting /usr on its own will no longer be an option. How is that an improvement?

    --
    Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
  102. DJB dislikes current hierarchy too by aflag · · Score: 1

    He gives us a few case studies which show problems in the current layout: http://cr.yp.to/slashpackage/studies.html

    If you care to read slashpackage page, you'll see he suggests something like gobolinux does.

  103. 1GBps? by dutchwhizzman · · Score: 1

    I wouldn't put any NAS on my network with less than 8GBPs FCAL or 10Gbit ethernet. True, the clients would only get a 1GBit hookup if they're not a virtual machine or a big database server, but 100Mbyte/second is plenty for plain data where I work.

    --
    I was promised a flying car. Where is my flying car?
  104. Re:Lame by lvxferre · · Score: 1

    There is - a small one, but (your milleage may vary) an annoying one.
    Simplifying the hierarchy would ease the things both for users and for devs - you don't need to "guess" or search anymore where is the executable and the libraries.

    I know that "if it's working, don't fix it" is a good rule of thumb, but it's just this - a rule of thumb. When misused, it becomes "if it's working BADLY, don't fix it".

    --
    Nerdy news for your nerdy needs? http://www.soylentnews.org Soylent News is people!
  105. 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?
  106. Re:Not a Mac dumb down, please by Electricity+Likes+Me · · Score: 1

    If I had mod points I would give them all to this post.

    This is exactly the problem almost every single "Mac-a-like" product endeavor suffers from. They rush to getting something that looks vaguely similar, by hacking together the base it runs on and produce something incredibly fragile and inconsistent.

    In my experience users really don't care about the window dressing provided something works solidly, and has an intuitive and consistent interface.

    Perhaps the single worst thing efforts like Gnome 3 and Unity represent is a solid move away from the Unix philosophy of combining a set of small tools that do one task very well in favor of being "Mac-a-like", rather then embracing that idea and presenting it in user-friendly way.

  107. Mod parent UP by Burz · · Score: 1

    +1 Insightful. While they're at it, make the filesystem case-insensitive. I have personally seen users having to migrate (away from Linux systems I set up for them) back to Windows or OS X because of that one issue.

  108. Better way of cleaning up the mess... by lordholm · · Score: 1

    The main problem is not really the current location of binaries. The main problem is that resources related to binaries are spread out all over the place. For example, a library is associated with headers (and multiple versions of the library), a desktop application (and some cli-ones), have a tone of associated resources (png-files, scripts, audio files et.c.). At present these are all spread out in various locations, i.e. /usr/lib/libfoo.so, /usr/include/foo/* and /usr/share/foo/*

    I would suggest that the Linux vendors adopt a model similar to the OS X bundles. Essentially, libraries would become more like OS X frameworks.

    --
    "Civis Europaeus sum!"
  109. Re:This is stupid by peppepz · · Score: 1
    You have a point if you say that the / - /usr split is less relevant today because it has been somehow superseded by the use of an initrd/initramfs. Most distributions require or take advantage of an initramfs. But that is much worse from a complexity point of view, because it involves a copy of a different subset of the file system (not only the /bin and /lib directories) which has to be duplicated on the real / file system (if you want to unmount the initrd - wipe the initramfs), often has a different ABI (e.g. uclibc vs. glibc) and has to be kept in sync with the main copy (e.g. when you add new kernel modules, new firmware). It's even invisible to the average user.

    It's done for a very good reason (better network boot, boot from usb devices, more flexibility in general) but I don't think the average user can deal more easily with an initrd than he can with a plain /usr mount point. So it's not being done for simplicity as they say here. Especially if you consider that the added simplicity (moving two dozens files from a folder to another) is hindered by the complexity which would need to be added for compatibility reasons (don't think that scripts starting with #!/bin/sh would disappear overnight).

  110. Arcane? by OverflowingBitBucket · · Score: 1

    "Linux and UNIX-like operating systems have followed a particular, if arcane, way of organizing files"

    In other news, if somebody doesn't personally understand the reason for something, it is now "arcane".

    Personally, I still prefer to have "/usr" on its own filesystem, so I can unmount it if I need to and tidy it up, using the tools in "/bin" and "/sbin". It's not *necessarily* a space thing. I quite like the separation between basic tools, and "everything else". If an "everything else" package install or script or similar stuffs things up, it's nice to be able to fix it in a reasonable environment (which an unmounted "/usr" gets you).

    I also don't mind the separation between admin tools, and user tools. I think that covers the "/usr/sbin" versus "/usr/bin" thing.

    And there we have it.

  111. Re:Not a Mac dumb down, please by smash · · Score: 1

    Yup, you could even say the same of Windows to an extent.

    Conversely, it also works against the mac a bit because people use a mac for 5 minutes, see that it looks like it has a few "dumbed down" features in the GUI, but if you never scratch the surface you don't find the "wow that's so cool" features that enable you to do so much without a lot of time or effort expended.

    Automator, applescript, pervasive drag and drop, the services menu, self contained app bundles, time machine and spotlight are all huge wins, and nothing on any other platform i've used so far comes close.

    Sure, knock-off look-alike tools may exist on other platforms but none are as well integrated or easy to use.

    There's a lot more to OS X than the GUI and in fact IMHO the GUI has a lot of design decisions (especially pre-lion) that really piss me off. The good stuff is underneath - and I use OS X despite the Aqua UI, not because of it.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  112. Re:Not a Mac dumb down, please by water-and-sewer · · Score: 1

    Actually, that's EXACTLY what power users do - take the time to configure their environment to their liking and in a way that makes them efficient at a minimum of effort. I spent a couple of hours one day choosing keyboard shortcuts and so on, and have never had to touch it since - everything I do has been faster ever since.

    But you can continue stabbing at the "Start" menu if you like.

    --
    If this were Usenet, I'd killfile the lot of you.
  113. Breaking rules? by alukin · · Score: 1

    Well, so called "new generation" is about breaking rules without understanding what those rules for. I can't say they are totally brain-dead but they do not understand "UNIX soul" definitely. Simplicity? No, chaos! Lenart Poettering is very known by his ugly and annoying "PulseAudio" that is in every Linux distribution now. Do we need another his "innovation"? Is there at RedHat some person with a bit of brains to stop him?

  114. Bout time by AdmV0rl0n · · Score: 1

    The linux filesystem (while I can live with it - its far from something sensible to anyone looking at it from outside). really is byzantyne and bizarre. This kind of logical tidy up/clean up should not really be attacked - and it should not really be seen as a competitor of LSB or similar, but rather that it needs to evolve and where vendors can clean and simplify the file system, they should be applauded. The LSB should always consider clean ups and simplification.

    In the modern sense - Linux is reaching out to 'normal people'. Its filesystem by design was for the arcane, the clever and the developer. Its filesystem means very little, but worse makes little sense to actual end users. And if thats the case it is *always* worth rethinking it rather than just accepting it is what it is - live with it.

    If an end user has to actually start reading deep technical notes just to understand the file system, the filesystem is wrong. I'm not going to claim 'Windows' got it right, but its filesystem has a more humane naming convention at least in part. Programs actually live in a Program folder. Thats a simplistic example I know, but /usr/bin means very little to the average person..

     

    --
    We`re all equal .. Just some of us are less equal than others.
  115. Exec name colision by advid.net · · Score: 1

    Sometime executable names colide :
    Two application can provide the same exp executable to export data.

    How to they expect to handle this if they keep only one directory ?

    I would rather keep them in separate directories and alias one of the executable

  116. Re:Not a Mac dumb down, please by MrHanky · · Score: 1

    Declaring yourself a power user won't make it so, and surely the window manager is relatively unimportant compared to the actual work environment, which is typically a terminal and a text editor.

  117. Your laptop is bigger than mine by tepples · · Score: 1

    On my laptop (2 x 650GB 2.5in drives) I can replace them with 2 x 1TB drives

    My Dell Mini 10 has room for only one 2.5 in drive, you insensitive clod! ;-) Also, solid-state laptops such as early Eee PCs and MacBook Air are designed to take an mSATA card instead of a full-size platter drive.

  118. Re:no long filenames ? by marcello_dl · · Score: 1

    AND break a gazillion tutorials and blog posts that rely on the traditional filesystem layout.

    Fedora is "pulling an Ubuntu", they want to make their OS an unique experience so that migrating away is more difficult. That's what ubuntu windows and macs do, I wonder if fedora has enough clout to outweigh the obvious problems of this transition.

    Normal users need only to know the package system, advanced ones invisible files in their dir and /etc and /user/local. Pro users are not scared by a bunch of dirs.

    If the file layout mattered so much, gobolinux would have enjoyed more fame I guess.

    --
    ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
  119. I say nay! by hesaigo999ca · · Score: 1

    DO NOT CHANGE A THING, you have enough different types of filesystems already available, and the user can actually control where he wants the files to be installed or reside, so why start playing with something so inbred in the system, that there are bound to be problems.

  120. Get rid of /lib64 by Chemisor · · Score: 1

    It's time to stop the insanity and stop treating 64 bit stuff as if it's some temporary add-on that will go away. Get over it people, nearly every desktop CPU in the world is 64 bit. There is no reason to rddun a 32 bit Linux any more. I can see it sticking around on Windows, since there's all this legacy software that people can't run any other way, but on Linux everything is natively compiled to 64 bit already. If you want dual-arch, fine, but put the obsolete 32 bit stuff in a specially named dir, like /lib32, instead of treating it like it's going to stay around forever.

    And enough with those bogus arguments of "programs not needing 64 bit address space". That's irrelevant. It is much more useful to have a single target platform to develop for, and it should be 64 bit. Additionally, there's only two architectures left: x86_64 and ARM. ARM is used on handheld stuff and sometimes on servers. x86_64 is used on everything else. Since desktop and mobile applications usually use a different codebase anyway, this gives developers just one target to develop for, which is a very big deal indeed. Less work for developers - shorter time to release and cheaper software. It really is a good thing.

    1. Re:Get rid of /lib64 by Junta · · Score: 1

      The challenge is the risk of 'older' applications not being able to even *cope* with '/lib32'. It was easier to have newer apps change than break exisiting apps and hope for the best.

      Incidently, you still have brand new MIPS, POWER, and Itanium in the world, though Itanium I think is going to stop 'any day now', but MIPS and POWER seem to be plateaued in share.

      --
      XML is like violence. If it doesn't solve the problem, use more.
  121. seems like a hack by sl4shd0rk · · Score: 1

    some legacy programs are still going to want /usr/local. what i see happening is a bunch of symlink workarounds that end up just confusing everyone. seems like there could be other things to spend time on improving.

    --
    Join the Slashcott! Feb 10 thru Feb 17!
  122. Seems like optimizing for one particular group. by Medievalist · · Score: 1

    In mom's basement, on a poorly secured single-user machine that runs a GUI on the console 24x7, the proposed hierarchy probably makes good sense.

    But a general purpose file system reorganization also needs to work for family machines (my kids and their friends each have their own unprivileged accounts) and for small business office servers, and for large enterprise application servers. The tip-off is the word "general" in the phrase "general purpose file system".

    In multi-user deployments, particularly large secured ones, it's incredibly useful to have a separate place for user executables (generally dynamically linked to unprivileged libraries), sysadmin executables (often statically linked or suid/guid tagged), and site/host/application specific executables (like X11 apps for example, or tomcat stuff).

    Segregating things this way helps with establishing backup and security policies and permits partial upgrades - it makes a smart sysadmin's life easier and makes audits simpler too. Obviously, for unemployed hackers who run X11 on single-user laptops all the time, it's not so important.

    Sysadmins have always complained about the way Red Hat piles all the X11-only executables in with the pure CLI stuff. That's the opposite of useful categorization; mix everything up randomly in one bag. Why not just put everything in the fs root if these distinctions aren't useful or meaningful? Screw having a separate directory for configuration files and variable data, eh? This is one step further back down the wrong path - categorization is useful!

    For the record I got nothing against unemployed teenager hackers lurking in basements. But re-arranging a general purpose system into a system optimized for their use case seems misguided.

  123. Because someone has to link to it... by Chelloveck · · Score: 1
    --
    Chelloveck
    I give up on debugging. From now on, SIGSEGV is a feature.
  124. Re:Not a Mac dumb down, please by bill_mcgonigle · · Score: 1

    without getting the foundations laid properly first to make such pieces actually work

    If there's one thing that would get me to drop a thousand dollars on a Macbook, it's that KDE still doesn't know how to hide the cursor while I'm typing. There, right now it's oVer the V in this sentence. How frustrating - Apple has been doing this right since the 80's.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  125. Users can use a GUI by int19h · · Score: 1

    Only package maintainers should have to care about the underlying directory structure. Developers provide autoconf/scons/cmake/... scripts. Users can use the GUI and store their documents in their Documents folder. Never mind the Powerusers, they will always feel that things are either too advanced or too dumbed down, until they become Developers (tm).

  126. explanation for separate partitions by Anonymous Coward · · Score: 1

    If it's important to realize why they were separate, I wonder why you didn't take the time to look it up instead of making a wild (and wrong) assumption. Hint: has nothing to do with small discs, distros were comparatively small at the time as well.

    It has to do with handling fs corruption and security. A small root fs (/etc /bin /lib) is generally stable against filesystem corruption as it doesn't get written to often. After a crash, it's more likely to be ok. It's needed to boot a usable system that can be used to rescue the rest of the installation (/usr). /var is a separate partition because it gets written to continuously and is more likely to be in need of recovery after a system or disk crash. /tmp is a target for many temporary file prediction exploits so it was also made separate. For example, it was common to mount it "nodev,noexec" so the kernel would refuse to execute programs or open devices from it. /boot appeared when the 2Gb hard drive barrier was breached and BIOSes were unable to read from higher disk cylinders using the standard interrupts, LBA was introduced and we needed a partition to put the kernel in that we can make sure the BIOS can read.

  127. Who cares? by HalAtWork · · Score: 1

    Anyone who goes mucking around in the file system outside their /home/$user folder generally knows what they're doing, so why even bother?

  128. Re:This is stupid by 21mhz · · Score: 1

    You have a point if you say that the / - /usr split is less relevant today because it has been somehow superseded by the use of an initrd/initramfs.

    I think it has been superseded by extinction of dickless machines (typo approved by ESR) that have such a small local hard drive that you can't fit the entire system on it.

    --
    My exception safety is -fno-exceptions.
  129. Probably that is not a good idea. by virtualthinker · · Score: 1

    Probably that is not a good idea. Much of the Unix/Linux security advantage has to do with the tiered organization of the system of executable files. Unix/Linux has no other method of controlling access to programs based on the role of the user. Access by user role is efficiently implemented using this tiered file system. - if implemented correctly. The idea is four layers of security (installation(admin), developer(programmer), privileged application user, unprivileged user). Critical system programs are in /sbin (parted and other sysadmin programs), /bin is used for common utilities and programs publicly available to all users. /usr/bin contains programs which are used primarily by software developers (compilers etc..) /usr/sbin is used for development admin tools. Application packages go in /opt//[bin,include,...]. The unpriviledged user can put files he wishes to execute in his own /bin directory and mark them as executable. This system allows each user to be given access only to the application software actually needed. You don't want the guy in the mail room running the payroll system. The original reason for dividing up executable programs may have differed from this, and the reasons for doing so in the modern era of personal systems are perhaps different from the historic large/mid frame machines it evolved on. Today the primary reason everyone should want to maintain this file architecture is the number of program name collisions between packages. If you build distributions you are either terribly naive, or you know what I mean. The traditional unix/linux file system does a relatively good job of limiting (i did not say eliminating) the name collision problem. It can be used for limiting the damage a system, application, or user can do to itself, friends, or frenemies. You don't really want a executing daemon to have access to it's own or anyone else's development software. There must be a better way. I am sure there are more than 4 roles, or at least a better way to implement access - The $PATH shell variable is the great failure in this scheme, and perhaps why no one bothers with taking any of the rest of it seriously. I am sure there must be some more efficient way to implement roles. I have been looking for a while now, and I have not seen it yet. Just because this method is an old idea don't mean it is a bad idea. It simply is not possible that a better solution involves a single directory with huge numbers of files. The Path method already makes search times too long. The solution has more to do with using the tiered method properly and fixing shell implementations to make it impossible for a user to change his own role ( by tinkering with $PATH). Scrapping the tiered method would make Linux too much like Windows.

  130. stuff them all in / as bin.bash by niftymitch · · Score: 1

    Simplify how it it so complicated?
    What problem are they really addressing?

    Graphical file system tools are already
    slow and sloppy.

    One could stuff them all in /
    and resolve some historic name
    collisions with some silly notation
    as bin.bash alt1.bin.bash alt2.bin.bash

    This tells me that it is silly quest and structure IS needed.
    $ rpm -qal | wc
      337729 337782 18840957

    Just watch out for the special
    case of /.

    --
    Truth is stranger than fiction, but it is because Fiction is obliged to stick to possibilities; Truth isn't. Mark Twain.
  131. Linux Journal File System by stevenddeacon · · Score: 1

    Journal File Systems is the best way to go. They provide for file system recovery and re-synchronization after an outage. They also provide for file system virtualization and sharing between processing nodes. Journal File Systems are best for database technologies and structured data-stores for business intelligence or multi-dimentional and object oriented databases. Sun Microsystems Solaris has ZFS now and IBM provides it for its Linux offerings. Symantec offers Veritas Software VxFS for Sun Solaris, HP-UX, IBM AIX, and Linux. IBM also offers its DFSMS solution for sequential data-stores, structured data-stores, backup, archive, and recovery. IBM DFSMS also offers the venerable Virtual Storage Access Method, known as VSAM, which is utilized by structured data-stores, hierarchical and networked database technologies, inverted list database technologies, business intelligence data-stores, as well as, multi-dimentional and object oriented database technologies.

  132. Re:This might be the right crowd to ask. by stderr_dk · · Score: 1

    ... trying out Ubuntu. ... how to locate all the files that were installed by a package

    dpkg -L <package>
    E.g.
    dpkg -L base-files

    If you want to do the reverse, you would use dpkg -S <filename>
    E.g.
    dpkg -S /etc/debian_version

    --
    alias sudo="echo make it yourself #" ; # https://pipedot.org/~stderr & http://soylentnews.org/~stderr
  133. Opposed to the reduction to one binary library by lsatenstein · · Score: 1

    I am opposed for the following reasons:

    Name conflicts. Many applications have the same launcher name. Therefore one later application can override the earlier one.
    System libraries must be kept apart. I would hate to have some innocent application overwrite a critical system program name.
    I would like to see a breakout of libraries. to /usr/bin/application1, /user/bin/application2... Where bin does not hold binaries, but points to the next level of directory from where user application binaries would be found,
    In /usr/bin, I would accept soft-links (shortcuts).

    --
    Leslie Satenstein Montreal Quebec Canada
  134. Stupid file system hierachy by gogo.tutu · · Score: 1

    the file system hierachy in linux is stupid, let system file stay in system folder, let application stay in applicaion folder, let rpm, pkg go to hell, those people who act professional seem really stupid, they don't know what the user want, they just make a toy and play themselves. the file system hierachy follows the rules of 20 years ago, never changed, every linux distrubution keep uprading all the time, but you never find any thing inspired.