Red Hat、CentOS、Fedoraのパッケージ管理のための包括的なYUMおよびDNFコマンドとワークフロー。
インストールと更新
基本的なパッケージ操作 (DNF)
| コマンド | 説明 |
|---|
sudo dnf update | すべてのパッケージを更新 |
sudo dnf upgrade | すべてのパッケージをアップグレード(updateと同じ) |
sudo dnf install package_name | パッケージをインストール |
sudo dnf remove package_name | パッケージを削除 |
sudo dnf autoremove | 未使用の依存関係を削除 |
sudo dnf reinstall package_name | パッケージを再インストール |
基本的なパッケージ操作 (YUM)
| コマンド | 説明 |
|---|
sudo yum update | すべてのパッケージを更新 |
sudo yum install package_name | パッケージをインストール |
sudo yum remove package_name | パッケージを削除 |
sudo yum autoremove | 未使用の依存関係を削除 |
sudo yum reinstall package_name | パッケージを再インストール |
高度なインストール
| コマンド | 説明 |
|---|
sudo dnf install package1 package2 | 複数のパッケージをインストール |
sudo dnf install package-version | 特定のバージョンをインストール |
sudo dnf localinstall package.rpm | ローカルRPMファイルをインストール |
sudo dnf downgrade package_name | パッケージをダウングレード |
sudo dnf install --enablerepo=repo package | 特定のリポジトリからインストール |
パッケージ情報
検索と情報
| コマンド | 説明 |
|---|
dnf search keyword | パッケージを検索 |
dnf info package_name | パッケージ情報を表示 |
dnf list installed | インストールされたパッケージの一覧 |
dnf list available | 利用可能なパッケージを一覧表示 |
dnf list updates | 利用可能な更新プログラムを一覧表示 |
rpm -qa | インストールされているパッケージをすべて一覧表示 |
rpm -qi package_name | インストールされたパッケージ情報を表示 |
パッケージの依存関係
| コマンド | 説明 |
|---|
dnf deplist package_name | パッケージの依存関係を表示 |
dnf repoquery --requires package_name | パッケージ要件を表示 |
dnf repoquery --whatrequires package_name | パッケージに必要なものを表示 |
rpm -qR package_name | パッケージの依存関係を表示 (RPM) |
リポジトリ管理
リポジトリ操作
| コマンド | 説明 |
|---|
dnf repolist | 有効なリポジトリをリスト |
dnf repolist all | すべてのリポジトリを一覧表示 |
sudo dnf config-manager --add-repo URL | リポジトリを追加 |
sudo dnf config-manager --disable repo_name | リポジトリを無効化 |
sudo dnf config-manager --enable repo_name | リポジトリを有効にする |
EPELリポジトリ (CentOS/RHEL)
| コマンド | 説明 |
|---|
sudo dnf install epel-release | EPEL リポジトリをインストール |
sudo yum install epel-release | EPEL (YUM) をインストール |
システムメンテナンス
クリーンアップ操作
| コマンド | 説明 |
|---|
sudo dnf clean all | すべてのキャッシュをクリーン |
sudo dnf clean packages | パッケージキャッシュをクリーン |
sudo dnf clean metadata | メタデータキャッシュをクリーン |
sudo dnf autoremove | 孤立したパッケージを削除 |
パッケージグループ
| コマンド | 説明 |
|---|
dnf group list | パッケージグループを一覧表示 |
dnf group info "Group Name" | グループ情報を表示 |
sudo dnf group install "Development Tools" | パッケージグループをインストール |
sudo dnf group remove "Group Name" | パッケージグループを削除 |
設定ファイル
DNF/YUM設定
| ファイル | 説明 |
|---|
/etc/dnf/dnf.conf | DNFメインコンフィグレーション |
/etc/yum.conf | YUM メインコンフィグレーション |
/etc/yum.repos.d/ | リポジトリ設定ファイル |
/var/log/dnf.log | DNF ログファイル |
/var/log/yum.log | YUM ログファイル |
dnf.conf の例```ini
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=False
skip_if_unavailable=True
fastestmirror=True
max_parallel_downloads=10
### リポジトリファイルの例```ini
[example-repo]
name=Example Repository
baseurl=https://example.com/repo/
enabled=1
gpgcheck=1
gpgkey=https://example.com/RPM-GPG-KEY
高度な使用法
履歴とロールバック
| コマンド | 説明 |
|---|
dnf history | 取引履歴を表示 |
dnf history info ID | トランザクションの詳細を表示 |
sudo dnf history undo ID | トランザクションを元に戻す |
sudo dnf history redo ID | トランザクションを再実行 |
sudo dnf history rollback ID | トランザクションにロールバック |
モジュール管理 (DNF)
| コマンド | 説明 |
|---|
dnf module list | 利用可能なモジュールをリスト |
dnf module list --installed | インストールされたモジュールの一覧 |
sudo dnf module install module:stream | モジュールストリームをインストール |
sudo dnf module enable module:stream | モジュールストリームを有効にする |
sudo dnf module disable module | モジュールを無効にする |
セキュリティアップデート
| コマンド | 説明 |
|---|
dnf updateinfo | 更新情報を表示 |
dnf updateinfo --security | セキュリティ更新を表示 |
sudo dnf update --security | セキュリティ更新プログラムのみをインストール |
dnf updateinfo list cves | CVEリスト |
パッケージビルド
RPM開発
| コマンド | 説明 |
|---|
sudo dnf install rpm-build rpmdevtools | ビルドツールをインストール |
rpmdev-setuptree | RPMビルドツリーのセットアップ |
rpmbuild -ba package.spec | RPMパッケージをビルド |
rpm -qp --requires package.rpm | RPMの依存関係を確認 |
ソースRPM
| コマンド | 説明 |
|---|
dnf download --source package_name | ソースRPMをダウンロード |
rpm -ivh package.src.rpm | ソースRPMをインストール |
rpmbuild --rebuild package.src.rpm | ソースからリビルド |
トラブルシューティング
一般的な問題
| 問題 | ソリューション |
|---|
| Conflicting packages | sudo dnf remove conflicting_package |
| Broken dependencies | sudo dnf check |
| Corrupted RPM database | sudo rpm --rebuilddb |
| Repository errors | sudo dnf clean all && sudo dnf makecache |
ロックの問題
Would you like me to continue with the remaining numbered sections?
| コマンド | 説明 |
|---|
sudo rm /var/lib/rpm/.rpm.lock | RPMロックを解除 |
sudo rm /var/run/yum.pid | YUMロックを解除 |
| `ps aux \ | grep yum` |
| コマンド | 説明 |
|---|
sudo rpm --rebuilddb | RPMデータベースを再構築 |
sudo dnf check | 問題を確認する |
sudo dnf distro-sync | パッケージを同期 |
| コマンド | 説明 |
|---|
sudo dnf system-upgrade download --releasever=XX | アップグレードをダウンロード |
sudo dnf system-upgrade reboot | アップグレードを実行 |
sudo dnf install fedora-upgrade | アップグレードツールをインストール |
| コマンド | 説明 |
|---|
sudo dnf install flatpak | Flatpakをインストール |
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | Flathubを追加 |
| コマンド | 説明 |
|---|
sudo subscription-manager register | システムを登録 |
sudo subscription-manager attach --auto | 自動アタッチサブスクリプション |
sudo subscription-manager repos --enable=repo_name | リポジトリを有効にする |
| コマンド | 説明 |
|---|
sudo dnf install centos-release-stream | Stream リポジトリをインストール |
sudo dnf swap centos-linux-repos centos-stream-repos | Streamに切り替え |
# /etc/dnf/dnf.conf optimizations
[main]
fastestmirror=True
max_parallel_downloads=10
deltarpm=True
keepcache=True
```### 設定チューニング
| コマンド | 説明 |
|---------|-------------|
| `sudo dnf install dnf-plugins-core` | DNFプラグインをインストール |
| `sudo dnf config-manager --set-enabled powertools` | PowerTools (CentOS) を有効にする |### ミラー管理