Do we need this crap on LWN?
Do we need this crap on LWN?
Posted Feb 22, 2007 6:09 UTC (Thu) by k8to (guest, #15413)In reply to: Do we need this crap on LWN? by mokki
Parent article: ESR's goodbye note
Realistically you can swap out libraries that are fundamental.
Programs that are already running already have the old library open, and new programs that depend upon the new library will open the new file. I have upgraded libc many times on Debian with nary a hitch. Deb addresses the all-at-once instant or nearly-instant changover between one coherent state and the next.
This _does not_ address the problem that a program may open a library late for whatever reason (SIGSTOP, dlopen), which usually results in a segfault but could be worse in some situations. It's plausible that this improvement might not look good from where you sit.
In practice though, Debian updates everything on the fly except the kernel and everything is fine. (A new kernel can of course be installed on the fly, but not loaded.)
Posted Feb 22, 2007 8:17 UTC (Thu)
by bojan (subscriber, #14302)
[Link] (3 responses)
However, from the thread, I gather that ESR booted his box without that crucial library. And or course, the system was hosed.
Posted Feb 22, 2007 14:03 UTC (Thu)
by k8to (guest, #15413)
[Link] (2 responses)
Maybe it got fixed in the 5 years or so since I gave up SuSE, but I assumed it had not given your above comments.
I concur the problem here was rm important-file.
Posted Feb 22, 2007 14:05 UTC (Thu)
by k8to (guest, #15413)
[Link]
Posted Feb 22, 2007 20:07 UTC (Thu)
by bojan (subscriber, #14302)
[Link]
Going back to something like Red Hat Linux 7.2, this worked just fine. Upgraded glibc (remotely) many times. I honestly cannot remember before that...
Posted Feb 23, 2007 7:11 UTC (Fri)
by mokki (subscriber, #33200)
[Link]
As I said the only time I (almost) hosed my system was when I installed a broken glibc. After that you can no longer start any programs and you have to hope you have enough of needed terminals/other programs open that still refer to the old working glibc to recover the situation. The worst thing is that with a broken glibc no distribution tools can install/restore you to safe state again.
AFAIK, this is a kernel feature. As long as there is something using an inode, the kernel won't let go. So, existing programs are OK and new ones pick up the new stuff. Upgrading things like glibc is safe with RPM in my experience (although you can have unexpected trouble if you update components of X11 while running yum from an X11 session, as X11 may die on update).Do we need this crap on LWN?
Right, the inode-based filesystem makes this (mostly) transparent. But rpm's approach to file updates (used to) prevent the update of base libraries from being achievable on running systems.Do we need this crap on LWN?
Oh, and I've certainly updated X from 6.8 through 7.1 while running it without a hitch. I'm still convinced dpkg handles this slightly better. But it may just be prejudice on my part.Do we need this crap on LWN?
> But rpm's approach to file updates (used to) prevent the update of base libraries from being achievable on running systems.Do we need this crap on LWN?
Swapping of glibc at runtime works nicely on all distributions.Do we need this crap on LWN?