2

Is Yum designed in such a way (or is the underlying system) that you can safely upgrade a binary while it's running? For example, you have MySQL 5.5 and you run yum -y install mysql56-server to upgrade to MySQL 5.6 it doesn't generally complain. Does that mean it's OK to do so? Is it that any needed libraries or binaries are already loaded into the process's memory context?

2 Answers 2

5

Upgrading a package is going to change what is on disk, but will not change what is in memory already. You must restart the service in order for the new version of the binaries to be loaded.

Is it OK depends on the application. Will it try and dynamically load a library at some point that it hasn't already? Will that library still exist? Will the library have changed in a way and would no longer work?

If it is something (like mysql) that you care about, I can't think of a reason not to be safe and stop it before updating the package. Since the update isn't going to effect the running process until it is restarted anyways, it isn't like you've saved yourself from having to take the service down.

1
  • your answer is close....
    – mdpc
    May 7, 2014 at 21:37
2

Generally the way an update works is to delete and reinstall a new version of a file. As per standard UNIX/Linux, a deleted file is not necessarily removed until ALL open instances of the file are closed. Things running binaries being updated (beware of shared libraries) should not be affected.

Having said this.....However, if you are at all concerned about integrity, I'd stop associated critical operations and programs prior to upgrade.

Have a backup ready in any event if you really want to be prepared.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .