• Linux Frequently Asked Questions with Answers (Part 4 of 6)

    From rkiesling@rkiesling@mainmatter.com to comp.os.linux.misc,news.answers,comp.answers on Tuesday, April 25, 2006 04:22:37
    From Newsgroup: comp.answers

    Archive-Name: linux/faq/part4
    URL: http://www.mainmatter.com/
    Reply-to: rkiesling@mainmatter.com
    Posting-Frequency: weekly
    Last-modified: 12/04/2001

    6.6. The Computer Has the Wrong Time.

    There are two clocks in your computer. The hardware (CMOS) clock runs
    even when the computer is turned off, and is used when the system
    starts up and by DOS (if you use DOS). The ordinary system time, shown
    and set by date, is maintained by the kernel while Linux is running.

    You can display the CMOS clock time, or set either clock from the
    other, with /sbin/clock (now called hwclock in many distributions).
    Refer to: man 8 clock or man 8 hwclock.

    There are various other programs that can correct either or both
    clocks for system drift or transfer time across the network. Some of
    them may already be installed on your system. Try looking for adjtimex (corrects for drift), Network Time Protocol clients like netdate,
    getdate, and xntp, or NTP client-server suite like chrony. Refer to:
    "How to Find a Particular Application.."

    6.7. Setuid Scripts Don't Seem to Work.

    That's right. This feature has been disabled in the Linux kernel on
    purpose, because setuid scripts are almost always a security hole.
    Sudo and SuidPerl can provide more security than setuid scripts or
    binaries, especially if execute permissions are limited to a certain
    user ID or group ID.

    If you want to know why setuid scripts are a security hole, read the
    FAQ for comp.unix.questions.

    6.8. Free Memory as Reported by free Keeps Shrinking.

    The "free" figure printed by free doesn't include memory used as a
    disk buffer cache--shown in the "buffers" column. If you want to know
    how much memory is really free add the "buffers" amount to "free."
    Newer versions of free print an extra line with this info.

    The disk buffer cache tends to grow soon after starting Linux up. As
    you load more programs and use more files, the contents get cached. It
    will stabilize after a while.

    6.9. When Adding More Memory, the System Slows to a Crawl.

    This is a common symptom of a failure to cache the additional memory.
    The exact problem depends on your motherboard.

    Sometimes you have to enable caching of certain regions in your BIOS
    setup. Look in the CMOS setup and see if there is an option to cache
    the new memory area which is currently switched off. This is
    apparently most common on a '486.

    Sometimes the RAM has to be in certain sockets to be cached.

    Sometimes you have to set jumpers to enable caching.

    Some motherboards don't cache all of the RAM if you have more RAM per
    amount of cache than the hardware expects. Usually a full 256K cache
    will solve this problem.

    If in doubt, check the manual. If you still can't fix it because the documentation is inadequate, you might like to post a message to comp.os.linux.hardware giving all of the details--make, model number,
    date code, etc., so other Linux users can avoid it.

    6.10. Some Programs (E.g. xdm) Won't Allow Logins.

    You are probably using non-shadow password programs and are using
    shadow passwords.

    If so, you have to get or compile a shadow password version of the
    programs in question. The shadow password suite can be found at ftp://tsx-11.mit.edu:/pub/linux/sources/usr.bin/shadow/. This is the
    source code. The binaries are probably in linux/binaries/usr.bin/.

    6.11. Some Programs Allow Logins with No Password.

    You probably have the same problem as in ("Some Programs (E.g. xdm)
    Won't Allow Logins."), with an added wrinkle.

    If you are using shadow passwords, you should put a letter `x' or an
    asterisk in the password field of /etc/passwd for each account, so
    that if a program doesn't know about the shadow passwords it won't
    think it's a passwordless account and let anyone in.

    6.12. The Machine Runs Very Slowly with GCC / X / ...

    You may have too little real memory. If you have less RAM than all the
    programs you're running at once, Linux will swap to your hard disk
    instead and thrash horribly. The solution in this case is to not run
    so many things at once or buy more memory. You can also reclaim some
    memory by compiling and using a kernel with less options configured.
    See ("How To Upgrade/Recompile a Kernel.")

    You can tell how much memory and swap you're using with the free
    command, or by typing:

    $ cat /proc/meminfo

    If your kernel is configured with a RAM disk, this is probably wasted
    space and will cause things to go slowly. Use LILO or rdev to tell the
    kernel not to allocate a RAM disk (see the LILO documentation or type
    "man rdev").

    6.13. System Only Allows Root Logins.

    You probably have some permission problems, or you have a file
    /etc/nologin.

    In the latter case, put "rm -f /etc/nologin" in your /etc/rc.local or /etc/rc.d/* scripts.

    Otherwise, check the permissions on your shell, and any file names
    that appear in error messages, and also the directories that contain
    these files, up to and including the root directory.

    6.14. The Screen Is All Full of Weird Characters Instead of Letters.

    You probably sent some binary data to your screen by mistake. Type
    echo '\033c' to fix it. Many Linux distributions have a command,
    reset, that does this.

    If that doesn't help, try a direct screen escape command.

    $ echo 'Ctrl-V Ctrl-O'

    This resets the default font of a Linux console. Remember to hold down
    the Control key and type the letter, instead of, for example, Ctrl,
    then V. The sequence

    $ echo 'Ctrl-V Esc C'

    causes a full screen reset. If there's data left on the shell command
    line after typing a binary file, press Ctrl-C a few times to restore
    the shell command line.

    Another possible command is an alias, "sane," that can work with
    generic terminals:

    $ alias sane='echo -e "\\033c";tput is2; \
    > stty sane line 1 rows $LINES columns $COLUMNS'

    The alias is enclosed with open quotes (backticks), not single quotes.
    The line break is included here for clarity, and is not required.

    Make sure that $LINES and $COLUMNS are defined in the environment with
    a command similar to this in ~/.cshrc or ~/.bashrc,

    $ LINES=25; export $LINES; $COLUMNS=80; export $COLUMNS

    using the correct numbers of $LINES and $COLUMNS for the terminal.

    Finally, the output of "stty -g" can be used to create a shell script
    that will reset the terminal:

    1. Save the output of "stty -g" to a file. In this example, the file
    is named "termset.":

    $ stty -g >termset

    The output of "stty -g" (the contents of "termset") will look
    something like:

    500:5:bd:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:73

    2. Edit "termset" to become a shell script; adding an interpreter and
    "stty" command:

    #!/bin/bash
    stty 500:5:bd:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:73

    3. Add executable permissions to "termset" and use as a shell script:

    $ chmod +x termset
    $ ./termset

    [Floyd L. Davidson, Bernhard Gabler]

    6.15. I Screwed Up the System and Can't Log In to Fix It.

    Reboot from an emergency floppy or floppy pair. For example, the
    Slackware boot and root disk pair in the install subdirectory of the
    Slackware distribution.

    There are also two, do-it-yourself rescue disk creation packages in ftp://metalab.unc.edu/pub/Linux/system/recovery/. These are better
    because they have your own kernel on them, so you don't run the risk
    of missing devices and file systems.

    Get to a shell prompt and mount your hard disk with something like

    $ mount -t ext2 /dev/hda1 /mnt

    Then your file system is available under the directory /mnt and you
    can fix the problem. Remember to unmount your hard disk before
    rebooting (cd somewhere else first, or it will say it's busy).

    6.16. I Forgot the root Password.

    Note: Incorrectly editing any of the files in the /etc/ directory can
    severely screw up a system. Please keep a spare copy of any files in
    case you make a mistake.

    If your Linux distribution permits, try booting into single-user mode
    by typing "single" at the BOOT lilo: prompt. With more recent
    distributions, you can boot into single-user mode when prompted by
    typing "linux 1," "linux single," or "init=/bin/bash."

    If the above doesn't work for you, boot from the installation or
    rescue floppy, and switch to another virtual console with Alt-F1 --
    Alt-F8, and then mount the root file system on /mnt. Then proceed with
    the steps below to determine if your system has standard or shadow
    passwords, and how to remove the password.

    Using your favorite text editor, edit the root entry of the
    /etc/passwd file to remove the password, which is located between the
    first and second colons. Do this only if the password field does not
    contain an "x," in which case see below.

    root:Yhgew13xs:0:0: ...

    Change that to:

    root::0:0: ...

    If the password field contains an "x," then you must remove the
    password from the /etc/shadow file, which is in a similar format.
    Refer to the manual pages: "man passwd," and "man 5 shadow."

    [Paul Colquhuon, Robert Kiesling, Tom Plunket]

    6.17. There's a Huge Security Hole in rm!

    No there isn't. You are obviously new to unices and need to read a
    good book to find out how things work. Clue: the ability to delete
    files depends on permission to write in that directory.

    6.18. lpr and/or lpd Don't Work.

    First make sure that your /dev/lp* port is correctly configured. Its
    IRQ (if any) and port address need to match the settings on the
    printer card. You should be able to dump a file directly to the
    printer:

    $ cat the_file >/dev/lp1

    If lpr gives you a message like myname@host: host not found" it may
    mean that the TCP/IP loopback interface, lo, isn't working properly.
    Loopback support is compiled into most distribution kernels. Check
    that the interface is configured with the ifconfig command. By
    Internet convention, the network number is 127.0.0.0, and the local
    host address is 127.0.0.1. If everything is configured correctly, you
    should be able to telnet to your own machine and get a login prompt.

    Make sure that /etc/hosts.lpd contains the machine's host name.

    If your machine has a network-aware lpd, like the one that comes with
    LPRng, make sure that /etc/lpd.perms is configured correctly. Also
    look at the Printing HOWTO. "Where can I get the HOWTO's and other documentation? ".

    6.19. Timestamps on Files on MS-DOS Partitions Are Set Incorrectly

    There is a bug in the program clock (often found in /sbin). It
    miscounts a time zone offset, confusing seconds with minutes or
    something like that. Get a recent version.

    6.20. How To Get LILO to Boot the Kernel Image.

    From kernel versions 1.1.80 on, the compressed kernel image, which is
    what LILO needs to find, is in arch/i386/boot/zImage, or
    arch/i386/boot/bzImage when it is built, and is normally stored in the
    /boot/ directory. The /etc/lilo.conf file should refer to the vmlinuz
    symbolic link, not the actual kernel image.

    This was changed to make it easier to build kernel versions for
    several different processors from one source tree.

    6.21. How To Make Sure the System Boots after Re-Installing the Operating System.

    This should work whether you're re-installing Linux or some other,
    commercial, operating system:

    * Insert a blank, formatted floppy in drive A:
    * Save a copy of the boot hard drive's Master Boot Record to the
    floppy, by executing the command:

    #dd if=/dev/hda of=/dev/fd0 count=1

    dd is a standard program on Linux systems. A MS-Windows compatible
    version is available from ftp://ftp.gnu.org/, as well as many MS
    software archives.
    * Test that the floppy boots the system by rebooting with the floppy
    in the A: drive.
    * 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).
    * After installation, boot Linux again from the floppy, and
    re-install the MBR with the command: /sbin/lilo.

    [Jacques Guy]

    6.22. The PCMCIA Card Doesn't Work after Upgrading the Kernel.

    The PCMCIA Card Services modules, which are located in /lib/modules/version/pcmcia, where version is the version number of
    the kernel, use configuration information that is specific to that
    kernel image only. The PCMCIA modules on your system will not work
    with a different kernel image. You need to upgrade the PCMCIA card
    modules when you upgrade the kernel.

    When upgrading from older kernels, make sure that you have the most
    recent version of the run-time libraries, the modutils package, and so
    on. Refer to the file Documentation/Changes in the kernel source tree
    for details.

    Important: If you use the PCMCIA Card Services, do not enable the
    Network device support/Pocket and portable adapters option of the
    kernel configuration menu, as this conflicts with the modules in Card
    Services.

    Knowing the PCMCIA module dependencies of the old kernel is useful.
    You need to keep track of them. For example, if your PCMCIA card
    depends on the serial port character device being installed as a
    module for the old kernel, then you need to ensure that the serial
    module is available for the new kernel and PCMCIA modules as well.

    The procedure described here is somewhat kludgey, but it is much
    easier than re-calculating module dependencies from scratch, and
    making sure the upgrade modules get loaded so that both the non-PCMCIA
    and PCMCIA are happy. Recent kernel releases contain a myriad of
    module options, too many to keep track of easily. These steps use the
    existing module dependencies as much as possible, instead of requiring
    you to calculate new ones.

    However, this procedure does not take into account instances where
    module dependencies are incompatible from one kernel version to
    another. In these cases, you'll need to load the modules yourself with
    insmod, or adjust the module dependencies in the /etc/conf.modules
    file. The Documentation/modules.txt file in the kernel source tree
    contains a good description of how to use the kernel loadable modules
    and the module utilities like insmod, modprobe, and depmod.
    Modules.txt also contains a recommended procedure for determining
    which features to include in a resident kernel, and which to build as
    modules.

    Essentially, you need to follow these steps when you install a new
    kernel.

    * Before building the new kernel, make a record with the lsmod
    command of the module dependencies that your system currently
    uses. For example, part of the lsmod output might look like this:

    Module Pages Used by
    memory_cs 2 0
    ds 2 [memory_cs] 3
    i82365 4 2
    pcmcia_core 8 [memory_cs ds i82365] 3
    sg 1 0
    bsd_comp 1 0
    ppp 5 [bsd_comp] 0
    slhc 2 [ppp] 0
    serial 8 0
    psaux 1 0
    lp 2 0

    This tells you for example that the memory_cs module needs the ds
    and pcmcia_core modules loaded first. What it doesn't say is that,
    in order to avoid recalculating the module dependencies, you may
    also need to have the serial, lp, psaux, and other standard
    modules available to prevent errors when installing the pcmcia
    routines at boot time with insmod. A glance at the /etc/modules
    file will tell you what modules the system currently loads, and in
    what order. Save a copy of this file for future reference, until
    you have successfully installed the new kernel's modules. Also
    save the lsmod output to a file, for example, with the command:
    lsmod >lsmod.old-kernel.output.
    * Build the new kernel, and install the boot image, either zImage or
    bzImage, to a floppy diskette. To do this, change to the
    arch/i386/boot directory (substitute the correct architecture
    directory if you don't have an Intel machine), and, with a floppy
    in the diskette drive, execute the command:

    $ dd if=bzImage of=/dev/fd0 bs=512

    if you built the kernel with the make bzImage command, and if your
    floppy drive is /dev/fd0. This results in a bootable kernel image
    being written to the floppy, and allows you to try out the new
    kernel without replacing the existing one that LILO boots on the
    hard drive.
    * Boot the new kernel from the floppy to make sure that it works.
    * With the system running the new kernel, compile and install a
    current version of the PCMCIA Card Services package, available
    from metalab.unc.edu as well as other Linux archives. Before
    installing the Card Services utilities, change the names of
    /sbin/cardmgr and /sbin/cardctl to /sbin/cardmgr.old and
    /sbin/cardctl.old. The old versions of these utilities are not
    compatible with the replacement utilities that Card Services
    installs. In case something goes awry with the installation, the
    old utilities won't be overwritten, and you can revert to the
    older versions if necessary. When configuring Card Services with
    the "make config" command, make sure that the build scripts know
    where to locate the kernel configuration, either by using
    information from the running kernel, or telling the build process
    where the source tree of the new kernel is. The "make config" step
    should complete without errors. Installing the modules from the
    Card Services package places them in the directory
    /lib/modules/version/pcmcia, where version is the version number
    of the new kernel.
    * Reboot the system, and note which, if any, of the PCMCIA devices
    work. Also make sure that the non-PCMCIA hardware devices are
    working. It's likely that some or all of them won't work. Use
    lsmod to determine which modules the kernel loaded at boot time,
    and compare it with the module listing that the old kernel loaded,
    which you saved from the first step of the procedure. (If you
    didn't save a listing of the lsmod output, go back and reboot the
    old kernel, and make the listing now.)
    * When all modules are properly loaded, you can replace the old
    kernel image on the hard drive. This will most likely be the file
    pointed to by the /vmlinuz symlink. Remember to update the boot
    sector by running the lilo command after installing the new kernel
    image on the hard drive.

    Also look at the questions, How do I upgrade/recompile my kernel? and
    Modprobe can't locate module, "XXX," and similar messages.

    6.23. How To Remove (or Change) the Colors in the ls Display.

    The shell command, "unalias ls," should completely unset the
    configuration that some distributions provide as standard. To change
    the colors, refer to the ls man page ("man ls").

    6.24. Why Won't a Program Work in the Current Directory?

    Because the current directory (i.e., ".") 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 /tmp, 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.,
    "./myprog," instead of "myprog." Or add the current directory to your
    PATH environment variable; e.g., "export PATH=".:"$PATH" using bash,
    although this is discouraged for the reasons mentioned above.

    7. How To Do This or Find Out That...

    7.1. How To Find Out If a Notebook Runs Linux.

    There's no fixed answer to this question, because notebook hardware is constantly updated, and getting the X display, sound, PCMCIA, modem,
    and so forth, working, can take a good deal of effort.

    Most notebooks currently on the market, for example, use "Winmodems,"
    which often do not work with Linux because of their proprietary
    hardware interfaces. Even notebooks which are certified as "Linux
    compatible," may not be completely compatible.

    Information about installing Winmodems in general is contained in the Winmodems-and-Linux HOWTO. (Refer to "Where Is the Documentation?")

    You can find the most current information, or ask other users about
    their notebook experiences, on the linux-laptop mailing list, which is
    hosted by the vger.redhat.com server. (Refer to "What Mailing Lists
    Are There?")

    A mailing list for Linux on IBM Thinkpads has its home page at http://www.topica.com/lists/linux-thinkpad/.

    Another Thinkpad mailing list is hosted by http://www.bm-soft.com/.
    Send email with the word "help" in the body of the message to majordomo@www.bm-soft.com.

    There is a Web page about Linux on IBM Thinkpads at http://peipa.essex.ac.uk/tp-linux/.

    The Linux Laptop home page is at http://www.cs.utexas.edu/users/kharker/linux-laptop/.

    For information about interfacing peripherals like Zip and CD-ROM
    drives through parallel ports, refer to the Linux Parallel Port Home
    Page, at http://www.torque.net/linux-pp.html.

    If you need the latest version of the PCMCIA Card Services package, it
    is (or was) located at ftp://cb-iris.stanford.edu/pub/pcmcia/, but
    that host no longer seems to be available. Recent distributions are on ftp://metalab.unc.edu/pub/Linux/kernel/pcmcia/. You will also need to
    have the kernel source code installed as well. Be sure to read the PCMCIA-HOWTO, which is included in the distribution.

    7.2. Installing Linux Using FTP.

    Most distributions are too large and complex to make FTP installation practical. Installing a basic Linux system that doesn't have a GUI or
    major applications is possible with FTP, however. The main
    non-commercial distribution in use is Debian GNU/Linux, and this
    answer describes an installation of a basic Debian system, to which
    you can add other Linux applications and commercial software as
    necessary.

    This answer describes installation on IBM-compatible machines with an
    Intel x86 or Pentium processor. You will need a machine with at least
    a 80386 processor, 8 Mb of memory, and about 100 Mb of disk space.
    More memory and a larger disk is necessary however, for practical
    everyday use.

    For other hardware, substitute "-arm," "-ppc," "-m68k," or other
    abbreviation in directory names for "-i386."

    For detailed and hardware-specific information refer to: http://www.debian.org/releases/stable/.

    * Connect using anonymous FTP to ftp.debian.org and cd to the
    pub/debian/dists/stable/main/disks-i386/current/ subdirectory.
    * Retrieve the binary image files for the rescue disk, and the
    drivers disk. Depending on the floppy drive installed on your
    machine, retrieve either the diskette images with "1200" in the
    names if you have a 1.2 Mb, 5.25-in. floppy, or the disks with
    "1440" in the name if the computer has a 3.25-in., 1.44 Mb floppy.
    Then retrieve the base system diskettes. Note that there are 7
    base system images in the 1.44-Mb set (which have a "14" in their
    names) , and 9 in the 1.2-Mb set of images (which have a "12" in
    their names). You will use these to create the basic installation
    diskettes. If you have a Linux machine, you can use dd to write
    the images to the diskettes. If you are creating the installation
    diskettes on a MS-DOS machine, also download the RAWRITE.EXE
    MS-DOS utility, which will copy the raw binary images to floppy
    disks. Also download the install.en.txt document, which contains
    the detailed installation instructions.
    * Create the installation disk set on floppies using either dd under
    Linux (e.g.: "dd if=resc1440.bin of=/dev/fd0"), or the RAWRITE.EXE
    utility under MS-DOS. Be sure to label each installation diskette.
    * Insert the rescue diskette into the floppy drive and reboot the
    computer. If all goes well, the Linux kernel will boot, and you
    will be able start the installation program by pressing Enter at
    the boot: prompt.
    * Follow the on-screen instructions for partitioning the hard disk,
    installing device drivers, the basic system software, and the
    Linux kernel. If the machine is connected to a local network,
    enter the network information when the system asks for it.
    * To install additional software over the Internet, be sure that you
    have installed the ppp module during the installation process, and
    run (as root) the /usr/sbin/pppconfig utility. You will need to
    provide your user name with your ISP, your password, the ISP's
    dial-up phone number, the address(es) of the ISP's Domain Name
    Service, and the serial port that your modem is connected to,
    /dev/ttyS0-/dev/ttyS3. Be sure also to specify the defaultroute
    option to the PPP system, so the computer knows to use the PPP
    connection for remote Internet addresses.
    * You may have to perform additional configuration on the PPP
    scripts in the /etc/ppp subdirectory, and in particular, the
    ISP-specific script in the /etc/ppp/peers subdirectory. There are
    basic instructions in each script. For detailed information, refer
    to the Debian/GNU Linux installation instructions that you
    downloaded, the pppd manual page (type man pppd), and the PPP
    HOWTO from the Linux Documentation project,
    http://www.linuxdoc.org/.
    * Once you have a PPP connection established with your ISP (it will
    be displayed in the output of ifconfig), use the dselect program
    to specify which additional software you want to install. Use the
    apt [A]ccess option to retrieve packages via anonymous FTP, and
    make sure to use the [U]pdate option to retrieve a current list of
    packages from the FTP archive.

    7.3. Resuming an Interrupted Download.

    You can use the "reget" command of the standard ftp client program
    after reconnecting to pick up where you left off.

    Clients like ncftp support resumed FTP downloads, and wget supports
    resumed FTP and HTTP downloads.

    7.4. Boot-Time Configuration.

    You can configure Linux at the lilo: prompt either by typing the
    kernel arguments at the BOOT lilo: prompt, or by adding an "append="
    directive to the /etc/lilo.conf file; for example:

    # At the LILO prompt (example only):
    BOOT lilo: parport=0x3bc,7 parport=0x3bc,none serial=0x3f8,4 serial=0x2f8,3

    # Example statement for /etc/lilo.conf:
    append="parport=0x3bc,none serial=0x3f8,4 serial=0x2f8,3"

    If you modify the /etc/lilo.conf file, be sure to run the lilo command
    to install the new configuration.

    Configuration notes for specific hardware devices are in the
    documentation of the kernel source distribution,
    /usr/src/linux/Documentation in most distributions.

    Refer to the lilo and /etc/lilo.conf manual pages, as well as the LDP BootPrompt-HowTo ("Where Is the Documentation?"), and the
    documentation in /usr/doc/lilo.

    7.5. Formatting Man Pages without man or groff.

    The man2html program translates groff text to HTML, which you can view
    with a Web browser. The man2html program, and many like it, are
    availble on the Web. Look for them with your favorite search engine.

    The unformatted manual pages are stored in subdirectories of /usr/man, /usr/local/man, and elsewhere.

    If you want to view text, use nroff and less. Both of these programs
    have MSDOS versions with an implementation of the man macro package
    available as well. An example would be:

    $ nroff -man /usr/man/man1/ls.1 | less

    If you know where to find a good implementation of the man macros
    without installing groff, please let the FAQ maintainer know.

    If the manual page filename ends in ".gz," then you'll need to
    uncompress it before formatting it, using gzip -d or gunzip. A
    one-line example would be:
    $ gzip -dc /usr/man/man1/ls.1.gz | nroff -man | less

    7.6. How To Scroll Backwards in Text Mode.

    With the default US keymap, you can use Shift with the PgUp and PgDn
    keys. (The gray ones, not the ones on the numeric keypad.) With other
    keymaps, look in /usr/lib/keytables. You can remap the ScrollUp and
    ScrollDown keys to be whatever you like.

    The screen program,
    http://vector.co.jp/vpack/browse/person/an010455.html provides a
    searchable scrollback buffer and the ability to take "snapshots" of
    text-mode screens.

    Recent kernels that have the VGA Console driver can use dramatically
    more memory for scrollback, provided that the video card can actually
    handle 64 kb of video memory. Add the line:

    #define VGA_CAN_DO_64B

    to the start of the file drivers/video/vgacon.c. This feature may
    become a standard setting in future kernels. If the video frame buffer
    is also enabled in the kernel, this setting may not affect buffering.

    In older kernels, the amount of scrollback is fixed, because it is
    implemented using the video memory to store the scrollback text. You
    may be able to get more scrollback in each virtual console by reducing
    the total number of VC's. See linux/tty.h.

    [Chris Karakas]

    7.7. How To Get Email to Work.

    For sending mail via SMTP (Simple Mail Transfer Protocol) and
    receiving mail from an ISP's POP (Post Office Protocol) server, you
    can use a desktop client like Netscape Communicator or KDE kmail. You
    will need to enter the names of the SMTP and POP servers in the
    preferences of the respective application, as well as your E-mail
    address (username@isp's-domain-name), and your dial-up password. The
    same applies to Usenet News. Enter the name of the NNTP (Network News
    Transfer Protocol) server in your News client's preferences section.
    You may also have to provide the IP addresses of the ISP's primary and secondary name servers.

    If you have a traditional MTA (Mail Transport Agent) like Sendmail,
    Smail, qmail, or Exim, you'll need to follow the instructions in each
    package. Basically, configuration entails determining which host
    machine, either on your local LAN or via dial-up Internet, is the
    "Smart Host," if you're using SMTP. If you're using the older UUCP
    protocol, then you'll need to consult the directions for configuring
    UUCP, and also make sure that your ISP's system is configured to relay
    mail to you.

    Information about Internet hosting, and News and E-mail in general, is available on the Usenet News group news.announce.newusers, and those
    FAQ's are also archived at ftp://rtfm.mit.edu/pub/usenet/.

    7.8. Sendmail Pauses for Up to a Minute at Each Command.

    Make sure that Sendmail can resolve your hostname to a valid (i.e.,
    parsable) domain address. If you are not connected to the Internet, or
    have a dial-up connection with dynamic IP addressing, add the fully
    qualified domain name to the /etc/hosts file, in addition to the base
    host name; e.g., if the host name is "bilbo" and the domain is
    "bag-end.com:"

    192.168.0.1 bilbo.bag-end.com bilbo

    And make sure that either the /etc/host.conf or /etc/resolv.conf file
    contains the line:

    order hosts,bind

    Caution: Do not change the "localhost" entry in /etc/hosts, because
    many programs depend on it for internal message-passing.

    Sendmail takes many factors into account when resolving domain
    addresses. These factors, collectively, are known as, "rulesets," in
    sendmail jargon. The program does not require that a domain address be canonical, or even appear to be canonical. In the example above,
    "bilbo." (note the period) would work just as well as
    "bilbo.bag-end.com." This and other modifications apply mainly to
    recent versions.

    Prior to version 8.7, sendmail required that the FQDN appear first in
    the /etc/hosts entry. This is due to changes in the envelope address
    masquerade options. Consult the sendmail documents.

    If you have a domain name server for only a local subnet, make sure
    that "." refers to a SOA record on the server machine, and that
    reverse lookups (check by using nslookup) work for all machines on the
    subnet.

    Finally, FEATURE configuration macro options like nodns,
    always_add_domain, and nocanonify, control how sendmail interprets
    host names.

    The document, Sendmail: Installation and Operation Guide, included in
    the doc/ subdirectory of Sendmail source code distributions, discusses
    briefly how Sendmail resolves Internet addresses. Sendmail source code
    archives are listed at: http://www.sendmail.org/

    [Chris Karakas]

    7.9. How To Enable and Select Virtual Consoles.

    In text mode, press the left Alt-F1 to Alt-F12 to select the consoles
    tty1 to tty12; Right Alt-F1 gives tty13 and so on. To switch out of X
    you must press Ctrl-Alt-F1, etc; Alt-F5 or whatever will switch back.

    However, If you have a non-PC compatible system, please see the note
    below.

    If you want to use a VC for ordinary login, it must be listed in
    /etc/inittab, which controls which terminals and virtual consoles have
    login prompts. The X Window System needs at least one free VC in order
    to start.

    [Note: The key sequence is actually Ctrl--Meta-- FN. On PC compatible
    systems, the right and left Alt keys are really synonymous with the
    keysymbols Meta_L and Meta_R. If the binding is different, you can
    determine what keys produce Meta_L and Meta_R with xkeycaps or a
    similar application.]

    [David Charlap]

    7.10. How To Set the Time Zone.

    Change directory to /usr/lib/zoneinfo/. Get the time zone package if
    you don't have this directory. The source is available in ftp://metalab.unc.edu/pub/Linux/system/admin/time/.

    Then make a symbolic link named localtime pointing to one of the files
    in this directory (or a subdirectory), and one called posixrules
    pointing to localtime. For example:

    $ ln -sf US/Mountain localtime
    $ ln -sf localtime posixrules

    This change will take effect immediately--try date.

    --- Synchronet 3.18b-Win32 NewsLink 1.113