ルートディレクトリで相対シンボリックリンクを使用するのはなぜですか?

ルートディレクトリで相対シンボリックリンクを使用するのはなぜですか?

ルートディレクトリ(またはルートディレクトリに非常に近いディレクトリ)のシンボリックリンクについて質問があります。私のカーネルバージョンは5.16.11-arch1-2現在です。

実行すると、ls -l /以下が印刷されます。

lrwxrwxrwx   1 root root    7 Dec  6 21:41 bin -> usr/bin
drwxr-xr-x   4 root root 4096 Dec 31  1969 boot
drwxr-xr-x  21 root root 4040 Mar  4 08:33 dev
drwxr-xr-x   1 root root 2932 Mar  4 11:59 etc
drwxr-xr-x   1 root root   18 Jan 17 17:53 home
lrwxrwxrwx   1 root root    7 Dec  6 21:41 lib -> usr/lib
lrwxrwxrwx   1 root root    7 Dec  6 21:41 lib64 -> usr/lib
drwxr-xr-x   1 root root   32 Mar  2 10:00 mnt
drwxr-xr-x   1 root root   46 Mar  3 09:35 opt
dr-xr-xr-x 290 root root    0 Mar  4 08:33 proc
drwxr-x---   1 root root  206 Feb 26 16:37 root
drwxr-xr-x  21 root root  540 Mar  4 08:33 run
lrwxrwxrwx   1 root root    7 Dec  6 21:41 sbin -> usr/bin
drwxr-xr-x   1 root root   16 Feb 28 07:34 snaps
drwxr-xr-x   1 root root   14 Jan 17 15:26 srv
drwxr-xr-x   1 root root   16 Jan 17 13:30 swap
dr-xr-xr-x  13 root root    0 Mar  4 08:33 sys
drwxrwxrwt  19 root root  480 Mar  4 12:15 tmp
drwxr-xr-x   1 root root  116 Mar  3 12:37 usr
drwxr-xr-x   1 root root  106 Mar  4 11:18 var

ここには珍しいことはありません。しかし、私は次のシンボリックリンクに焦点を当てたいと思います。

lrwxrwxrwx   1 root root    7 Dec  6 21:41 bin -> usr/bin
lrwxrwxrwx   1 root root    7 Dec  6 21:41 lib -> usr/lib
lrwxrwxrwx   1 root root    7 Dec  6 21:41 lib64 -> usr/lib
lrwxrwxrwx   1 root root    7 Dec  6 21:41 sbin -> usr/bin

シンボリックリンクの私の理解は、常に絶対パスを使用することです。これらのシンボリックリンク(インストール時にArchによって生成されたもの)は絶対的なものではなく相対的なものに見えるので、これは私の関心を集めました。

ルートディレクトリにプレフィックスを追加して絶対シンボリックリンクにすることができますが、ルートディレクトリに相対シンボリックリンクを作成するのはなぜですか/

ベストアンサー1

相対シンボリックリンク(ルートディレクトリでも)の利点の1つは、ファイルシステムが他の場所にマウントされていても予想される結果を生成することです。これは、システムの修理やシステムの構築に役立ちます。

おすすめ記事