Linux filesystem layout
Mar. 27th, 2007 09:05 pmI've mentioned before what a shambles the linux file layout is. The proof is in the pudding. I've spent all day trying to get working a few things on my linux machine that took a couple of minutes installing on MSWindows... and I feel like I'm not much closer to getting it working than I was when I started. Gaaaah!
MSWindows is like a monstrous, rickety structure of patches upon patches, but linux is not much better with the file layout littered with legacy directories, and files that expect things to be in one place, but another thing expecting them elsewhere, and then you get all the different incompatibilities between many incremental versions... Oh boy!
Did I mention how much I hate working on computers?
MSWindows is like a monstrous, rickety structure of patches upon patches, but linux is not much better with the file layout littered with legacy directories, and files that expect things to be in one place, but another thing expecting them elsewhere, and then you get all the different incompatibilities between many incremental versions... Oh boy!
Did I mention how much I hate working on computers?
no subject
Date: 2007-03-27 11:09 am (UTC)no subject
Date: 2007-03-27 12:07 pm (UTC)and PIL (python Imaging Library) (done, though it wanted to go in the "wrong" place)
and pyODE (problems with the ODE library)
so that I can run pygame (keeps saying:
/lib/libc.so.6 exists, but I have no idea where or what glibc_2.4 is supposed to be... at least the system now recognises pygame is there... at long last)
and pyOpenGL (same error, but it's pyOpenGL that complains instead of libc.so.6)
and eventually renpy (gives essentially the same error as pygame)
After fighting with this all day I have managed to actually nut out a lot of stuff (with virtually no roadmap), but I'm still defeated.
Linux's file layout is not very logical when you start looking for binaries:
/bin
/sbin
/usr/bin
/usr/local/bin
/usr/sbin
/usr/X11R6/bin
/usr/lib/mut/bin
/usr/lib/endeavour2/bin
/usr/share/gprename/bin
/root/my-applications/bin
/root/my-applications/audacity/bin
/root/my-applications/xmms/bin
/root/my-roxapps/gimp_cvs/bin
/root/my-roxapps/gimpshop/bin
/initrd/bin
/initrd/pup_ro2/bin
/initrd/pup_ro2/sbin
/initrd/pup_ro2/usr/X11R6/bin
/initrd/pup_ro2/usr/bin
/initrd/pup_ro2/usr/lib/mut/bin
/initrd/pup_ro2/usr/local/bin
/initrd/pup_ro2/usr/sbin
/initrd/pup_rw/usr/X11R6/bin
/initrd/sbin
or you start looking for library files:
/lib
/lib/modules/2.6.16.7/lib
/root/my-applications/lib
/root/my-applications/xmms/lib
/root/my-roxapps/gimpshop/lib
/usr/X11R6/lib
/usr/X11R6/lib/X11/locale/lib
/usr/lib
/usr/local/lib
/var/lib
/var/local/lib
But you better hope you never have to go searching for some configuration file, because it could have any kind of name and be almost anywhere. [sigh]
I'm tired and weak... I came close to fainting earlier because concentrating on this I forgot to eat or wind down. I know I'll feel better about the change-over to linux later, but right now it is looking pretty damn ugly.
By the way, installing all those things on MSWindows took about 2 minutes (literally) and went without a hitch. I hate MSWindows for the way it makes a lot of things difficult, but gee wiz, I wish installations on linux were that simple. (Mind you, if I was using one of the big, bloated linuxes like Fedora or Mandriva or Ubuntu, instead of tiny little Puppy, it would possibly work fine.)
no subject
Date: 2007-03-27 09:25 pm (UTC)no subject
Date: 2007-03-27 11:54 pm (UTC)Puppy has dotpup installation packages and pupget as a package handler, unfortunately, because Puppy is a fairly new distribution many things don't exist as dotpup packages yet. The cool thing about dotpup packages is that they attempt to make software installation as straightforward as it is on MSWindows by running an install script that checks various things before installing the software. But, as I say, many things are not yet available as dotpup packages so I have to adapt stuff made for other distributions. I've been mainly using Fedora rpm packages. I uncompress them and work out where the contents go, copying them by hand, trying to make sure I put them where Puppy expects them.
Also I have to compile some things myself, which is fine when it works, but that is fraught with all kinds of delicate dependencies too.
It took me some time to work out that python has an odd way if working out what "site-packages" are installed. There are .pth files for some (but not needed for all -- still trying to understand why) of the Lib software it uses. Putting the .pth file didn't seem to actually do anything till I ran an obscure little python script called site.py... I can't find any of this documented prominently, I just stumble upon it in my obsessive way.
I don't know if I should give up on trying to get all this stuff working with Puppy. It would be nice, because Puppy is so lean and fast and the 3d stuff I want to do would work so much better on a machine where lots of power didn't get sucked by the OS.
But I have a Debian distribution on one of my machines. Maybe I should try doing this stuff on it. [sigh]
(Thanks for putting up with me rambling on... it honestly helps me get my head in order.)
no subject
Date: 2007-03-27 11:40 am (UTC)no subject
Date: 2007-03-27 12:09 pm (UTC)Thanks. I needed that. Brought a big, grin to my face.