On Wed, May 05, 2004 at 11:55:01AM +0800, Edward wrote: > Brian Hankins wrote: > > >I am having some trouble with rpm upgrades, while installing new > >packages works fine. This is what I see when running this: > ># rpm -Uvh package.rpm > >Segfault > > ..... > > However, nobody seems to have an answer. Is there a way to back up the > rpm database, completely remove the rpm rpm, then re-install it? Do not ignore the rescue abilities of CD#1. You may still be able to use a browser to download a clean copy the rpm's for rpm, glibc, beecrypt, bzip2-libs.... all the things rpm depends on. Then boot CD#1 in rescue mode. At this point "rpm --root DIRECTORY" will be your friend. Pay attention to where the rescue mode mounts your normal root directory. Remember that you cannot do the chroot thing because the bits in the chroot context are the busted bits. Since rpm is broken it is hard for you to see all that rpm depends on. This may help, an rpm wizzard might have a better list of rpm packages that rpm depends on. The odds are you still have them in /var/spool/up2date. I am not sure how to get an rpm package list, this exposes most of the bits. $ rpm -q --requires rpm /bin/sh /bin/sh beecrypt >= 0:3.0.0-2 config(rpm) = 4.2.1-0.30 fileutils libbeecrypt.so.6 libbz2.so.1 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.2.3) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.2) libelf.so.1 libelf.so.1(ELFUTILS_1.0) libpopt.so.0 libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.2) librpm-4.2.so librpmbuild-4.2.so librpmdb-4.2.so librpmio-4.2.so librt.so.1 popt = 1.8.1 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(VersionedDependencies) <= 3.0.3-1 shadow-utils Remember that rpm-*rpm only delivers a short list of things: $ rpm -q --provides rpm config(rpm) = 4.2.1-0.30 librpm-4.2.so librpmbuild-4.2.so librpmdb-4.2.so librpmio-4.2.so rpm = 4.2.1-0.30 This is why you may need to install glibc etc. Sometimes when things are broken you may have to remove then install the package. -- T o m M i t c h e l l /dev/null the ultimate in secure storage.