Linux - команда mount возвращает ноль / 0, но не работает

Я предпочитаю использовать curlmyip.com, Это столь же просто как:

curl curlmyip.com

Это коротко и просто помнить.

6
13.02.2017, 11:15
3 ответа

Наконец нашел ответ здесь .

На самом деле проблема возникла из systemd-udevd , который пришел на смену оригинальному udev . systemd-udevd создает собственное зеркало корневой файловой системы, когда правило 'udev' монтирует устройство, оно монтируется и доступно из:

/proc/{PID of systemd-udevd service}/root/{path to mount point}

, но не видно из основной корневой файловой системы / . Вики

archlinux ( здесь ) предлагает:

Предупреждение: для монтирования съемных дисков не вызывайте монтирование из правил udev . В случае файловых систем FUSE вы получите ошибку «Транспортная конечная точка не подключена». Вместо этого вы можете использовать udisks , которые правильно обрабатывают автоматическое монтирование, или, чтобы монтирование работало внутри правил udev, скопируйте /usr/lib/systemd/system/systemd-udevd.service в /etc/systemd/system/systemd-udevd.service и замените MountFlags = slave на MountFlags = shared . [3] Однако имейте в виду, что udev не предназначен для вызова длительно выполняющихся процессов.

Решение:

Я скопировал /usr/lib/systemd/system/systemd-udevd.service в каталог / etc / systemd / sytem / и заменил ] MountFlags = slave от MountFlags = shared . затем перезапустил систему, и теперь все работает нормально.

0
27.01.2020, 20:30

Последовательность

mount ... | logger
rc=$?

работает не так, как вы ожидали: возвращаемое значение канала - это возвращаемое значение последнего элемента в этом конвейере.

$> false | true; echo $?
0

Если вы используете bash, попробуйте PIPESTATUS :

$> false | true; echo $? ${PIPESTATUS[0]}
0 1
$> true | false; echo $? {PIPESTATUS[0]}
1 0

PIPESTATUS - это переменная массива. Подробности на странице руководства bash. В других оболочках может быть что-то похожее на PIPESTATUS

1
27.01.2020, 20:30

В системе с systemd эта проблема может возникнуть, когда вы переформатируете раздел и попытаетесь смонтировать его обратно.

Я переместил диск с зашифрованного на незашифрованный, в результате чего systemd сгенерировал mnt-disk.mount в (, где mnt -disk — это путь монтирования из /etc/fstab )для ссылки на старый путь, который не больше не существует, в результате чего mountвыходит из строя.

Простое выполнение systemctl daemon-reload, а затем езда на маунта уже заставляют все работать.

11
24.03.2020, 04:55

Теги

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