yumとdnfの違い

スポンサーリンク
yumとdnfの違い 用語解説
yumとdnfの違い
この記事は約6分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、yumとdnfの違いについてご紹介します。

スポンサーリンク

背景

ソフトをインストールしょうとしたときに、dnfというコマンドでインストールしたので、その時の備忘としてこの記事に残しました。

yumとdnfの違い

Red Hat系のLinuxディストリビューションで使用される「rpmパッケージ」を扱うためのパッケージ管理コマンドであるyumdnfについて説明します。

  1. yum (Yellowdog Updater Modified) コマンド:
    • yumは古くから使われているパッケージ管理システムで、Red Hat系のLinuxディストリビューションで広く利用されています。
    • パッケージのインストール、削除、更新、検索などの操作を行います。
    • dnfコマンドの前身であり、実質的にはdnfをシンボリックリンクして利用しています。
  2. dnf (Dandified YUM) コマンド:
    • dnfyumの後継として開発されたパッケージ管理コマンドです。
    • より高速であり、依存関係の問題を改善しています。
    • スペースの使用量も少なく、効率的にパッケージを管理できます。

書式やオプションはyumdnfで同様であり、以下のように使います:

dnf [yum] [オプション] コマンド [キーワード]

主なコマンドとその実行内容は次の通りです:

  • install: パッケージをインストール
  • erase/remove: パッケージを削除
  • update: システムのパッケージを更新
  • info: パッケージ情報を表示
  • list: パッケージグループの一覧を表示
  • deplist: パッケージの依存性の一覧を表示
  • search: パッケージを検索
  • repolist: ソフトウェアリポジトリの構成を表示

なぜdnfが登場したかという歴史的な背景もありますが、yumpythonバージョン2で記述されており、centos8からpythonバージョン3へと仕様が変更されたため、dnfがパッケージ管理コマンドとして標準化されました。

簡潔に言えば、新しいプロトコルであるdnfを覚えておくことをお勧めします!

yumとは

もちろんです!yumはLinuxディストリビューションで使用されるパッケージ管理ツールで、RPM形式のパッケージをインストール、削除、更新することができます。以下に詳細を説明します。

  1. yumとは?
    • yumは「Yellowdog Updater Modified」の略で、元々はYellow Dog Linuxのパッケージ管理システムであるYUP(Yellowdog Updater)が前身にありました。
    • その統合パッケージ管理システムをRedHatへ改変移植したものが現在のyumです。
    • 役割としてはRPMパッケージを統合管理することです。RPM単体ではパッケージ情報や依存関係などの情報を持っていますが、それを統合的に管理運用するシステムがなかったため、ユーザの手間を減らすためにyumが開発されました。
    • yumはRPMの情報を管理し、依存関係を自動的に解決してくれます。DebianでいうところのAPTと同じ立ち位置です。
  2. yumコマンドの使い方:
    • 以下は一般的なyumコマンドの操作です。これらを使えばほとんどの場合、問題ありません。
      • yum check-update: リポジトリにアップデートがないかチェック
      • yum update: リポジトリにアップデート、チェック、実際にアップデート
      • yum install <pkg>: リポジトリからパッケージをインストール(依存関係も自動的に解決)
      • yum search <pkg>: リポジトリからパッケージを検索
      • yum remove <pkg>: インストールされているパッケージを削除
      • yum info <pkg>: インストールされているパッケージの情報表示
      • yum list installed: インストールされているパッケージ一覧表示
  3. yumの設定ファイルを確認:
    • デフォルトの設定で問題はない場合でも、少し覗いてみましょう。
    • 設定ファイルは/etc/yum.confにあります。例えば以下の設定があります:
      • cachedir: キャッシュとデータベースファイルの保存場所
      • keepcache: インストール後のヘッダとキャッシュを保持するかどうか
      • debuglevel: 詳細な情報を表示するためのレベル
      • その他、GPG検証やリポジトリの設定などがあります。
  4. リポジトリを追加する:
    • リポジトリはパッケージの提供元です。yumはリポジトリを追加することで、パッケージのバリエーションを増やすことができます。
    • EPEL(Extra Packages for Enterprise Linux)などの信頼性の高いリポジトリを追加することで、さまざまなパッケージを利用できます。

dnfとは

もちろんです!dnfは、Red Hat系のLinuxディストリビューションで使用されるパッケージ管理ツールです。以下に詳細を説明します。

  1. dnfとは?
    • dnfは「Dandified YUM」の略で、yumの後継として開発されました。
    • yumは古くから使われているパッケージ管理システムで、Red Hat系のLinuxディストリビューションで広く利用されています。
    • dnfはより高速であり、依存関係の問題を改善しています。また、スペースの使用量も少なく、効率的にパッケージを管理できます。
  2. dnfコマンドの使い方:
    • dnfyumと同様のコマンド構文を持っています。以下は一般的な操作です:
      • dnf check-update: リポジトリにアップデートがないかチェック
      • dnf update: リポジトリにアップデート、チェック、実際にアップデート
      • dnf install <pkg>: リポジトリからパッケージをインストール(依存関係も自動的に解決)
      • dnf search <pkg>: リポジトリからパッケージを検索
      • dnf remove <pkg>: インストールされているパッケージを削除
      • dnf info <pkg>: インストールされているパッケージの情報表示
      • dnf list installed: インストールされているパッケージ一覧表示
  3. dnfの利点:
    • dnfPython 3で記述されており、yumPython 2からの移行です。
    • 依存関係の解決が改善されており、パッケージの管理がスムーズです。
    • yumと同じコマンド体系を持ちつつ、より効率的で現代的なツールです。

おわりに

今日は、yumとdnfの違いについてご紹介しました。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました