Как я могу размонтировать плохо монтирование?

Если Ваши инструменты являются сценариями, которые содержат команды как

 java -jar somejafile.jar

затем необходимо отредактировать их для содержания корректного пути

 java -jar /full/path/to/somefile.jar
5
10.06.2013, 18:47
3 ответа

Я настоятельно рекомендовал бы, чтобы перезагрузка чисто согласовала вещи.

Но если Вы против этого, попробовать umount -l.

2
27.01.2020, 20:41
  • 1
    umount -l /— Я только что протестировал, это на VM — является отличным способом, требуют перезагрузки. По крайней мере, если на самом деле rootfs. –  derobert 10.06.2013, 23:18
  • 2
    Вы не должны давать логический том... дают физический том, чтобы быть более конкретным! –  mdpc 10.06.2013, 23:30
  • 3
    Размонтирование всегда делается на точке монтирования, не устройстве (я предполагаю, что это - то, что Вы подразумеваете под "физическим томом" вместо "логического тома"). Проверить man 2 umount — фактический вызов к ядру дает точку монтирования. Когда Вы передаете устройство (или маркировка, или безотносительно) к /sbin/umount, программа переводит его в точку монтирования (через /etc/mtab, вероятно), и затем передача та точка монтирования к umount2. –  derobert 10.06.2013, 23:35
  • 4
    @mdpc, да, Вы делаете; смонтируйтесь ничего не знает о физических томах LVM. –  psusi 11.06.2013, 00:30

Монтирование чего-то на / скрывает все существующее монтирование. Для восстановления с этого Вам будет нужен некоторый путь к проблеме a mount или umount системный вызов как корень.

Если Вы работаете umount / с umount программа от vgpool-lvstuff7, это собирается перестать работать, потому что объем будет использоваться самой программой, делающей размонтирование. Я думаю umount -l будет работать: предположение, что нет других программ, работающих от vgpool-lvstuff7 (если будут, уничтожат их сначала), то объем будет размонтирован когда umount выходы.

Другой потенциальный подход должен играть с mount --bind и mount --move. Смонтируйте a tmpfs файловая система где-нибудь (mkdir /z; mount -t tmpfs scratch /z; mkdir /z/root) и попытайтесь копировать или создать a mount программируйте там, и выполнение mount --bind / /z/root. Объем vgpool-lvstuff7 затем будет доступно в /z/root. Я не уверен, можно ли переместить корневое монтирование в ту точку все же.

Если у Вас нет доступа к mount программа, это в порядке, пока у Вас есть способ получить корневую оболочку и к /proc. Можно получить доступ к исходному корню как /proc/1/root. Хотя это похоже на бесполезную символьную ссылку на /, это - на самом деле волшебная ссылка — разыменование, это приносит Вам к фактическому корневому разделу программы с PID 1 (init). Таким образом, Вы будете всегда иметь umount доступный в /proc/1/root/bin/umount.

Если Вы не имеете /proc, другой способ добраться umount программа должна была бы скопировать его с где-нибудь, или даже просто небольшой двоичный файл, который просто звонит umount syscall, или Вы могли вызвать syscall с некоторого интерпретируемого языка, такого как жемчуг.

1
27.01.2020, 20:41
  • 1
    +1 для /proc/*/root! я боюсь в данном случае однако, что это не могло бы быть возможно - после того как Вы монтируете фс только для данных по rootfs, Вы в значительной степени достигли тупика. –  peterph 11.06.2013, 12:02

Проверить /proc/mounts, нет df. Это появляется df перепутан (вероятно, потому что /etc/mtab является неправильным).

Если они были на самом деле оба смонтированы на /, затем df показал бы ту же статистику (размер, используемый, бесплатный, процент) для обоих.

0
27.01.2020, 20:41

Теги

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