[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Another solution (was Re: All services that require a restart from libc6 upgrade...)



>>>>> "Steve" == Steve Robbins <steve@nyongwa.montreal.qc.ca> writes:
    Steve> During the upgrade to 2.1.4, the new libnss_* files get
    Steve> installed, but the old ones are left.  A running daemon
    Steve> with the old libc mapped should get the right libnss_*.so,
    Steve> is it not so?

It's a little more complicated than that.

At time A, demon start using old glibc.  Daemon may need NSS services
provided by the glibc package at some point but isn't currently using
them.

At time B, sysadmin upgrades glibc package.  This results in the
deletion of the old libc.so.6 and associated NSS shared libs.  Running
daemons don't care because they already have libc.so.6 open.

At time C, daemon attempts to use a NSS service.  Daemon attempts to
load library from disk, however, library no longer matches the
libc.so.6 the daemon is using due to the upgrade.  NSS service request
fails and daemon behaves mysterious and inexplicible ways.

To leave the old NSS libraries lying around, which I believe is the
core of your suggestion, would require fundamentally changing the
packaging system as the removal of old files is intrinsic to its
operation.

-- 
Stephen

"Run away!.. Run away!.."  %



Reply to: