Mihamina RAKOTOMANDIMBY wrote: > Yes, but how to default the upgrade process to ("dont restart" && "dont even > ask")? > I *will* restart the services, but I will do it manually, in order to check > for functional regression. > Prior to the manual restart of services, I need to *blindly* upgrade glibc > without running the restart. Your best strategy is to restart those services manually first. Then if any of them have problems debug those problems. Make sure that your services restart correctly. Then upgrade libc. The libc upgrade will restart those again but since you just verified that they all restart correctly there won't be any problem with them. In a correctly functioning system those will be restartable at any time without problems. When libc is initially upgraded for the first time it will ask you if you want to restart services. You can answer yes or no at that time. But once that option has been set I don't know of a way to change it. As far as I know there isn't an option to prevent libc from restarting services later. The dialog answer is saved into /var/cache/debconf/config.dat where it looks something like this sample from my machine. Name: glibc/restart-services Template: glibc/restart-services Value: ssh samba postfix openbsd-inetd mysql incron cups cron atd Owners: libc6, libc6:amd64 Flags: seen I don't have a good test case at the moment so I don't know what needs to be done to trigger the reconfigure so that you could unselect everything. I assume that removing that section would be sufficient but did not test it. Meanwhile the actual script that does the work is the libc6:amd64 postinst script at /var/lib/dpkg/info/libc6:amd64.postinst and I recommend inspecting it. Basically it goes through a list of named services to check, running 'invoke-rc.d $service status' to see if it can restart it. If so then it later restarts the service. It looks to be possible to use that knowledge to avoid the restart by using the invoke-rc.d mechanisms such as policy-rc.d to avoid the restart. I think, not sure and didn't test, but I think that setting up a /usr/sbin/policy-rc.d with "#!/bin/sh" and "exit 101" as the only line would cause all restarts to be avoided. However while going to extended effort to avoid the restart it is possible that a simple mistake could make a big mess of it. If you decide to go that way test thoroughly with a victim system. I strongly recommend doing the first thing I suggested, if you are worried about it, which is to restart your critical services first and verify that you have a correctly functioning system. Then simply upgrade libc normally letting it restart what it wants. Doing unusual things to avoid it is more likely to cause a problem due to the fact that it is easy to make mistakes when doing unique one-off things. Bob
Attachment:
signature.asc
Description: Digital signature