Linuxでインストール済みのパッケージをリストする方法

新しいパッケージをインストールする前に、システムにすでにインストールされているかどうかを確認する必要があります。さらに、新しいシステムに移行する場合、インストールされているすべてのパッケージのリストがあると、かなりの時間と労力を節約できます。また、削除してスペースを解放したい不要なパッケージを特定するのにも役立ちます。

Ubuntu、Debian、CentOS、Arch Linux、openSUSEなどのさまざまなLinuxディストリビューションでインストールされているすべてのパッケージをリストする方法を以下に示します。

Ubuntu/Debianにインストールされているパッケージをリストする

Debianベースのディストリビューションでは、APTパッケージマネージャーを使用して、パッケージの検索、インストール、更新、削除を行うことができます。APTを使用すると、Debian/Ubuntuにインストールされているすべてのプログラムを、バージョンやその他の情報とともにリストすることもできます。

Debianベースのディストリビューションにインストールされているすべてのパッケージをリストするには、次のコマンドを使用します。

apt list --installed

リストには、[installed][installed,automatic][installed,local]のタグが付いたさまざまなパッケージが表示されます。

  • [installed]は、公式リポジトリからパッケージをインストールしたことを示します。
  • [installed,automatic]は、APTがこのパッケージを別のソフトウェアパッケージの依存関係としてインストールしたことを示します。
  • [installed,local]は、リポジトリではなくdpkg -iを使用してローカルにインストールしたパッケージを示します。

また、grepコマンドを使用して、インストールされているプログラムのリストからプログラムを検索することもできます。

apt list --installed | grep program_name

また、dpkgユーティリティを使用して、インストールされているパッケージをリストすることもできます。

dpkg -l

インストールされているパッケージの名前のみを出力するには、dpkgコマンドとawkを組み合わせて次のように使用します。

dpkg -l | awk '{print $2}'

RHELベースのディストリビューションにインストールされているパッケージを表示する

RHELベースのディストリビューションでは、YUMとDNFを使用してパッケージを管理します。これらを使用すると、PCにパッケージをインストール、更新、リスト、削除できます

YUMは新しいディストリビューション(RHEL 8、CentOS 8、Fedora 22など)では使用されなくなりましたが、ほとんどのディストリビューションではまだ動作します。RPMを使用すると、ローカルのRPMパッケージをインストールして管理することもできます。

YUMを使用してRHELベースのディストリビューションにインストールされているすべてのパッケージをリストするには、次を使用します。

yum list installed

DNFでインストールされたパッケージの場合は、次を使用します。

dnf list installed

次のrpmコマンドを使用して、RHELベースのディストリビューションにインストールされているパッケージをリストすることもできます。

rpm -qa

上記の--lastオプションを使用すると、最新のパッケージを上に置いて、最近インストールされたすべてのパッケージがリストされます。

rpm -qa --last

このコマンドは、パッケージの日付と時刻をパッケージの名前とともにリストします。

rpm -qa --last | tac

Arch Linuxにインストールされているパッケージをリストする

Pacmanは、ManjaroやEndeavourOSなどのArchベースのLinuxディストリビューションのデフォルトのパッケージマネージャーです。Pacmanを使用すると、Archベースのディストリビューションにパッケージをインストールおよび削除したり、古いパッケージを更新したり、インストールされているすべてのパッケージのリストを表示したりできます。

Archベースのディストリビューションにインストールされているすべてのパッケージをリストするコマンドを以下に示します。

pacman -Q

明示的にインストールされたすべてのパッケージをリストするには、次を使用します。

pacman -Qe

メイン以外のリポジトリから手動でインストールしたすべての外部パッケージをリストするには、次を使用します。

pacman -Qm

インストールされているパッケージのリストで特定のパッケージを探している場合は、次を使用します。

pacman -Q | grep <package_name>

openSUSEにインストールされているパッケージをリストする

Zypperは、openSUSEのデフォルトのコマンドラインパッケージマネージャーです。openSUSEにインストールされているすべてのパッケージをリストするには、次のいずれかのコマンドを使用します。

zypper search --installed-only

または

zypper se -i

特定のパッケージがインストールされているパッケージのリストにあるかどうかを確認するには、次の構文を使用します。

zypper se -i <package_name>

また、次を使用してインストールされているパッケージに関する情報を印刷することもできます。

zypper info <package_name>

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

従来の組み込みパッケージマネージャー以外にも、Snap経由でLinuxシステムにインストールできるプログラムがいくつかあります。

Snapは、主要なLinuxディストリビューションすべてでサポートされているユニバーサルパッケージマネージャーです。Snapパッケージには依存関係が付属しているため、Linuxでのソフトウェアのインストールがはるかに簡単になります。

LinuxディストリビューションにインストールされているSnapパッケージをリストするには、次を実行します。

snap list

このコマンドは、Snapを使用してインストールしたパッケージをリストします。デフォルトのパッケージマネージャーを使用してインストールしたパッケージは含まれません。

インストールされたパッケージ名に加えて、リストには、パッケージのバージョン番号、リビジョン番号、チャネル情報、発行者名、および利用可能な場合は追加情報などの情報も含まれます。

Flatpakでインストールされたパッケージをリストする

Snapと同様に、FlatpakもLinuxでのパッケージ管理を容易にするツールです。Flatpakは主要なLinuxディストリビューションすべてにインストールでき、Linuxでアプリケーションをビルド、インストール、実行するために使用できます。

Flatpakでインストールされたパッケージをリストするには、次のコマンドを使用します。

flatpak list

このコマンドは、LinuxシステムにインストールされているすべてのFlatpakパッケージとランタイムをリストします。ランタイムは、アプリケーションの実行に必要な依存関係のセットです。

インストールされているアプリケーションのみをリストするには、--appオプションを次のように使用します。

flatpak list --app

同様に、インストールされているランタイムのみをリストするには、--runtimeオプションを使用します。

flatpak list --runtime

インストールされているアプリケーションのサイズ、アーキテクチャ、オリジンなどのリストされている項目に関する詳細情報を表示するには、-dオプションを使用します。

flatpak list -d

また、すべての追加情報をスキップして、インストールされているアプリケーションの名前のみを出力することもできます。

flatpak --columns=name list

インストールされているプログラムのリストをファイルに保存する

インストールされているすべてのプログラムのリストをファイルに保存するには、リダイレクト演算子(>)とファイル名の後に続けて、コマンドの出力をファイルにリダイレクトします。

たとえば、APTでインストールされたプログラムのリストをinstalled_programs.txtという名前のテキストファイルに保存するには、コマンドは次のようになります。

apt list --installed > installed_programs.txt

インストールされているパッケージの数を数える

wcコマンドを使用して、リストにインストールされているパッケージの数を数えることもできます。たとえば、openSUSEでZypperによってインストールされているパッケージの数を数えるには、コマンドは次のようになります。

zypper search --installed-only | wc -l

すべてのインストールされているLinuxパッケージのリストができました!

これで、Linuxシステムにインストールされているパッケージがわかりました。古いパッケージを簡単に更新したり、不要なパッケージを削除してスペースを確保したりできます。

さらに、このプログラムのリストがあれば、新しいシステムへの移行もスムーズに行うことができ、個別に覚えることなく、これらのプログラムをすべてインストールすることができます。