Назад | Перейти на главную страницу

Mac OS X automount не монтирует записи fstab правильно

Я пытаюсь автоматически смонтировать общий ресурс Windows SMB в Mac OS X.

Первое, что я попробовал, это поместить записи только в /etc/fstab:

$ dgrant$ cat /etc/fstab
//darrengrant@d-grant/share    /pc/share    smbfs    nodev,nosuid

Это отлично работает, используя mount -a.

Но я хочу, чтобы мои диски монтировались всякий раз, когда машина включена. Но диски не монтируются, когда я перезагружаю компьютер. Я проверяю консоль и вижу следующее:

3/24/11 2:09:32 PM  com.apple.launchd[1]    *** launchd[1] has started up. ***
3/24/11 2:09:48 PM  com.apple.autofsd[50]   automount: Mount for //darrengrant@d-grant/share has no path for the directory to mount

Я могу воспроизвести это сообщение об ошибке в командной строке, просто используя sudo automount. думаю launchd звонки automountd, который устанавливает все в /etc/fstab. Файл /etc/auto_master содержит пару ссылок на fstab, так что это кажется разумным.

Я обнаружил ошибку «нет пути к каталогу для монтирования» в фактическом источнике для automountd, и кажется, что причина в отсутствии двоеточия в fstab строка между именем машины и именем каталога монтирования. Я заставил ошибку исчезнуть, добавив двоеточие к fstab как это:

//darrengrant@mypc:/share   /pc/share   smbfs    nodev,nosuid

Но после перезагрузки automount не работает с совершенно другим набором ошибок:

$ sudo automount -v
automount: /net updated
automount: /home updated
    [ pauses here for a couple of seconds ]
automount: /pc/share updated
automount: no unmounts              # looks good so far  ...

$ mount
....
map -static on /pc/share (autofs, automounted, nobrowse) # OK, a little different..

$ ls /pc/share
ls: share: Host is down     # fail.

На самом деле это не имеет особого смысла ... почему fstab не нуждается в двоеточии, а в automount? И в чем суть части "Хост не работает"? Возможно, некоторая путаница между сетевыми и локальными дисками?

Здесь небольшая путаница. mount читает /etc/fstab, и используется для вещей, которые должны быть установлены при загрузке системы.

automount читает /etc/auto_master, и используется для монтирования объектов только тогда, когда используется каталог, а не раньше. Обычно он используется для таких вещей, как домашние каталоги NFS, которые следует монтировать только тогда, когда они действительно нужны пользователю. Вы тоже можете это сделать, но /etc/fstab не где это делать.

Если вы просто хотите, чтобы ваш общий ресурс smb был смонтирован при запуске машины, все, что вам нужно, это то, что у вас уже есть в / etc / fstab, с парой ошибок, о которых вы должны знать.

  1. использовать soft вариант - в противном случае, если вы не подключены к сети, монтирование зависнет и ваша система не загрузится правильно
  2. похоже, вы подключаетесь без учетных данных. Если вам действительно нужны учетные данные в записи fstab, будьте осторожны, поскольку / etc / fstab обычно читается любым пользователем в системе, поэтому ваше имя пользователя и пароль, используемые для системы smb, будут открыты. Есть способы обойти это, отредактировав ~/Library/Preferences/nsmb.conf

malcolmpdx. То, что вы говорите, верно в теории и для всех предыдущих версий OS-X верно на практике. К сожалению, Каталина перестала обрабатывать fstab. Мне хотелось бы получить объяснение, почему, а лучше - решение.

Я управляю unix-боксами самых разных вкусов более 30 лет, и это изменение, мягко говоря, разочаровывает. В моем случае я пытаюсь смонтировать кучу общих ресурсов NFS при загрузке, так как мне нужно, чтобы они были доступны фоновым задачам - очень распространенная конфигурация для всех, кто приходит из мира Sun.

Любые рекомендации будут с благодарностью приняты.