1. 概要
Linuxのパッケージ管理システムについて、yum
とRPM
をなんとなく使用していた
仕組みが気になったので、仕組みとyum
の用途別でコマンド操作をまとめてみた
参考資料:yum installで学ぶ! yum の仕組み ここ見たら流れが細部まで書いてあるので内部構造が気になった時用
2. パッケージ管理とは
OSや言語、等の単位当りの環境でパッケージという単位でソフトウェアを導入、削除、それらの依存関係解決を行うことができるシステム
以下ではRedHat系Linuxの標準パッケージマネージャーであるRPM
とyum
を前提(ただしコマンド系の解説はyum
のみ)
3. yumとは
パッケージ管理システムの1つで、RPM
をラップして使っている
RPM
の機能のほかに自動更新機能や依存関係の管理も行っている
4. リポジトリとは
Linuxが必要なパッケージ(アプリ∈パッケージ)を見つけ出せるようにインターネット上のどこのサーバーにパッケージが格納されているかを記載したファイルのこと
4.1. yumとリポジトリの関係
4.1.1. etc/yum.repos.d/*.repo について
yum
がRPM
経由でインストールや依存関係解決を行う際にここに記載されているリポジトリの場所に存在するパッケージ群に対してのみ行うことができる
記載のリポジトリ以外に対する処理はできないので注意
4.1.2. yumリポジトリを追加する
etc/yum.repos.d/
ディレクトリに~.repo
というファイルを作成し、以下最低三項目を設定する
[リポジトリID]
name=リポジトリ名
baseurl=リポジトリのURL
4.2. インストールまでの流れ
- コマンドを打つ
$ yum -y install php
- etc/yum.repos.d/*.repoを検索
- ミラーサイト1の中で一番地理的に近いサイトを選択する
- 必要なパッケージ情報を取得する
コマンドで指定したパッケージのほかに、依存関係にあるパッケージも一緒にインストールする
5. 用途別コマンド集
5.1. パッケージ一覧の表示
$ yum list #全てのパッケージを表示
>
$ yum list chmod #chmodパッケージを表示
>
$ yum list ch* #ワイルドカードで表示
>
$ yum list installed #インストール済みのものだけ表示
>
$ yum list available #未インストールの利用可能なパッケージを表示
>
5.2. パッケージ(コマンド)の検索
$ yum search bind #bindパッケージの検索
>
$ yum provides chmod #chmodコマンドが含まれるパッケージの検索
>
5.3. パッケージ情報の確認
$ yum info bind #bindパッケージ情報の確認
>
5.4. パッケージのインストール
他にも種々インストール方法があるが、これだけ覚える
$ yum install chmod
5.5. パッケージの更新
$ yum check-update #更新があるかの確認 いきなりupdateは怖いのでこれで確認してから
>
$ yum update <pkg> #pkgをupdate
$ yum update #全体をupdate
5.6. パッケージの削除
$ yum remove <pkg> #pkgを削除
-
耐障害性を考慮した、本サイトのバックアップサイトのこと ↩