Next Up Previous Contents Index
System Administration

E.9 System Administration

E.9.1 Questions about PAM

E.9.1.1 Question

What is PAM? Why use it?

E.9.1.2 Answer

PAM is a standard adopted by other unices such as Solaris 2.6. For more information on PAM please read: http://www.redhat.com/linux-info/pam/

E.9.2 Questions about Secure Shell

E.9.2.1 Question

How can I setup Secure Shell (SSH) on my linux system?

E.9.2.2 Answer

Due to United States export restrictions on encryption technology, Red Hat Linux can not be shipped with ssh. The site ftp://ftp.replay.com has set up various downloads of ssh and PGP.

E.9.3 Problems with Linux finding all a machines RAM

E.9.3.1 Question

My machine has 128 Megs of RAM, however linux only sees 64 megs of it. What is going on, and how can I fix it?

E.9.3.2 Answer

There are a couple of things that could be causing Linux to not see all your memory. On some 386 systems you need to compile your kernel with `Limit memory to 16M?" enabled.

On most systems, the reason is that the BIOS has a limit of how much memory it will tell the OS is present in the machine, even though the board can have more. Common limits seen with this problem are 16M, 32M, 64M, and 128M. To get around this, we need to explicitly specify the amount of memory to the kernel at boot time via the mem=< actual memory goes here > flag.

In the following example, we have a 32M machine but only 16M are being seen by Linux. At the LILO prompt, we type:

LILO: linux mem=32M

After the machine boots, we use the free command to see if the larger amount of memory was recognized by the kernel. If so, we can add an append line to the /etc/lilo.conf file and rerun lilo to make it happen permanently. The example from above could look like the following:

boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.32
        label=linux
        root=/dev/sda1
        initrd=/boot/initrd-2.0.32.img
        read-only
        append="mem=32M"

Do not forget to run lilo after editing the file.

E.9.4 Problems with machine speed and large RAM

E.9.4.1 Question

I have over 64 Megs in my pentium or greater machine, however it seems sluggish when doing anything. If I tell Linux to use only 64Megs with the mem=64M machine, it seems to speed up. What is going on and can I do anything about it?

E.9.4.2 Answer

The most likely answer to this problem has to do with the motherboard of the computer. Many motherboards limit the L2 cache to be able to access up to 64 megs. The ones that we know of to be affected by this problem are the NX (I believe this was only for pentium 60-90), FX, VX, and TX boards from Intel. These are limited to a maximum of 512K of L2 cache. There may be other boards that have this problem, but these are our current canidates.

The following is from a user who researched the problem for us:

...typically have a maximum of 512k of L2 cache (either on the motherboard, or in a COAST module - looks a little like a DIMM, but a bit shorter) and can only cache up to 64 meg. If linux utilizes memory the same way as Microsoft OS's do, it goes from the top of the memory stack and works its way down. This can result in a pretty significant slowdown unless you really need the aditional memory. The exception to this was the HX chipset, which was also the only chipset (i think) that could handle dual or quad processor pentium boards (and even MMX). However, the vast majority of HX boards that I have seen also required a TAG-ram chip to cache over 64 meg, and still had a limit as to how much it could cache (the exact number escapes me at the moment).

There were ways around this - the most obvious being a non-intel based motherboard. The VIA motherboards are a good option here, and very often can be found with 1 meg of cache (or even, a little more rarely, 2 meg). These boards can cache between 512 and 1 gig of memory, depending on the exact variation of the chipset.

E.9.5 Red Hat 5.X problems with old applications

E.9.5.1 Question

I am trying to use an old application that is compiled with libc5 libraries. When I run it, I immediately get SEGV errors or similar problems. What is going on, and what can I do?

E.9.5.2 Answer

The problem with crashing libc5 applications can be due to several items:

  1. Before/after the upgrade, there was installed another version of libc that didn't get obsoleted by the upgrade process or placed libc5 libraries in a place that causes conflict.

    To find out if this is the case, do this:

    rpm -qa | grep libc
    

    It should produce output similar to this:

    glibc-devel-2.0.5c-12
    libc-5.3.12-24
    glibc-debug-2.0.5c-12
    rpm-2.4.10-1glibc
    rpm-devel-2.4.10-1glibc
    glibc-profile-2.0.5c-12
    glibc-2.0.5c-12
    

    If you see items like libc-debug-5.3.12-18 or libc-5.4.44-2, you will need to remove these packages (for example, rpm -e libc-debug) and run ldconfig -v

  2. Your /etc/ld.so.conf file has been changed from an optimal setting. For optimal loading, set your /etc/ld.so.conf file in the following order:

    /usr/i486-linuxaout/lib
    /usr/i486-linux-libc5/lib
    /usr/openwin/lib
    /usr/X11R6/lib
    

E.9.6 Problems with fstool

E.9.6.1 Question

When I run fstool, I get a message that says a partition seems to have been deleted and asks if I want to remove it from /etc/fstab.

E.9.6.2 Answer

The fstool program is not working properly with current versions of tcl and shouldn't be used. It should have been obsoleted, but slipped through the cracks.

First we will have to fix the /etc/fstab file since fstool may have corrupted it. The areas that seem to be changed by fstool are usually the cdrom and swap. Here are sample lines (note that you will need to change the actual partitions to match those on your system):

/dev/sda2           swap                swap    defaults     0 0
/dev/cdrom          /mnt/cdrom          iso9660 noauto,ro    0 0

You should now remove the fstool program using rpm:

rpm -e fstool

If you are running 5.1 or later, please use the linuxconf program.

E.9.7 Configuring the Jaz drive and Linux

E.9.7.1 Question

How do I configure my Jaz drive under linux?

E.9.7.2 Answer

Documentation on using Jaz with Linux can be found on the cdrom in (3) doc/HOWTO/mini/Jaz-Drive and on the system in /usr/doc/HOWTO/mini/Jaz-Drive.

E.9.8 Problems with Parallel Port Zip drive

E.9.8.1 Question

How do I use my parallel port zip drive?

E.9.8.2 Answer

Here's something you can try: edit /etc/conf.modules and add the following line to the others:

alias scsihostadapter ppa 

If you need to send the ppa driver any options about which LP is being used etc, you would add the line:

options ppa ppa=<options go here.>

For more information, check http://www.torque.net/paraport.

E.9.9 Problems with IDE Zip drive

E.9.9.1 Question

I'm having problems getting my IDE zip drive to work. Can I make it work with Linux?

E.9.9.2 Answer

First check and make sure there is a disk in the drive. Also, make sure you are mounting it as partition 4 instead of 1. An example would be hdc4. The reason for this is that the Macintosh uses partition 4 for its data partition and has problems if data is on another partition.

E.9.10 Intel SMP

E.9.10.1 Question

How can I enable Intel SMP support?

E.9.10.2 Answer

Due to the experimental nature of Linux on a dual processor Intel machine, Red Hat Linux doesn't currently support this hardware without a recompile of the kernel.

However, we encourage you to investigate Linux for the dual processor systems at (4) http://www.linux.org.uk/SMP/title.html

E.9.11 Problems with Red Hat 5.x, older applications and time

E.9.11.1 Question

Some of my older applications get the incorrect time.

E.9.11.2 Answer

Some libc5 apps want /usr/lib/zoneinfo, so you can either recompile them for libc6 or provide a symlink so that things will work:

ln -s ../share/zoneinfo /usr/lib/zoneinfo

Please also see check the Red Hat errata (http://www.redhat.com/errata) for other items.

E.9.12 More problems with time

E.9.12.1 Question

I have all the latest updates installed, but my programs still get the incorrect time.

E.9.12.2 Answer

If you have installed all the latest updates and you programs still get the incorrect time, try checking the settings in /etc/sysconfig/clock. They probably look something like this:

UTC=true
ARC=false

This means that Linux will assume that your BIOS clock is set to the UTC or GMT timezone. More than likely, the clock is set to your local timezone, and you need to change the UTC line to be:

UTC=false

E.9.13 What is on the 2nd cdrom

E.9.13.1 Question

During the install, I was not asked to use the 2nd cdrom. When I use the X program glint on it, it reports that there are no rpms, but when I look at the directories, I see lots of them. What is going on?

E.9.13.2 Answer

The 2nd cdrom in the Red Hat Linux boxed set contains the source code rpms (SRPM) for all of the Open Source applications that are on the first cdrom. From these source rpms, you can build all the Open Source applications we have in the distribution.

The reason that glint does not see source rpms is due to the fact that SRPMS are not stored in any of the RPM databases. This makes it almost impossible to tell if you have installed an src.rpm before or are over-writing an older version. Thus you will need to use the plain rpm command to install these items.

rpm -ivh < filename > will install the source code into the directory that the maintainer of that SRPM used. The data in src.rpms packaged by Red Hat are installed into /usr/src/redhat by default.

Rebuilding and improving on rpms is beyond the scope of this answer. The book Maximum RPM and the man pages are good sources of information on this.

E.9.14 Failure mounting CD-ROMS

E.9.14.1 Question

Linux recognizes my CDROM, but when I try to mount it, I get "mount failed" What do I do?

E.9.14.2 Answer

If your system was installed properly, simply typing mount /mnt/cdrom should work. If it does not, you must edit your /etc/fstab file. Here is an example of entry in /etc/fstab:

# For more details, see the fstab man page (ie, man fstab)
# CD-ROM device    directory      (filesystem type and options)
  /dev/hdc         /mnt/cdrom     iso9660 noauto,ro 0 0

To find out what the CD-ROM device is, type dmesg | less and scan it for information regarding your CD-ROM. If you wish to mount the CD-ROM without adding this to your /etc/fstab:

mount -t iso9660 /dev/hdc /mnt/cdrom

E.9.15 Booting Linux from floppy

E.9.15.1 Question

I have Linux installed on an IDE drive, and for whatever reason I need to boot from floppy. How can I boot my system from the install floppy?

E.9.15.2 Answer

If you have installed Linux onto an IDE hard-drive, you can boot from the installation floppy using the following method:

Insert the installation floppy and restart the machine. At the boot: prompt type the following:

vmlinuz root=/dev/hdXY
[Example: vmlinuz root=/dev/hdb5 ]

Where X = is the Linux drive letter and Y is the partition on the drive you installed the root (/) partition to.

E.9.16 Linux and Plug and Play

E.9.16.1 Question

I can't get my Plug and Play card to work.

E.9.16.2 Answer

The 2.0.xx kernels do not directly support the Plug and Play (PNP) protocol. You will need to either disable PNP on the card (via jumpers or card setup tools). You can also change your boot method to use Loadlin.exe from Windows (as windows would then have set up the PNP hardware).

Finally you can try using the isapnptools programs. First, type this:

pnpdump > /etc/isapnp.conf

This will create a configuration file that you will need to edit to choose the settings used for each card. Then type isapnp /etc/isapnp.conf to set up the devices.

See http://www.roestock.demon.co.uk/isapnptools/ for more information.

E.9.17 Problems with Sound Card

E.9.17.1 Question

I can't get linux to setup my sound card.

E.9.17.2 Answer

First make sure that your sound card is on the list of supported sound cards. Also, have you upgraded to the latest soundconfig, from here:

ftp://ftp.redhat.com/pub/sound/sndconfig/

You'll also need the latest kernel with sound module support. If you haven't already, you should download and install these packages.

The sound engineer recommends downloading the sound tools mentioned above and reporting problems to the sound-list@redhat.com (http://archive.redhat.com/) so that they can be worked on.

E.9.18 Unknown PCI messages

E.9.18.1 Question

When the system boots up, I see a message that says I have unknown PCI hardware. What does this mean?

E.9.18.2 Answer

The error "unknown PCI device" can occur for several reasons. The first and most harmless one is that PCI isn't responding to Linux's queries in a way it understands, but Linux is able to keep going. The more common occurrence is that the system hangs on querying PCI bus cards and cannot get any further.

Since this is a hardware problem in the kernel, there is not much that RedHat can do except point you to the maintainer of that section of the kernel. They may be able to let you know what is going on, and may want to look at what hardware you do have in your system so they can better handle it in the future. The maintainer can be reached at:

linux-pcisupport@cck.uni-kl.de

Please include the following information:

E.9.19 LILO and modules

E.9.19.1 Question

I used to be able to specify options to LILO: to get various hardware recognized. However, now those options don't seem to do anything. Why is this and what can I do?

E.9.19.2 Answer

Due to the fact that the kernels built by Red Hat after 4.0 use a modular kernel interface, many of the options that worked with either a different Linux or in Red Hat Linux prior to 4.0 no longer work. Instead you will have to supply items in the /etc/conf.modules file so that either kmod or kerneld will be able to load them correctly into kernel space.

E.9.20 Changing LILO default boot

E.9.20.1 Question

Currently when the machine boots, LILO defaults to running Linux. I would like it to boot my other operating system. How can I accomplish this?

E.9.20.2 Answer

To change the default OS that Linux boots into, you will need to edit the /etc/lilo.conf file and change the order of the OS's that LILO looks at. In the following example we change the order of booting so that DOS gets booted by default instead of Linux.

pico /etc/lilo.conf

# here is the old version

boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinuz-2.0.31 label=linux root=/dev/hda2 read-only other = /dev/hda1 label = dos table = /dev/hda

# change it to the following:

boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 other = /dev/hda1 label = dos table = /dev/hda image=/boot/vmlinuz-2.0.31 label=linux root=/dev/hda2 read-only

Save your changes to the file and leave the editor. Run the command:

/sbin/lilo -v

The updated lilo will then be written to the boot device. On a reboot, the machine will boot into DOS as default now instead of Linux, with a 5 second delay to give you time to choose linux at the boot prompt if you wish to boot to Linux.

E.9.21 Using RPM

E.9.21.1 Question

How do I use rpm? What are some general commands that I will use with this command? Also, for whatever reason, I think files have changed on my system but I don't know which ones. Can RPM help?

E.9.21.2 Answer

In general, normal usage of the rpm command can be summarized as follows:

Installation/Upgrading/Removal

To install a package: rpm -ivh < filename >

rpm -ivh somepackage.1.1-4.i386.rpm

To upgrade a package: rpm -Uvh < filename >

rpm -Uvh somepackage.1.1-5.i386.rpm

To remove a package: rpm -e < packagename >

rpm -ivh somepackage

Also for upgrading or installing some packages you may need to use additional flags to force the install happen. It is only recommended to use these if you know why these flags were needed:

--force  will overwrite files that are owned by other packages.
--nodeps will install even if the package needs packages that were
     not installed.

Querying

To see if a package is installed: rpm -q < packagename >

rpm -q somepackage

To get info on an installed package: rpm -qi < packagename >

rpm -qi somepackage

To list which files belong to a package: rpm -ql < packagename >

rpm -ql somepackage

To see what package a file belongs to: rpm -qf < path-to-filename >

rpm -qf /usr/bin/some_executable

One can usually join various query commands together, so rpm -qil will give info and list all the files in the package.

To look in a rpm file that isn't installed, simply add p to the query line:

rpm -qilp somepackage.1.1-4.i386.rpm 

This example will list the information and the files contained in somepackage.

More Advanced

More advanced usage can be found in the man page for rpm and at the web site, (5) http://www.rpm.org

Verification

To see what files on the system may have changed from their initial settings you can use RPM, to check up on them:

rpm -Va 

will give you a list of all files that have changed in one form or another since the package it is associated was installed. This can be a lot of files (and a lot may be changed due to post installation work). To just see what packages have changed so that you can verify them more individually, you can do the following:

rpm -Va --pipe "awk 'print 2' | xargs rpm -qf | sort -u" > /tmp/file1

Then look in the file /tmp/file1 for which packages have had changes from them.


Next Up Previous Contents Index