Я работаю на двух виртуальных машинах под управлением Ubuntu 14.04. Итак, одна виртуальная машина является сервером, а другая - клиентом. Вот что я делал до сих пор:
Серверная ВМ:
sudo apt-get install nfs-kernel-server
sudo nano /etc/exports
Я добавил:
/home/mnt_dir *(rw,sync)
sudo chmod 777 /home/mnt_dir
service nfs-kernel-server restart
Клиентская ВМ:
sudo apt-get install nfs-common
sudo mount -v -t nfs server_ip:/home/mnt_dir /home/mnt_dir
и все нормально работает. Затем мне нужно размонтировать их, поэтому я запускаю команду на клиентской виртуальной машине:
sudo umount -l /home/mnt_dir/
Просто чтобы убедиться, что я снова запускаю указанную выше команду и получаю сообщение
umount: /home/mnt_dir: not mounted
Проблема в том, что, хотя я получаю вышеуказанное сообщение, изменения на одной виртуальной машине по-прежнему применяются к другой виртуальной машине, например, каталоги все еще смонтированы. Почему это происходит?
edit: Я заметил, что для правильной работы монтирования / размонтирования мне нужно запустить простую команду cd. Есть идеи по этому поводу?
Я заметил, что для правильной работы mount / umount мне нужно запустить простую команду cd. Есть идеи по этому поводу?
Если вы в настоящее время находитесь в каталоге, который находится в смонтированной файловой системе, и вы пытаетесь его размонтировать, вы обычно получаете сообщение об ошибке, что файловая система занята, в результате этого ее нельзя размонтировать, например.
$ umount: /mnt/data: device is busy
Обратите внимание на то, что говорится в документации unmount -l
это важно.
Когда вы выпускаете cd
команда без параметров имеет особое значение (которое вы можете найти в документации).
Итог cd
команда заключается в том, что файловая система становится не загруженной и ее можно размонтировать.