It all goes back to unix, heck even windows has a unix like filesystem now in vista.
It all goes back to unix, heck even windows has a unix like filesystem now in vista.
HOME BUILT SYSTEM! http://brainstorm.ubuntu.com/idea/22804/ Please vote up!
remember kiddies: sudo rm -rf= BAD!, if someone tells you to do this, please ignore them unless YOU WANT YOUR SYSTEM WIPED
But thats what I'm saying. I'm no expert but wasn't Unix written for computers that were vastly inferior to what we are using today? I mean perhaps the way it was structured was so as to conserve space.
The truth may be out there, but the lies are already in your head.
I disagree. Although there is the old age if it ain't broke don't fix it like I identified originally there can be problems as it currently stands. If there is a single directory per program deleting a directory means I potentially comprimise one program. As it stands now I don't delete a directory i delete some obscurely named file which for all I know is what keeps my speakers working!
Yes that is probably a part of the reason, even DOS had something like our filesystem at some point.
But Unix in its original form was never targeted at desktop users, it was for servers.
On servers its not a good idea to have root files mixed in with user files, this is where the windows issues come in at.
Unix in its original form was the pinnacle of security thanks to its directory being different then most others, if an attack happened on the user level the core could still function like nothing happened.
HOME BUILT SYSTEM! http://brainstorm.ubuntu.com/idea/22804/ Please vote up!
remember kiddies: sudo rm -rf= BAD!, if someone tells you to do this, please ignore them unless YOU WANT YOUR SYSTEM WIPED
Windows is not half as simple as you made it out to be.
Sorry, that's wrong. Lots of settings get installed in Documents and Settings, let's see, in Windows XP, you have the Local Settings and Application Data folders, Local Settings stores IE's cache, whereas Application Data stores Opera's cache. I'm pretty sure there's the user registry file under Documents and Settings as well.
Program Files: not just for program files, but also for user files. This is mainly because Windows historically did not have a strong ownership and permission structure like Linux, and so a lot of programs stored their user information in Program Files. Opera, if you install it in single user mode, will put bookmarks and cache in there.
Windows: this contains much more than just the basic necessities to make this system work, this contains system32's dll hell, which means program files end up in both Program Files and Windows.
When you install programs in Windows, files are spread out across the entire filesystem. Only stand-alone .exe's don't do this. Try searching for stand-alone's and you'll find out there are quite rare on the Windows side. Why do you think setup.exe's are necessary? It's in order to spread out files!1. Lets say I install a program, if I do it with APT, or install a .deb package usually uninstalling it is a simple case of using apt-get or synaptic. However, when I compile a program from source (which is required by a lot of programs). I am left with a plethora of files spread out all over my hard drive. Why is this? Wouldn't it make more sense to have them all in one folder like in windows?
I know this isn't windows and I should use a different mindset but what is the benefit of spreading it out like this?
Windows tries to hide how complicated it really is by only providing three folders. Ubuntu tries to hide how complicated it really is by only showing a two folders: the home folder and the /media folder, and by always, always insisting on debs and the repository. Compiling from source was never meant for humans.
Again like I said I wasn't sure about windows. In any case my comparison with windows was only to get this discussion started. I don't care how Mac OSX or Windows works. I was clearly wrong and I accept that. What I am trying to understand is why is Linux so convoluted?
As Sunny points out Unix was designed for servers and so for security. Is this why it is the way it is currently? So the entire basis of linux is based on something that was originally designed for servers? Sure its safe, which is very important, but is it practical any more?
But in OS X, the applications are usually kept in a single folder. Sure, some applications has to be installed using Fink or Darwinports, but the applications that are made for OS X are each kept in a separate folder.
What is bad about this? I'd still like to have APT since it's very good, but to me the file structure of Linux is a bit strange and I agree that some parts seem unnessecary.
The file structure is "flatter" than Windows... That's all. If you open your Windows folder, you will find a complex array of directories, and none of it makes _any_ sense to my eye. I've played a lot with Win 3, and a bit with Win 95, and less with Win 98 and 2000, and haven't even looked at XP, but every iteration, this structure got more complex and inscrutable--like you said--"smart" users don't touch it.
However, the Unix directory structure is flatter, and much less inscrutable. In fact, it's very logical--if you know the logic. Yes, it is arbitrary, but, but it is also logical.
Others have mentioned the logic of the structure, but maybe a couple points would be helpful.
any folder named "bin" is where the main executable, binary code goes. "Share" is where shared libraries go. include is for compiling--at least in my experience(I understand include less than the others). etc. is for various configuration files.
All of these things are shared between applications, so, for instance, if you use multiple windows managers, they all know where to look for things. All the programs do, too.
Now, when it comes to the usr folder it's a bit different. BTW, usr is _not_ short for "user". That is the "home" folder's task. That's where all your personal files go, and the only place a user should think of putting things and looking. The system should take care of putting things in the other places, or, if you like using the command line to configure, to navigate that to manually configure things.
Now, the top level folders (/bin;/mnt:/dev;/opt;/etc, etc) are for the lowest level system items. Typically, other than X11 stuff, they all should be for use before you start X. It's all the real nitty-gritty stuff. For instance, your super basic command line tools will be in /bin and /sbin.
The real fun in Linux begins when you go into the /usr directory structure. Now, usr (Unix System Resources? or Uniform System Resource? I forget the exact acronym, but it's something like one of these--Google(R) it.) contains all the goodies that you need to make your copy of Unix yours. Oddly, I believe that Ubuntu kind of breaks a bit of Unix pattern in usr, because it puts the bulk of its binaries and such in /usr/bin, rather than /usr/local/bin, and all the libraries, etc. also go in /usr/ rather than /usr/local. I'm not really sure why, but in any case, it helps me, because when I compile something from scratch, I put it into /usr/local, which is almost empty except for my own mucking around, so I really can't complain.
However, another place to put your own "creations" is the /opt folder at root. It is "optional" you know.
So, as I said, there is logic--just not the Windows logic. Yes, Linux could (and Ubuntu, in particular could) create a "System" folder, and drop all of these into it--and, in fact, if you were savvy enough, you could do it yourself! But that would take away the simplicity and "flatness" that the directory structure has now.
Personally, I'm quite happy with the way things are.
(For the record, when I upgraded my Mac to OS X, I made all invisible files and folders visible, and began to explore what it was all about--that's when and where I learned all this stuff--however, my understanding has vastly deepened since installing Ubuntu, and beginning to actually compile from source! If you really want to begin to understand the whys and hows, I heartily recommend trying to compile some things from source--it will help you immensely.)
-Jon
[QUOTE=bogoliubov;5147850]But in OS X, the applications are usually kept in a single folder. Sure, some applications has to be installed using Fink or Darwinports, but the applications that are made for OS X are each kept in a separate folder. /QUOTE]
Well OSX still has some characteristics as linux does, it probably has its own share of unusual directories too.
Linux may seem convoluted, but its less convoluted if you know how it works.
Now as for the unix debate, yes it holds many standards that may seem out of date or impractical to people... but we are talking about a OS that is older then DOS, in fact UNIX is probably the oldest OS that is still in wide use today in some shape or form and that includes linux.
It is what works that matters here, and the unix standard is a good standard to live by.
HOME BUILT SYSTEM! http://brainstorm.ubuntu.com/idea/22804/ Please vote up!
remember kiddies: sudo rm -rf= BAD!, if someone tells you to do this, please ignore them unless YOU WANT YOUR SYSTEM WIPED
Bookmarks