Linux - 共通事項 - パッケージ管理 - yum

 クラウディア
1. 概要
2. 使い方
3. DVD をリポジトリとしてインストールする
4. 使用しているリポジトリを一覧表示
5. リポジトリの有効化・無効化

1. 概要

 yum はパッケージをインストールするコマンドのひとつです。  Linux ではすべて共通的に通用するものかと思っていましたら、もともと「Yellow Linux」というディストリビューションに実装されて、その後、Fedora と CentOS に実装されたそうです。  Ubuntu ではパッケージの操作は、Debian 標準の apt(Advanced Packaging Tool)が標準のようです。  「Linux」のパッケージは「rpm」という形式で作成されており「yum」の他に「rpm」というインストール用のコマンドも用意されていますが「yum」の方がパッケージの依存関係を先に解決してくれるので使い勝手がよいようです。  わたしの印象では「yum」は「FreeBSD」の「pkg」コマンドに近いものであるという認識です。(というよりは「pkg」の方が「yum」を真似っこしているのかな?)

2. 使い方

 基本的には

yum install パッケージ名
 でインストールを行います。  わたしが知っているオプションは、以下のものくらいです。
 コマンドライン    意味     備考  
yum search パッケージ名 検索 パッケージ名は部分文字列でも可
yum install パッケージ名 インストール
yum remove パッケージ名 パッケージをアンインストール
yum list installed インストール済のパッケージをリスト

3. DVD をリポジトリとしてインストールする

 いささか事情があって「CentOS 6.8」を使用しているのですがインターネットに接続できない環境なのです。  なのでリポジトリをインストール用の DVD のみとしたいのですが、依存しているパッケージをどうしてもネットワークからとってこようとするので以下の設定を行いました。  DVD は挿入すると自動的にマウントされるようになっていて 2 をつっこむと

/media/CentOS_6.8_Final/
 がマウントされている状態です。  下記のファイルを編集します。

/etc/yum.repos.d/CentOS-Media.repo

[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
 を下記のように書き換えます。

[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
        file:///media/CentOS_6.8_Final/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
 これで、インターネットに接続していない状態で「yum」コマンドを使用しても DVD を使用してくれるようになります。  DVD2 でもうまくいくかと思っていたのですが DVD2 には

/media/CentOS_6.8_Final/repodata/repomd.xml
 が存在しないためうまく動作できないようです。

4. 使用しているリポジトリを一覧表示

 リポジトリを追加しているうちに、どれだけリポジトリを追加したのかわからなくなっちゃました。  調べる方法があるんですね。  本項は、「[CentOS] 追加した yum リポジトリを一覧で確認するコマンド « Codaholic」を参考にさせていただきました。  コマンドは

yum repolist all
 実際に、「CentOS 8」でやってみました。

$ yum repolist all
メタデータの期限切れの最終確認: 0:29:47 時間前の 2019年10月31日 16時04分55秒 に実施しました。
repo id                      repo の名前                                                          状態
AppStream                    CentOS-8 - AppStream                                                 有効化: 4,679
AppStream-source             CentOS-8 - AppStream Sources                                         無効化
BaseOS                       CentOS-8 - Base                                                      有効化: 1,655
BaseOS-source                CentOS-8 - BaseOS Sources                                            無効化

・・・	以下略	・・・

 実際には、「無効化」の部分は、赤く表示されるので、分かりやすいです。

5. リポジトリの有効化・無効化

 リポジトリの有効化・無効化に関しては、各所に「yum-config-manager」を使うと書いているのですが・・・。  少なくとも、現在(2019年11月2日)の「CentOS 8.0」では、「yum-config-manager」が使えなかったので、「dnf」で代替します。  本稿は、「dnf (yum) でリポジトリの有効無効を切り替える」を参考にさせていただきました。  有効化。

dnf config-manager --enable リポジトリ名
 無効化。

dnf config-manager --disaable リポジトリ名
 けどまぁ、これって実際のところは、コマンドは「dnf」ですわな。  つまり、「dnf」と「yum」は、同じリポジトリを使用しているってことです。  「yum」コマンドは、「6.3.5. Yum リポジトリを有効/設定/無効にする方法 Red Hat Enterprise Linux 6 | Red Hat Customer Portal」に掲載されておりました。  リポジトリの追加。

yum-config-manager --add-repo リポジトリURL
 有効化。

yum-config-manager --enable リポジトリ名
 無効化。

yum-config-manager --disable リポジトリ名
 
 
カウンタバックグラウンド