yum、apt-get、rpm は、コンパイル済みのパッケージをインストールするのに非常に便利ですが、ソース コードからソフトウェアをインストールしなければならない場合もあります。
この記事では、ソース コードからソフトウェアをコンパイルしてインストールする方法を非常に高いレベルで説明します。
ソース コード パッケージをダウンロードして解凍
Linux 上のソフトウェアのソース コードは、通常、.tar.gz または .tar.bz2 のいずれかの拡張子を持つ、圧縮された tar ファイルの形式で提供されます。ソース コードをこれらの tar ボールに圧縮するために使用されるツールは、「tar」(複数のファイルを 1 つに結合するために使用)、「gzip」または bzip2 (圧縮に使用) です。特定のソフトウェアのソース コード tarball を取得するには、tarball の URL を知っている必要があります。
ダウンロード リンクを取得したら、「wget」を使用してコマンド ラインから tarball を取得します。
$ wget <link to the tarball>
上記のコマンドは、tarball を現在のディレクトリにダウンロードします。 wget コマンドは非常に柔軟で、多くのオプションがあります。 wget の詳細については、15 の wget の例を参照してください。
次に、ソース コードやその他のファイルにアクセスするために、tarball を解凍する必要があります。拡張子に応じて、次のいずれかのコマンドを使用します:
$ tar -xvfz <name of tarball with .tar.gz extension> (or) $ tar -xvfj <name of tarball with tar.bz2 extension>
tar コマンドは非常に柔軟で、多くのオプションがあります。 tar の詳細については、10 の tar の例を参照してください。
インストール ドキュメントを読む
ソフトウェアのソース コードをダウンロードして抽出したら、最初に行うべきことは、ドキュメントを確認することです。これは私たちのほとんどにとって退屈に聞こえるかもしれませんが、このステップを徹底的に行うことで、将来の問題のほとんどを回避できるため、これは非常に重要なステップです.ドキュメントには、ソフトウェアに関する情報、前回のバージョン以降の変更点、その他のドキュメントへのリンク、ソフトウェアの作成者に関する情報、ソフトウェアのコンパイルとインストールの手順などが記載されています。ドキュメントには多くの貴重な情報が含まれていることがわかります。
この情報全体は、「Readme」と「Install」の 2 つのファイルに大きく分けられます。 「インストール」にはコンパイルとインストールに必要なすべての情報が含まれていますが、他のすべての情報は「Readme」ファイルに含まれています。ファイルの名前と大文字と小文字が異なる場合があることに注意してください。
構成
上記のステップが終了したら、このソフトウェアについて十分な理論的知識があると仮定できます。次に、システムにソフトウェアをコンパイルしてインストールするための環境を設定して、先に進むことができます。ほとんどのパッケージには、環境の構成に使用できる構成スクリプトが付属しています。構成ファイルのファイル名は、ほとんどが「configure」です。このスクリプトは通常、このソフトウェアの一部の機能を制御するために使用できるパラメーターを受け入れます。また、このスクリプトは、コンパイルに必要なすべてのツールがシステムに存在することを確認します。
特定の構成ファイルによって提供されるオプションについて知るには、次のコマンドを実行します:
$ configure --help
ビルド環境の構成を開始するには、次のコマンドを実行します:
$ ./configure
上記のコマンドはビルド環境をチェックおよび/または作成し、すべてがうまくいけば「makefile」というファイルを生成します。ファイル「makefile」は、ソフトウェアのコンパイルに使用されます。
編集
makefile が生成されたら、同じディレクトリで次のコマンドを実行します:
$ make
上記のコマンドは、ソフトウェアに関連するすべてのソース コードをコンパイルします。コンパイルで問題が発生すると、コンソールにエラーがスローされます。
インストール
コンパイルが正常に完了すると、必要なすべてのバイナリが作成されます。ここで、これらのバイナリを標準パスにインストールして、システムのどこからでも呼び出せるようにします。これを行うには、次のコマンドを実行します:
$ make install
ソフトウェアのインストールにはルート権限が必要な場合があることに注意してください。そのため、権限を取得してから上記のコマンドに進むことができます。
上記の 5 つの手順は、ソースからソフトウェアを取得、展開、構成、コンパイル、およびインストールする方法を示しています。さらに、ソフトウェア tarball の解凍中に作成されたディレクトリを削除することで、クリーンアップを行うことができます。
次の記事は、ソース コードからソフトウェアをインストールする方法のいくつかの例です。
- SSL を使用して CentOS 6.2 にソースから Apache 2.4.2 をインストールする方法
- Linux でソースから Nginx をインストールして構成する方法
- Linux にソースから PHP5 をインストールする手順ガイド
- Tripwire チュートリアル:Linux ホスト ベースの侵入検知システム
- ハウツー:Linux vsftpd のインストール、構成、ユーザー設定の 7 つのステップ
オープン ソース ソフトウェアをソースからコンパイルおよびインストールする際に、いくつかの問題やエラーが発生する可能性があります。ここでそれらのいくつかを見てみましょう:
- 共有ライブラリが見つからない:インストールしたばかりのプログラムを実行すると、いくつかの .so に関連するエラーが表示され、プログラムが見つけられないことがあります。まず、.so は Windows にある DLL と同義です。これらは、プログラムに必要な共有ライブラリです。第二に、これらのタイプのエラーは、プログラムが非標準のパスにインストールされている場合、または共有ライブラリが実際にシステムに存在しない場合に発生します。最初のケースでは、これらの新しい共有ライブラリがインストールされるパスをシェル環境に伝える必要があります。これは、「ldconfig」コマンドを使用するか、LD_LIBRARY_PATH 変数を変更することで実行できます。
- 壊れたソース コード:すべてのドキュメントに目を通し、ソフトウェアを構築するすべての手順をカバーするのに苦労しても、ソース コードでコンパイル エラーが発生する場合は、ソフトウェアのソース コードが壊れていることを意味します。この場合、この問題をこのソフトウェアの作成者に問い合わせる以外に、できることはあまりありません。それまでの間、エラーをデバッグして、修正可能な些細なエラー (構文エラーなど) であるかどうかを確認してください。
- 構成スクリプトがない:まれですが、ソース コード ディレクトリに構成スクリプトが存在しないことがあります。これが起こったとしても、それはあなたが立ち往生しているという意味ではありません.この場合、ドキュメントを詳細に読むだけで、ソフトウェアのコンパイルとインストールのための環境の構成に関する情報を確実に見つけることができます。