OpenSSLのように、ソースファイルを保持するためのLinuxの標準的な場所はありますか? OpenSSLのデフォルトバージョン以外のソースからNginxをビルドしています。 OpenSSLをダウンロードして解凍する必要があり、ホームディレクトリで実行しました。さて、Linuxには標準的な場所があるのではないでしょうか/opt
?
このようなことを自問するときはいつでも Filesystem Hierarchy Standard (FHS)を確認してください。そこで、次のエントリが見つかります。
usr/src:ソースコード(オプション)
目的
参照目的でのみ、このサブディレクトリにソースコードを配置できます。
したがって、ソースファイルを/usr/src
のサブディレクトリに置くことができます。とは言っても、これはオプションのディレクトリなので、好きな場所に保存できます。ソースコードは、実行可能ファイルにコンパイルした後は関係ないので、システムは、特定の場所でアクセス可能なもののソースを必要としません。
結論:/usr/src
はかなり標準的な場所ですが、必要に応じて自由に選択できます。
/usr/local/src
は、ソースコードを保持し、ビルドするための安全な場所です。 FHS 言う :
Directory Description
src Local source code
そしてまた
/ usr/local階層は、システム管理者がソフトウェアをローカルにインストールするときに使用します。システムソフトウェアが更新されたときに上書きされないようにする必要があります。
「ローカルソースコード」の意味は明確ではありませんが、/usr/local/src
とは異なり、システムが/usr/src
に何も配置しようとしないことは明らかです。 。
実際、私は別のファイルシステムを使用しています:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/data-local_src 79G 46G 30G 61% /usr/local/src
注:少なくともDebianでは、/usr/local
に書き込むには、ユーザーをstaff
グループに追加する必要があります。
「標準」で従来型を意味する場合、ソースコードを解凍してビルドする場所はホームディレクトリです。このようなファイルは一時的なものであることが予想され、完了時に削除されるか、必要に応じて保持されますが、必要に応じて整理されます。あなたのホームディレクトリは、この種のすべてのものと遊ぶためのエリアです。
それらを後で保持したい場合は、参考のために、「 Filesystem Hierarchy Standard "で/usr/src
を推奨します。ただし、これは法律ではなくガイドです。そして、もしあなたがこの習慣に取り掛かったとしても、Linux以外のシステムに挑戦したとしても、それに従うことで問題を引き起こしがちです。たとえば、BSDシステムでは、ベースシステムのソースがそこに保持されており、それらをいじりたくはありません。 Linuxであっても、パッケージマネージャーによって保存されているソースと混ざり合う危険性があります。これは望ましくありません。
全体的に/usr/src
を避けることをお勧めします。何もそこに保管することには明らかな利点はなく、意図した意味を混同した場合の潜在的なリスクもありません。
/usr/src
を使用できます。この場所は妥当なように聞こえ、rpmベースのディストリビューションはこれを使用してsrpmパッケージのコンテンツを格納します。しかし、/opt
、/usr/local
、~/src
のような他の場所は良いです