同じファイルシステムからハードリンクすると、デバイス間のリンクは機能しません。

同じファイルシステムからハードリンクすると、デバイス間のリンクは機能しません。

私は持っています/home/myuser/デスクトップ/rc/.netrcハードリンクしたいファイル/根つまり、ホームディレクトリです。ユーザー。私がするとき:

ln /home/user/Destkop/rc/.netrc /root

次のエラーが発生します。

ln:ハードlink.netrcの作成中/root/.netrc' =>:無効なデバイス間リンク

しかし、ファイルをハードリンクすると機能します。私のユーザーの家、つまり/ホーム/myusers

それでは、問題は何ですか?ファイルシステムが1つしかないときに複数のデバイスで無効であると言うのはなぜですか?

PS。使っていますRHEL6

答え1

/homeあなたのディレクトリはこのディレクトリと同じパーティションにない可能性があります/root

cat /etc/fstab 異なるパーティション間にハードリンクを作成することはできず、シンボリックリンクのみを作成することができるため、簡単に確認できます。

答え2

私の考えの最善の方法は、ハードリンクではなくシンボリックリンクを使用することです。面倒が少なく、すべてがうまく機能することがわかります。あなたが気づいていない場合、ハードリンクにはいくつかの興味深い問題があります。

このオプションを確認しman lnて確認してください-s

通常、ハードリンクではなくシンボリックリンクを使用します。

答え3

このエラーは、コピーされたソースフォルダまたはターゲットフォルダがfscryptで暗号化されたフォルダである場合にも発生する可能性があります。

ハードリンクは同じfscryptフォルダ内で正しく機能する必要があります(つまり、ソースと宛先の両方が同じfscryptフォルダまたはサブディレクトリにあります)。

答え4

おそらく以前は、シンボリックリンクフォルダがソースの実際の宛先フォルダに置き換えられていました。これでバックアップスクリプトが失敗します。

関連情報