Best of Technical Support

Various

Issue #89, September 2001

Our experts answer your questions.

The Dreaded “LI” Problem

I put a second IDE hard drive in my PC and installed Mandrake Linux 8.0 on it. Now when I reboot, I have the dreaded “LI” problem, i.e., LILO displays only the first two letters of the LILO prompt. I believe the source of my problem is that I installed the second hard drive as slave on the secondary IDE. My boot partition (mounted as /) is hdd6.

—Frederic Mora, fmora@attglobal.net

Getting “LI” from LILO usually means that the first-stage boot loader was able to load the second-stage boot loader but has failed to execute it. This can either be caused by a disk's physical configuration inconsistency or because you moved /boot/boot.b without running the map installer. In practical terms, you indeed need to reconfigure /etc/lilo.conf to describe where (which disk) each partition is on your system. So, you need to reboot your system from a rescue disk and get into a root prompt so you can edit lilo.conf and point each element to where it is physically located (in accordance to the way your disks are identified: /dev/hdaX, /dev/hdbY, /dev/hddZ, etc.). After editing /etc/lilo.conf, run /sbin/lilo -v to write all to the disks and reboot. Look at the page www.fan.nb.ca/~aa126/troubleshoot-LILO.html for additional information on LILO.

—Felipe E. Barousse Boué, fbarousse@piensa.com

wu-ftp Won't Let Users in

I'm having some problems with logging on to the FTP server in my company. I've installed wu-ftpd and anonyftp to the server. The guest account has been created, but all the users are not able to log on to the FTP server. I'm sure that the password is correct.

—Alan Lim, alan_lim@astro.com.my

Check the log files in /var/log to see if they are telling you anything. You can use the -d flag in conjunction with wu-ftpd to increase the amount of logging. If you compiled the FTP dæmon yourself, check to see whether it is having problems with PAM or shadow passwords. It may not be sensing that this is required during the compile process. Please note that, in any case, this is a huge security risk. wu-ftpd is not designed to execute the chroot() function for normal user logins, meaning normal (nonanonymous) users will be able to access the entire system once they log in. You might want to consider fixing both issues at the same time by installing a more secure FTP dæmon such as ProFTPD or NcFTPD and configuring them to chroot() to the user's home directory.

—Chad Robinson, crobinson@rfgonline.com

Alan, please make sure that the shell account used with those users is listed in the wu-ftp configuration. Otherwise it will deny access even if the password is correct.

—Mario Neto, mneto@argo.com.br

I Have No Source and I Must make

I have installed or attempted to install almost every distribution available. The best install I have found is Mandrake 7.0, 7.1 and 7.2. The problem I have is I cannot get source code to install when I do configure. The system either gives me a syntax error or some file is missing. I've read all the read files, I have several books and I still can't find out what's wrong.

—Bill York, bill_york@pipeline.com

You should be able to install source files (such as the Linux kernel source) with RPM; just mount the source CD, cd to the directory containing the source RPMs, and use

rpm -i kernel-source-file.rpm

That should do it. Installing with RPM (in the case of Mandrake) is fairly easy, and it also takes care of most dependencies on other files. If you still get an error, then you probably need to install some other stuff before the actual file you are trying to install.

—Felipe E. Barousse Boué, fbarousse@piensa.com

Ignoring BOOTP Requests

I recently set up a DHCP server, and when I monitor the port I am seeing BOOTP requests that come from an old VAX system that gets its boot information from a machine on the other side of our router. Is there something I can turn off on my Linux box or configure to ignore those requests?

—Pat Derosa, pderosa@ap.org

Are the BOOTP requests actually causing problems or are they merely an annoyance in your log files? The ISC DHCP dæmon allows you to use the deny bootp option to ignore BOOTP clients, but that may not stop the server from logging the request. In that case, you may have limited options. You may be stuck with the message unless you are comfortable locating the line in the source code, commenting it out and recompiling the dæmon.

—Chad Robinson, crobinson@rfgonline.com

If you don't have “allow unknown-clients”, your DHCP server will not serve requests to machines that aren't explicitly listed by MAC address. Also, if you omit dynamic-bootp, your DHCP server will not serve bootp requests.

—Marc Merlin, marc_bts@valinux.com

Adding Services from Kickstart

In writing the post installation part of my Red Hat 7.1 Kickstart file, I would like to add services such as ypserv and autofs automatically. How can I do it?

—Sowmya, sowms@yahoo.com

chkconfig would be the way to do it. Do a chkconfig --help and see all the options you can. For instance, add nfs to start automatically at run level 3 with

chkconfig --level 3 nfs on

—Felipe E. Barousse Boué, fbarousse@piensa.com

Slow Mail Server

We are experiencing a long delay in resolving the request at the server when checking for mail. At times it is instant (seldom) and at others it times out (taking more than four minutes). We have tried with different setups of “hosts, DNS” and “DNS, hosts”, assuming it was trying to resolve the querying address. When a dial-up connection is made they are assigned an IP address and DNS server.

The Internet (Squid) has no problems and works perfectly. It also seems that once a connection is made checking for mail, the next request is instant.

—Kevin, kevin@atom.co.za

You could use host mailserver and check the delay to see if it is DNS. You could use tcpdump and watch traffic to and from your mail server to see where the delay is (assuming it is not DNS).

—Christopher Wingert, cwingert@qualcomm.com

You should run tcpdump, or if you have it, ethereal, and snoop your connection. This will give you an idea if the DNS delay is from your side or possibly on the mail server's side.

—Marc Merlin, marc_bts@valinux.com

Need to Write to Windows Partitions

Although I have my three Windows partitions mounted in Linux, I only have write-access when logged on as root. I need to have write-access as myself so that I can run VMware. I have tried to change the permissions for these partitions using chmod while logged on as root, but the permissions don't change.

—Bill Freeto, wfreeto@earthlink.net

Use the uid and gid mount options (you also want “quiet” typically). A sample fstab entry for a vfat partition would look like this:

/dev/sda3      /drv/c          vfat
user,umask=002,uid=500,gid=500,quiet,low

More info can be found in the mount man page.

—Marc Merlin, marc_bts@valinux.com

That's Enough Disk Space for You

Is there any way that I could limit the size of a directory? I want to start a web-hosting server and limit some users to 100MB. How do I go about doing this?

—Jason Sidabras, sidabraj@msoe.edu

Take a look into the quota package for Linux. Part of this application resides in the kernel and must be compiled in or installed as a module. The other part is a user-space program that handles the actual control and notification aspects.

—Chad Robinson, crobinson@rfgonline.com

Look at the Quota mini-HOWTO: www.linuxdoc.org/HOWTO/mini/Quota.html.

—Marc Merlin, marc_bts@valinux.com

2.4.2 Panics!

I tried to upgrade my kernel to 2.4.2. When I rebooted I got a kernel panic. It said:

root fs not mounted
cannot open root device "301" of 03:01
Please append a correct root = "boot option"
kernel panic vfs:
unable to mount root file system on 03:01.

I used the same device as my other kernel, /dev/hda1, and I did a rdev to make sure that is right. I also went back into make xconfig and made sure that ext2 was compiled in and not a module.

—Michael Diaczyk, mdiaczyk@tampabay.rr.com

If you didn't somehow mess up the partition table or the actual disk data, you should be able to boot by passing a parameter to LILO at boot time. At the LILO: prompt, try typing

linux root=/dev/hda1

Once this works, edit your /etc/fstab to ensure that the entry for your root (i.e., /) partition is correct. Also ensure that the root= line in your /etc/lilo.conf points to the right partition.

—Scott Maxwell, maxwell@ScottMaxwell.org

Bad Module, Bad, Bad!

Is it possible for an errant module to mess up /proc files so that nobody can look at them without causing an oops? If the module forgets to free an interrupt when it is unloaded, then /proc/interrupts is gone. If it forgets to release I/O space, then /proc/ioports is defunct. If it calls unregister_chrdev with the module name misspelled (nobody would do that, right?), that destroys /proc/devices. When this sort of thing has happened, can the system be rescued or is rebooting the only option?

—Bill McConnaughey, mcconnau@biochem.wustl.edu

It's possible for an errant module to do anything—it's running as part of your kernel, after all. If I saw a problem like the one you're reporting, I'd reboot immediately. It's theoretically possible to fix the problem without rebooting by writing and installing another module that undoes the damage caused by the first one, but this is impossible in practice unless you happen to know exactly what went wrong—and it's not necessarily easy even then.

—Scott Maxwell, maxwell@ScottMaxwell.org