サードパーティパッケージのインストール

サードパーティパッケージのインストール

私は Ubuntu を使用していますが、リポジトリ経由でパッケージをインストールするのは簡単で、APT がすべてを自動的に実行してくれますが、インターネット経由で何かをインストールする必要がある場合もあります。

99% の場合、これらのパッケージは tarball です。私が読んだすべての資料では、アーカイブ マネージャーまたは tar コマンド自体を使用してアーカイブを抽出した後、configure、make、make install の順に実行してビルドするように指示されています。

しかし、これまでダウンロードしたものには、configure スクリプトが書かれていません。少なくとも、そのように見えます。

たとえば、ブラウザ プラグインを使用できるようにするために、Java の Web サイトから JRE をダウンロードしました。しかし、ダウンロード手順には、ファイルを解凍して、プラグインにアクセスできるようにシンボリック リンクを作成する手順しか記載されていません。

これで、/opt ディレクトリにこの巨大なファイルが作成されました。その内容は次のとおりです。 ここに画像の説明を入力してください

bin、lib などは別のディレクトリにあるべきだと感じますが、これは本当でしょうか?

私がダウンロードしたほぼすべての tarball で同じ状況です。これは当てはまりませんが、他のファイルについては、プログラムをデスクトップ上のリンクとして利用できるようにしたいです。しかし、インストール手順では、解凍のみが説明されており、上記のような単一のディレクトリしか残っていません。

アイコンが必要な場合は、デスクトップ フォルダー内の適切なファイルへのリンクを自分で作成する必要がありますか?

さらに設定する必要があるファイルについては、インストール手順に記載されているか、configure スクリプトが付属していると想定すればよいのでしょうか?

編集: JRE はリポジトリで利用できることはわかっていますが、これは問題を例示するものなので、JRE に関する部分だけでなく、一般的な質問を確認してください。

答え1

シンプルな tarball をいつ使用するか、いつコンパイルするか (そしてすべてが何を行うか) を理解するのに役立ちます。

configure スクリプトはコンパイルするソフトウェア用であり、追加のライブラリやプレフィックスを選択するオプションを含むコンパイル オプションがある場合があります。また、スクリプトを実際にコンパイルするために必要なものがすべて揃っていることを確認し、makefile を生成します。make は makefile を使用してプログラムをコンパイルします。伝統的にmake install はコンパイルされたプログラムと関連ファイルを適切な場所にコピーしますが、私は checkinstall を使って deb を作成し、それをインストールします。これにより、ライブラリやその他の便利なものを共有することもできます。「deb」または「RPM」は、特定のディストリビューションとバージョン用にコンパイルされたソフトウェアであり、適切な設定のセットと、必要な共有ライブラリと依存関係を自動的に取り込むことができるという知識があります。

すでにコンパイルされていて、オプションがなく、通常のユーザーとしてソフトウェアを実行している場合は、すべてを静的にコンパイルしてパッケージ化できます。これは、Linux の「ポータブル」ソフトウェア (サムドライブの意味で、一度書き込み、ほぼどこでもコンパイルできるという意味ではありません) に相当します。これは、ユーザーが追加のオプションを必要とせず、すべてが機能することを前提としています (または、適切にパッケージ化するのが面倒です。これはよくあります)。

HFSはUNIX系では必須ですが、誰もがそれを尊重しているわけではありません。特定のこの場合、このパッケージング スタイルでは、相対ファイル パスを簡単に使用したり、JAVA_HOME プレフィックスを使用して異なるバージョンの Java を並べてインストールしたりできるのではないかと思います。これは完全に意図的なものです。

関連情報