yumとは?コマンドの使い方やリポジトリの指定、追加、一覧、rpmの違いなど

yumとは?コマンドの使い方やリポジトリの指定、追加、一覧、rpmの違いなど

「CeontOS」や「RHEL」などのRedHat系Linuxは、非常に多くのプロジェクトで利用されています。

そんなRedHat系Linuxを利用するうえで、絶対にはずせないのが「yum(ヤム)」の存在です。

「yum」を理解し、自由に扱えるようになることで、好きなソフトウェアを簡単にLinuxに導入することができるようになります。

今回は、この「yum」というパッケージ管理システムについて、勉強していきましょう。

この記事を最後まで読むことで、yumに関する大体のことは理解できるようになりますよ!

Linuxについて「よくわからない!」という方は、さきにこちらの記事をお読みください。

目次

yumとは

yum(ヤム)とは、RedHat系のディストリビューション(CeontOSなど)で利用される「パッケージ管理システム」です。

Windowsであれば、必要なソフトはブラウザからダウンロードして、インストーラーを起動し、画面の内容に従ってインストールするような手順が一般的ですよね。

これをCentOSでは「yum」というコマンドを実行して、パッケージのインストールやアップデート、アンインストールをおこなうのです。

ちなみに、UbuntuなどのDebian系ディストリビューションの場合は、「apt」という別のパッケージ管理システムを使います。

  • 「yum」…RedHat系(CentOSなど)
  • 「apt」…Debian系(Ubuntuなど)
ファルコン

yumは「パッケージを管理するツール」なんだね!

パッケージとは

パッケージとは、機能(ソフトウェア)を構成しているプログラムの集まり(プログラム本体やライブラリなど)のことです。

Linuxのディストリビューションによって、扱えるパッケージの種類も変わってきます。

RedHat系Linuxでは「RPM」形式のパッケージを利用しますが、Debian系Linuxの場合は「deb」形式のパッケージを扱います。

  • 「RPM形式パッケージ」…RedHat系(CentOSなど)
  • 「deb形式パッケージ」…Debian系(Ubuntuなど)
ファルコン

パッケージは「プログラムの集合体」だよ!

yumリポジトリ(レポジトリ)とは

yumリポジトリ(レポジトリ)とは、yumで扱うパッケージが置いてある場所のことです。

リポジトリって「倉庫」って意味もあるので、「パッケージを管理している倉庫があるんだな」ってイメージでいいと思います。

このリポジトリは世界のあちこちにあって、デフォルトで指定されているリポジトリ以外にも、別のリポジトリを追加することができます。

リポジトリを追加する理由は、デフォルトのリポジトリにはないパッケージをインストールしたい場合が出てくるからです。

ファルコン

必要になったタイミングで「リポジトリ」を追加していくよ!

yumとrpmの違いと仕組み

実はCentOSには、yum以外にも「rpm」というコマンドがあります。

さきほど紹介したRPM形式パッケージの「RPM」ではなく、「rpm」というコマンドが別にあるのです。

さきに結論を言ってしまうと、「rpm」コマンドは使わずに「yum」コマンドをメインで利用しましょう!

  • 「rpmコマンド」…RPM形式パッケージのインストールなどをおこなう
  • 「yumコマンド」…内部でrpmコマンドを実行し、さらに依存関係のパッケージにも対応

たとえば、「A」というパッケージをインストールするためには、「B」というパッケージが必要だったとしましょう。

「A」をrpmコマンドでインストールしようとした場合、以下のような手順が必要になります。

  1. 「A」をrpmでインストール
  2. 「B」がないため失敗
  3. 「B」をrpmでインストール
  4. 「A」をrpmでインストール

もし、yumコマンドで「A」をインストールするなら

  1. 「A」をyumでインストール
  2. 「B」が必要なため「B」も一緒にインストール(自動)

yumコマンドを利用すれば、本来インストールしたい「A」を指定すると、あとは勝手に依存パッケージ「B」をインストールしてくれるのです。

ファルコン

特別な理由がない限りは、yumを使えばよさそうだね!

yumコマンド一覧とオプションの使い方

yumコマンドを使えば、必要なパッケージを簡単にインストール、アンインストールできます。

ここからは、業務でよく使う「yumコマンド」の一覧をオプションと一緒に紹介していきますね。

パッケージをインストール

パッケージをインストールするときは、「yum install」コマンドを実行します。

$ yum install パッケージ名

たとえばGitをインストールしたい場合は、以下を実行します。

$ yum install git

上記のコマンドをそのまま実行すると、おそらくエラーになると思います。

これは、あなたに「yum install」コマンドを実行する権限がないためです。

そんなときは「sudo」を先頭につけて、root権限で実行してみましょう。

$ sudo yum install git
ファルコン

yumに限らず、「sudo」はどんなコマンドにもつけられるよ!

また、オプションである「-y」をつけることで、インストールするかどうかの確認をスキップすることもできます。

$ sudo yum install -y git
ファルコン

「-y」オプションは、途中で処理を止めたくない場合に使うよ!

パッケージを検索

yumで扱えるパッケージを検索したいときは、「yum search」コマンドを実行します。

$ yum search パッケージ名

ちなみに、このコマンドが「sudo」をつけずに実行できるのは、さきほどのインストールと違い、画面に表示するだけの安全なコマンドだからです。

インストール済みパッケージを表示

インストール済みパッケージを表示したい場合は、「yum list installed」を実行します。

# すべてのインストール済みパッケージを表示
$ yum list installed
# 指定したインストール済みパッケージを表示
$ yum list installed パッケージ名

アップデート可能なパッケージを表示

アップデート可能なパッケージを表示したい場合は、「yum list updates」を実行します。

# すべてのアップデート可能なパッケージを表示
$ yum list updates
# こっちでもOK
$ yum check-update
# 指定したアップデート可能なパッケージを表示
$ yum list updates パッケージ名
# こっちでもOK
$ yum check-update パッケージ名

パッケージをアップデート

# すべてのインストール済みパッケージをアップデート
$ sudo yum update
# 指定したインストール済みパッケージをアップデート
$ sudo yum update パッケージ名
ファルコン

権限エラーが出たときは「sudo」で対応だよ!

パッケージをアンインストール

パッケージをアンインストールするときは「yum remove」コマンドを実行します。

$ sudo yum remove -y パッケージ名
ファルコン

「-y」は確認をスキップするためのオプションだったね!

リポジトリを追加

yumリポジトリを追加するときも、「yum install」コマンドを実行します。

$ yum install リポジトリ名

リポジトリ一覧を表示

利用できるリポジトリを確認したいときは、「yum repolist」コマンドを実行します。

$ yum repolist all

このコマンドを実行すると、画面にリポジトリの一覧が表示されます。

実行結果の「enabled」と表示されているリポジトリが有効、「disabled」が無効なリポジトリです。

有効、無効のリポジトリだけを表示したい場合は以下のコマンドを実行してください。

# 有効なリポジトリを表示
$ yum repolist
# 無効なリポジトリを表示
$ yum repolist disabled

リポジトリを指定してパッケージをインストール

リポジトリが無効の状態でも、「–enablerepo=」オプションをつけることで、指定のリポジトリからパッケージをインストールできます。

$ sudo yum --enablerepo=リポジトリ名 install パッケージ名
ファルコン

リポジトリを有効に設定するよりも、このやり方のほうが一般的かも!

まとめ:yumを使ってみよう!

yumの仕組みやコマンドの使い方について、なんとなくは理解できたと思います。

別に暗記しなくても大丈夫。使っているうちに嫌でも覚えてしまうからw

そのくらい、Webエンジニアにとって「yum」は頻繁に使われるコマンドなんですよね。

とはいっても、実際にLinuxを触ってみなければ、なかなか身につかないスキルでもあります。

業務で困らないためにも、「初心者のためのLinux環境構築」を読んで、勉強用にLinux環境を構築して遊んでみましょう!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次