前の日 / 次の日 / 最新 / 2017-04

XINUJP - ChangeWebLog / 2017-04-12

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12

2017-04-12 Wed

Mac と NFS と SymbolicLink と [mac][unix]

只今、開発環境を Mac に構築中。

今まで Unix(FreeBSD)サーバと windows は SMB(Samba) でファイル共有していたので、Mac も SMB で共有した。
しかし、どうも Mac はキャッシュ読込が中心のようで、Unix でファイルを作成しても、Mac 側には反映されず(時間が掛かるのかな?)。
ま windows でもしばらく時間掛かるが...

こりゃたまらんので、数十年ぶりに NFS を設定。

いろいろトラブルあった(特に Mac の uid/gid 変更!)が、とりあえず Unix サーバのファイルが、Mac でも扱えるようになった。

が、Unix 側の symlink に Mac からアクセスできないトラブル発生。

なんだよ Mac の NFS-client ってサーバ側の symlink 扱えないのかよぅ! とか、すっかり Mac を悪者にして調査開始。

しかし違いました、サーバ側の symlink 設定の問題でした。

原因は、symlink 設定で絶対パスリンクしていたこと。

例えば、
/home/foo/aaa/a1 を /home/foo/xxx/a1 に symlink する時、

cd /home/foo/xxx/
ln -s /home/foo/aaa/a1 .

とすると、xxx/a1 は絶対パスで aaa/a1 をリンクする。

と、Mac 側では Mac の /home/foo/aaa/a1 とリンクしてしまうので、Mac 内に /home/foo/aaa/a1 がなければ(普通無い)エラーとなってしまう。

なので、これは相対パスにして

cd /home/foo/xxx/
ln -s ../aaa/a1 .

が正解。


その昔、NFS 全盛の頃(って何十年前だ)に、
「symlink は相対パスにしろ、絶対パスだと NFS でアクセスできないぞ」
と言われていたことを思い出し、懐かしくて涙出ました。

Referrer (Inside): [2017-04-14-2] [2017-04-14-1]

最終更新時間: 2020-07-17 18:30