(Linux) yumとrpm、パッケージ管理の違い

yumとは

 

yumとは、LinuxのRedHat系ディストリビューション(CentOSやFedoraなど)で利用される、パッケージ管理システムのこと。

パッケージ管理ツールとは、OSへのソフトウェアの導入と削除、依存関係の整理などを行うツールのこと(後述で詳しく説明)

パッケージとは、ソフトウェアを構成するファイルらをまとめたもので、要は一つのソフトウェアと思ってもらえれば良い(後述で詳しく説明)

 

yumを使えば下記のようなコマンドで、簡単にパッケージ(ソフトウェア)を管理できる。

#php(パッケージ)をインストール
yum install php

#mysql(パッケージ)を更新
yum update mysql

 

 

rpmとは

 

rpmとはyumと同様に、パッケージ管理ツールの一つだ。

ただ、yumで持ち合わせている「依存関係」の解決機能(後述で解説)を持ち合わせていないなど、同じパッケージ管理ツールでありながら機能的にyumに劣ることから、rpmはyumの劣化、yumはrpmの高機能版なんて言われ方をよくする。

困ったらとりあえずyumを選択するのがベターだ。

 

ポイント

どっちもパッケージ管理ツールだが、
yum > rpm

 

 

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

 

前述でパッケージとパッケージ管理についてちょろっと触れたが、これらについて詳しく解説していく。

 

パッケージ

ソフトウェアを構成するファイルらをまとめたもの

ソフトウェアは通常複数のファイルがお互いに良い感じに動きあって一つのソフトウェアとして動くようにできている

この複数のファイルというのが、設定ファイルやドキュメント、プログラム本体、ライブラリなど、ソフトウェアの構成に不可欠なものだ。

 

まとめ

パッケージ(ソフトウェア) = ソフトウェアの構成に必要なファイル群をまとめたもの

 

パッケージ管理

上述の通り一つのパッケージは、複数のファイルから成り立っている。

このファイルたちはお互いに関連して動いているので、古いパッケージのバージョンで使用していたとあるファイルが、最新のパッケージになるとその関連が崩れてしまい、ソフトウェアが正しく動かないということになる。

これを「依存関係」呼ぶ。
この依存関係の管理を自動的にやってくれるのが、パッケージ管理だ。

依存関係

「依存関係」というのは大きく二種類ある。

  1. パッケージ内の依存関係
  2. パッケージ同士の依存関係

 

①パッケージ内の依存関係

パッケージ内の依存関係はすでに上述した。
一つのパッケージを構成するファイル群同士の依存関係のことを言う。

 

②パッケージ同士の依存関係

パッケージ同士にも依存関係は存在する。
考え方は一緒で、あるパッケージAが動くためには、あるパッケージBも必要だよねって言う考え方だ。

 

 

まとめ

 

rpmもyumも平たく言えば「パッケージを管理するシステム」

でもyumはrpmと違って、パッケージの依存関係まで見て管理してくれる

よって、何事もなければ極力、yumを使いましょう

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。