FreeBSDでNFSマウントされたホーム+zshでcompinitするとログインが激遅

FreeBSD 8.2でも 9.0-RC3でも同じだけど、NFSでマウントされたホームディレクトリで、zshをログインシェルにしていて、zshの設定でcompinitをしていると、ログインがめちゃくちゃ遅い。ログアウトも遅い。
あまりスマートじゃないかもしれないけど、NFSがいかんのならローカルにzshのファイル置けばいいじゃない。と
.zshrcに以下の6行を書き加えてみた。

autoload -U compinit
if [ "$OSTYPE" = "linux*" ]; then
  compinit -d ~/.zcompdump_${HOST}
else
  compinit -d /usr/home/$USER/.zcompdump  
fi

保存先のディレクトリは作っておかないといけないけど、別になくてもログインできなくなったりはしないっぽい。

「FreeBSDでNFSマウントされたホーム+zshでcompinitするとログインが激遅」への2件のフィードバック

  1. そういえばこれってFreeBSD固有の症状だっけ。
    FreeBSDだと/usr/homeが実ディレクトリで/homeはシンボリックリンクだったり。
    /homeで直にマウントしてるのかな。

  2. この現象、結構ストレスがたまるよね、ってことで本日この件で.zshrcを修正。
    case $OSTYPE in
    freebsd*)
    export EDITOR=ee
    compinit -u -d /usr/local/home/$USER/.zcomdump
    ;;
    linux*)
    PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH
    ;;
    darwin*)
    PATH=/opt/local/bin:/opt/local/sbin:$PATH
    ;;
    esac

コメントを残す