構成スクリプトで/usr/bin/envをハードコードします。

構成スクリプトで/usr/bin/envをハードコードします。

私は/ usrディレクトリなしでLinuxシステムを構築しています。ツールチェーンを操作するのは驚くほど簡単ですが、多くの自動*スクリプトのために迷惑です。構成などがenvしばしば/usr/bin

1つの回避策は、ビルドプロセス中にこれを行うことです。しかし、これは明らかに審美的に魅力的ではなく、ln -sv .. /usr最終システムへの道が漏れる危険性があります。/usr(本番環境にネットワークがインストールされる予定であり、/usr基本システムにネットワークが存在することを知らせたくありません。)

間違った自動ツールをインストールしたのでしょうか、それともこれが単に構成が頻繁に起こる迷惑な仮定ですか?env投資しないことでFHSに違反していますか/usr/bin? (これは私にとって大きな問題ではありません。私はすでに/incandを持っていてそれを台無しにしました/share。)

答え1

見苦しいと思うかもしれませんが、/usrそれが宇宙の働き方です。ほとんどすべてのUnixにこの機能があります/usr/bin/env。私の知る限り、この機能を持たない既存のUnixはSCO OpenServerだけであり、既存の規模も大きくありません。そうでなければ、/usr/bin/envあなたはFHSに違反するだけでなく、非常に一般的な慣行に違反することになります。/usr/bin/env標準が作成されていない場合でも、標準位置です。これは設定可能な場所ではなく、/usr/bin/env誰もが存在すると仮定できる場所です。

良いか嫌いの解決策はスケジュールをつかむことです/usr/bin/env。階層を削除するのは/usr問題ありませんが、これを行うにはへの/usrシンボリックリンクを作成してください/

/usrネットワーク経由でインストールする場合:

  • /usrシンボリックリンクを含むディレクトリを作成しますbin -> ../bin
  • マウントするファイルシステムで、/usrそのファイルがbin/envシンボリックリンク/bin/envまたはワーカーであることを確認してくださいenv

答え2

/usr/binはいこれenvほとんどすべてのLinuxと一部のUNIX(OpenBSDを含む)の場所です。多くのスクリプトは、ユーザーが、、、、...PATHに設定した場所を尊重するためにこのshebangを使用します。bashshpythonperl


追加情報

無効な自動化ツールをインストールしましたか?

「ツールチェーン」の詳細情報が必要だと思います。

関連情報