dnf, パッケージ - AlmaLinux

dnf コマンドとは?

「 yum 」の後継となる「 RPMパッケージ 」を扱うためのパッケージ管理ソフトです。

「 yum 」と同じサブコマンド、オプションが使えます。

Rocky Linux 9 では、「 yum 」も使えますが今後使えなくなる可能性もあるため、「 dnf 」コマンドを使ったほうがいいと思われます。

従来の「 yum 」コマンドから廃止されたものは、「 Changes in DNF CLI compared to dnf 」のサイトで確認できます。

リポジトリ

リポジトリとは、パッケージを集めて保管している場所です。「 dnf repolist 」コマンドで確認できます。

OS にバンドルされているリポジトリの他に、サードパーティのリポジトリを追加できます。

RedHat がエンタープライズ向けなので、提供されるパッケージは古めのバージョンが多いです。その為、最新のパッケージが欲しい場合、サードパーティのリポジトリに頼ることが多いです。

複数のサードパーティリポジトリからパッケージを入れると、依存関係がわからなくなったりするため、基本的には複数のサードパーティリポジトリは使用しません。

EPEL(Extra Packages for Enterprise Linux) とは、サードパーティ製のリポジトリです。CentOS などの公式パッケージに含まれていない有用なソフトウェアを提供しています。

EPEL リポジトリの追加

sudo dnf install epel-release

EPEL の設定ファイルは、「 /etc/yum.repos.d/epel.repo 」です。

Alma Linux にインストールした場合、初期設定では、自動で使用しない設定(enabled=0)になっています。

EPEL からパッケージを探したい場合は、以下のようにします。

sudo dnf --enablerepo=epel install [パッケージ名]

RPM は、単体のパッケージ管理ツールで Linux システムにおいて、パッケージ管理や依存関係の解決などに使用されます。

パッケージの更新

  • Alma
  • Rocky

インストール済みのパッケージで更新可能なアップデートを確認するには、次のようにコマンドを実行します。

sudo dnf check-update

パッケージを更新するには次のようにコマンドを実行します。

更新するパッケージの依存関係またはパッケージに利用可能な更新がある場合は、合わせて更新されます。

パッケージ名を指定しなければすべてのパッケージが更新されます。

dnf upgrade パッケージ名

パッケージのインストールと削除

  • Alma
  • Rocky

インストール

dnf install パッケージ名

アンインストール

dnf erase パッケージ名

パッケージの情報

  • Alma
  • Rocky

パッケージ名と概要から検索する

dnf search キーワード

パッケージ情報の全てから検索する

dnf search all キーワード

インストール可能なパッケージを表示

sudo dnf list

インストール済みのパッケージをすべて表示する

dnf list --all

インストール済みのパッケージを指定して表示する

dnf list --installed | grep httpd

有効なリポジトリ内で利用可能なパッケージを表示

dnf list --available

パッケージに関しての情報の表示

dnf info パッケージ名

パッケージの削除

  • Alma
  • Rocky
sudo dnf remove パッケージ名

アップデート可能なパッケージ一覧を表示

  • Alma
  • Rocky
sudo dnf check-update

「 grep 」コマンドを使い、アップデート可能なパッケージを調べることができます。

sudo dnf check-update | grep python

パッケージをアップデートする

  • Alma
  • Rocky

指定されたパッケージをアップデートします。パッケージ名を指定しない場合は、すべてのパッケージがアップデートされます。

# パッケージ名を指定してアップデート
sudo dnf update パッケージ名

# すべてのパッケージをアップデート
sudo dnf update

# 複数のパッケージをまとめて指定(python と openssl を指定)
sudo dnf update python openssl

dnf のキャッシュを削除

  • Alma
  • Rocky
sudo dnf clean all

パッケージの自動更新

  • Alma
  • Rocky
sudo dnf install dnf-cron

リポジトリ

  • Alma
  • Rocky

有効な各リポジトリでのパッケージを一覧表示するには、次のようにコマンドを実行します。

dnf repolist

リポジトリーの詳細情報を一覧表示するには次のようにします。

dnf repolist -v

有効、無効にかかわらず、リポジトリを一覧表示するには、次のようにコマンドを実行します。

dnf repolist all