web-dev-qa-db-ja.com

Mac OSXの自動マウントがfstabエントリを正しくマウントしない

Mac OSXでWindows SMB共有を自動マウントしようとしています。

私が最初に試したのは、エントリを/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を使用するだけで、コマンドラインでこのエラーメッセージを再現できます。 launchdautomountdを呼び出し、それは/etc/fstabにすべてをマウントすると思います。ファイル/etc/auto_masterにはfstabへの参照が1つか2つ含まれているので、それは妥当なようです。

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は必要なのですか?そして、「ホストがダウンしている」部分とは何ですか?ネットワークとローカルドライブの間に混乱があるのではないでしょうか。

3
cachvico

ここには少し混乱があります。 mount/etc/fstabを読み取り、システムの起動時にマウントする必要があるものに使用されます。

automount/etc/auto_masterを読み取り、ディレクトリが使用されるときにのみマウントするために使用され、以前は使用されません。これは通常、NFSホームディレクトリなどに使用されます。NFSホームディレクトリは、ユーザーが実際に必要な場合にのみマウントする必要があります。あなたもそれを行うことができますが、/etc/fstabはそれを行う場所ではありません。

マシンの起動時にsmb共有をマウントしたいだけの場合、必要なのは/ etc/fstabに既にあるものだけで、いくつかの注意点があります。

  1. softオプションを使用します-そうしないと、ネットワークに接続されていない場合、マウントがハングし、システムが正しく起動できなくなります
  2. 資格情報なしで接続しているようです。/etc/fstabは通常、システム上の誰でも読み取り可能であるため、実際にfstabエントリに資格情報が必要な場合は注意が必要です。そのため、smbシステムで使用されるユーザー名とパスワードが公開されます。 ~/Library/Preferences/nsmb.confを編集することでそれを回避する方法があります
1
malcolmpdx