/ home/myuser/Desktop/rc/.netrc/ rootへのハードリンクが必要なファイルがあります。つまり、rootユーザーのホームディレクトリです。私がする時:
ln /home/user/Destkop/rc/.netrc /root
次のエラーが発生します。
ln:ハードリンクの作成
/root/.netrc' =>
。netrc ':無効なクロスデバイスリンク
しかし、ファイルをmyuserのホーム、つまり/ home/myuserにハードリンクすると機能します。
では、何が問題なのか、ここにファイルシステムが1つしかない場合に無効なクロスデバイスと表示されるのはなぜですか?
PS。使用していますRHEL6
/home
ディレクトリが/root
ディレクトリと同じパーティション上にない可能性があります。
これはcat /etc/fstab
で簡単に確認できます。異なるパーティション間ではハードリンクを作成できません。シンボリックリンクのみ作成できます。
私には、HARDリンクを使用するのではなく、シンボリックリンクを使用するのが最善の方法であるように見えます。あなたはそれが面倒のはるかに少ないことがわかり、物事はうまく機能します。あなたがそれらに気づいていない場合、ハードリンクにはいくつかの興味深い問題があります。
man ln
を見て、-s
オプションをチェックアウトしてください!
一般に、HARDリンクの代わりにシンボリックリンクを使用してください。
おそらく、以前は、シンボリックリンクされたフォルダーは、ソース上の実際の宛先フォルダーに置き換えられていました。そして今、あなたのバックアップスクリプトは失敗します。