目次
Linux でプログラムを追加したり削除するためにコマンドラインを使用することは必須ではあり ませんが、グラフィカルアプリケーションを使用するよりも高速に行えます。多くの人は、Linuxを使い始めると、新しいアプリケーションやシステムのアップデートをインストールするためにターミナルを開くことになります。
APT と DNF は、この仕事に最も適したパッケージマネージャです。この二つのプログラムは非常によく似ていますが、その機能にはいくつかの違いがあります。さっそく見てみましょう。
APTとDNFを知る
APTとDNFは多くの共通点があり、多くの関数で似たような構文を共有しています。もしあなたが既にどちらかに精通しているならば、おそらくもう一方を学ぶのは難しいことではありません。もしあなたがまったくの初心者なら、この2つのパッケージマネージャーは Arch Linux や Arch ベースのディストロにある、あまり直感的でない Pacman パッケージマネージャーと比べて、学びやすいものの1つであることを知っておいてください。
APTはAdvanced Package Toolの略です。Debian、ひいては Ubuntu のような Debian ベースの Linux ディストリビューションのデフォルトパッケージマネージャとして機能します。Ubuntu は最も人気のある Linux ディストリビューションであり、Ubuntu ベースのディストリビューションは多数存在するため、APT は多くの人が最初に出会うパッケージマネージャとなります。Linux のソフトウェアは様々なフォーマットで提供されますが、APT は特に DEB パッケージのフォーマットで動作します。
DNF は、Fedora および Red Hat Enterprise Linux や CentOS などの Fedora ベースのディストロのデフォルトのパッケージマネージャです。DNF は RPM パッケージフォーマットで動作します。
DNFとYUMの比較
DNFの名前は頭文字をとったものではありません。この3つの文字は"Dandified YUM."の略です。
DNFはYUM、"Yellowdog Updater, Modified."を書き直したものです。YUM自体はすでに"Yellowdog UPdater,"あるいはYUPの書き換えで、もともとはYellow Dog Linuxのために開発されたものでした。
古いシステムで YUM が使われているのを見かけるかもしれませんが、DNF を優先して廃止されました。今日、YUMを探し求める理由はあまりありません。
APTとDNFコマンドの例
新しいLinuxディストロをインストールした後、多くの人が行う最初の作業の1つであるシステムアップデートのダウンロードから始めましょう。
システムアップデートのダウンロード
APTでは、2つのコマンドで構成されています。
sudo apt update
sudo apt upgrade
これらを分解してみましょう。
sudoはシステムの管理者権限を与えるものです。これがないと、権限不足のため、コマンドはエラーメッセージとともに失敗します。
updateコマンドは、利用可能なソフトウェアソースからパッケージのメタデータをダウンロードし、コンピュータがどのバージョンを要求すべきかを知ることができるようにします。
ローカルのデータベースが最新になったら、今度は最新のソフトウェアをダウンロードしてインストールします。そこで、upgradeコマンドの出番です。
DNFを使用してシステムアップデートをインストールするには、以下を実行します。
sudo dnf update
または
sudo dnf upgrade
DNFは、システムの更新やソフトウェアのインストールを開始するたびに、自動的にメタデータをチェックします。このため、update コマンドと upgrade コマンドは同じ機能を持ち、 互換性を持たせて自由に使うことができます。
パッケージの検索
あるプログラムをインストールしたいが、あなたのディストロがそのプログラムが入っているパッケージの正確な名前を知らないとします。グラフィカルなアプリケーションでは、利用可能なソフトウェアをブラウズすることができますが、コマンドラインでは、代わりにテキストベースの検索を実行する必要があります。
この場合、APTであろうとDNFであろうと、覚えるべきコマンドは1つだけで、それはおそらく皆さんが想像できるものです。もしあなたが"package,"という名前のプログラムを検索したいのであれば、単に次のようにタイプしてください。
sudo apt 検索パッケージ
または
sudo dnf searchパッケージ
ソフトウェアのインストール
検索を行う場合と同様に、APTやDNFを使用してプログラムをインストールするコマンドは同じです。
APTでは。
sudo aptinstall パッケージ
DNFでは
sudo dnfinstall パッケージ
DNFがAPTより優れている点は、ウェブから手動でダウンロードしたRPMをインストールすることができる点です。同じインストールコマンドを使ってインストールできますが、パッケージ名の代わりにRPMへのフルパスを指定します。
sudo dnfinstall/path/to/package.rpm とします。
一方、ダウンロードフォルダに置いたDEBをインストールする場合は、APTは使用できず、dpkgなどの別のコマンドライン・プログラムを使用する必要があります。
ソフトウェアのアンインストール
APTを使ってソフトウェアを消すには、いくつかの方法があります。まず、最も直接的な選択肢は
sudo apt removeパッケージ
アプリのデータだけでなく、設定ファイルを削除する場合は、以下を実行します。
sudo aptpurge パッケージ
依存関係としてインストールされ、不要になったソフトウェアをAPTに自動的に削除させるためには
sudo apt autoremove
RPMベースのディストロはDebianベースのシステムと同じ方法で設定ファイルを管理しないので、DNFはpurgeコマンドに直接相当するものを持ちません’。しかし、他の2つのオプションは同じです。
DNFを使用してプログラムをアンインストールするには、以下を実行します。
sudo dnf removeパッケージ
また、不要な依存関係を自動的に削除するには、以下を使用します。
sudo dnf autoremove
DNFとAPTは似ているようで似ていない
長年のLinuxユーザの中には、APTとDNFの間で好みを確立している人がいます。彼らはより強力な操作を行うために構文を学んできており、切り替えるには既に知っていることを学び直す必要があります。
しかし、初めて使う人にとっては、この2つのパッケージマネージャはほとんど同じものです。その違いは微妙で、例えば DNF はソフトウェアをインストールしたり、アップデートを確認する前に、自動的にパッケージ情報をダウンロードします。
上の2つのスクリーンショットにあるように、2つのパッケージマネージャーは情報の表示も異なります。
しかし、どちらもほぼ瞬時に動作するコマンドライン プログラムであり、待ち時間はインターネット接続や接続先のサーバの速度に関係 します。ほとんどの人にとって、異なるパッケージマネージャにアクセスすることは、ある Linux ディストリビューションから別のものに乗り換える理由にはなり得ません。
APT vs. DNF: どちらを使うべき?
APTとDNFのどちらを使うかは、どのディストロを使っているかに大きく依存します。つまり、ほとんどのLinuxユーザにとって、その選択はわたしたちのためになされるのです。しかし、もし、十分に強い好みがあるならば、APTとDNFのどちらを使うかに基づいてディストロを選択することができます。
どちらのパッケージマネージャも他より強力で高性能というわけではありません。ですから、どちらを使っても学習するのに問題はありません。そして、もしいつか乗り換える必要があったとしても、乗り換えるのはそれほど難しいことではありません。