How do things work in the Gnu/Linux world ?
When I was new to Linux I wondered if there was one central
headquarters where all projects are coordinated. There is
not one such place. The kernel work is tightly controlled. But,
the unix utilities and other applications are spread around the world.
Where do you find Linux applications?
Where are HOWTO and FAQ pages ?Freshmeat SourceForge.net
Where are the Xwindows GUI information and upgrades ?http://sunsite.unc.edu/LDP/HOWTO/HOWTO-INDEX-3.html#ss3.2 http://metalab.unc.edu/pub/Linux/docs/faqs/Linux-FAQ/Linux-FAQ
Typical newsgroups are:
news://comp.os.linux.help
news://alt.os.linux
news://comp.os.linux.setup
news://comp.os.linux.questions
news://comp.os.linux.x
If you want to find answers to problems, most questions
have already been asked and you can look up the
old answers that have been posted in newsgroups by
searching in: http://groups.google.com/
World-wide linux users are counted here: http://counter.li.org
Advanced Programming Tools are listed here:
http://www.rapidcharting.com/linux_tools.shtml
http://www.kernel.org has kernel changes.
http://www.gnu.org is the source of
the C/C++ compiler and all of the Unix utilities
upon which GNU/Linux is based.
Also check out complete Linux systems from Slackware, Caldera, Red Hat, SuSe, and many others listed at rpmfind.net.
Web Browsing from Linux:
Firefox is a free browser for Linux
http://www.firefox.com
Junkbuster has a method of speeding
up your browser by blocking internet banner ads.
Opera is a great browser (I switched
because the new Netscapes are taking too much memory)
I like how it handles pop-ups, throwing them in the background and new
frames are neater
and it is faster than Netscape/Mozilla.
I am now using Konqueror
because it came with my new www.suse.com
upgrade of Linux
which I downloaded from their site. I like it too. I'm still
using Netscape's html page composer.
Information to IS Managers about How and Why to Implement Gnu/Linux:
Providing
Reliable NT Desktop Services by Avoiding NT Server
by Thomas A. Limoncelli, Robert Fulmer, Thomas Reingold, Alex Levine,
Ralph
Loura,
Lucent Technologies, Bell Labs.
So, you downloaded a program and it complains about missing Libraries:
It is a pain to find information about this. Here is the answer:
Many programs use dynamic libraries to save the computer system from
wasting ram.
/usr/lib and /usr/X11/lib contain tons of dynamic libraries that have
names like .so.
in them. Static libraries which are used for building memory
wasteful versions
of programs end with .a and ldconfig -p (while you are root user) shows
all the dynamic
libraries that your system knows about. Here is a trick:
ldconfig -X builds a cache
to inform your system about new libraries because even if you see them
in /usr/lib,
they might not be known to your system. ldconfig (enter) rebuilds
all the symbol links
of libraries and builds the cache (just like -X). There is apparently
a base name which links
to a longer name with an extension to indicate the version of each
library. ldconfig creates
the links. If you upgrade the version of a library by finding it on
the internet and compiling
and building it, you must run ldconfig to tell your system about it
after you install it. My system
does not look in /usr/local/lib which is where most Makefiles install
libraries. Well, guess how
long it took me to discover why my additions of new libraries were
being ignored. You can
change /etc/ld.so.conf to search this subdir. But, I don't bother.
I just move them to /usr/lib
and delete the old versions and then run ldconfig. Be very
careful
of libraries in /lib. You
can easily freeze your whole system if you change one of these
incorrectly
(libc*.so* and some
other one are especially critical). I won't get into this here. I
successfully search for glibc
on http://rpmfind.net and it installs in /lib without trouble for the
last couple years.
I forget why I froze my system once, years previously.
ldd program_name (enter) is useful to tell you which dynamic library
is needed by your
program. If ldd says a library is not found, then search the internet
for it (good luck), install it,
delete the old version, if present and then run ldconfig to register
it.
You bought a Linux CD and you want to upgrade
without buying another one:
I often wondered which files I could safely touch and which ones I
should
not. Go to the special HOWTO pages for upgrading the /lib
libraries.
(Sept 2003: Lately I have great success using rpmfind.net instead of
compiling everything myself; mentioned below). The other ones I
explained above. It is also safe to download any of the
source code for executables in /sbin, /bin and /usr/sbin and /usr/bin
and
then compile by running ./configure -prefix=/usr (If you omit
-prefix=/usr,
they usually put the executable in /usr/local, which I don't like.) and
then run make and usually `make install' to install it (sometimes in
the
wrong place, ouch. But, ./configure --help (enter) let's you change
installation
targets and other variables). A new kernel source code is installed in
/usr/src. Usually you have to: tar xvzpf linux.tar.gz and then
link
the /usr/src/linux name to the new /usr/src/linux-2.2.12 subdir name
(with
this command: ln -s linux-2.2.12 linux) and then compile:
make menuconfig;make dep;make clean;make;make modules;make install;make
modules_install.
Where do you find these components? Look at the kernel link
above
and use a search
engine for keywords like "libplot & linux & tar" for finding
others. Or check the many other
links in my bookmarks file that I have shown. I am still learning
where to find certain libraries.
Sometimes it is a slow process to find them.
I've had great success with: http://rpmfind.net/linux/rpm2html/search.php
If you can't find them at rpmfind, then try this more general search
engine. Here is an example:
http://www.google.com/linux?hl=en&lr=&ie=ISO-8859-1&q=libaudio&btnG=Google+Search
Here is a great utility: If you can't find anything but RPM packages
and rpm doesn't work on your system (mine), then
rpm2cpio name.rpm |cpio -idumv
will convert them to cpio format and extract them.
This might be a better rpm convertor: alien (new to me Sept 2,
2007)
http://kitenet.net/~joey/code/alien/
The -t and -c options extract the installation scripts which might be
present in a rpm.
rpm2cpio does not do this, I think. My struggle with
Brother DCP130C linux print drivers drove me to alien.
Occasionally, my /etc/ld.so.conf file gets wiped out when I do a
/usr/lib library upgrade from rpmfind.net.
So go and make a copy to /etc/ld.so.conf.backup right now.
/etc/ld.so.conf lists the subdirectory names
of all the libraries which ldconfig needs to search. I lose my
/usr/X11/lib from the list and then X-windows
stops working with a message: can't find libX.so and I have to copy my
own /etc/ld.so.conf back in
place and then run ldconfig and then everything works again.
These little tips are a big time savings for you people. I hope you
appreciate it!
But then again, you are probably buying the CD upgrades. That's
ok too. I like RedHat, PLD,
Mandrake and SuSe and Slackware and others.
Some day I'll get into the nightmare of changing the /etc/rc.d
files. Mine are a little mangled in spots.
Upgrading the gcc C compiler:
September 2003: I never did find anything better than the above sites for doing upgrades. rpmfind.net is still doing the job for me. I am writing a quick note regarding upgrading the gcc compiler. It is time consuming to compile the compiler from sources at gnu.org. You must make some decisions regarding where include files and executables are located and what kind of compiler to create. I forget the details.
Anyway, I use rpmfind.net to grab executables and everytime I do it,
the c++ compiler is excluded and the latest /usr/include, header, files
are missing. A kind fellow at PLD Linux answered the question for me.
So here is
the answer. So I don't have to
search for their email every time: You must search for gcc, binutils,
libstdc++-devel, gcc-c++, glibc, glibc-deve and cpp (cpp means
pre-processor, not c++. gcc-c++ is the
C++ compiler!).