dnf事始め
CentOS8がリリースされてだいぶ経つが、いまだにyumとdnfの違いが分かっていないので少し触ってみる。
(とりあえずdockerでCentOS8の環境を作ってそこで遊びます)
dnfとは?
Red Hat系のLinuxディストリビューションで採用されたパッケージ管理コマンド
CentOS 7が採用している
yum
コマンドの後継という位置付けyum
と同じサブコマンド、オプションを使用可能
使ってみる
環境準備
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