Hi Jay, please don't reply to a mail (I guess to get the address of the list) if you want to ask a totally unrelated question like you did. This makes your mail appear in a thread where it doesn't belong. Changing the subject does not suffice. Thanks for your consideration. jay s <opensource22@yahoo.com> [Wed, 21 May 2003 08:33:13 -0700 (PDT)]:
1) I am also trying to learn system programming. Where I can find the source codes for the command line tools like ls, cp, mv, mount and other hundreds of commands.
You have to identify the package the tool belongs to. For installed files this is in most cases easily done by using rpm. First locate the file. It's an executable file (program, shell script etc.), use 'which': # which ls /bin/ls Now query rpm: #rpm -qf /bin/ls Another possibility would be pin. You may have to first install it from the CDs.
I have Suse 8.1 on my laptop. I could only find the kernel source code, which I am not interested in right now. Does the Suse CDS have it?
If you've got the professional version you also have the source code packages.
2) Another nagging question is, where do I install a new software? /usr/local, /opt or home dir?
If you don't want them to be overwritten by an installation or upgrade, you should install them to /usr/local.
I have installed all the software in my home dir. How do I make them available to other users?
By giving other users access to your home directory and the directory the programs reside in.
Who do I install them as, "root" or a "reqular user"?
If you install them anywhere else than your home you have to install them as root.
Do I have to differentiate between system software and application software?
Normally not.
3) How do I keep track of the software I installed? I mean, some applications are tar balls, others are rpms (binary and source). "rpm" system has a database of its own. What about the tarballs?
If you compile from tarballs and then use 'make install', there's no way to keep track. You could use a tool like chkinstall (which tracks what 'make install' does and will build a rpm package), but I'd strongly recommend to get familiar with rpm and learn how to write rpm spec files if the tar ball doesn't provide one.
What if I Install an rpm of an application and try to install the same application again using a tarball?
rpm won't know that you installed a new version. If you use the same paths, it's best to first remove the application via rpm and then install the new version. But as rpm doesn't know you installed it, it'll get overwritten the next time you do an update. Philipp -- Philipp Thomas work: pthomas@suse.de Development, SuSE Linux AG private: philipp.thomas@t-link.de