I believe ldd is part of glib, thus you should have it; but I didn't make a server install before and maybe I am wrong here. Anyway, I don't know how you installed your new libc, but if your /bin/sh is broken, chances are low that you will manage to do this task through aptitude. You may try:
* To download the jaunty libc deb for your architecture from http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/ and perform a local install using dpkg.
* To completely uninstall the package directly using dpkg with the appropriate force options and then install the older version.
Use `man dpkg' to browse available options. If anything of this works, then you can proceed to the upgrades.
Another option, if you have trouble to fix this error, which I haven't yet tried -be warned- but I believe is sound, is to perform a clean install of Lucid + a copy of your config/data as follows:
1. Backup everything in these directories (lets call it backup #1):/home
/etc
/root
/var
/srv
/usr/local
2. Get a list of all your additional packages. You can use this code snippet to get a list of all your currently installed packages; replace <filename> with the path of the actual file to store the list.
Code:
sudo -i
cd /var/lib/dpkg
cat status | awk 'BEGIN{RS="";FS="\n";ORS="\n"}{if($2~/ok installed|Essential: yes/) print substr($1,10,length($1))}' > <filename>
exit
Save this file; you 'll need it after the Lucid install.
3. Make the clean install of Lucid.
4. Then in your freshly installed system you can install all packages in a batch from the saved list; replace <filename> with the path of the actual file where the list was stored and <logfile> with the path to a logfile which you can later open to review the process:
Code:
sudo -i
touch <logfile>
while read package; do apt-get install ${package} | tee -a <logfile> ; done < <filename>
exit
Read the logfile and fix any errors before going to next step.
5. Make a backup of the same directories of your newly installed system (lets call it backup #2). You may need it if things get broken.
6. Then restore every file that makes sense from your backup #1, on top of the existing ones (ie do not remove them before). These will probably be:All of /home
All of /etc that you have changed yourself. If you can't figure out what you have changed, just copy them all.
All of /root
All of /var/log , /var/www , /var/mail , /var/local ; other directories inside /var should not be needed and better not override the newly installed ones.
I don't know about /srv; probably all, but you 'll have to judge yourself.
All of /usr/local
7. Test your new system. Note that since you upgrade 2 OS versions, there may be significant changes in the conf settings of some packages, both in /etc and in /home and you may have to manually arrange things. But I believe this would also be the case in the upgrade process anyway. If something is broken you have backups from both your old data and settings (backup #1) and the new ones (backup #2) and thus a way to compare versions and fix things.
Let me repeat once again (it never harms to do so ) that the alternative is to be considered experimental. If you have a production server, first try to fix things; only if you can't fix it start experimenting.
Bookmarks