Hacker News new | past | comments | ask | show | jobs | submit login

I do not seem to understand, so forgive my ignorance if you will but; Why do we need a /Apps directory isn't that what /bin /sbin and /usr/bin are for? And as for /LocalApps is that not what /home/$user/bin is for? this seems fairly redundant, or needless wheel reinventing?



On NeXTSTEP and OS X, the /Apps (/Applications) directory is for self-contained application bundles that hold a GUI application and all of its dependencies that aren't part of the base OS, and they can be installed and removed by dragging and dropping that one bundle (which is a directory, but appears in the graphical file manager as a single object). There was also a distinction between locally-installed stuff and network resources which made things a little more complex but more manageable if you were actually working in an office full of NeXT boxes. OS X still has /usr and it still has pretty much the same meaning, but GUI apps live in a separate and more user-friendly domain.


Known on Windows world as xcopy install, due to the similar way MS-DOS software used to be bundled and everyone used xcopy instead of the pretty basic copy that didn't do recursive copies.

But sadly it doesn't present the nice object concept NeXTSTEP and OS X have.


Not advocating for one of the other, but they're not the same. /Apps is based on the application that supplied the files, /usr vs / is based on whether necessary to boot the OS, /bin vs /lib vs /share based on the file type.


Probably just more intuitive more than anything else. Someone without prior knowledge to the operating system (or even computers in general) and things like /Apps is really obvious where as /bin and /sbin understanding is really going to depending on how much someone knows about computers.


As far as I know, /Apps is for packages that ship with their own versions of shared libraries and everything else the program needs to run; all files are installed in one directory under /Apps, instead of where they actually belong in the Unix directory structure.


/bin and friends are for binaries only. For a full package you also want libraries, man pages, configuration files etc... Those are usually bundled as a .tar.gz which would ideally be the best way to bundle and distribute a program.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: