よっしー
こんにちは。よっしーです(^^)
今日は、yumとdnfの違いについてご紹介します。
背景
ソフトをインストールしょうとしたときに、dnfというコマンドでインストールしたので、その時の備忘としてこの記事に残しました。
yumとdnfの違い
Red Hat系のLinuxディストリビューションで使用される「rpmパッケージ」を扱うためのパッケージ管理コマンドであるyumとdnfについて説明します。
- yum (Yellowdog Updater Modified) コマンド:
- yumは古くから使われているパッケージ管理システムで、Red Hat系のLinuxディストリビューションで広く利用されています。
- パッケージのインストール、削除、更新、検索などの操作を行います。
- dnfコマンドの前身であり、実質的にはdnfをシンボリックリンクして利用しています。
- dnf (Dandified YUM) コマンド:
- dnfはyumの後継として開発されたパッケージ管理コマンドです。
- より高速であり、依存関係の問題を改善しています。
- スペースの使用量も少なく、効率的にパッケージを管理できます。
書式やオプションはyumとdnfで同様であり、以下のように使います:
dnf [yum] [オプション] コマンド [キーワード]
主なコマンドとその実行内容は次の通りです:
- install: パッケージをインストール
- erase/remove: パッケージを削除
- update: システムのパッケージを更新
- info: パッケージ情報を表示
- list: パッケージグループの一覧を表示
- deplist: パッケージの依存性の一覧を表示
- search: パッケージを検索
- repolist: ソフトウェアリポジトリの構成を表示
なぜdnfが登場したかという歴史的な背景もありますが、yumはpythonバージョン2で記述されており、centos8からpythonバージョン3へと仕様が変更されたため、dnfがパッケージ管理コマンドとして標準化されました。
簡潔に言えば、新しいプロトコルであるdnfを覚えておくことをお勧めします!
yumとは
もちろんです!yumはLinuxディストリビューションで使用されるパッケージ管理ツールで、RPM形式のパッケージをインストール、削除、更新することができます。以下に詳細を説明します。
- yumとは?
- yumは「Yellowdog Updater Modified」の略で、元々はYellow Dog Linuxのパッケージ管理システムであるYUP(Yellowdog Updater)が前身にありました。
- その統合パッケージ管理システムをRedHatへ改変移植したものが現在のyumです。
- 役割としてはRPMパッケージを統合管理することです。RPM単体ではパッケージ情報や依存関係などの情報を持っていますが、それを統合的に管理運用するシステムがなかったため、ユーザの手間を減らすためにyumが開発されました。
- yumはRPMの情報を管理し、依存関係を自動的に解決してくれます。DebianでいうところのAPTと同じ立ち位置です。
- yumコマンドの使い方:
- 以下は一般的なyumコマンドの操作です。これらを使えばほとんどの場合、問題ありません。
yum check-update
: リポジトリにアップデートがないかチェックyum update
: リポジトリにアップデート、チェック、実際にアップデートyum install <pkg>
: リポジトリからパッケージをインストール(依存関係も自動的に解決)yum search <pkg>
: リポジトリからパッケージを検索yum remove <pkg>
: インストールされているパッケージを削除yum info <pkg>
: インストールされているパッケージの情報表示yum list installed
: インストールされているパッケージ一覧表示
- 以下は一般的なyumコマンドの操作です。これらを使えばほとんどの場合、問題ありません。
- yumの設定ファイルを確認:
- デフォルトの設定で問題はない場合でも、少し覗いてみましょう。
- 設定ファイルは
/etc/yum.conf
にあります。例えば以下の設定があります:cachedir
: キャッシュとデータベースファイルの保存場所keepcache
: インストール後のヘッダとキャッシュを保持するかどうかdebuglevel
: 詳細な情報を表示するためのレベル- その他、GPG検証やリポジトリの設定などがあります。
- リポジトリを追加する:
- リポジトリはパッケージの提供元です。yumはリポジトリを追加することで、パッケージのバリエーションを増やすことができます。
- EPEL(Extra Packages for Enterprise Linux)などの信頼性の高いリポジトリを追加することで、さまざまなパッケージを利用できます。
dnfとは
もちろんです!dnfは、Red Hat系のLinuxディストリビューションで使用されるパッケージ管理ツールです。以下に詳細を説明します。
- dnfとは?
- dnfは「Dandified YUM」の略で、yumの後継として開発されました。
- yumは古くから使われているパッケージ管理システムで、Red Hat系のLinuxディストリビューションで広く利用されています。
- dnfはより高速であり、依存関係の問題を改善しています。また、スペースの使用量も少なく、効率的にパッケージを管理できます。
- dnfコマンドの使い方:
- dnfはyumと同様のコマンド構文を持っています。以下は一般的な操作です:
dnf check-update
: リポジトリにアップデートがないかチェックdnf update
: リポジトリにアップデート、チェック、実際にアップデートdnf install <pkg>
: リポジトリからパッケージをインストール(依存関係も自動的に解決)dnf search <pkg>
: リポジトリからパッケージを検索dnf remove <pkg>
: インストールされているパッケージを削除dnf info <pkg>
: インストールされているパッケージの情報表示dnf list installed
: インストールされているパッケージ一覧表示
- dnfはyumと同様のコマンド構文を持っています。以下は一般的な操作です:
- dnfの利点:
- dnfはPython 3で記述されており、yumのPython 2からの移行です。
- 依存関係の解決が改善されており、パッケージの管理がスムーズです。
- yumと同じコマンド体系を持ちつつ、より効率的で現代的なツールです。
おわりに
今日は、yumとdnfの違いについてご紹介しました。
よっしー
何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント