Read the manuals, or a good book on Unix and the manual pages (type man man). There is a lot of GNU Info documentation, which is often more useful as a tutorial. Run Emacs and type F1-i, or type info info if you don't have or don't like Emacs. Note that the Emacs libc node may not exactly describe the latest Linux libc, or GNU glibc2. But the GNU project and LDP are always looking for volunteers to upgrade their library documentation.
Anyway, between the existing Texinfo documentation, and the manual pages in sections 2 and 3, should provide enough information to get started.
As with all free software, the best tutorial is the source code itself.
The latest release of the Linux manual pages, a collection of useful GNU Info documentation, and various other information related to programming Linux, can be found on metalab.unc.edu/pub/Linux/docs/man-pages/.
See the ELF HOWTO by Daniel Barlow. Note that this is not the file move-to-elf, which is a blow-by-blow account of how to upgrade to ELF manually.
Linux has two different formats for executables, object files, and object code libraries, known as, ``ELF.'' (The old format is called ``a.out.'') They have advantages, including better support for shared libraries and dynamic linking.
Both a.out and ELF binaries can coexist on a system. However, they use different shared C libraries, both of which have to be installed.
If you want to find out whether your system can run ELF binaries, look in /lib for a file named, ``libc.so.5.'' If it's there, you probably have ELF libraries. If you want to know whether your installation actually is ELF you can pick a representative program, like ls, and run file on it:
-chiark:~> file /bin/ls /bin/ls: Linux/i386 impure executable (OMAGIC) - stripped valour:~> file /bin/ls /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1, stripped
There is a patch to get 1.2.x to compile using the ELF compilers, and produce ELF core dumps, at ftp://tsx-11.mit.edu/pub/packages/GCC/. You do not need the patch merely to run ELF binaries. 1.3.x and later do not need the patch at all.
The GNU glibc2 libraries are essentially more recent versions of ELF libraries that follow most of the same processes for dynamic linking and loading. Upgrade information is contained in (``How To Upgrade the Libraries without Trashing the System.'')
For distributions that use RPM format packages, use the command:
$ rpm -qa
You need to be logged in as root. You can save the output to a text file for future reference, a command like:
$ rpm -qa >installed-packages
For Debian systems, the equivalent command is:
$ dpkg -l
.gz (and .z) files are compressed using GNU gzip. You need to use gunzip (which is a symlink to the gzip command that comes with most Linux installations) to unpack the file.
.taz, .tar.Z, and .tz are tar files (made with tar) and compressed using compress. The standard *nix compress is proprietary software, but free equivalents like ncompress exist.
.tgz (or .tpz) is a tar file compressed with gzip.
.bz2 is a file compressed by the more recently introduced (and efficient) bzip2.
.lsm is a Linux Software Map entry, in the form of a short text file. Details about the LSM project and the LSM itself are available in the subdirectory on ftp://metalab.unc.edu/pub/Linux/docs/.
.deb is a Debian Binary Package—the binary package format used by the Debian GNU/Linux distribution. It is manipulated using dpkg and dpkg-deb (available on Debian systems and from ftp://ftp.debian.org//).
.rpm is a Red Hat RPM package, which is used in the Red Hat and similar distributions.
.sit is a compressed Macintosh archive made with StuffIt, a commercial program. Aladdin Systems Inc., the manufacturer of StuffIt, has a free expander utility that will uncompress these archives. You can download it at http://www.aladdinsys.com/expander/.
The file command can often tell you what a file is.
If you find that gzip complains when you try to uncompress a file, you probably downloaded it in ASCII mode by mistake. You must download most things in binary mode: ``get,'' to download the file.
Virtual File System. It's the abstraction layer between the user and real file systems like ext2, Minix and MS-DOS. Among other things, its job is to flush the read buffer when it detects a disk change on the floppy disk drive.
VFS: Disk change detected on device 2/0
``BogoMips'' is a combination of Bogus and Mips. MIPS stands for (depending on who you ask) Millions of Instructions per Second, or Meaningless Indication of Processor Speed.
The number printed at boot time is the result of a kernel timing calibration, used for very short delay loops by some device drivers.
According to the BogoMips mini-HOWTO, the rating for your machine will be:
Common BogoMips Ratings Processor BogoMips Comparison --------- -------- ---------- Intel 8088 clock * 0.004 0.02 Intel/AMD 386SX clock * 0.14 0.8 Intel/AMD 386DX clock * 0.18 1 (definition) Motorola 68030 clock * 0.25 1.4 Cyrix/IBM 486 clock * 0.34 1.8 Intel Pentium clock * 0.40 2.2 Intel 486 clock * 0.50 2.8 AMD 5x86 clock * 0.50 2.8 Mips R4000/R4400 clock * 0.50 2.8 Nexgen Nx586 clock * 0.75 4.2 PowerPC 601 clock * 0.84 4.7 Alpha 21064/21064A clock * 0.99 5.5 Alpha 21066/21066A clock * 0.99 5.5 Alpha 21164/21164A clock * 0.99 5.5 Intel Pentium Pro clock * 0.99 5.5 Cyrix 5x86/6x86 clock * 1.00 5.6 Intel Pentium II/III clock * 1.00 5.6 Intel Celeron clock * 1.00 5.6 Mips R4600 clock * 1.00 5.6 Alpha 21264 clock * 1.99 11.1 AMD K5/K6/K6-2/K6-III clock * 2.00 11.1 UltraSparc II clock * 2.00 11.1 Pentium MMX clock * 2.00 11.1 PowerPC 604/604e/750 clock * 2.00 11.1 Motorola 68060 clock * 2.01 11.2 Motorola 68040 Not enough data (yet). AMD Athlon Not enough data (yet). IBM S390 Not enough data (yet).
If the number is wildly lower, you may have the Turbo button or CPU speed set incorrectly, or have some kind of caching problem (as described in (``When Adding More Memory, the System Slows to a Crawl.'')
[Wim van Dorst]
There are a number of recent additions to the list of periodicals devoted to Linux and free software:
geek news. http://geeknews.cjb.net/. Headlines for articles about Linux, like the comp.os.linux.announce and Techweb postings, and general interest, like Associated Press stories.
Linux Gazette. http://www.linuxgazette.com/. This is the longest-running of the on-line periodicals, and the only one that publishes source code.
Linux Today. http://www.linuxtoday.com. News and opinion related to the Linux community, updated daily.
Linux Weekly News. http://lwn.net. News about the Linux community, updated weekly.
Slashdot. http://www.slashdot.org. News about the free software community and culture.
Freshmeat. http://www.freshmeat.net/. Notices of new and updated software for Linux and other free OS's.
Please send additions to this list to the FAQ maintainer.
[Jim Dennis, Robert Kiesling]
Linux is freely available, and no one is required to register with any central authority, so it is difficult to know. Several businesses survive solely on selling and supporting Linux. Linux news groups are some of the most heavily read on Usenet. Accurate numbers are hard to come by, but the number is almost certainly in the millions.
However, people can register as Linux users at the Linux Counter project, which has been in existence since 1993. In August, 1998, the project counted more than 70,000 users.
Visit the Web site at http://counter.li.org/ and fill in the registration form. If you don't want to use the Web, send E-mail to with the subject line, ``I use Linux at home,'' or ``I use Linux at work.''
The current count is posted monthly to comp.os.linux.misc, and is always available from the Web site.
[Harald Tveit Alvestrand]
In 1999, International Data Corporation released its first commercial forecast of Linux sales. The report quantifies Linux vendor sales in 1996, 1997, and 1998, and forecasts through the year 2003.
To obtain the report, contact IDC at . Their Web site is http://www.itresearch.com/.
The ``best'' of anything depends on your particular needs. Discussions like these frequently occur on Usenet. Most often they're flame bait. Answering is generally a waste of time. Free software licensing is unrestrictive enough, that, with a little experience, you can perform your own testing on your own hosts.
A better way to phrase a specific inquiry might be: ``Where can I find....''
This question produces an outrageous amount of heated debate.
If you want to hear Linus himself say how he pronounces it, download english.au or swedish.au from ftp.funet.fi/pub/Linux/PEOPLE/Linus/SillySounds/. If you have a sound card or the PC-speaker audio driver you can hear them by typing
$ cat english.au >/dev/audio
The difference isn't in the pronunciation of Linux but in the language Linus uses to say, ``hello.''
For the benefit of those who don't have the equipment or inclination: Linus pronounces Linux approximately as Leenus, where the ``ee'' is pronounced as in ``feet,'' but rather shorter, and the ``u'' is like a much shorter version of the French ``eu'' sound in ``peur'' (pronouncing it as the ``u'' in ``put'' is probably passable).