私のサーバーlocal1:/ mnt / storage2 / usersからディレクトリStorage2:/ sdb1 / usersを表示できるように、複数のサーバーにわたってマウントされたディスクにアクセスできます。
大容量ファイルにアクセスしたいので、そのファイルをlocal1に表示されるディレクトリにシンボリックリンクします。
root@storage2:ln -s /home/jr/bigfile.csv /sdb1/users/jr
今lsで見ることができます。
jeremyr@local1:/mnt/storage2/users/jr$ ls -l
lrwxrwxrwx 1 4294967294 users 95 Aug 8 08:01 /mnt/storage2/users/jr/bigfile.csv -> /home/jr/bigfile.csv
しかし、開いたとき(Pythonなどを使って)私はそれを見ることができず、ls -lLも同じです。
jeremyr@local1:/mnt/storage2/users/jr$ ls -lL bigfile.csv
ls: cannot access /mnt/storage2/users/jr/bigfile.csv: No such file or directory
可視パーティションにコピーせずに大容量ファイルにアクセスできますか?
答え1
マシンにjrのhomedirがインストールされていない場合、これは決して機能しません。リンクが指すファイルにもアクセスできない場合、リンクは「壊れます」。シンボリックリンクは、利用可能な他のパスを指す以外にファイルにアクセスする方法を提供しません(シンボルリンクが存在しない場合でも)。
インストールされているが別のパスにある場合は、別のシンボリックリンクを使用して問題を解決できます。たとえば、ローカル "jr" ユーザーが存在しないが /export/home にリモート homedir がインストールされている場合、次のようにこの問題を解決できます。
ln -s /export/home/jr /home/
これが望ましくない場合は、共有したいファイルを使用するすべてのコンピュータにインストールされているディレクトリに保存する必要があります。