2017年初のスタバに来ています。さすが平日。朝は人がいません。
年末大掃除でくじいた関係の部分がまだ痛くて、来週復帰できる気がしません。
automountしているディレクトリが、気がつくと接続できなくなる問題 (Sierra)
Mac の automounter 機能を利用して、samba サーバの共有ディレクトリをマウントするように設定してたんです。
Sierra から、認証関係の仕様変更により、mount しているサーバへの認証がうまくいかなくなって、しばらくアクセスしないと(default で1時間)、automounter が再接続自体行かずに「Permission Denied」が出ます。仕様だから仕方ないです。
これの正しくない解決策の一つは、サーバに再接続する前に「接続」をクリックするように要求される場合により、回避されるケースがあります。我が家では基本的にうまくいっていると見せかけて、たまに切断されていて「Permission Denied」されています。海外サイト中心に、同様の現象をいくらか見つけていますが、「figure out?」「nope」のやり取りが延々と続いてます。
automount で Mac がブートしなくなった
そんなこんなで、それらを調べたり、探しているときに、automount の設定方法について、次のやり方を見つけました。
- How to mount SMB share that can be accessed by anyone on Mac OS X El Capitan
- HOW TO Mount a Network Share using the Automount as non-root
至ってふつーの「/etc/auto_master」な書き方なのですが、一つだけ私と違っている点があります。
/- auto_smb
これです。やっぱり至ってふつーに見えますが、設定が「/-」となっていて、ルートディレクトリ以下のマウント先については、「/etc/auto_smb」を参照せよとなっています。
私の場合、ここで
/etc/auto_smb /Users/sho/mnt/share -fstype=smb,nosuid,noowners,soft ://user:pass@server/share
のように設定しているわけです。これで sudo automount -vc
すると、定義が反映されるわけです。
この定義は良いように見えました。また、この設定の場合、どのローカルファイルへアクセスしていても、定義の参照範囲内になるため、切断されずに 1時間の呪縛にとらわれることなく、接続が維持できていたようです。これは良い定義だなーと、再起動したら
ブートしない
という事件が年末に発生したわけです。ブートのプログレスバーのど真ん中あたりだったので、カーネル起動後のもろもろのサービスが起動しているタイミングです。ここで、久しぶりのトラブルで焦ってしまったのと、「automounterがブートと関係しているとは思えない」という勘違いで1週間以上を潰したうえ、Macがクリーンインストールされた状態になってしまいました。なお、ベランダの掃除をしているときに「あれ、/etc/auto_masterの所為じゃね」って気がついたので、身体を動かすことは良いです。おすすめしたい。
なぜだろう
なお、この現象は、Sierra と El Capitan で発生を確認しています。しかし、さきほどご覧いただいたサイトでは、El Capitan での設定方法として公開されているものですし、再起動してダメだったらなんらかのフォローがあっても良さそうですが
ないです
自分だけの問題かどうかはわかりませんし、/etc/auto_smb の書き方に問題があったり、ディレクトリに指定位置に問題があったのかもしれません。が、そこまでは、個人なのでいちいち確認はできてないです。設定見すると、”⌘R“で起動して、Terminal 動かして設定直して…とかをなんども再起動しながらやらないといけないので、ちょっとしんどいです。
でも、この設定自体は、個人的にはとても助かるので、どうにかしたいところでもあったりします。
オチなくここで終わりますが、次の2点は覚えておいてください。
- /etc/auto_master を軽視すると、ブートしなくなる。
- ⌘+R のリカバリモードでブートした後、メニューバーの「Tools」から「Terminal」で修正
2.番目は困ったときに使えそうですので、覚えておいて損はないですね。どうぞ、ご利用ください。