On Tue, 24 Jul 2012, Olivier Thauvin wrote:

Can't the switch be done online a perl/python/c programme, eg once the
programme is loaded everything can be done. Or by providing static
binaries of mv/rm/ln ?

There are of course 2 switches, /{lib,bin,bin,lib64} and /var/{run,lock} . AFAIK the latter can just be done "online" as long as all sockets can be moved. I'm not sure about the details of moving these special files, though.

Moving the lib and bin dirs can also be done in-place but /lib/ld.so will be unavailable for at most a few milliseconds so no new programs can be started until the symlink is created (unless you know it's broken and invoke the dynamic loader in /usr/lib(64) directly). Moving libc also breaks everything until you run ldconfig, and shell scripts can't start while /bin/sh is not there.


    Christiaan

Reply via email to