パッケージ、パッケージ管理とは

LINEで送る
Pocket

Linux でいうパッケージ、パッケージ管理とはどのような
事を言うのでしょうか。Linux 関連の記事を読む度に
よく聞く言葉ですがいったいどのような物かもう一度確認しておきましょう。

オープンソースの世界では通常ソフトウェアはソースコードのみが公開されています。
もしそのソフトウェアを利用したい場合は、そのソースコードをコンパイルして、
インストールを行わなければなりません。

とりあえず、試しに apache のサイトから https://httpd.apache.org/
apache のソースをダウンロードしてコンパイルを試みてみます。
どこかのサイトを見るとソースコードをダウンロードして ./configure して make
すれば良いなどと書かれています。

$ tar xvfj httpd-2.4.29.tar.bz2 
httpd-2.4.29/
httpd-2.4.29/.deps
httpd-2.4.29/.gdbinit
httpd-2.4.29/ABOUT_APACHE
httpd-2.4.29/acinclude.m4
httpd-2.4.29/ap.d
    :
$ ./configure 
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... no
configure: error: APR not found.  Please read the documentation.
$ make
make: *** ターゲットが指定されておらず, makefile も見つかりません.  中止.

しかし普通にLinux ディスクトップの環境をインストールしただけでは、
コンパイルするための開発ツール、ライブラリがインストールされていない為
コンパイルができません。エラーの内容を見てもきっと初心者はチンプンカンプンです。

* configure コマンドやシステムコール、ライブラリなどがシステムに揃っているかどうかを
自動的にチェックして Makefile を自動作成します。
* make プログラムのビルド作業を自動化するツール。make は、コンパイル、リンク、インストール等の
ルールが記述された Makefile を参照しプログラムのビルドを行う。

このように、ソースコードのままではユーザはソフトウェアを利用できません。
これらの作業を Red Hat、Ubuntu、等のディストリビュータが
あらかじめコンパイル、バイナリー化して配布しており、これらのファイル群を
パッケージと呼んでいるのです。

現在 Linux では、rpm と deb 2つのパッケージ形式が主流となっています。

* rpm形式 Red Hat(CentOS), Fedora、openSUSE、等で利用されている。
* deb形式 Debian、Ubuntu, KNOPPIX 等で利用されている。

LINEで送る
Pocket

  • このエントリーをはてなブックマークに追加

アマゾン

LINEで送る
Pocket

記事が面白かった。為になったと思ったら。下記リンクより商品を購入頂くと筆者は喜び記事を更新致します。


LINEで送る
Pocket

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください