web-dev-qa-db-ja.com

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

確認して別のシステムに一括インストールできるように、インストールされているすべてのパッケージのリストをテキストファイルに出力したいと思います。どうすればいいですか?

1816
Ivan

Ubuntu 14.04以降

Ubuntu 14.04以降のaptツールを使用すると、これが非常に簡単になります。

apt list --installed

古いバージョン

ローカルにインストールされたパッケージのリストを取得するには、ターミナルでこれを実行します。

dpkg --get-selections | grep -v deinstall

-vタグはgrepを「反転」して、一致しない行を返します)

インストールされている特定のパッケージのリストを取得するには:

dpkg --get-selections | grep postgres

そのリストをデスクトップ上のpackagesというテキストファイルに保存するには、ターミナルでこれを実行します。

dpkg --get-selections | grep -v deinstall > ~/Desktop/packages

または、単に使用する

dpkg -l

(これらのコマンドをスーパーユーザーとして実行する必要はないので、Sudoまたはここで必要なその他のバリアントはありません)

2048
Sabacon

明示的にインストールされた(依存関係としてインストールされただけでなく)パッケージだけを取得するには、次を実行できます。

aptitude search '~i!~M'

これには、必要に応じて簡単な説明も含まれます。そうでない場合は、karthick87で説明されているように、オプション-F '%p'も追加します。


さらに別のオプションは、ファイル/var/lib/apt/extended_statesをコピーすることです。これは、この形式のテキストファイルデータベースです。

Package: grub-common
Architecture: AMD64
Auto-Installed: 0

Package: linux-headers-2.6.35-22-generic
Architecture: AMD64
Auto-Installed: 1

Auto-Installed: 0は、パッケージが明示的にインストールされ、単なる依存関係ではないことを示します。

406
intuited

すべてのパッケージを一覧表示するには、意図的にインストールされた(依存関係ではなく)aptコマンドで、次を実行します。

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
  egrep '^(Start-Date:|Commandline:)' |
  grep -v aptdaemon |
  egrep '^Commandline:'

これにより、逆の時間ベースのビューが提供され、古いコマンドが最初にリストされます。

Commandline: apt-get install k3b
Commandline: apt-get install jhead
...

シナプスの使用も示すインストールデータですが、詳細はありません(インストール日と同じ):

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
  egrep '^(Start-Date:|Commandline:)' |
  grep -v aptdaemon |
  egrep -B1 '^Commandline:'

以下を提供します。

Start-Date: 2012-09-23  14:02:14
Commandline: apt-get install gparted
Start-Date: 2012-09-23  15:02:51
Commandline: apt-get install sysstat
...
199
bcl

現在インストールされているパッケージのバックアップを作成します。

dpkg --get-selections > list.txt

次に(別のシステムで)そのリストからインストールを復元します。

dpkg --clear-selections
Sudo dpkg --set-selections < list.txt

古いパッケージを削除するには:

Sudo apt-get autoremove

バックアップ時のようにインストールする(つまり、dpkg --set-selectionsで設定されたパッケージをインストールする):

Sudo apt-get dselect-upgrade
190
gogaman
apt-mark showmanual

マニュアルページの状態:

手動でインストールされたパッケージのリストを印刷します

したがって、明示的にインストールされたパッケージのリストを提供するだけです(ただし、デフォルトの初期インストールの一部であったパッケージも含まれます)。これらのパッケージがインストールされているため、すべての依存関係は含まれません。

結果をテキストファイルに出力するには:

apt-mark showmanual > list-manually-installed.txt
74
Tim Tisdall

dpkg-query(インストールされていない一部のパッケージをリストするdpkg --get-selectionsの代わりに)次のように:

dpkg-query -W -f='${PackageSpec} ${Status}\n' | grep installed |  sort -u | cut -f1 -d \ > installed-pkgs

または:

dpkg -l | grep ^ii | sed 's_  _\t_g' | cut -f 2 > installed-pkgs
41
kyleN

すべてのインストール済みパッケージをリストするには、

dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt

または

aptitude search -F '%p' '~i' > 1.txt

または

dpkg --get-selections > 1.txt

注:
ホームフォルダーに結果1.txtファイルを取得するか、独自のパスを指定できます。

39
karthick87

Synapticを使用して、インストールしたパッケージの現在の状態を保存できます。 Synapticで[ファイル/マーキングを保存]を選択し、状態を保存するファイルの名前を入力し、[変更だけでなく完全な状態を保存する]ボックスをオンにします。

これから保存されたファイルは、Synapticの「ファイル/読み取りマーキング」を使用して新しいマシンにロードできます。

35
Nerdfest

blueprint を使用することをお勧めします。サーバー用に設計されていますが、デスクトップからも使用できます。パッケージを再インストールするために使用するシェルスクリプト/ chef/puppetが作成されます。

34
Tamer

12.04にパッケージを再インストールしますか?

もしそうなら、それは非常に簡単です。 「Ubuntuシングルサインオンアカウント」が必要です。 (システムが同期されるように、再インストールする前に作成します。)

  1. ソフトウェアセンターに移動し、[ファイル]メニューの[コンピューター間の同期...]オプションを探します。

  2. クリックすると、コンピューターが登録され、コンピューター上のすべてのアプリのリストが表示されます。

  3. 新しくインストールすると、そのコンピューターは新しいコンピューターと見なされます。

  4. Ubuntuアカウントにサインインするだけで、以前のコンピューターが表示されます。

  5. クリックして;すべてのアプリのリストが表示されます。インストールするアプリで「インストール」を選択します。

33
Nirmik

Aptik(コマンドラインとGUIの両方)と呼ばれるツールもあります。このツールは、インストールされているすべてのパッケージのリストを表示し、選択/選択解除するオプションがあります。それらのいくつかは、バックアップリストを作成し、別のシステムで同じパッケージセットを復元します。

インストールする:

Sudo add-apt-repository -y ppa:teejee2008/ppa
Sudo apt-get update
Sudo apt-get install aptik

詳細: https://teejeetech.in/aptik/

enter image description here

スクリーンショットでわかるように、Aptikを使用すると、PPAのバックアップと復元もできます、インストールされたパッケージの一部をインストールするために必ず必要です。

32
Sadi

APT-Clone。このパッケージを使用して、aptベースのシステムでパッケージを複製/復元できます。

  • パッケージ、sources.list、キーリング、および自動インストールされた状態を保存/復元します。
  • また、dpkg-repackを使用して、ダウンロードできないパッケージを保存/復元することもできます。

source:man apt-clone

APT-Cloneは、アップグレードプロセスのためにubiquity(Ubuntuインストーラー)によって使用されます。以下の理由から、dpkg --get-selectionsソリューションよりもはるかに優れています。

  1. すべてのリポジトリ情報を保持します。
  2. 自動的にインストールされたパッケージを追跡します。
  3. ローカルにインストールされたDEBファイルを再パックできます。

使用方法

  1. インストール

    Sudo apt-get install apt-clone
    
  2. バックアップする

    Sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
    
  3. バックアップを復元

    Sudo apt-clone restore path-to/apt-clone-state-ubuntu.tar.gz
    

    新しいリリースに復元:

    Sudo apt-clone restore-new-distro path-to/apt-clone-state-ubuntu.tar.gz $(lsb_release -sc)
    

他のマシンで復元する前に簡単に編集およびレビューできる単純なgzip圧縮されたtarファイルを作成します。ここにその構造の例:

/
├── etc
│   └── apt
│       ├── preferences.d
│       ├── sources.list
│       ├── sources.list.d
│       │   ├── anton_-ubuntu-dnscrypt-vivid.list
│       │   ├── maarten-baert-ubuntu-simplescreenrecorder-vivid.list
│       │   └── megasync.list
│       ├── trusted.gpg
│       └── trusted.gpg.d
│           ├── anton__ubuntu_dnscrypt.gpg
│           ├── anton__ubuntu_dnscrypt.gpg~
│           ├── maarten-baert_ubuntu_simplescreenrecorder.gpg
│           └── maarten-baert_ubuntu_simplescreenrecorder.gpg~
└── var
    └── lib
        └── apt-clone
            ├── extended_states
            ├── installed.pkgs
            └── uname
30
user.dz

nix StackExchangeの優れた説明 があり、aptitudeを使用して依存関係としてインストールされていないパッケージをリストする方法、およびそのリストをUbuntuリリースのデフォルトパッケージのリストと比較する方法を説明しています。

12.04以降のデスクトップバージョンのマニフェストファイルを取得するには、 このサイト にアクセスし、リリースを選択して、CDイメージの下のファイルセクションまでスクロールします。アーキテクチャに一致する「ubuntu-12.04.4-desktop-AMD64 + mac.manifest」のようなものが見つかります。

サーバーバージョンの場合、元のシステムのインストールに使用されたISOからマニフェストファイルを取得する必要があります。 VPSまたはクラウドサーバーの場合、プロバイダーが画像を利用できるようにするか、連絡する必要がある場合があります。

参照された投稿のコードを使用した例と、新しいサーバーにインストールするための変更を以下に示します。

古いサーバー(他の投稿からのコード、ファイルに保存された出力):

aptitude search '~i !~M' -F '%p' --disable-columns | sort -u > currently-installed.list
wget -qO - http://mirror.pnl.gov/releases/precise/ubuntu-12.04.3-desktop-AMD64.manifest \
  | cut -f1 | sort -u > default-installed.list
comm -23 currently-installed.list default-installed.list > user-installed.list

新しいサーバーでscpを使用してファイルをコピーし、sedを使用してすべての行に「install」を追加します(-iはインライン置換を実行します)。次に、このリストを「dpkg --set-selections」への入力として使用し、apt-getを使用してパッケージをインストールできます。

scp user@oldserver:user-installed.list .
sed -i 's/$/\tinstall/' user-installed.list
Sudo dpkg --set-selections < user-installed.list
Sudo apt-get dselect-upgrade

このタスクを開始する前に、冒頭で述べた投稿のすべての部分を読んで理解し、検索パターンの詳細について aptitudeリファレンスガイド を参照することをお勧めします。

26
thinkmassive

/var/log/apt/の下のaptログと/var/log/の下のdpkgログを見ることができます

コマンドを実行するだけでインストール済みパッケージのリストを取得できます:

dpkg -l | grep '^ii '
25
Maythux

apt-cacheコマンドが設計されていることに驚いています正確にこの目的のためにが上で言及されていません...

apt-cache pkgnames

詳細については、apt-cache --helpを実行してください。

 ** apt-cacheは、APTのバイナリキャッシュファイルから情報をクエリするために使用される低レベルのツールです。
 
コマンド:
 gencaches-Buildパッケージとソースキャッシュの両方
 showpkg-単一パッケージの一般情報を表示
 showsrc-ソースレコードを表示
 stats-基本統計を表示
 dump-表示簡潔な形式のファイル全体
 dumpavail-使用可能なファイルをstdout 
に出力unmet-満たされていない依存関係を表示
 search-パッケージリストで正規表現パターンを検索
 show-パッケージの読み取り可能なレコードを表示します
 depends-パッケージの生の依存情報を表示します
 rdepends-パッケージの逆の依存情報を表示します
 pkgnames-システム内のすべてのパッケージの名前を一覧表示します
 dotty-GraphViz 
のパッケージグラフを生成しますxvcg-xvcg 
のパッケージグラフを生成しますpolicy-ポリシー設定を表示します
 
 Options:
 -hこのヘルプテキスト。
 -p =?パッケージキャッシュ。
 -s =?ソースキャッシュ。
 -q進行状況インジケータを無効にします。
 -i unmetコマンドの重要な依存関係のみを表示します。
 -c =?この構成ファイルを読む
 -o =? -o dir :: cache =/tmp 
詳細については、apt-cache(8)およびapt.conf(5)のマニュアルページを参照してください。
 ** 
23
ostrokach

完全な概要については、以下を参照してください。

https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora#Command_Line_Tools

ページ全体の半分:

dpkg --list

20
adriano72

以下のコマンドは、インストールされているすべてのパッケージもリストします。

grep ' installed ' /var/log/dpkg.log /var/log/dpkg.log.1 | awk '{print $5}' | sort -u
18
Avinash Raj

このコミュニティwikiを手伝ってください-最新のソリューションを追加してください。


dpkg、xargs、およびapt-get

このコマンドは、インストールされたパッケージを含むテキストファイルの作成を完了する必要があります。

dpkg -l | awk  '{print $2}' > package_list.txt

リストされたパッケージの一括インストールを完了するには、「package_list.txt」を編集する必要があります。テキストエディタを使用して、ファイルの上部にある奇妙な行を削除します。次に、このコマンドを使用して、作成したファイルからパッケージをインストールできます。

xargs < package_list.txt apt-get install -y

apt-cache、xargs、およびapt-get

all現在のパッケージをリスト(withinclude自動的にインストールされるなど)。

「apt-cache pkgnames」の応答を、「package_list.txt」という名前を付けたファイルに出力します。これは次の方法で実現できます。

apt-cache pkgnames > package_list.txt

次に、「package_list.txt」からパッケージをインストールする場合、次のコマンドを使用します。

xargs < package_list.txt apt-get install -y

apt-mark、xargs、およびapt-get

コマンドapt-mark showmanualを使用して、Ubuntuで手動または最初にインストールされたパッケージのリストを提供できます。これを「package-list.txt」と呼ぶファイルに出力します。このコマンドを使用して、それを達成します。

apt-mark showmanual > package-list.txt

ファイル「package_list.txt」からパッケージをインストールするために使用するコマンドは以下のとおりです。

xargs < package_list.txt apt-get install -y

Aptik移行ユーティリティ

Ubuntuベースのディストリビューションをアップグレード/再インストールした後、ソフトウェアパッケージの再インストールを簡素化するユーティリティ。
[ Launchpad | Aptik ]

Aptikの詳細については、公式ページにアクセスしてみてください。スクリーンショットを表示するには here またはこのセクションの終わりをご覧ください。

Aptikのインストールは簡単です。次の手順を実行します:

  1. AddPPAに以下を追加:
    Sudo add-apt-repository -y ppa:teejee2008/ppa

  2. Update以下のコマンドでapt。
    Sudo apt-get update

  3. インストールAptikの使用:
    Sudo apt-get install aptik

Aptik Migration Utility v16.5.2


17

インストール済みパッケージのリストをinstalled_packages.txtという名前のファイルに保存するには、次を実行します。

dpkg-query --list >> installed_packages.txt
16
wb9688

apt list --installedまたはdpkg-query --listは、パッケージに関するすべての情報が表示される背後で/var/lib/dpkg/statusというファイルを実際に使用していることに注意するのは興味深いと思います。

したがって、パッケージの超拡張リストを処理する場合は、cat /var/lib/dpkg/statusのみを使用します。

注:/var/lib/dpkg/statusファイルは変更しないでください。

3
prosti

APTパッケージに加えて、多くのGUIパッケージが snaps

パッケージがapt list --installedで見つからない場合は、snap listを試してください:

$ snap list

Name                  Version                     Rev   Tracking  Publisher       Notes
gimp                  2.10.10                     165   stable    snapcrafters    -
gnome-calculator      3.32.1                      406   stable/…  canonical✓      -
keepassxc             2.4.1                       267   stable    keepassxreboot  -
...

また、/snap/binをPATHに追加して、ターミナルから起動できるようにすることをお勧めします(非rootユーザーの場合は自動的に行われます)。

3
rustyx

https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/

1. Ubuntuにインストールされているソフトウェアパッケージを一覧表示する

マシンにインストールされているソフトウェアパッケージをリストするには、次のコマンドを使用できます。

Sudo apt list --installed

コマンドの出力は、現在インストールされているパッケージに応じて、次のようになります。

Listing...
acl/xenial,now 2.2.52-3 AMD64 [installed]
adduser/xenial,xenial,now 3.113+nmu3ubuntu4 all [installed]
Apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed]
Apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed,automatic]
Apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
Apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
Apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed]
apparmor/xenial-updates,now 2.10.95-0ubuntu2.5 AMD64 [installed,automatic]
apt/xenial-updates,now 1.2.19 AMD64 [installed]
apt-utils/xenial-updates,now 1.2.19 AMD64 [installed]
...

2. LESSプログラムを使用する

出力全体を簡単に読み取るには、lessプログラムを使用できます。

Sudo apt list --installed | less

3. GREPコマンドを使用する

grepプログラムを使用して、出力から特定のパッケージを検索できます。

Sudo apt list --installed | grep -i Apache

4. Apacheを含むすべてのパッケージをリストする

上記のコマンドの出力には、名前にApacheを含むすべてのパッケージがリストされます。

Apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed]
Apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed,automatic]
Apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
Apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
Apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 AMD64 [installed]
libapache2-mod-php/xenial,xenial,now 1:7.0+35ubuntu6 all [installed,automatic]
libapache2-mod-php7.0/xenial-updates,now 7.0.13-0ubuntu0.16.04.1 AMD64 [installed,automatic]
libapache2-mod-security2/xenial,now 2.9.0-1 AMD64 [installed]
libapache2-modsecurity/xenial,xenial,now 2.9.0-1 all [installed]

Aptは、インストール済み(--installed)パッケージ、アップグレード可能(--upgradeable)パッケージ、または利用可能なすべての(--all-versions)パッケージバージョンをリストするパッケージ名とオプションに一致するパターンをサポートしています。

5. DPKGプログラムを使用する

Ubuntu VPSにインストールされているソフトウェアパッケージを一覧表示するために使用できる別の方法は、dpkgコマンドです。

Sudo dpkg -l

コマンドの出力は、パッケージの名前、バージョン、アーキテクチャ、パッケージに関する簡単な説明などの情報を提供します。もちろん、grepプログラムを再度使用して、特定のパッケージを検索できます。

Sudo dpkg -l | grep -i Apache

出力は次のようになります。

ii  Apache2                       2.4.18-2ubuntu3.1                     AMD64        Apache HTTP Server
ii  Apache2-bin                   2.4.18-2ubuntu3.1                     AMD64        Apache HTTP Server (modules and other binary files)
ii  Apache2-data                  2.4.18-2ubuntu3.1                     all          Apache HTTP Server (common files)
ii  Apache2-doc                   2.4.18-2ubuntu3.1                     all          Apache HTTP Server (on-site documentation)
ii  Apache2-utils                 2.4.18-2ubuntu3.1                     AMD64        Apache HTTP Server (utility programs for web servers)
rc  Apache2.2-common              2.2.22-6ubuntu5.1                     AMD64        Apache HTTP Server common files
ii  libapache2-mod-php            1:7.0+35ubuntu6                       all          server-side, HTML-embedded scripting language (Apache 2 module) (default)
rc  libapache2-mod-php5           5.5.9+dfsg-1ubuntu4.16                AMD64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-php7.0         7.0.13-0ubuntu0.16.04.1               AMD64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-security2      2.9.0-1                               AMD64        Tighten web applications security for Apache
ii  libapache2-modsecurity        2.9.0-1                               all          Dummy transitional package
ii  libapr1:AMD64                 1.5.2-3                               AMD64        Apache Portable Runtime Library
ii  libaprutil1:AMD64             1.5.4-1build1                         AMD64        Apache Portable Runtime Utility Library
ii  libaprutil1-dbd-sqlite3:AMD64 1.5.4-1build1                         AMD64        Apache Portable Runtime Utility Library - SQLite3 Driver
ii  libaprutil1-ldap:AMD64        1.5.4-1build1                         AMD64        Apache Portable Runtime Utility Library - LDAP Driver
.

このチュートリアルの競争で、Ubuntuにインストールされたパッケージをリストする方法を学習しました。

3
M.A.K. Ripon

パッケージdctrl-toolsは、システムにインストール済みとしてマークされたパッケージのリストを取得するgrep-statusツールを提供します。

Sudo apt install dctrl-tools

使用法:

grep-status -FStatus -sPackage -n   "install ok installed"

参照: man dctrl-tools

1
GAD3R

それには多くの方法があります。私のようなCentOSを使用している場合は、次を使用できます。1. yum list installed 2. rpm -qa

1
saeed mohammadi