How to upgrade glibc

Alessandro Rubini rubini at gnudd.com
Thu Apr 17 12:49:27 UTC 2008


> /lib# mount -o remount,rw /
> /lib# cp libc-2.5.so libc-2.5.so.new
> /lib# mv libc-2.5.so.new libc-2.5.so
> /lib# mount -o remount,ro /
> mount: mounting /dev/hda1 on / failed: Device or resource busy

That's interesting. Most likely the filesystem is pending a write
when the old lib will be closed.  It makes sense.

> /dev/hda1 was not cleanly unmounted, check forced.

The messages you show are definitely the removal of the old library.

> Below is an example of the "hard links" solution:
> [...]
> On the next reboot I have to delete /lib/libc-2.5.so.old

This is what I do not like...

> I am a bit confused: how do the Linux distributions handle this?

They don't work with read-only filesystems.

They unlink the old library, after changing the symlink in /lib .
The dangling file, pending a removal when finally closed, is not
a problem with r/w filesystems.

If you want to remount r/o, I fear you must clean up at next reboot
as you suggest.

/alessandro



More information about the busybox mailing list