Redhat系

dnfとyumコマンドの使い方について解説!!

こんばんわ、ミツです。

今回はRedhat系で使用されるパッケージインストールコマンド「yum」についてコマンドや使い方を紹介していきます。

下記検証環境のOSを利用し実行例を記載してありますので、最後まで見ていただけますと幸いです。

yum・dnfコマンド

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

「dnf」コマンドは「yum」コマンドの後継に当たるコマンドで、書式やオプションは同様な使い方が可能です。「yum」コマンドは「dnf」コマンドをシンボリックリンクして利用しているため、実質「dnf」コマンドを利用しています。

書式

書式は「yum」コマンドと「dnf」コマンドは同じです。

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

オプション

オプションについて紹介します。

オプション 意味
-y 全ての問い合わせに「yes」で応答したものとして実行する
-n 全ての問い合わせに「no」で応答したものとして実行する
-q 実行時にメッセージを出力しない
-v 詳しいメッセージを出力する

コマンド

コマンドにはいくつか種類がございます。今回は初心者向けに覚えておいたほうが良いものを抜粋して記載しております。

コマンド 実行内容
パッケージ操作関係
install パッケージをインストールします
erase/remove パッケージを削除します
update システムのパッケージを更新する
情報関係のコマンド
info パッケージ情報を表示します。
list パッケージグループの一覧を表示する
deplist パッケージの依存性の一覧を表示する
search パッケージを検索する
repolist ソフトウェアリポジトリの構成を表示する
メンテナンス関係のコマンド・その他
check-update 更新に利用できるパッケージを確認する
updatei nfo リポジトリの更新情報を表示する
clean all キャッシュデータを削除する

実行例

それでは、実行例を紹介していきます。

「dnf」コマンドのダウンロードパッケージを例として日本語言語パッケージである「langpacks-ja」のパッケージを引数として実施していきます。

パッケージの追加

新規アプリケーションをインストールするには、「yum install」コマンドを使用します。

パッケージの削除

必要なくなったアプリケーションを削除する場合は、「yum remove」あるいは「yum erase」コマンドを使用します。

※remove,eraseどちらも同じ動きをします。

パッケージの検索

yum search」コマンドでレポジトリから該当パッケージを検索します。

パッケージの情報を調べる

検索結果から、パッケージの詳細情報を確認します。詳細情報を確認するには、「yum info」コマンドを用います。

パッケージ名を省略すると、利用可能な全てのパッケージ情報が表示されます。

パッケージの依存性の一覧を表示する

特定のパッケージをインストールする前に、パッケージの依存関係を表示してくれます。

ソフトウェアリポジトリの構成を表示する

利用しているレポジトリについて表示してくれます。

yumからdnfコマンドに変わった歴史を軽く紹介!

結論から言うと「centos8」から「yum」コマンドは廃止されました。

未だに使える理由は「yum」コマンドが「dnf」コマンドにシンボリックリンクしているためです。

そのため使用できますが、実質「dnf」コマンドが実行されています。

リンク情報

「yum」コマンドのリンク情報です。

このように「dnf」 コマンドへのシンボリックリンクしている状態です。

マニュアル

man yum」で調べてみると下記内容の記載があります。

このようにdnfコマンドへリダイレクトしています。

なぜこうなった?

なぜこうなったかといえば「yumコマンド」は「python」というプログラミング言語で記載されておりますが、

「centos8」から「pythonバージョン2」が「pythonバージョン3」へと仕様が変更されました。

そのためcentos8、python3で記述されているdnfコマンドがパッケージ管理コマンドとして利用されていきます。

まとめ

過去からredhat系OSを利用しているユーザにとってはyumコマンドは馴染み深いかと思います。

ただcentos8以降からpythonバージョンアップによりdnfコマンドが標準化されています。

dnfコマンドでパッケージインストールをすることが標準化されているので、dnfコマンドの方を覚えておきましょう!

他にも当メディアで、はLinuxに関する初心者向けの記事を執筆しております。興味ある方はチェックいただけますと幸いです。

本記事は以上になります。それでは!

  • この記事を書いた人
  • 最新記事

ミツ

サーバ初心者向け「server-beginner」を運営する「ミツ」と申します。 Linux系やwindows系などのサーバに関する部分をメインで執筆していきますので、興味ある方はぜひご覧いただけますと幸いです。 <経歴> 専門学校卒業後、ネットワーク、インフラ、プログラミングを一通り経験。 当メディアでは主にLinux分野に関する内容を発信していきます。

-Redhat系