(Пере) смонтировать все сетевые диски из fstab

12

Из Gentoo я помню отдельную /etc/init.dзапись для подключения сетевых дисков (то есть отдельно от локальных дисков). В Ubuntu есть umountnfs.sh, который используется во время выключения (чтобы обеспечить чистое размонтирование, пока сеть еще доступна), и который можно использовать для размонтирования всех (установленных в настоящее время) сетевых дисков.

Тем не менее, мне не хватает быстрого пути для

  • подключение всех сетевых дисков, /etc/fstabкоторые еще не подключены, и / или
  • перемонтируйте все сетевые диски (например, если были изменены учетные данные / права монтирования cifs).

Я бы предпочел стороннее решение, а не хакерскую оболочку в одну строку.

hans_meine
источник
2
Определите «однострочную оболочку». Будет ли это включать, mount -a -O cifsнапример?
Тердон
Спасибо, это действительно хороший ответ. Я только что узнал, что -tопция to mountможет использоваться совместно с -aтакой, что sudo mount -a -t cifsделает то, что мне нужно.
hans_meine
На самом деле, -Oнаверное, лучше. Держись, пиши это сейчас.
Тердон
Как мне поступить с этим вопросом? Пока вы давали ответ в своем комментарии, мне было интересно, должен ли я ответить сам? Должны ли вы дать официальный «ответ», который я могу принять? Должен ли я удалить вопрос?
hans_meine
Не стесняйтесь оставить свой собственный ответ. Это разрешено и поддерживается в сети обмена стека. Я также опубликовал свой, но это не значит, что вы должны испытывать давление, чтобы принять его, если вы предпочитаете не тот подход. Вы, конечно, можете принять его, если вы этого хотите;)
terdon

Ответы:

15

Вы ищете -tфлаг для mount. От man mount:

   -t, --types vfstype
   [...]

   More than one type may be specified in a comma  separated  list.
   The  list of filesystem types can be prefixed with no to specify
   the filesystem types on which no action should be taken.   (This
   can be meaningful with the -a option.) For example, the command:

            mount -a -t nomsdos,ext

Итак, эта команда смонтирует все cifsфайловые системы:

sudo mount -a -t cifs
terdon
источник
Я не понимаю, почему -Oв целом должно быть лучше, так как это зависит от того, какой параметр нужно установить в сетевых файловых системах. На самом деле, он не работает для меня (пока -tработает), поскольку не соответствует столбцу fstype.
hans_meine
@hans_meine Я исправлен, ответ отредактирован.
Тердон
Кажется, что на каждый вопрос, который спрашивает, как что-то сделать с помощью fstab, отвечает «use mount», а каждый вопрос об использовании mount говорит об использовании fstab. Люди, иногда эти вопросы здесь по причине. Если я монтирую сетевой диск с помощью fstab, это, вероятно, связано с тем, что для команды mount требуется root, и что даже если вы используете sudo, подключенные папки затем становятся OWNED root и, следовательно, читаются только всеми командами, которые также не выполняются с Судо.
Nuzzolilo
@Nuzzolilo, ОП требовал быстрого ручного монтажа всех сетевых креплений fstab. Конечно, ответ был mount, что еще это будет? Если у вас другой вопрос, задайте его вместо того, чтобы жаловаться на то, что ответы на чужие вопросы не отвечают вашим. Кроме того, нет причин, по которым rootдолжны принадлежать смонтированные каталоги и почему они должны быть только для чтения. Взгляните на mountсправочную страницу.
тердон
@terdon Откуда мне знать, что это должно быть? И так как вы спросили, да, я задавал свои собственные вопросы, не стесняйтесь отвечать на них, если вы думаете, что можете ответить на них.
Nuzzolilo
7

Я только что узнал, что -tопция mountможет быть использована в сочетании с -aтаким, что

sudo mount -a -t cifs

делает то, что мне нужно. ( sudo mount -a -t cifs -o remountработает также для перемонтирования после смены разрешения / пароля.)

hans_meine
источник