[CentOS8] dnfコマンドのパッケージ管理とEPELリポジトリの追加

dnfコマンドのパッケージ管理とEPELリポジトリの追加
https://ilia.jp/centos8/dnf.html

dnf コマンドの使い方

▼パッケージのリストより検索
list オプションのズラズラと表示される結果を「|(パイプ)」で送って、bind-utils のパッケージ名の行のみを表示しています。

# dnf list | grep bind-utils
bind-utils.x86_64

▼パッケージの詳細
下記の例では bind-utils と呼ばれるパッケージの詳細を表示。

# dnf info bind-utils
メタデータの期限切れの最終確認: 2:19:25 時間前の 2020年09月30日 10時05分59秒 に実施しました。
利用可能なパッケージ
名前 : bind-utils
エポック : 32
バージョン : 9.11.13
リリース : 6.el8_2.1
Arch : x86_64
サイズ : 443 k
ソース : bind-9.11.13-6.el8_2.1.src.rpm
リポジトリー : AppStream
概要 : Utilities for querying DNS name servers
URL : http://www.isc.org/products/BIND/
ライセンス : MPLv2.0


▼指定したパッケージと関連パッケージをインストール
「-y」指定で「これでよろしいですか? [y/N]: n?」など全ての質問にYesとします。

# dnf install -y bind-utils

▼指定したパッケージと関連パッケージを削除

# dnf remove bind-utils

▼パッケージの追加削除履歴

# dnf history

▼インストールされたパッケージの確認
下記の例ではインストールされた一覧より、 httpd パッケージの検索結果のみを表示しています。

# dnf list installed | grep httpd
centos-logos-httpd.noarch 80.5-2.el8 @BaseOS
httpd.x86_64 2.4.37-21.module_el8.2.0+494+1df74eae @AppStream
httpd-devel.x86_64 2.4.37-21.module_el8.2.0+494+1df74eae @AppStream
httpd-filesystem.noarch 2.4.37-21.module_el8.2.0+494+1df74eae @AppStream
httpd-manual.noarch 2.4.37-21.module_el8.2.0+494+1df74eae @AppStream
httpd-tools.x86_64 2.4.37-21.module_el8.2.0+494+1df74eae @AppStream

 

dnfコマンドのオプション

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

▼パッケージ操作
install 指定したパッケージに加え、依存関係があるパッケージもインストールする。
reinstall パッケージを再インストールする。
downgrade パッケージを以前のバージョンのものにダウングレードする。
remove パッケージを依存関係のあるパッケージとともに削除する。
autoremove 依存関係のためにインストールされていた不要なパッケージを削除する。
upgrade パッケージを更新する。
upgrade-minimal 不具合の修正や機能追加、セキュリティ対応など「重要な更新」だけを更新する。
distro-sync 最新の利用可能なバージョンへインストール済みパッケージを同期する。
mark install 指定パッケージをソースから個別でインストールした時と同様の状態でインストールする。
「dnf mark remove パッケージ名」で個別で削除する。

▼パッケージ情報確認コマンド
info パッケージの情報を表示する。
list パッケージを一覧表示する。
deplist パッケージの依存性の一覧を表示する。
group パッケージグループのサマリーを表示する。
search 指定した文字列でパッケージの詳細を検索する。
repoquery キーワードに一致するパッケージを検索する。
provides ファイル名などを指定して、該当するファイルを提供するパッケージを検索する。
repolist ソフトウェアリポジトリの構成を表示する。

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

EPELリポジトリを追加

DL可能なパッケージが管理されているデータベースをリポジトリと呼びます。
リポジトリはデフォルトで設定されている場所の他、任意で追加することで、インストールすることができるパッケージを増やすことが可能です。
下記の例では EPEL リポジトリを追加する手順です。

 

▼EPELとは
EPEL:Extra Packages for Enterprise Linuxの略で、エンタープライズLinux用のスペシャルパッケージが提供されている。

▼CentOSリポジトリ一覧
https://wiki.centos.org/AdditionalResources/Repositories

▼EPELのインストール

# dnf -y install epel-release

▼設定ファイルでEPELを利用可能に設定

# vi /etc/yum.repos.d/epel.repo

epel.repo

[epel]
name=Extra Packages for Enterprise Linux $releasever – $basearch
#baseurl=https://download.fedoraproject.org/pub/epel/$releasever/Everything/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir

▼#1=有効、0=無効
enabled=1

▼優先度を追記。[1-99]で指定
1は最優先でデフォルトは99
priority=10

gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8

 

Linux、Netatalk、Samba、NFSを使用したファイルサーバーについて研究・運用しています。

fsをフォローする
参考リンク

コメント