deleted glibc rpm, OS won't boot, getting kernel panic
Red HatThis forum is for the discussion of Red Hat Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
deleted glibc rpm, OS won't boot, getting kernel panic
I am running RHEL4 Update 4 32-bit with Oracle server 10.2.0.1.0 32-bit. I was attempting to upgrade my version of Oracle to 10.2.0.4.0, but the installer error out with this message:
/u01/app/oracle/product/10.2.0/bin/genclntsh
/usr/bin/ld: crti.o: No such file: No such file or directory
collect2: ld returned 1 exit status
genclntsh: Failed to link libclntsh.so.10.1
/u01/app/oracle/product/10.2.0/bin/genagtsh /u01/app/oracle/product/10.2.0/lib
I did some Googling and reread the install docs and found that I needed to install the following older versions of these rpms (I had a later version already installed, 2.3.4-2.25.i686):
glibc-devel-2.3.2-95.39.i386
glibc-2.3.2-95.39.i386
glibc-common-2.3.2-95.39.i386
glibc-headers-2.3.2-95.39.i386
I was trying to do a rpm -Fvh glibc-2.3.2-95.39.i386 to refresh the package to the older version, but I was getting a circular dependency between that and glibc-common-2.3.2-95.39.i386....in that I couldn't update one and have the other one still at the higher version of 2.3.4-2.25.i686.
I tried to force it, using --force but it still wouldn't let me do it. Then I tried rpm -e --nodeps glibc-2.3.2-95.39.i386, and the package deleted, but all went to hell. I could not open a new terminal, could not do an ls, could not ssh or scp from another server into this one. All I could do was cd around. So I tried to reboot my system and now I have a kernel panic and the OS won't boot.
I have a Knoppix CD that I used at that point to get in to the system. I found another posting on the internet that said to try to convert the rpms to debs and then reinstall the package using these commands:
The alien --to-deb part worked, but when I tried to do the dpkg -i part, it warned me that if I continue it would update files in the libc package. At this point, I had already broken the system enough and was afraid to continue. This is where I'm at right now.
I'm going to try to copy all the files from another server that has
glibc-2.3.4-2.25.i686 installed over to the broken server via a usbstick to Knoppix, although I'm not sure if this will help me at least be able to boot or not, because the rpm database will not know that the package is installed, only the files will be there that the package needs.
I'm looking for some advice as to what else I can try to do to restore my system...at least get it to boot back up again without using Knoppix. Or, what else can I do to restore this package I deleted?
Boot from a Fedora Live CD (or another live CD that has the RPM utilities available - you might be able to boot from the RedHat install CDs into a rescue mode), mount the old / /usr and /var filesystems (or just / if they're all on the same partition) to, say, /var/tmp/oldroot.
You can then re-install the glibc rpm with:
# rpm -ivh --dbpath /var/tmp/oldroot/var/lib/rpm --relocate /=/var/tmp/oldroot glibc.blahblahblah.rpm
Problem solved...Linux now booting! What ended up working was for me to copy all the files required by the deleted package from another server that had that package installed onto a USB stick, put the USB stick into the server that had Knoppix running, and paste the files in their correct directories, adding the softlinks in where needed.
I was then able to remove the Knoppix CD and the OS rebooted as normal. I did a "rpm -qa | grep glibc" after the computer came back up and it saw the glibc package I had deleted, but I still did a rpm -Uvh glibc-2.3.4-2.i686 and also did a rpm --rebuilddb.
Now I'm trying to install the glibc-devel-2.3.4-2.i686 package to see if that will install the crti.o file that I'm missing, and hopefully I can continue my Oracle install even though the glibc packages it requires per the documentation are a version higher than what it's supposed to be.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.