почему я не могу размонтировать / домой?

10945
Mike

Я пытаюсь создать новый раздел в моей системе Linux, я собираюсь взять небольшое количество моей /homeфайловой системы и изменить тип для экспериментов. Я использую OpenSuse 12.1 в виртуальной коробке.

gparted показывает у меня следующие разделы:

Partition File System MountPoint Size Used ******************************************************** /dev/sda1 linux-swap 744.00MiB --- /dev/sda2 ext4 / 10.35GiB 5.16GiB unallocated 1.00MiB --- /dev/sda3 ext4 /home 28.92GiB 11.51GiB unallocated 1.00MiB --- 

Я вошел в систему, rootи мой CWD /, когда я пытаюсь umount /homeполучить:

umount: / home: устройство занято. (В некоторых случаях полезная информация о процессах, которые используют устройство, может быть найдена с помощью lsof (8) или fuser (1))

Когда я бегу, fuser -m /dev/sda3я получаю список хорошего размера: 1 303 311 594 649 672 692 696 700 738 754 786...

работает ps -eя могу найти эти процессы:

PID TTY TIME CMD 1 ? 00:00:00 systemd 303 ? 00:00:00 systemd-stdout- 311 ? 00:00:00 udevd 594 ? 00:00:00 systemd-logind 649 ? 00:00:00 systemd-logind 672 ? 00:00:00 avahi-daemon 692 ? 00:00:00 acpid 700 ? 00:00:00 haveged ... 

То, что я пытаюсь выяснить, это как действовать. Я думаю, что могу "форсировать" umount, но это кажется плохой идеей. Я могу убить все эти процессы, а затем выполнить размонтирование, но я не уверен, что это сработает.

Какие еще варианты у меня есть? Как мне отключить /homeдиск?

3

3 ответа на вопрос

2
terdon

You should boot into a rescue session using a Linux CD, or you can drop to a lower runlevel using init. It is not a good idea to unmount your $HOME while logged in.

You might also be able to do this if you log in as root (actually log in, not su or sudo). That way the /home partition is not needed and you will be able to unmount it. You will still have to make sure no one is accessing it (see next paragraph) and unmount it manually.

Finally, a useful tool is lsof /dev/sda3 which will list the processes currently accessing that partition. To kill all processes listed by lsof (careful, this may crash your system, depending on the process, but if this happens you should be OK after a reboot), do this:

kill `lsof /dev/sda3 | awk ''` 
Поскольку он работает в виртуальной коробке, компакт-диск становится проблематичным. `Вы также можете сделать это, если войдете в систему как root. Таким образом, раздел / home не нужен. Я вошел в систему как root, и я хотел избежать проблем таким образом, я пытаюсь выяснить, почему это не работает. Mike 11 лет назад 0
напрямую вошел как root. на машине не работает FTP. Я просто подозреваю, что проблема заключается в том, что при запуске команды `lsof` печатается куча дерьма, существует целый ряд механизмов ведения журнала (см. Мой вывод` fuser` в этом вопросе). Но опять ... чтобы убить их? Mike 11 лет назад 0
@Mike, CD не должен быть проблемой, см. Комментарий user1301428. Чтобы убить все процессы, обращающиеся к `/ home`, смотрите мой обновленный ответ. terdon 11 лет назад 0
0
user1301428

You have to be sure that no user is currently logged in in order to unmount a home partition. To do this you can either do that operation using a live distro, or you can try to login to your OS in console mode and login directly as root.

If you want to try this second option, you may find this question useful.

Да, я вошел в систему как root, в системе больше никого нет. Если вы можете подсказать, как использовать «живой дистрибутив» с Virtualbox, я мог бы попробовать. Mike 11 лет назад 0
@Mike, вам просто нужно выбрать iso-файл для загрузки из настроек VirtualBox. Измените порядок загрузки виртуальной машины, чтобы назначить более высокий приоритет загрузке с компакт-диска, а затем при запуске виртуальной машины она должна автоматически загрузиться с компакт-диска. user1301428 11 лет назад 1
0
steve

Обязательно выйдите из любых сеансов клиента Vsphere на ВМ. И стандарт, и веб-интерфейс. Затем используйте SSH для входа в систему как root, и вы сможете размонтировать раздел.

Похожие вопросы