This commit is contained in:
gferg 2000-11-05 17:05:17 +00:00
parent de0f97b85f
commit bca1872c5c
1 changed files with 252 additions and 47 deletions

View File

@ -12,7 +12,7 @@
$Id$
Notes:
1. Commented out all <informaltable> entries and substituted
with <screen> with format better in the text version.
with <screen> which format better in the text version.
2. Indented all text between <screen> and </screen> to match
the text version. This should be modified in the stylesheet.
3. Need to substitute <programlisting> tags for <screen> where
@ -23,16 +23,17 @@
-->
<abstract>
<para>
This is the list of Frequently Asked Questions for Linux, the free,
POSIX compatible operating system kernel that runs on many modern
computer systems. Linux uses free, GNU system utilities and
This is the list of Frequently Asked Questions for Linux, the free
operating system kernel that runs on many modern computer systems.
The kernel source code documentation says that Linux ``aims for POSIX
compliance.'' Linux uses mostly free, GNU system utilities and
application software, although commercial programs are available also.
Originally written for 386/486/586 Intel/ISA bus machines, Linux
versions exist for Alpha, Sparc, MIPS, ARM, 680x0, PPC, and many other
platforms. (Please refer to the question, ``<xref
linkend="what-is-linux" endterm="what-is-linux">'' below.) This FAQ is meant
to be read in conjunction with the Linux Documentation Project's HOWTO
series. (``<xref linkend="get-linux-material-by-ftp"
versions exist for nearly every hardware platform in existence that is
capable of running it. (Please refer to the question, ``<xref
linkend="what-is-linux" endterm="what-is-linux">'' below.) This FAQ
is meant to be read in conjunction with the Linux Documentation
Project's HOWTO series. (``<xref linkend="get-linux-material-by-ftp"
endterm="get-linux-material-by-ftp">'' and, ``<xref
linkend="howtos-and-other-documentation"
endterm="howtos-and-other-documentation">'') The
@ -54,17 +55,18 @@ endterm="formats-which-faq">'')
<title id="what-is-linux">What Is Linux?</title>
<para>
Linux is the kernel of operating systems that look like and perform as
well or better than the famous operating system from AT&amp;T Bell Labs.
Linus Torvalds and a loosely knit team of volunteer hackers from
across the Internet wrote (and still are writing) Linux from scratch.
It has all of the features of a modern, fully fledged operating
system: true multitasking, virtual memory, shared libraries, demand
loading, shared, copy-on-write executables, proper memory management,
and TCP/IP networking.
well or better than the famous operating system from AT&amp;T Bell
Labs. Linus Torvalds and a loosely knit team of volunteer hackers
from across the Internet wrote (and still are writing) Linux from
scratch. It has all of the features of a modern, fully fledged
operating system: true multitasking, threads, virtual memory, shared
libraries, demand loading, shared, copy-on-write executables, proper
memory management, loadable device driver modules, video frame
buffering, and TCP/IP networking.
</para>
<para>
Most people, however, refer to the operating system kernel, system
software, and application software, collectively, as "Linux," and
software, and application software, collectively, as ``Linux,'' and
that convention is used in this FAQ as well.
</para>
<para>
@ -96,8 +98,8 @@ endterm="what-ports-to-other-processors-are-there">'',
below.
A list updated weekly is at:
<ulink url="http://www.lwn.net/">
<literal>http://www.lwn.net/</literal></ulink>
<ulink url="http://lwn.net/">
<literal>http://lwn.net/</literal></ulink>
An archive of many of the distributions is on line:
<ulink url="ftp://ftp.tux.org/">
<literal>ftp://ftp.tux.org/</literal></ulink>.
@ -160,7 +162,7 @@ various Linux archive sites, but in many cases, the size of the
distribution makes this impractical. (``<xref
linkend="get-linux-material-by-ftp"
endterm="get-linux-material-by-ftp">'') There are also a large number
of other releases which are distributed less globally that suit
of releases which are distributed less globally that suit
special local and national needs. Many of them are archived at
<ulink url="ftp://ftp.tux.org/">
<literal>ftp://ftp.tux.org/</literal></ulink>
@ -661,8 +663,37 @@ information, see
Topics of Current Interest.</title>
<sect2 label="2.1">
<title id="kgcc">
Should I use the Red Hat 7.0 <literal>kgcc</literal> compiler?
</title>
<para>
It's probably better to use one of the standard GCC releases. The
Free Software Foundation says that <literal>kgcc</literal>, a.k.a. GCC
2.96, contains extensions that produce object code which is not
compatible with previous versions of GCC, in addition to the normal
bugs found in development software. The FSF changed the version
number of their current development compiler to 2.97 to distinguish
them. The FSF's statement is at <ulink
url="http://www.fsf.org/gcc/gcc-2.96.html">
<literal>http://www.fsf.org/gcc/gcc-2.96.html</literal>
</ulink>. The latest stable GCC release is 2.95.2.
</para>
<para>
If you want standard development software and binary compatibility,
any recent, officially released GNU C compiler from versions 2.7.2
will work to compile the generic kernel.source code. You can download
source code distributions from one of the
<literal>kernel.org</literal> mirror sites. (Refer to: ``<xref
linkend="where-can-i-get-the-latest-kernel-version"
endterm="where-can-i-get-the-latest-kernel-version">,'' below.) The
source code package included with Red Hat 7.0 is kernel version
2.2.16, and is archived as <filename>linux-2.2.16.tar.gz</filename>.
</para>
</sect2>
<sect2 label="2.2">
<title id="linux-decss-and-other-dvd-software">
What Resources Are There for Linux DeCSS and Other Open Source DVD
What Resources Are There for Linux DeCSS and Other Open Source DVD
Software?</title>
<para>
There is a DeCSS Resource Site at
@ -677,7 +708,7 @@ Frontier Foundation, <ulink url="http://www.eff.org">
</para>
</sect2>
<sect2 label="2.2">
<sect2 label="2.3">
<title id="isp-privacy">
Where Is Information About Electronic Privacy Laws that
Affect ISP's?
@ -709,20 +740,24 @@ software.
</para>
</sect2>
<sect2 label="2.3">
<sect2 label="2.4">
<title id="docbook-version-of-the-faq">
How Is the DocBook Version of the FAQ Produced?</title>
<para>
At present, the Linux FAQ uses the OASIS DocBook SGML DTD. HTML
output is produced using James Clark's <application>Jade</application>
DSSSL parser with modified versions of Norman Walsh's modular style
sheets. Question numbers are generated with Perl. The text version
is formatted from HTML with <application>lynx</application>, and split
sheets. The segmented version is produced from Jade output using a
Perl program called <literal>faqinator</literal>. Question numbers in
the SGML markup are generated with Perl. The text version is
formatted from HTML with <application>lynx</application>, and split
into segments using the standard GNU text utilities, and the segments
are posted to Usenet. The DocBook utilities are located at
<ulink url="ftp://ftp.freesoftware.com/pub/sourceware/docbook-tools/">
<literal>ftp://ftp.freesoftware.com/pub/sourceware/docbook-tools/</literal>
</ulink>.
</ulink>. In addition, the Linux Documentation Project maintains
DocBook utilities. Refer to: ``<xref linkend="howtos-and-other-documentation"
endterm="howtos-and-other-documentation">''
</para>
</sect2>
</sect1>
@ -919,6 +954,12 @@ available from
are new to Unix and Linux.
</para>
<para>
The <citetitle>Linux Mobile Guide</citetitle> is an expanded version
of the <citetitle>Linux-Laptop-HOWTO</citetitle>. The URL is:
<ulink url="http://home.snafu.de/wehe/howtos.html">
<literal>http://home.snafu.de/wehe/howtos.html</literal></ulink>.
</para>
<para>
And, of course, a number of people have written documentation
independently of the LDP:
</para>
@ -1869,6 +1910,15 @@ the standard Majordomo help file that lists instructions for subscribing and
unsubscribing to the lists.
</para>
<para>
Currently, the kernel list is archived at:
<ulink url="http://www.uwsg.indiana.edu/hypermail/linux/kernel/">
<literal>http://www.uwsg.indiana.edu/hypermail/linux/kernel/</literal>
</ulink>, and
<ulink url="http://www.lib.uaa.alaska.edu/linux-kernel/archive/">
<literal>http://www.lib.uaa.alaska.edu/linux-kernel/archive/</literal>
</ulink>
</para>
<para>
Please do not post off-topic material to the mailing lists. Most of
them are used by Linux developers to talk about technical issues and
future developments. They are not intended for new users' questions,
@ -3534,7 +3584,7 @@ client, but there is a Java client at
<title>Solutions to Common Miscellaneous Problems</title>
<sect2 label="7.1">
<title id="ppp-connection-dies-when-sending">
PPP Connection Dies when Sending or Receiving Large Files.</title>
File Transfers over PPP Connections Seem to Hang.</title>
<para>
This is due, apparently, to some form of buffer overrun. It occurs
both with Linux and Microsoft servers. On Linux systems, The problem
@ -3568,11 +3618,11 @@ ftp stream tcp nowait root /usr/local/sbin/ftpd -l
</programlisting></para>
<para>
The replacement daemon will become effective after rebooting
or sending (as root) a <literal>SIGHUP</literal> to the daemon,
e.g.:
or sending (as root) a <literal>SIGHUP</literal> to
<literal>inetd</literal>, e.g.:
</para>
<para><screen>
$ kill -HUP inetd
# kill -HUP inetd
</screen></para>
</sect2>
@ -3940,8 +3990,13 @@ you make a mistake.</emphasis>
<para>
If your Linux distribution permits, try booting into single-user
mode by typing ``<literal>single</literal>'' at the
<literal>BOOT lilo:</literal> prompt. More recent distributions
still require a password. In that case, boot from the installation
<literal>BOOT lilo:</literal> prompt. With more recent
distributions, you can boot into single-user mode when
prompted by typing ``<literal>linux 1</literal>'' or
``<literal>init=/bin/bash</literal>.''
</para>
<para>
In that case, boot from the installation
or rescue floppy, and switch to another virtual console with
<keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>--
<keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo>,
@ -3976,6 +4031,9 @@ If the password field contains an ``<literal>x</literal>,''
then you must remove the password from the <filename>/etc/shadow</filename>
file, which roughly the same format.
</para>
<para>
&lsqb;Paul Colquhuon, Robert Kiesling&rsqb;
</para>
</sect2>
<sect2 label="7.17">
@ -4056,6 +4114,49 @@ several different processors from one source tree.
</sect2>
<sect2 label="7.21">
<title>How Do I Make Sure My System Boots after Re-Installing
the Operating System?
</title>
<para>
This should work whether you're re-installing Linux or some other,
commercial, operating system:
</para>
<itemizedlist>
<listitem><para>
Insert a blank, formatted floppy in drive A:
</para></listitem>
<listitem><para>
Save a copy of the boot hard drive's Master Boot Record to the
floppy, by executing the command:
</para>
<para><screen>
#dd if=/dev/hda of=/dev/fd0 count=1
</screen></para>
<para>
<literal>dd</literal> is a standard program on Linux systems. A
MS-Windows compatible version is available from
<ulink url="ftp://ftp.gnu.org/"><literal>ftp://ftp.gnu.org/</literal>
</ulink>, as well as many MS software archives.
</para></listitem>
<listitem><para>
Test that the floppy boots the system by rebooting with the floppy
in the A: drive.
</para></listitem>
<listitem><para>
Then you should be able to install the other operating system (on
a different hard drive and/or partition, if you don't want to
uninstall Linux).
</para></listitem>
<listitem><para>
After installation, boot Linux again from the floppy, and re-install
the MBR with the command: <filename>/sbin/lilo</filename>.
</para></listitem>
</itemizedlist>
<para>&lsqb;Jacques Guy&rsqb;</para>
</sect2>
<sect2 label="7.22">
<title id="upgraded-kernel-pcmcia-doesnt-work">
I Upgraded the Kernel and Now My PCMCIA Card Doesn't Work.</title>
<para>
@ -4235,6 +4336,40 @@ and Modprobe can't locate module, "XXX," and similar messages.
</para>
</sect2>
<sect2 label="7.23">
<title id="ls-colors">
How Do I Remove (Or Change) the Colors in the
<application>ls</application> Display?
</title>
<para>
The shell command, ``<literal>unalias ls</literal>,'' should
completely unset the configuration that some distributions provide as
standard. To change the colors, refer to the
<application>ls</application> man page (``<literal>man ls</literal>'').
</para>
</sect2>
<sect2 label="7.24">
<title id="programs-in-cwd">
Why Won't a Program Work in the Current Directory?
</title>
<para>
Because the current directory (i.e., ``<literal>.</literal>'') is not
in the search path, for security reasons, as well as to insure that
the correct program versions are used. If an intruder is able to
write a file to a world-writable directory, like
<filename>/tmp</filename>, presumably he or she would be able to
execute it if the directory were in the search path. The solution to
this is to include the directory in the command; e.g.,
``<literal>./myprog</literal>,'' instead of
``<literal>myprog</literal>.'' Or add the current directory to your
<literal>PATH</literal> environment variable; e.g.,
``<literal>export PATH=".:"$PATH</literal>'' using
<application>bash</application>, although this is discouraged for the
reasons mentioned above.
</para>
</sect2>
</sect1>
@ -5259,8 +5394,9 @@ exec /sbin/mingetty $@
<title id="more-than-128mb-of-swap">
How Can I Have More Than 128Mb of Swap?</title>
<para>
Use several swap partitions or swap files. Linux supports up to 16
swap areas, each of up to 128Mb.
Use several swap partitions or swap files. Linux kernels before
version 2.2 supported up to 16 swap areas, each of up to 128Mb.
Recent versions do not have this limitation.
</para>
<para>
Very old kernels only supported swap partition sizes up to 16Mb.
@ -5744,8 +5880,8 @@ publishes source code. </para></listitem> <listitem><para>
and opinion related to the Linux community, updated daily.
</para></listitem> <listitem><para> <citetitle>Linux Weekly
News</citetitle>.
<ulink url="http://www.lwn.net">
<literal>http://www.lwn.net</literal></ulink>.
<ulink url="http://lwn.net">
<literal>http://lwn.net</literal></ulink>.
News about the Linux community,
updated weekly. </para></listitem> <listitem><para>
<citetitle>Slashdot</citetitle>.
@ -6412,6 +6548,75 @@ them. The programs' documentation is contained in their manual pages.
</para>
</sect2>
<sect2 label="10.23">
<title><emphasis>programname: </emphasis>
<literal>error in loading shared libraries: lib</literal>
<emphasis>xxx.</emphasis><literal>.so.</literal>
<emphasis>x</emphasis><literal>: cannot open shared object file:
No such file or directory.</literal>
</title>
<para>
A message like this, when the program that you're trying to run uses
shared libraries, usually means one of two things: the program was
either compiled on a machine that had a different set of libraries
or library paths than yours; or you've upgraded your libraries
but not the program.
</para>
<para>
Executable programs that are linked with dynamic libraries, expect the
full pathname of each of the library files it requires. So do the
shared libraries, if they rely on other libraries. This is so
the shared object dependencies remain as unambiguous as possible, and
also as a security measure.
</para>
<para>
Short of recompiling the executable file for the libraries on the
system&mdash;probably the most desirable alternative in the long
run&mdash;you can try to determine which libraries the executable file needs
with the command: ``<literal>ldd
</literal><emphasis>programname</emphasis>.'' The output will be a
list of the shared libraries on the system that the program needs to
run, as well as the missing libraries. You can then add the library
packages, or if the libraries already exist in a different directory,
you can create a symbolic link so the program can find it. For
example, if the program requires /usr/lib/libncurses.so.2, and your
machine has /lib/libncurses.so.2, you can create a link where the
program expects to find the library; e.g.:
</para>
<para>
<screen>
# cd /usr/lib && ln -s /lib/libncurses.so.2 .
</screen>
</para>
<para>
You should note, however, that creating library links like these
should be considered a security risk, and the additional links you
create will not be compatibile with future upgrades. It's simply
a quick fix for backward compatibility.
</para>
<para>
Also, it may take some guesswork to determine in exactly which of the
system library directories the program expects to find a shared
library file, because <literal>ldd</literal> will not list the paths
of libraries it can't find. A program most likely will tell the
run-time linker, <literal>/lib/ld.so</literal>, to look for shared
libraries in <filename>/lib</filename>, <filename>/usr/lib</filename>,
<filename>/usr/local/lib</filename>, or
<filename>/usr/X11R6/lib</filename>, if it's an X client. But that
doesn't mean that libraries can't be installed elsewhere. It helps to
have some idea of the original library configuration before
proceeding.
</para>
<para>
Also be sure to run <literal>ldconfig</literal> after creating the
symbolic link, so that <literal>ld.so</literal> has an updated view
of the system's libraries. You should also make certain that all of
the library directories are listed in
<filename>/etc/ld.so.conf</filename>, and perhaps in the
<literal>LD_LIBRARY_PATH</literal> environment variable.
</para>
</sect2>
</sect1>
@ -6468,16 +6673,16 @@ Try to use the <command>XF86Setup</command> program, which
can help identify the
correct X server and monitor timings for the video hardware.
</para></listitem>
<listitem><para>
Make sure that the X server has the correct options. If you log in
as the superuser, you should be able to use
<literal>X --probeonly</literal> to
get a listing of the video card chipset, memory, and any special
graphics features. Also, refer to the manual page for the X
server. (E.g.; <literal>man X</literal>) Also, try running
the X server and redirecting the standard error output to a file so you can
determine what error messages the server is generating; e.g.,
<literal>X 2>x.error</literal>.
<listitem><para>
Make sure that the X server has the correct
options. If you log in as the superuser, you should be able to use
<literal>X --probeonly</literal> to get a listing of the video card
chipset, memory, and any special graphics features. Also, refer to the
manual page for the X server. (E.g.; <literal>man X</literal>), and
try running the X server and redirecting the standard error output to
a file so you can determine, after you can view text on the screen
again, what error messages the server is generating; e.g., <literal>X
2>x.error</literal>.
</para></listitem>
<listitem><para>
With that information, you should be able to safely refer to one
@ -6609,7 +6814,7 @@ is a window manager that
has many desktop environment-like features. It provides support for
GNUstep,
<ulink url="http://www.gnustep.org/">
<literal>http://www.gnustep.org/</literal></ulink> a clone of the
<literal>http://www.gnustep.org/</literal></ulink>, a clone of the
commercial NeXTStep environment.
</para>
</sect2>