LinuxでNASをマウントした時にシンボリックリンクも有効にする
Fedora 34でnode.jsを使っていて、プロジェクトフォルダをNASの共有ドライブ上に移したときに、シンボリックリンクが作成できない状態だとnpm install
でエラーが出たので、
Windowsでも共有で使用しているNASをマウント時にオプションを追記して、シンボリックリンクを作成出来るようにしていきます。
※シンボリックリンクは作成が出来てnpm install
もエラーが出ず動作するようになったんですが、ネットワーク越しだとnode_moduleディレクトリの読み込みに時間がかかりこの運用はやめました。(Windows pcのssdをパーティション切ってそこで共有で使用する運用にしてます)
ただマウントしたNAS上でシンボリックリンクを作成する場合の参考になればと思います。
目次
mountコマンドのオプション「mfsymlinks」を追加
mountコマンドの例
[root@host ~] mount -t cifs //{NASのホスト名かIP}/{任意でマウント元ディレクトリPATH} {マウント先ディレクトリPATH} -o username={NASのユーザ名},password={NASのユーザ名},uid={Linux側のユーザid},mfsymlinks
-o オプション内にmfsymlinksを指定します。
uid={Linux側のユーザid}
は、マウントされた時にroot以外のユーザを所有者にする設定です。
ユーザidは、id ユーザ名
コマンドで表示出来ます。
mfsymlinksについて 参考: Linux での Azure Files に関する問題のトラブルシューティング | Microsoft Docs
mountコマンドについて: 【 mount 】コマンド――ファイルシステムをマウントする:Linux基本コマンドTips(183) - @IT
ログイン時に自動でマウントするようにfstabにも記入
※後から戻せるように設定ファイルのバックアップを取る
[root@host ~] cp -p /etc/fstab /etc/fstab.org
viで編集
[root@host ~] vi /etc/fstab
# NASマウント設定
//{NASのホスト名かIP}/{任意でマウント元ディレクトリPATH} {マウント先ディレクトリPATH} cifs username={NASのユーザ名},password={NASのユーザ名},uid={Linux側のユーザid},mfsymlinks 0 0
mountコマンドやfstabの記述は、オプション設定が色々と多いので他に調べてみると参考になります。
お疲れ様でした😄