yum の使い方
公開日:2019-06-01
更新日:2020-07-21
更新日:2020-07-21
1. 概要
パッケージを管理する yum の使い方です。
パッケージをインストールするには、rpm で1つずつインストールできますが、
関連パッケージが複数あったり、バージョンが複数ある場合に、
パッケージの漏れがなく、かつ適切なバージョンをインストールするのは難しいです。
そこで yum を使うと、関連がある複数のパッケージを適切なバージョンを使用してまとめてインストールしてくれます。
ちなみに、パッケージは rpm と言う形式で公開されています。
パッケージをインストールするには、rpm で1つずつインストールできますが、
関連パッケージが複数あったり、バージョンが複数ある場合に、
パッケージの漏れがなく、かつ適切なバージョンをインストールするのは難しいです。
そこで yum を使うと、関連がある複数のパッケージを適切なバージョンを使用してまとめてインストールしてくれます。
ちなみに、パッケージは rpm と言う形式で公開されています。
2. インストール可能なパッケージ一覧の表示
以下のコマンドで yum でインストール可能なパッケージ一覧を表示できます。
この一覧のパッケージは、一般的によく使うパッケージで、
パッケージ(.rpm)の配布元(URL)をファイルで保持しているため、
rpm や yum では、URL を指定しなくても、パッケージのインストールが行えます。
この一覧にないパッケージは、初期設定では yum でインストールすることはできません。
パッケージの配布元は以下で確認できます。
mirrorlist に書かれた以下の URL にブラウザでアクセスします。
http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=
URL一覧が表示されます。
その中のどれかの URL にアクセスして、さらにその配下の「Packages/」にアクセスします。
そうすると、.rpm のファイル一覧が表示されます。
クリックするとダウンロードが始まります。
rpm と yum では、ここから自動的にダウンロードしてインストールを行います。
yum list
この一覧のパッケージは、一般的によく使うパッケージで、
パッケージ(.rpm)の配布元(URL)をファイルで保持しているため、
rpm や yum では、URL を指定しなくても、パッケージのインストールが行えます。
この一覧にないパッケージは、初期設定では yum でインストールすることはできません。
パッケージの配布元は以下で確認できます。
cd /etc/yum.repos.d/
ll
cat CentOS-Base.repo
mirrorlist に書かれた以下の URL にブラウザでアクセスします。
http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=
URL一覧が表示されます。
その中のどれかの URL にアクセスして、さらにその配下の「Packages/」にアクセスします。
そうすると、.rpm のファイル一覧が表示されます。
クリックするとダウンロードが始まります。
rpm と yum では、ここから自動的にダウンロードしてインストールを行います。
3. よく使うコマンド
| コマンド | 内容 |
|---|---|
| yum info {パッケージ名} | バージョンやサイズなどを表示します。 |
| yum install {パッケージ名} | インストールします。 |
| yum remove {パッケージ名} | アンインストールします。 |
| yum list | 全パッケージ一覧の表示 |
| yum list installed | インストール済みのパッケージ一覧の表示 |
| yum list updates | アップデート可能なパッケージ一覧の表示 |
| yum update | 全パッケージのアップデート |
| yum update {パッケージ名} | パッケージのアップデート |
| yum history | インストール履歴の一覧表示 |
| yum history info {ID} | インストール履歴の詳細表示。 |
| yum history undo {ID} | インストール、アップデートを元に戻す。ロールバック。 |
| rpm -ql {パッケージ名} | インストール先の表示 |
yum help で他のコマンドやオプションを確認できます。
4. wget のインストール
試しに wget をインストールしてみます。
インストールされていないことを確認します。
パッケージがあることを確認します。
インストールします。
インストールされたことを確認します。
アップデートします。
インストールされたファイルの場所を確認します。
アンインストールします。
インストールされていないことを確認します。
which wget
yum list installed | grep wget
パッケージがあることを確認します。
yum list | grep wget
インストールします。
yum install wget
または
yum install wget.x86_64
インストールされたことを確認します。
which wget
yum list installed | grep wget
yum history
yum history info 2
アップデートします。
yum update wget
インストールされたファイルの場所を確認します。
rpm -ql wget
アンインストールします。
yum remove wget
または
yum history undo 2
5. パッケージのアップデート
以下のコマンドでアップデート可能なパッケージ一覧が表示されます。
OSインストール直後はアップデート可能なパッケージが多いため、以下で全て更新します。
初回のアップデートは数が多いため、数分かかります。
また、日々アップデート可能なパッケージが出てきますが、 2回目からは、テスト環境でアップデートをして、 問題がないことを確認してからアップデートをしても良いかもしれません。
一応 yum history undo で元に戻すこともできますが、念のため。
yum list updates
OSインストール直後はアップデート可能なパッケージが多いため、以下で全て更新します。
初回のアップデートは数が多いため、数分かかります。
yum update
また、日々アップデート可能なパッケージが出てきますが、 2回目からは、テスト環境でアップデートをして、 問題がないことを確認してからアップデートをしても良いかもしれません。
一応 yum history undo で元に戻すこともできますが、念のため。
6. リポジトリの追加(EPEL と Remi の追加)
パッケージの配布元(リポジトリ)は /etc/yum.repos.d/ 配下のファイルで定義されていますが、
以下のコマンドでも確認できます。
ここに定義を追加することで、デフォルトにないパッケージをインストールできるようになります。
今後、最新の PHP などをインストール際に必要になるため、
EPEL と Remi と言うリポジトリを追加します。
EPEL を追加するには以下を実行します。
実行すると、/etc/yum.repos.d/ 配下にファイルが追加されます。
yum repolist を実行すると、epel が追加されたことが確認できます。
続いて Remi を追加します。
http://rpms.remirepo.net/ にアクセスして、
「Maintained Enterprise Linux (RHEL / CentOS / Other clones)」の下に書かれている
remi-release-7.rpm の URL を確認して、rpm でインストールします。
yum repolist を実行すると、remi が追加されたことが確認できます。
以下のコマンドでも確認できます。
yum repolist 有効なリポジトリ
yum repolist all 全てのリポジトリ
yum repolist disabled 無効なリポジトリ
ここに定義を追加することで、デフォルトにないパッケージをインストールできるようになります。
今後、最新の PHP などをインストール際に必要になるため、
EPEL と Remi と言うリポジトリを追加します。
EPEL を追加するには以下を実行します。
yum install epel-release
実行すると、/etc/yum.repos.d/ 配下にファイルが追加されます。
yum repolist を実行すると、epel が追加されたことが確認できます。
続いて Remi を追加します。
http://rpms.remirepo.net/ にアクセスして、
「Maintained Enterprise Linux (RHEL / CentOS / Other clones)」の下に書かれている
remi-release-7.rpm の URL を確認して、rpm でインストールします。
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
-U アップデート。なければインストール。
-v 詳細表示
-h 進行状況の表示
yum repolist を実行すると、remi が追加されたことが確認できます。

