yumとrpmの違い 〜パッケージ管理とは〜

yumとrpmの違い 〜パッケージ管理とは〜

 

本記事では、yumとrpmの違いについて解説していく。
その際、肝となるパッケージ管理とはと言う点についても詳しく解説していく。

 

yumとrpmの違い

まずは結論から述べてしまうと、
yumとrpmの違いは、
パッケージ管理システムとして、依存管理機能を持つかどうかの違いとなる。

yum、rpm共にパッケージ管理システムであることに違いはない。

 

yumとrpmの違い

パッケージ管理システムとして、依存管理機能を持つかどうか

  • yum : 依存管理機能あり
  • rpm : 依存管理機能なし

 

ではyumとrpmの違いについて、より詳しく説明していく。

 

yumとは

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

パッケージ管理システムとは、
OSへのパッケージの導入や削除を行ってくれる機能のことだ。

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

yumでパッケージ管理を行う画像

 

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

 

パッケージの依存関係をyumが解決

パッケージには通常、パッケージ内やパッケージ同士で依存関係と言うものが存在する。
この依存関係が正しい状態でないと、システムが動かなかったり、不具合の原因になったりする

yumではこの依存関係を自動的に解決する「依存管理機能」が備わっている
※パッケージ管理については記事の後半で詳しく解説する

yumの依存管理を説明した画像

 

yumの依存管理機能

yumでは、パッケージ内やパッケージ同士に存在する「依存関係」を解決する依存管理機能が備わっている。

 

yumを使えば、パッケージどうしの依存関係を意識することなく、簡単かつ安全にパッケージ(ソフトウェア)を管理することができる。

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

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

 

コマンド自体はシンプルだが、裏では、上記イメージが示したように、パッケージの依存関係をyumが自動で見定めて、問題のないようにライブラリの組み合わせなどを選定してくれる。

 

 

rpmとは

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

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

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

 

パッケージ管理とは

パッケージ管理について触れたが、パッケージ管理について詳しく解説していく。

 

(ITにおける) パッケージとは

IT用語が指すパッケージとは、
ソフトウェアを構成するファイルらをまとめたもののことを言う。

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

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

このように、ソフトウェアを構成するファイルをまとめたものをITにおいて、パッケージと呼ぶ。

 

(ITにおける) パッケージとは

ソフトウェアの構成に必要なファイル群をまとめたもの

 

パッケージ管理とは

パッケージが理解できたところで、パッケージ管理とはと言う疑問にお答えする。

パッケージ管理とは、
パッケージの依存関係の管理を自動的に行なってくれるものだ。

上述では、yumにはこのパッケージ管理機能が備わっていると説明した。

 

依存関係とは

依存関係とは、すでに少し触れたが、
パッケージ、またはパッケージ同士がうまく動作し合うための条件だと思って貰えば良い。

「うまく動作し合う」と言うのは、ソフトウェアとして正しく動作すると言うことだ。

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

また、パッケージの依存関係は、パッケージ同士にも存在する。
パッケージAが動作するためには、パッケージBも必要と言った感じだ。

パッケージ内の依存関係とパッケージ同士の依存関係を表した画像

 

つまり、まとめると「依存関係」には大きく二種類ある。

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

 

①パッケージ内の依存関係
一つのパッケージを構成するファイル群同士の依存関係のことを言う。

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

 

 

yumとrpmの違い 〜パッケージ管理とは〜 まとめ

rpmもyumも平たく言えば「パッケージを管理するシステム」だ。
しかし、yumとrpmの違いとして、以下のような違いがある。

yumとrpmの違い

パッケージ管理システムとして、依存管理機能を持つかどうか

  • yum : 依存管理機能あり
  • rpm : 依存管理機能なし

 

依存関係とは、
パッケージ、またはパッケージ同士がうまく動作し合うための条件のことで、
依存関係には大きく以下の二種類がある。

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

 

 

 

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

コメントを残す

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