Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Is there a way I could get the RPM package manager
to install programs in preset directories?
In windows you can specify where you want the
program to be installed, but in linux all the programs
seem to be under /usr/bin in a rather big jumble,
and various other non-binary's are hidden under /usr/share
again in a not too orginized fashion.
I guess what i'm getting at is that I'd like a way to have
a modular system where every program would be in i'ts own
directory nicely set up in a orginized heirarchy like:
I thought of Linux from scratch but than reilized I'd have to use rpm's to reinstall everything, (or download about 200M)
so any advice on how to customize where things go?
you really should let go of your windows ways of thinking!
ok, so you have a seperate directory for every single app you install... so now to run any app from a console you have to have a path structure including every single one of these directories???? that's daft. but then i guess this also means you hate using consoles anyway, in which case things will probably just as awkward, as as soon as one app tries to call another (e.g. a wrapper application to another) it can't find it and you fall on your arse again.
linux uses directories for seperating and subdividing libraries, binaries, data files and various other things. go with the flow eh? it works an awful lot better that messing around. there's a reason things are the way they are
but if you insist, it's all in the RPM manpage. read it.
Still, I see an advantage to knowing what's where, so you can
remove / copy programs easily, instead of trying to find all the
About the problems you mentioned
i.e. a. having to type in the whole path
b. calling another app
you can always have links to all the binaries in /usr/bin,
and have the actual binaries in thier respective dir's.
One reason that MS Windows can do this is because of the registry. But this is also the one big drawback to MS Windows, the maintenance of the registry. If the registry is screwed up, then so is your system. UNIX/Linux doesn't use anything close to a registry because it simply doesn't need it, and you don't have to support that overhead.
As you would use rpm to install a package, you can use it to uninstall that same package. And what need would you have in copying a program?
The fs layout for UNIX/Linux is very well thought out. /bin, /lib and /sbin has the applications and libraries needed for boot. /usr/bin has the user level commands. /usr/sbin has superuser commands. /usr/lib has the libraries required to either run or build an application. /usr/local is the location for user installed packages. /opt is usually used for 3rd party vendor applications. /var has logs and such. And swap is a non-viewable, raw partition. /usr/man is generally for the online documentation. A place for everything and everything in its place.
As acid_kewpie stated, "go with the flow eh?" If you prefer the layout of MS Windows over Linux, stay with it. One of the things that makes UNIX/Linux as reliable as it is, is that very same fs layout that you would like to change. -mk
Yeah, but if you were so inclined to go through a sort of LFS install, making each program in it's own directory, and then follow with a symlink from each program, to a /usr/bin style directory, along with libs et all, you could accomplish such a task. And then it would be setup as you'd like. From then on, when you installed programs you'd have to follow the same scheme, and use only sources (which is a good thing though) and supply directories and such.
But it could be done, the work involved would not be worth it, but it could be done.