- 1. 概要
- 2. 使い方
- 3. DVD をリポジトリとしてインストールする
- 4. 使用しているリポジトリを一覧表示
- 5. リポジトリの有効化・無効化
- 6. yum list
- 7. .rpm を dnf でインストール
- 8. 更新
- 9. 参考サイト
1. 概要
「yum」は、パッケージをインストールするコマンドです。
もともと「Yellow Linux」というディストリビューションに実装されて、その後、Fedora と CentOS に実装されたそうです。
「Ubuntu」系では、パッケージの操作は、「Debian」標準の「apt(Advanced Packaging Tool)」が標準です。
「Red Hat」系のパッケージは「rpm」という形式で作成されており「yum」の他に「rpm」というインストール用のコマンドも用意されていますが「yum」の方がパッケージの依存関係を先に解決してくれるので使い勝手がよいようです。
わたしの印象では「yum」は「FreeBSD」の「pkg」コマンドに近いものであるという認識です。
(というよりは「pkg」の方が「yum」を真似っこしているのかな?)
どうも、「yum」は徐々に「dnf」へ置き換わっているようです。
「Dandified Yum - Wikipedia」に書いてあります。
もし、「dnf」が使えるのであれば、「yum」を「dnf」に置きかえて使うべきでしょう。
2. 使い方
基本的には
dnf install パッケージ名
でインストールを行います。
わたしが知っているオプションは、以下のものくらいです。
| コマンドライン | 意味 | 備考 |
| yum search パッケージ名 | 検索 | パッケージ名は部分文字列でも可 |
| yum install パッケージ名 | インストール | |
| yum remove パッケージ名 | パッケージをアンインストール | |
| yum list オプション | パッケージをリスト | 「6. yum list」参照 |
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. 使用しているリポジトリを一覧表示
リポジトリを追加しているうちに、どれだけリポジトリを追加したのかわからなくなっちゃました。
調べる方法があります。
コマンドは
dnf repolist all
実際に、「CentOS 8」でやってみました(このときは、まだ「yum」を使用)。
$ 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 config-manager --enable リポジトリ名
無効化。
dnf config-manager --disaable リポジトリ名
けどまぁ、これって実際のところは、コマンドは「dnf」ですわな。
つまり、「dnf」と「yum」は、同じリポジトリを使用しているってことです。
リポジトリの追加。
yum-config-manager --add-repo リポジトリURL
有効化。
yum-config-manager --enable リポジトリ名
無効化。
yum-config-manager --disable リポジトリ名
6. yum list
下記のコマンドで。
yum list オプション
パッケージの一覧を表示します。
オプションにより、表示する内容を制御します。
| オプション | 表 示 内 容 | 備考 |
| なし | インストール可能なパッケージとインストール済みのパッケージ | |
| installed | インストール済のパッケージ | |
| updates | アップデート可能なパッケージ | |
| available | 利用可能なパッケージ | |
| extras | 利用できないパッケージ | |
7. .rpm を dnf でインストール
「.rpm」ファイルを「dnf」コマンドでインストールできます。
dnf install -y filename.rpm
8. 更新
基本的に、更新は。
dnf update
dnf upgrade -y
で行うのですが。
「dnf update」で。
- パッケージの最良アップデート候補をインストールできません openssl-devel-1:3.2.2-16.el10.alma.1.x86_64_v2
- パッケージの最良アップデート候補をインストールできません clamav-1.4.2-1.el10_0.x86_64
(競合するパッケージを置き換えるには、コマンドラインに '--allowerasing' を追加してみてください または、'--skip-broken' を追加して、インストール不可のパッケージをスキップしてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
てな状況になるときがあります。
そういう際は、言われるとおり。
dnf update --allowerasing --skip-broken --nobest
たいてい、これでうまくいきます。
9. 参考サイト
本ページは、下記のサイトを参考にさせていただきました。
「DNF ツールを使用したソフトウェアの管理 | Red Hat Product Documentation」
「[CentOS] 追加した yum リポジトリを一覧で確認するコマンド « Codaholic」
「dnf (yum) でリポジトリの有効無効を切り替える」
「Yum リポジトリを有効/設定/無効にする方法 Red Hat Enterprise Linux 6 | Red Hat Customer Portal」
「【yum list】パッケージ一覧を表示・確認する | UX MILK」
|