On Thu, Jan 12, 2017 at 1:06 AM, Michael Morak <michael.mo...@gmail.com> wrote: > Hi, > > I have a similar setup. The problem is that some of your services may still > have open handles on files that no longer exist after updating (i.e. the > service, when originally started, opened an .so library file that it needs > to run, but the file then gets deleted or replaced during the emerge -u). > Simply restart all services (and other running programs) that have locks on > files that were updated. > > The reason those files do not show up in your lsof command is that they may > not be open for writing but only for reading. A read lock on a file may > still give you the "/ is busy" message, since the open-for-read file cannot > be (fully) deleted while a running application still has a lock on it. You
I figured it would be something like that. But I don't understand the gory innards: process foobard requires a library foo.so. foobard was started when / was ro. Then / is mounted rw and a new version of foo.so is installed. Of course, foobard still uses foo.so (old). What prevents / to be remounted ro? foo.so (new) is already on disk, foo.so (old) is still being used, kept in RAM (I assume...) This is not a big problem to me, but I would like to have a better understanding. Thanks Jorge