【 dnf 】コマンド(応用編その5)――ソフトウェア(パッケージ)グループをインストールするLinux基本コマンドTips(373)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「dnf」コマンドでソフトウェア(パッケージ)グループをインストールする方法とアンインストールする方法です。

» 2020年01月24日 05時00分 公開
[西村めぐみ@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、基礎編応用編その1応用編その2応用編その3応用編その4に続き、「dnf」コマンドでソフトウェア(パッケージ)グループをインストールする方法とアンインストールする方法です。

dnfコマンドとは?

 「dnf」は、Red Hat系のLinuxディストリビューションで使われている“RPMパッケージ”を扱うためのパッケージ管理コマンドです。ソフトウェアのインストール(install)や更新(update)、アンインストール(remove)の際に利用します。

 CentOS 7が採用している「yum」の後継となるコマンドという位置付けで、yumと同じサブコマンド、オプションを使用可能です(※1)。パッケージ管理システム「RPM」と「Yum」について、さらに「RPMデータベース」や「リポジトリ」という用語については、連載第42回を参照してください。

※1 CentOS 8では/usr/bin/dnfと/usr/bin/yumはともに/usr/bin/dnf-3へのシンボリックリンクとなっている。/usr/bin/dnf-3の実態はPythonスクリプト。なお、dnfのオプションのうち、従来の「yum」コマンドから廃止されたものはChanges in DNF CLI compared to YUM(外部サイト)で確認可能。





コマンドの書式

dnf [オプション] コマンド [パッケージ名など]

※ [ ]は省略可能な引数を示しています。

※パッケージ名には「?」記号(任意の1文字)や「*」記号を使用可能

※長いオプションはコマンドラインの最後に指定することも可能




dnfの主なオプション

短いオプション 長いオプション 意味
-y --assumeyes 全ての問い合わせに対して「yes」を選択したと見なして実行する
--assumeno 全ての問い合わせに対して「no」を選択したと見なして実行する
-C --cacheonly パッケージの情報を全くダウンロードせずに、キャッシュだけを使用する
--refresh コマンド実行前にパッケージ情報のキャッシュを強制的に更新する(※2)
-R 分 --randomwait=分 最大待ち時間(分)を指定する
-c 構成ファイル名 --config=構成ファイル名 構成ファイルを指定する
--enablerepo リポジトリID 指定したリポジトリを有効にする
--disablerepo リポジトリID 指定したリポジトリを無効にする
--repo リポジトリID 指定したリポジトリだけを有効にする(複数ある場合は「--repo」「--repoid」を複数回使用する)
--repoid リポジトリID --repoと同じ
--nodocs ドキュメントをインストールしない
--allowerasing 依存関係を解決するためにインストール済みパッケージの削除を許可する
--installroot=場所 インストール先を指定する
--downloaddir=場所 ダウンロード先を指定する
--downloadonly ファイルのダウンロードだけを行う
-x パッケージ名 --exclude=パッケージ名 除外するパッケージを指定する
--showduplicates dnfのサブコマンド「info」「search」で重複しているものも表示する
--color=指定 出力メッセージを色付きにするかどうかを「always」「auto」「never」のいずれかで指定する
-q --quiet 実行時にメッセージを出力しない
-v --verbose 詳しいメッセージを出力する

※2 通常、キャッシュが古い場合は自動更新がかかる。更新までの残り時間は/etc/dnf/dnf.confの「metadata_expire」で変更可能。デフォルトは48時間。



dnfの主なコマンド(パッケージ操作関係)

コマンド 実行内容
install 指定したパッケージに加え、依存関係があるパッケージもインストールする(既にインストールされていた場合は更新する)
reinstall パッケージを再インストールする
downgrade パッケージを以前のバージョンのものにダウングレードする
remove パッケージを依存関係のあるパッケージとともに削除する
autoremove 依存関係のためにインストールされていた不要なパッケージを削除する
upgrade パッケージを更新する(※3)
upgrade-minimal 不具合の修正や機能追加、セキュリティ対応など「重要な更新」だけを更新する(※3)
distro-sync 最新の利用可能なバージョンへインストール済みパッケージを同期する
mark install 指定したパッケージを手動でインストールしたものとする(autoremoveの対象外となることが利点、「dnf mark remove パッケージ名」でマークを削除)

※3 パッケージを指定しなかった場合はインストール済みの全パッケージが対象となる。



dnfの主なコマンド(情報関係)

コマンド 実行内容
info パッケージの情報を表示する(「--installed」「--upgrade」などのオプションが使用可能)
list パッケージを一覧表示する(「--installed」「--upgrade」などのオプションが使用可能)
deplist パッケージの依存性の一覧を表示する
group パッケージグループのサマリーを表示する(本文を参照、※4)
search 指定した文字列でパッケージの詳細を検索する
repoquery キーワードに一致するパッケージを検索する(※5)
provides ファイル名などを指定して、該当するファイルを提供するパッケージを検索する
repolist ソフトウェアリポジトリの構成を表示する

※4 サブコマンドとして「list」「info」「remove」「install」「upgrade」「summary」「mark」を使用可能。「dnf group list」のように使用する。デフォルトはsummaryで、インストール済みのグループの個数やインストール可能なグループの個数を表示する。
※5 例えば「dnf repoquery --requires パッケージ名」で指定したパッケージが依存するパッケージを表示する。



dnfの主なコマンド(メンテナンス関係/その他)

コマンド 実行内容
makecache パッケージリストを格納したデータベース(リポメタデータ)をダウンロードし、キャッシュを作成/更新する
check ローカルのパッケージデータベースに問題がないかどうか確認する
check-update 更新に利用できるパッケージを確認する
clean キャッシュデータを削除する
shell 対話型のシェル(DNFシェル)を実行する
updateinfo リポジトリの更新情報を表示する
history パッケージのインストールや削除の履歴を表示する


パッケージグループをインストールする

 CentOSでは、パッケージを「グループ」で管理し、関連するパッケージをまとめてインストールできるようになっています。

 「dnf group install グループ名」で、パッケージグループをインストールできます。使用可能なグループ名は、「dnf group list」(連載第372回)で確認できます。

 インストールの実行にはroot権限が必要です。「sudo」コマンド(連載第68回)などを利用してください。

コマンド実行例

dnf group list

(パッケージグループ名を一覧表示する(連載第372回参照)

LANG=C dnf group list

(パッケージグループ名を英語で一覧表示する(連載第372回参照)

dnf group install グループ名

(指定したパッケージグループをインストールする)

dnf group install セキュリティーツール

(「セキュリティーツール」グループのパッケージをインストールする)


画面1 画面1 「セキュリティーツール」グループのパッケージのインストールを開始したところ
画面2 画面2 セキュリティーツール」グループのパッケージのインストールを完了したところ


パッケージグループをアンインストールする

 「dnf group remove グループ名」で、パッケージグループをアンインストールできます。

コマンド実行例

dnf group remove グループ名

(指定したパッケージグループをアンインストールする)


 画面3では「dnf group list --installed」でインストール済みのグループ名を確認してから、グループのアンインストールを実行しています(画面4)。

画面3 画面3 インストール済みのグループ名を確認し、「セキュリティーツール」のアンインストールを開始したところ
画面4 画面4 「セキュリティーツール」のアンインストールを完了したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

元々はDOSユーザーで「DOS版UNIX-like tools」を愛用。ソフトハウスに勤務し生産管理のパッケージソフトウェアの開発およびサポート業務を担当、その後ライターになる。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。地方自治体の在宅就業支援事業にてMicrosoft Officeの教材作成およびeラーニング指導を担当。会社などの"PCヘルパー"やピンポイント研修なども行っている。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。