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.
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
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.
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.
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.
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.
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?
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.
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?
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.
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.
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