確認して別のシステムに一括インストールできるように、インストールされているすべてのパッケージのリストをテキストファイルに出力したいと思います。どうすればいいですか?
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
またはここで必要なその他のバリアントはありません)
明示的にインストールされた(依存関係としてインストールされただけでなく)パッケージだけを取得するには、次を実行できます。
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
は、パッケージが明示的にインストールされ、単なる依存関係ではないことを示します。
すべてのパッケージを一覧表示するには、意図的にインストールされた(依存関係ではなく)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
...
現在インストールされているパッケージのバックアップを作成します。
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
apt-mark showmanual
マニュアルページの状態:
手動でインストールされたパッケージのリストを印刷します
したがって、明示的にインストールされたパッケージのリストを提供するだけです(ただし、デフォルトの初期インストールの一部であったパッケージも含まれます)。これらのパッケージがインストールされているため、すべての依存関係は含まれません。
結果をテキストファイルに出力するには:
apt-mark showmanual > list-manually-installed.txt
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
すべてのインストール済みパッケージをリストするには、
dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt
または
aptitude search -F '%p' '~i' > 1.txt
または
dpkg --get-selections > 1.txt
注:
ホームフォルダーに結果1.txtファイルを取得するか、独自のパスを指定できます。
Synapticを使用して、インストールしたパッケージの現在の状態を保存できます。 Synapticで[ファイル/マーキングを保存]を選択し、状態を保存するファイルの名前を入力し、[変更だけでなく完全な状態を保存する]ボックスをオンにします。
これから保存されたファイルは、Synapticの「ファイル/読み取りマーキング」を使用して新しいマシンにロードできます。
blueprint を使用することをお勧めします。サーバー用に設計されていますが、デスクトップからも使用できます。パッケージを再インストールするために使用するシェルスクリプト/ chef/puppetが作成されます。
12.04にパッケージを再インストールしますか?
もしそうなら、それは非常に簡単です。 「Ubuntuシングルサインオンアカウント」が必要です。 (システムが同期されるように、再インストールする前に作成します。)
ソフトウェアセンターに移動し、[ファイル]メニューの[コンピューター間の同期...]オプションを探します。
クリックすると、コンピューターが登録され、コンピューター上のすべてのアプリのリストが表示されます。
新しくインストールすると、そのコンピューターは新しいコンピューターと見なされます。
Ubuntuアカウントにサインインするだけで、以前のコンピューターが表示されます。
クリックして;すべてのアプリのリストが表示されます。インストールするアプリで「インストール」を選択します。
Aptik(コマンドラインとGUIの両方)と呼ばれるツールもあります。このツールは、インストールされているすべてのパッケージのリストを表示し、選択/選択解除するオプションがあります。それらのいくつかは、バックアップリストを作成し、別のシステムで同じパッケージセットを復元します。
インストールする:
Sudo add-apt-repository -y ppa:teejee2008/ppa
Sudo apt-get update
Sudo apt-get install aptik
詳細: https://teejeetech.in/aptik/
スクリーンショットでわかるように、Aptikを使用すると、PPAのバックアップと復元もできます、インストールされたパッケージの一部をインストールするために必ず必要です。
APT-Clone。このパッケージを使用して、aptベースのシステムでパッケージを複製/復元できます。
- パッケージ、sources.list、キーリング、および自動インストールされた状態を保存/復元します。
- また、dpkg-repackを使用して、ダウンロードできないパッケージを保存/復元することもできます。
source:
man apt-clone
APT-Cloneは、アップグレードプロセスのためにubiquity
(Ubuntuインストーラー)によって使用されます。以下の理由から、dpkg --get-selections
ソリューションよりもはるかに優れています。
使用方法
インストール
Sudo apt-get install apt-clone
バックアップする
Sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
バックアップを復元
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
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リファレンスガイド を参照することをお勧めします。
/var/log/apt/
の下のapt
ログと/var/log/
の下のdpkg
ログを見ることができます
コマンドを実行するだけでインストール済みパッケージのリストを取得できます:
dpkg -l | grep '^ii '
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)のマニュアルページを参照してください。 **
完全な概要については、以下を参照してください。
ページ全体の半分:
dpkg --list
以下のコマンドは、インストールされているすべてのパッケージもリストします。
grep ' installed ' /var/log/dpkg.log /var/log/dpkg.log.1 | awk '{print $5}' | sort -u
このコミュニティwikiを手伝ってください-最新のソリューションを追加してください。
このコマンドは、インストールされたパッケージを含むテキストファイルの作成を完了する必要があります。
dpkg -l | awk '{print $2}' > package_list.txt
リストされたパッケージの一括インストールを完了するには、「package_list.txt」を編集する必要があります。テキストエディタを使用して、ファイルの上部にある奇妙な行を削除します。次に、このコマンドを使用して、作成したファイルからパッケージをインストールできます。
xargs < package_list.txt apt-get install -y
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 showmanual
を使用して、Ubuntuで手動または最初にインストールされたパッケージのリストを提供できます。これを「package-list.txt」と呼ぶファイルに出力します。このコマンドを使用して、それを達成します。
apt-mark showmanual > package-list.txt
ファイル「package_list.txt」からパッケージをインストールするために使用するコマンドは以下のとおりです。
xargs < package_list.txt apt-get install -y
Ubuntuベースのディストリビューションをアップグレード/再インストールした後、ソフトウェアパッケージの再インストールを簡素化するユーティリティ。
[ Launchpad | Aptik ]
Aptikの詳細については、公式ページにアクセスしてみてください。スクリーンショットを表示するには here またはこのセクションの終わりをご覧ください。
Aptikのインストールは簡単です。次の手順を実行します:
AddPPAに以下を追加:Sudo add-apt-repository -y ppa:teejee2008/ppa
Update以下のコマンドでapt。Sudo apt-get update
インストールAptikの使用:Sudo apt-get install aptik
インストール済みパッケージのリストをinstalled_packages.txt
という名前のファイルに保存するには、次を実行します。
dpkg-query --list >> installed_packages.txt
apt list --installed
またはdpkg-query --list
は、パッケージに関するすべての情報が表示される背後で/var/lib/dpkg/status
というファイルを実際に使用していることに注意するのは興味深いと思います。
したがって、パッケージの超拡張リストを処理する場合は、cat /var/lib/dpkg/status
のみを使用します。
注:/var/lib/dpkg/status
ファイルは変更しないでください。
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ユーザーの場合は自動的に行われます)。
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にインストールされたパッケージをリストする方法を学習しました。
パッケージdctrl-tools
は、システムにインストール済みとしてマークされたパッケージのリストを取得するgrep-status
ツールを提供します。
Sudo apt install dctrl-tools
使用法:
grep-status -FStatus -sPackage -n "install ok installed"
参照: man dctrl-tools
それには多くの方法があります。私のようなCentOSを使用している場合は、次を使用できます。1. yum list installed
2. rpm -qa