DNFについて
今回は、Red Hat系の新しいディストリビューションで使われているDNFについて解説します。【連載コラム:Linuxシステム管理標準教科書を読む(28)】
Linuxの基本的なスキルを習得したら、Linuxサーバーをシステムとして長期に運用管理していくためのスキルを身につけるのはいかがでしょうか。このコラムでは、「Linuxシステム管理標準教科書」の全体調整を担当した筆者が改めて大切なポイントを解説していきます。
DNFは、YUMの後継パッケージ管理ツールです。dnfは「Dandified YUM」の略ですが、非常に覚えにくいです。コマンドを打つ際にはキー配置が近いので「DNS」の「S」を「F」に置き換える、と覚えるといいかもしれません。コマンド体系がYUMと大きく変わらないので、Linuxディストリビューションによってはコマンドエイリアスでyumコマンドを実行できるようにしているものもあります。
なぜDNF?
YUMはPythonで書かれていますが、Python 2系となっています。そのため、今後Python 3系に対応するために作られたのがDNFということになります。
DNFは大幅に変わったの?
DNFとなった一番大きな理由は、上記の通りPythonのバージョンアップに伴う非互換性の問題が大きいでしょう。コマンドの名称は変わりましたが、動作指示を行うサブコマンドは変わっていないので、基本的な使い方はyumコマンドと一緒です。そのため、すでにyumコマンドを使ってパッケージ管理を行っていたのであれば、特別違いを感じずに使うことができるでしょう。
DNFではモジュール機能が追加
処理系のバージョンアップに伴った変更だけでなく、DNFでは「モジュール」という概念が導入されています。Yumには「グループ」という概念があり、たとえば「開発グループ」をインストールすると、開発に必要となる一通りのツールがインストールされました。ただし、バージョンについてはインストールされた各パッケージ毎に個別にバージョンアップが行われるため、あくまでまとめインストールという感じでした。
一方、モジュールは主に特定のソフトウェアをインストールする際に使われますが、異なるバージョンを別々に管理し、必要なバージョンをインストールするために使用するのが主な目的となっています。この異なるバージョンを管理するのが「ストリーム」という概念です。開発言語やミドルウェアなど、あるタイミングでバージョンが複数存在するようなものを管理するには、今後モジュールを使って管理することになりそうです。
モジュールについては、以下のサイトに詳細な解説があるので、興味がある人は読んでみてください。
https://docs.pagure.org/modularity/
- 筆者紹介
宮原 徹 氏
Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。
<Linuxシステム管理標準教科書とは>
「Linuxシステム管理標準教科書」(システム管理教科書)は2015年4月にリリースされた標準教科書シリーズの1冊です。Linuxシステムの運用管理という観点で書かれており、システム管理者という業務において知っておかなければならない基本的なトピックが解説されています。「Linux標準教科書」「Linuxサーバー構築標準教科書」でコマンド操作やサーバー構築の基本を学んだら、このシステム管理教科書を読んで、単にLinuxを使うのではなく、システムとして長期的に管理運用していくためのスキルを身につけてください。
バックナンバー
第27回:パッケージ管理について
第26回:バックアップ方法について
第25回:バックアップについて
第24回:LVMについて
第23回:SELinuxについて