うさぎ好きエンジニアの備忘録

うさぎたちに日々癒されているエンジニアが業務で直面したもの & 個人的な学習メモを残していきます。

dnf事始め

CentOS8がリリースされてだいぶ経つが、いまだにyumとdnfの違いが分かっていないので少し触ってみる。

(とりあえずdockerでCentOS8の環境を作ってそこで遊びます)

dnfとは?

使ってみる

環境準備

dockerでCentOS8のイメージをpullして、コンテナを起動しておく。

$ docker image pull centos:8
$ docker image ls centos
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              7                   7e6257c9f8d8        11 days ago         203MB
centos              8                   0d120b6ccaa8        11 days ago         215MB
$ docker container run -it --name centos8 -h centos8-dev centos:8
[root@centos8-dev /]# uname -n
centos8-dev

パッケージのリスト確認

インストール可能なパッケージの確認は↓のようにできる。

$ dnf list
# パッケージ名でgrepしてあげるのが一般的かも
$ dnf list | grep <packageName>

インストール済みのパッケージの確認は以下のようにinstalledを指定してあげればOK。

$ dnf list installed

パッケージのインストール / アンインストール

インストールはyumコマンド同様、installでOK。

$ dnf install wget

アンインストールもremoveでOK。

$ dnf remove wget

(おまけ) repoファイルの所在

yumの場合/etc/yum.repos.d配下にrepoファイル群が置かれるが、これに関してはdnfになっても変わっていなかった。

$ ls -l /etc/yum.repos.d/
total 52
-rw-r--r-- 1 root root  731 Jun  3 01:02 CentOS-AppStream.repo
-rw-r--r-- 1 root root  712 Jun  3 01:02 CentOS-Base.repo
-rw-r--r-- 1 root root 1043 Jun  3 01:02 CentOS-CR.repo
-rw-r--r-- 1 root root  668 Jun  3 01:02 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root  743 Jun  3 01:02 CentOS-Devel.repo
-rw-r--r-- 1 root root  756 Jun  3 01:02 CentOS-Extras.repo
-rw-r--r-- 1 root root  738 Jun  3 01:02 CentOS-HA.repo
-rw-r--r-- 1 root root  928 Jun  3 01:02 CentOS-Media.repo
-rw-r--r-- 1 root root  736 Jun  3 01:02 CentOS-PowerTools.repo
-rw-r--r-- 1 root root 1382 Jun  3 01:02 CentOS-Sources.repo
-rw-r--r-- 1 root root   74 Jun  3 01:02 CentOS-Vault.repo
-rw-r--r-- 1 root root  798 Jun  3 01:02 CentOS-centosplus.repo
-rw-r--r-- 1 root root  338 Jun  3 01:02 CentOS-fasttrack.repo

試しにepelリポジトリをインストールしてみると/etc/yum.repos.dに配置されることが確認できた。

$ dnf install epel-release

$ ls -l /etc/yum.repos.d/ | grep epel
-rw-r--r-- 1 root root 1167 Dec 18  2019 epel-modular.repo
-rw-r--r-- 1 root root 1249 Dec 18  2019 epel-playground.repo
-rw-r--r-- 1 root root 1266 Dec 18  2019 epel-testing-modular.repo
-rw-r--r-- 1 root root 1203 Dec 18  2019 epel-testing.repo
-rw-r--r-- 1 root root 1104 Dec 18  2019 epel.repo