LJ Archive

Best of Technical Support

Our experts answer your technical questions.

Unclean Shutdown Messes Up Large Directory

We have a directory containing a large number of small- and medium-sized files (approximately 100,000). When we installed Red Hat 8.0, we ran into a problem when the system has an unclean shutdown. We get a message about a too-large inode, and the system goes to single-user mode. The only way to repair this is to do an e2fsck, answering y. The directory is completely gone, and all the files are moved to the lost&found directory. This never happened under releases up through Red Hat 7.3. We were able to reproduce this on two different types of computers, both using Red Hat 8.0. We have the same problem using either ext2 or ext3 filesystems.


Joe Waytula


joseph.waytula@ipaper.com

What probably happened is that your system was powered off or crashed while you were writing to the directory. This causes the directory to be in an inconsistent state, and the directory is lost. Although ext3 is a journaling filesystem, it guarantees that your system will recover quickly, but not that no data can be lost. In this case, the data lost is your directory. ext2 and 3, without the hashed directory extension, don't like directories with that many files. It's slow, and as a result you have a big time window during which your directory can be potentially corrupted during a crash. I would recommend that you switch your filesystem to ReiserFS, XFS or JFS, as they all have better support for big directories.


Marc Merlin


marc_bts@google.com

Dell Laptop Hangs at Boot

I purchased a Dell D800 laptop with 256MB of memory and 30GB of hard disk. It also has an interchangeable CD-ROM and floppy. It came with MS WinXP installed, but, like my desktops, I wanted to have Red Hat Linux 8.0 on the rest of the disk. I allocated 6GB for Windows and proceeded to divide up the remainder of the disk for what Linux needed. I used GRUB to make the machine dual-boot between Windows and Linux. It looked like I could do everything just as I did with the desktops. The installation from CD-ROM went flawlessly. I did not make a boot floppy, because I did not want to switch out the CD-ROM at that point. However, after I congratulated myself on a smooth installation, when I tried to boot Linux, the machine stalled during the boot, but shortly after the boot started. The keyboard went dead and nothing would respond. The display did not go blank, but I had to turn the machine off and then on to reboot Windows. I tried re-installing twice afterward, but the same thing happened. It's as if an interrupt is stopping the machine. I've read about APM interrupts and laptops, but I am not sure what to do at this point. I really want Linux on my laptop.


Rob Borochoff


borochoff456@comcast.net

Whenever you have Linux questions about a specific laptop model, check out the excellent Linux on Laptops Web site: www.linux-laptop.net. It has a link to someone who has successfully installed Linux on this exact model, which will answer your questions on how to get Linux running properly on your hardware.


Greg Kroah-Hartman


greg@kroah.com

Try fetching or buying a copy of Knoppix (www.knoppix.com), which runs from the CD without installing, and see if it can boot, autodetect and autoconfigure your laptop's hardware. If it can, you have some valuable clues to use in configuring Red Hat or any other distribution. You might even find that you like running Knoppix straight from the CD or that you want to run its little installation program. I suggest it here because it currently has the best hardware autodetection and autoconfiguration.


Jim Dennis


jimd@starshine.org

termcap or terminfo?

I need to use an xterm in order to connect to a SCO machine. I can't find the definitions of the emulation. Does xterm use terminfo or termcap?


Aldo Gentile


agentile@lacapital.com.ar

All modern Linux distributions use ncurses, which uses terminfo rather than termcap. You might try running rxvt and using vt100 or vt220 as the terminal type.


Jim Dennis


jimd@starshine.org

There's More than One Way to Name Ethernet Cards

I have two Ethernet cards in the same machine. Is there a way to specify one card to be eth0 and the other to be eth1 always?


Ning Qian


nq6@columbia.edu

Yes there is. Look into the nameif program. It will name network devices depending on their MAC address. So, no matter which way the kernel probes your Ethernet cards, you always can name them the same way. Combine nameif with the hot-plug scripts (available at linux-hotplug.sf.net) and your network devices can be named properly whenever the device is found by the kernel.


Greg Kroah-Hartman


greg@kroah.com

There is an ether= kernel command-line parameter that can control the assignment of Ethernet device names and other resources for statically linked drivers, and there are command-line options and aliases in /etc/modules.conf to control them for loadable module drivers. The bootparam(7) man page (type man 7 bootparam from a terminal) provides details on the former; and the modules.conf(5) man page explains more than you will want to know about the latter.


Jim Dennis


jimd@starshine.org

If they are different cards, make sure you are using modules and select the order in /etc/modules.conf, like this:

alias eth0 e100
alias eth1 3c59x



Marc Merlin


marc_bts@google.com

LJ Archive