Logged into a VM today trying to help troubleshoot issues. There was nothing in /var/log! No Syslog!
Turns out that this phenomenon had occurred, where Linux will indeed let you mount on top of pretty much any directory, because after all, a directory is just a mount point as far as Linux is concerned.
But what happens to the files in original directory? I used to think they were lost. They're not. They're there, but shielded. They can be recovered, with a neat trick called a bind mount!
All described here! Learn something new every day.
A snippet of dialog from the link below:
https://unix.stackexchange.com/questions/198542/what-happens-when-you-mount-over-an-existing-folder-with-contents
Q. Right now /tmp
has some temporary files in it. When I mount my hard drive (/dev/sdc1
) on top of /tmp
, I can see the files on the hard drive. What happens to the actual content of /tmp
when my hard drive is mounted?
A. Pretty much nothing. They're just hidden from view, not reachable via normal filesystem traversal.
Q. Is it possible to perform r/w operations on the actual content of /tmp
while the hard drive is mounted?
A. Yes. Processes that had open file handles inside your "original" /tmp
will continue to be able to use them. You can also make the "reappear" somewhere else by bind-mounting /
elsewhere.
# mount -o bind / /somewhere/else
# ls /somewhere/else/tmp
No comments:
Post a Comment