Red Hat Enterprise Linux(RHEL)やそのクローンディストリビューション(AlmaLinux、Rocky Linux、CentOS Streamなど)を使っていると、「ソフトウェアをインストールするにはどうすればいいの?」という疑問にぶつかることがあります。
そんなときに欠かせないのがdnfコマンドです。中でも最も使用頻度が高いのが dnf install
。
この記事では、dnf installの基本的な使い方から、便利なオプション、よくあるエラーとその対処法まで、丁寧に解説します。
Linux初心者の方でも分かりやすいように、実例を交えてご紹介します。
dnfとは?yumとの違い
dnf
は、Red Hat系Linuxで使用される次世代のパッケージマネージャーです。以前はyum
(Yellowdog Updater, Modified)が標準でしたが、今ではその後継としてRHEL 8以降ではdnf
が主流です。
主な違い:
dnf
はPython3で書かれており、より高速で安定- 依存関係の処理が賢くなっている
- プラグインシステムが改善されている
- コマンドの使い方は
yum
とほぼ同じなので、yumユーザーもすぐに慣れます
dnf installの基本構文
基本的なコマンドは以下の通りです:
sudo dnf install [パッケージ名]
たとえば、vim
というテキストエディタをインストールしたい場合:
sudo dnf install vim
このコマンドで、vim本体とその依存パッケージが自動的にインストールされます。
sudoは必要?
多くの場合、パッケージのインストールはシステム全体に関わる操作なので、root権限が必要です。
そのため、一般ユーザーがコマンドを実行する場合にはsudo
をつけるのが一般的です。
例:
sudo dnf install httpd
rootユーザーとしてログインしている場合はsudo
は不要です。
複数パッケージを一括インストールする
dnf install
では、スペース区切りで複数のパッケージを一度に指定することも可能です。
sudo dnf install git curl wget
この例では、git
、curl
、wget
をまとめてインストールします。
インストール前に確認だけしたい場合
「このパッケージを入れると何がインストールされるか確認してから実行したい」場合は、--assumeno
オプションが便利です。
sudo dnf install vim --assumeno
これによりインストール処理は行われず、何が起こるかの確認だけが表示されます。
インストール時によく使うオプション
dnf install
には多くの便利なオプションがあります。
オプション | 内容 |
---|---|
-y | すべての質問に「yes」と自動回答(無人インストール) |
--nogpgcheck | GPGチェックをスキップしてインストール |
--best | 利用可能な中で最も新しいバージョンをインストール |
--allowerasing | 競合するパッケージを削除してインストールを許可 |
例:
sudo dnf install nginx -y --allowerasing
よくあるエラーと対処法
エラー1:リポジトリが見つからない
Error: Unable to find a match: package_name
これは指定したパッケージがリポジトリに存在しない場合に発生します。対処法としては以下を確認しましょう。
- パッケージ名のスペルミスがないか?
- リポジトリが正しく設定されているか?
sudo dnf repolist
で有効なリポジトリを確認できます。
エラー2:GPGキーエラー
Public key for package_name.rpm is not installed
GPG署名の検証に失敗した場合です。リスクを理解したうえで以下のようにインストールを続行することができます:
sudo dnf install package_name --nogpgcheck
パッケージの検索方法
パッケージ名が分からないときは、dnf search
コマンドで探すことができます。
dnf search [キーワード]
例:
dnf search editor
このコマンドで「editor」というキーワードに関連するすべてのパッケージが表示されます。
dnf installとrpm -ivhの違い
RHEL系では、.rpm
ファイルを直接インストールするrpm -ivh
コマンドもありますが、dnf install
のほうが以下の点で優れています。
- 依存関係を自動的に解決
- リポジトリから安全にインストール
- GPG署名による検証が行われる
一方で、ローカルにあるrpmファイルを使いたい場合は以下のようにdnfでもインストール可能です:
sudo dnf install ./package_name.rpm
アンインストールするには?
インストールしたパッケージを削除したい場合は、dnf remove
を使います。
sudo dnf remove パッケージ名
例:
sudo dnf remove httpd
依存関係も自動で確認して、不要なパッケージが一緒に削除されます。
まとめ
dnf install
は、RHEL系ディストリビューションでのソフトウェア管理において欠かせないコマンドです。
基本的な使い方を覚えておくだけで、さまざまなパッケージを簡単にインストール・管理することができます。
ポイントをおさらいしましょう:
sudo dnf install パッケージ名
でインストール-y
や--best
などのオプションを活用- エラーが出たときは
repolist
やsearch
で確認 - アンインストールには
dnf remove
日々のサーバー管理や開発環境構築において、dnfの知識があるととてもスムーズに作業が進みます。ぜひこの機会に使いこなせるようになってください。