Linuxソフトウェアで使用する場合、「インストール」または「インストール」という用語は何を意味しますか?

Linuxソフトウェアで使用する場合、「インストール」または「インストール」という用語は何を意味しますか?

私はプログラミングの経験はありませんが、シェルスクリプトが理論的にどのように機能するかを理解しています。スクリプトを実行可能にするには、2つの重要なステップしかありません。

  1. #!/path/to/interpreterスクリプトの内容を解釈する方法をシェルに伝える必要があります。
  2. ファイル実行権限を付与する必要がありますchmod +x filename

これまでは理解できますが、1つの.tar.gzパッケージに多数のファイルが圧縮されている「実際の」プログラムはこの種のインストールとどのように異なります。つまり、Linuxでのインストールは実際に何を意味しますか?

ベストアンサー1

Unixプログラムのインストールは通常2つの部分で構成されています。

1)ファイルを適切な場所に入れてください

2) ファイル権限と所有権を適切に設定します。

最初の点については、Linuxファイル階層標準 関連しています。これはLinux固有のものですが、主に歴史的に性文化されたUnixの規則に従います。具体的には、ユーザーが実行することを意図したバイナリはに配置され/usr/bin、管理などに使用されるシステムレベルのバイナリはに配置され、ローカルにインストールされたバイナリは通常などに/bin配置されます。/usr/local/binこれは、DebianでPATH変数に基づいて実行時にシステムがチェックする場所です。同様に、ライブラリは、/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin同様の規則に従って特定の場所/usr/libなどに配置される。繰り返しますが、デフォルトでは、システムは実行時にこれらのディレクトリをチェックするように設計されています。/lib/usr/local/bin

ドキュメント(マンページを含む)とデータファイル用の別の指定された場所がありますが、これはシステム機能にとってそれほど重要ではありません。

2番目のポイントでは、システムのさまざまな部分にあるファイルは所有権と権限が異なります。ほとんどのファイルはルートが所有していますが、関連グループはさまざまです。

実際のインストールメカニズムはさまざまですが、通常はビルドシステムのインストール先によって処理されます。無料のUnixシリーズシステム(Linuxベースのシステムなど)の場合、最も一般的なビルドシステムはAutotoolsとCmakeです。

通常、追加のレイヤーがあります。通常、Linuxシステムにはバイナリパッケージマネージャがあります。これらのパッケージは通常、インストール先を呼び出してビルドされますが、ファイルをシステムにインストールするのではなく、バイナリパッケージのビルドプロセスの一部として一時ディレクトリにインストールします。 Debian の場合、これは通常debian/tmpソースディレクトリのサブディレクトリです。

システムにバイナリパッケージをインストールすると、ローカルインストールに比べて多くの利点があります。特に、どのファイルがどのパッケージ/ソフトウェアに属しているかを追跡し、パッケージ/ソフトウェアのアンインストールをクリーンで信頼性の高い方法で処理します。ビルドシステムにオフロードターゲットがある可能性がありますが、これはオフロードを処理する安定した方法ではありません。

おすすめ記事