Well, since a bunch of people will probably want to respond,
I'll try and wrap this one up quick swoop. (Show me my
ignorance if I really screw something up here, it's the only
way I learn.)
1) Source code can generally go anywhere on the system, though
some programs/source code will try looking in specific
directories for other source if it needs to link in. My rule
of thumb is any source that is system related should go into
"/usr/src" (i.e. kernels, pcmcia, sound drivers, etc.) User
program source goes into "/usr/local/src" (i.e. games, mp3
players, that latest window dohicky you can't live without.)
In the end though, it really doesn't matter to much since the
Makefile will undoubtedly place the executables and libraries
in predefined "bin" and "lib" directories.
2) There are a number of defined ways to place executables and
there is atleast 1 RFC defining the suggested layout of files
on a system (I can't recall the number off the top of my head).
And worse yet, every distribution seems to have their own
quirks in the layout scheme. So again, in general, the "sbin"
directories (/sbin, /usr/sbin) are for system executables (i.e.
fdisk). These are typically only executable for root and
specific daemons, not general users. The "bin" directories
(/bin, /usr/bin, /usr/local/bin) contain user executable
programs (i.e. editors, games, etc.) The "/bin" directory
contains the most general programs everyone uses and
"/usr/local/bin" contains the most machine specific programs.
Remember, this was all thought up in the context of an
integrated Unix network environment were you have not only your
local computer but many others that you can remotely log into
and run programs. That's were it makes the most sense.
In short, don't worry about it to much. I guess your probably
running a single user, local machine, so it doesn't matter much
at all. As for books, nearly all of the "Learn Linux Fast" (as
if you could ever do such a thing) books are the same. They
only give you a generalized Unix orientation. I'd suggest you
go out and get "Linux in a Nutshell", published by O'Reilly, it
lists nearly all the general commands for both user and system
programs as well as shell operation and a system overview.
Then start playing around and you'll figure out how things work
together. Hope it helps.
Adrian
From: [EMAIL PROTECTED] AT mime on 02/05/2000 01:08 PM
PST
To: [EMAIL PROTECTED] AT mime@CCMAIL
cc: (bcc: Adrian D Jensen/RWS/Raytheon/US)
Subject: Stupid damn questions.
Right, I can't find the answer to these in my Linux books -
they all seem to assume that you know a certain amount at
birth. They've got nowt to do with laptops, but someone here
should know the answers. Feel free to mail me off list if you
like to keep things on-topic. Here're the questions:
When you add a new app to Linux, you seem to always be invited
to put the code in /usr/src/<NewApp>. Is this for everything
(new kernels to games), or just for some things? Is there
anywhere else that source code goes?
And while I'm at it, what's the difference between /usr/bin/
and /bin/ and /usr/sbin/?
I know these are damn simple questions, but they've genuinely
got me stuck.
Anyone put me out of my misery?
Cheers,
Justin.