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?

  • Freshmeat
  • SourceForge.net
  • Where are HOWTO and FAQ pages ?
    http://sunsite.unc.edu/LDP/HOWTO/HOWTO-INDEX-3.html#ss3.2
    http://metalab.unc.edu/pub/Linux/docs/faqs/Linux-FAQ/Linux-FAQ
    Where are the Xwindows GUI information and upgrades ?

    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!).
     

    1998-2008
    0009364 hits since July 15, 2000