GNU/Linux >> Linux の 問題 >  >> Linux

シンボリック リンクのレベルが多すぎます

Dubu がコメントで指摘しているように、問題は相対パスにあります。 /usr/local/etc/nginx から nginx 構成をシンボリックリンクする同様の問題がありました /etc/nginxまで .次のようにシンボリック リンクを作成する場合:

cd /usr/local/etc
ln -s nginx/ /etc/nginx

ソースパスはリンクのパスに対して相対的であるため、実際にはリンクを /etc/nginx -> /etc/nginx にします。ソリューションは、絶対パスを使用するのと同じくらい簡単です:

ln -s /usr/local/etc/nginx /etc/nginx

相対パスを使用して、おそらく期待どおりに動作させたい場合は、 pwd を使用できます 次のように、現在の作業ディレクトリ パスを入力します。

cd /usr/local/etc
ln -s "$(pwd)/nginx/" /etc/nginx

現在のパスのスペースなどを確実にエスケープするために、パスを引用符で囲む必要があります。これを行うときは、$(pwd) のように二重引用符を使用する必要があることに注意してください。 単一引用符を使用する場合、置換されません。


表面的には、あなたが試してみて提案したことは私にとってうまくいきます。

$ mkdir -p test/src test/firefox

$ tree --noreport -fp
.
`-- [drwxrwxr-x]  ./test
    |-- [drwxrwxr-x]  ./test/firefox
    `-- [drwxrwxr-x]  ./test/src

シンボリック リンクを作成します:

$ ln -s test/src test/firefox

$ tree --noreport -fp
.
`-- [drwxrwxr-x]  ./test
    |-- [drwxrwxr-x]  ./test/firefox
    |   `-- [lrwxrwxrwx]  ./test/firefox/src -> test/src
    `-- [drwxrwxr-x]  ./test/src

2 回目に実行すると、通常は次のようになります。

$ ln -s test/src test/firefox
ln: failed to create symbolic link ‘test/firefox/src’: File exists

したがって、ここで何か他のことが起こっている可能性があります。リンクが自分自身を指している循環参照があると思われます。

find を使用できます これを少し調べます:

$ cd /suspected/directory
$ find -L ./ -mindepth 15

シンボリック リンクは、ln の現在のディレクトリではなく、リンクの親ディレクトリに相対的です。

その場合:

cd /top/dir
ln -s test/src test/firefox

(ここで test/firefox はディレクトリです)、あなたは test/firefox/src を作成しています test/src をターゲットとするシンボリックリンク .

その test/src test/firefox に相対的です ディレクトリ、つまり /top/dir/test/firefox/test/src へのシンボリックリンクです .

そのシンボリックリンクを /top/dir/test/src へのリンクにしたい場合 、次のように記述する必要があります:

ln -s ../src test/firefox/

または

ln -s /top/dir/test/src test/firefox/

ただし、ディレクトリの名前が変更されたり、ファイルシステムが別の場所にマウントされたりすると簡単に壊れてしまうため、絶対パスへのシンボリック リンクを作成することは一般的にはお勧めできません。

GNU ln を使用 、その -r を使用できます それ自体で計算を行うオプション:

$ ln -rs test/src test/firefox/
$ ls -ld test/firefox/src
lrwxrwxrwx 1 chazelas chazelas 6 Nov 29 15:59 test/firefox/src -> ../src

Linux
  1. Mysqlエラーの解決:開いているファイルが多すぎます

  2. MySQLの接続エラーが多すぎます

  3. シンボリック リンクでの cd/bash の動作

  1. シンボリック リンクの環境変数

  2. シンボリックリンクをコピーするには?

  3. Debian で開いているファイルが多すぎる

  1. Lnコマンド:Linuxでシンボリックリンクを作成する方法

  2. シンボリック リンクを再帰的にバッチ更新する

  3. s3cmd が何度も失敗する