Linux にインストールされているパッケージを一覧表示する方法

Ubuntu や Debian ディストリビューションにインストールされているパッケージを一覧表示するには、ターミナルで「apt list --installed」を実行します。Fedora にインストールされているパッケージを一覧表示するには、「dnf list installed」を実行します。

何千もの無料の Linux アプリケーションがあるため、インストールしたものの使用しなくなったものを追跡するのは容易ではありません。以下に、主要な Linux ファミリーにインストールされているアプリケーションを一覧表示する方法と、Linux ディストリビューションに依存しない方法を紹介します。

Linux システムのパッケージとは

Linux のパッケージは、macOS や Windows のアプリやプログラムのインストーラーと似ています。一般的に、中央リポジトリからダウンロードするアーカイブ ファイルにバンドルされています。さまざまな Linux ディストリビューションでは、これらのファイルを配信するために異なる形式を使用しています。たとえば、Debian と Ubuntu では DEB ファイルを使用し、RHEL と Fedora では RPM ファイルを使用します。

ただし、パッケージは必ずしも完全なプリコンパイルされたプログラムではありません。場合によっては、PC 上の他のアプリケーションに重要な機能を提供するライブラリです。

パッケージは通常、パッケージ マネージャーを使用してインストール、更新、削除されます。パッケージ マネージャーは、アプリケーションをインストールするときに依存関係も取得しようとするため、特定のアプリケーションが動作するために必要なコードをすべて手動で探し出す必要はありません。

一般的に使用される主要なパッケージ マネージャーがいくつかあります。Red Hat 派生のディストリビューション (Fedora など) では dnf パッケージ マネージャーを使用し、Debian 派生のディストリビューション (Ubuntu など) では apt を使用し、Arch ベースのディストリビューションでは pacman を使用します。ほとんどの Linux システムで使用できる、Snap や Flatpak など、ディストリビューションに依存しないパッケージ マネージャーもいくつかあります。

Apt: Ubuntu にインストールされているパッケージを一覧表示

apt コマンドを使用すると、Debian ディストリビューションとそこから派生した多数のディストリビューション (Ubuntu を含む) のパッケージ マネージャーを使用できます。

Apt は、古い apt-get コマンドの置き換えです。Aptapt-get は構文の大部分が同じなので、apt-get を要求する手順を見つけた場合は、通常は問題なく apt を代用できます。

インストールされているパッケージの一覧を表示するには、次のコマンドを使用します。

apt list --installed

予想通り、出力は長く、すぐにスクロールされます。

エントリがいくつあるかを確認するには、前回と同様に wc にパイプすることができます。

apt list --installed | wc -l

目的のパッケージを見つけるには、grep と、興味のある名前またはトピックの一部を使用できます。

apt list --installed | grep xfonts

単一のパッケージを調査するには、パッケージの名前を指定して apt show コマンドを使用します。

apt show xml-core

DNF: Fedora にインストールされているパッケージを一覧表示

Fedora は、RedHat 派生のデスクトップ ディストリビューションの中で最も成功しています。これを使用して、dnf パッケージ マネージャーでインストールされているアプリケーションを一覧表示する方法について説明します。

dnf でインストールされているパッケージを一覧表示するには、次のコマンドを実行します。

dnf list installed

これにより、膨大な情報が生成されます。

一覧表示されたパッケージの数を表示するには、-l (行) オプションを指定して出力を wc に渡すことができます。

これにより、dnf で 1,968 個のインストール済みパッケージが見つかったことがわかります。出力をより管理しやすくするには、それを grep にパイプし、目的のパッケージを検索できます。

dnf list installed | grep terminal

出力を less にパイプし、less 内の検索機能を使用して、探しているものを見つけることもできます。

削除を検討している場合に役立つ、詳細を知りたいパッケージが一覧にある場合は、dnf info コマンドを使用できます。

プラットフォームのアーキテクチャの詳細なしでパッケージの名前を指定する必要があります。たとえば、パッケージ「gnome-terminal.x86_64」の詳細を確認するには、次のように入力します。

dnf info gnome-terminal

Pacman: Arch にインストールされているパッケージを一覧表示

pacman パッケージ マネージャーは、Arch Linux とその派生製品 (Manjaro や EndeavourOS など) で使用されます。

pacman を使用してパッケージを一覧表示するには、-Q (クエリ) オプションを使用する必要があります。

pacman -Q

パッケージの一覧がターミナル ウィンドウに表示されます。

1 つのアプリケーションをインストールすると、依存関係が満たされないため、複数のパッケージがインストールされる可能性があります。アプリケーションに特定のライブラリが必要で、コンピューターに存在しない場合は、インストールによって提供されます。同様に、アプリケーションをアンインストールすると、いくつかのパッケージが削除される可能性があります。したがって、アプリケーションの数はパッケージの数と同じではありません。

インストールされているパッケージを数えるには、以前と同様に、出力を wc にパイプし、-l (行) オプションを使用します。

pacman -Q | wc -l

-i (情報) オプションを使用すると、パッケージの詳細を確認できます。

pacman -Qi bash

-i オプションを 2 回追加すると、利用可能な場合はさらに多くの情報が提供されます。

pacman -Qii bash

この場合、リストの一番下に、テンプレート ファイル「.bash_profile」と「.bash_logout」の場所を示す行が追加されます。

Flatpak: どのディストリビューションにもインストールされているパッケージを一覧表示

ディストリビューションに依存しないアプリケーションをインストールする方法があります。それらは、ユニバーサル パッケージ マネージャーになるように設計されています。依存関係を含む、サンドボックス化されたバージョンのアプリをインストールします。これにより、バージョンの非互換性やバージョン間の相互汚染を心配することなく、アプリケーションのさまざまなバージョンを簡単にインストールできます。

ソフトウェア開発者の観点から、ユニバーサル パッケージ マネージャーを使用すると、アプリケーションを 1 回パッケージ化するだけで済み、すべてのディストリビューションが対象となります。

flatpak システムは、最も人気のある 2 つのユニバーサル インストーラーの 1 つです。コンピューターで flatpak を使用したことがある場合は、次のコマンドでインストールされているアプリケーションを一覧表示できます。

flatpak list

これにより、インストールされているアプリケーションと、それらのアプリケーションの依存関係を満たすためにインストールされた関連するランタイムが一覧表示されます。アプリケーションだけを表示するには、--app オプションを追加します。

flatpak list --app

個々のアプリケーションの詳細を確認するには、info コマンドとアプリケーションの名前ではなく、パッケージのアプリケーション ID を使用します。

flatpak info org.blender.Blender

Snap: どのディストリビューションにもインストールされているパッケージを一覧表示

もう 1 つの一般的なユニバーサル パッケージ マネージャーは snap と呼ばれます。これは Canonical の取り組みです。最近の Ubuntu リリースの Ubuntu ソフトウェア アプリケーションでデフォルトで使用されており、snap は他のディストリビューションにもインストールできます。

snap を使用してインストールされたアプリケーションを一覧表示するには、このコマンドを使用します。

snap list

単一のアプリケーションの詳細を確認するには、snap info コマンドとアプリケーションの名前を使用します。

snap info firefox

インストールされているパッケージとアプリケーションを確認する理由

Linux ユーザーが利用できる無料のオープンソース アプリケーションの選択肢は驚くほど豊富です。Linux の初心者には圧倒されるかもしれません。しかし、そこが楽しみでもあります。特定のニーズがある場合は、そのニーズを解決するソフトウェアを探します。見つけたものが気に入らなくても問題ありません。すべての条件を満たすものが見つかるまで、何十ものものを試すことができます。

使わないことがわかっているものをアンインストールすることに気を遣わない場合、それらはシステムに残り、ハード ドライブの容量を消費します。プログラマーであれば、コンピューターのあちこちに未使用のツールキットやライブラリがあるでしょう。今日の比較的安価で高容量のドライブを搭載したデスクトップ コンピューターでは、それ自体が大きな問題にならないかもしれません。ラップトップでは、ストレージ容量が小さいため、より懸念されます。

ハード ドライブの容量に余裕があるかどうかに関係なく、未使用のソフトウェアをため込むことは、実際に使用するソフトウェアと一緒にそれらの未使用のアプリケーションをすべて更新するため、ソフトウェアの更新に時間がかかります。システム イメージやその他のバックアップは必要以上に大きくなり、完了までに時間がかかり、バックアップ メディアを多く消費します。

インストールして忘れられたアプリケーションのコンポーネントと、インストールしようとしている新しいアプリケーションとの間に非互換性が生じる可能性もあります。

状況を管理するには、まず何が入っているかを確認することが最初のステップです。何がわかれば、リストを確認して、何を残して何を削除するかを決定できます。

情報に基づいた意思決定

dnfapt、および pacman には、孤立した不要なパッケージを自動的に見つけて削除するオプションがあります。しかし、もう使っていない古いパッケージは見つかりません。そのためには、人の介入と何のアンインストールが必要なのかの知識が必要です。そこで、これらの便利なコマンドが登場します。

スペースを確保したら、Linux デバイスに Android アプリをインストールする方法を学ぶことに興味があるかもしれません。