確認して別のシステムに一括インストールできるように、インストールされているすべてのパッケージのリストをテキストファイルに出力したいと思います。どうすればいいですか?
確認して別のシステムに一括インストールできるように、インストールされているすべてのパッケージのリストをテキストファイルに出力したいと思います。どうすればいいですか?
回答:
apt
Ubuntu 14.04以降のツールを使用すると、これが非常に簡単になります。
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
ここで必要な、または他のバリアントはありません)
sudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgrade
トリックを行います。
明示的にインストールされた(依存関係としてインストールされただけでなく)パッケージだけを取得するには、次を実行できます。
aptitude search '~i!~M'
これには、必要に応じて簡単な説明も含まれます。そうでない場合は、-F '%p'
karthick87で説明されているように、オプションも追加します。
さらに別のオプションは/var/lib/apt/extended_states
、次の形式のテキストファイルデータベースであるfileをコピーすることです。
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-get
ますか?
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
...
zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:'
dpkg
??でインストールされたパッケージを見逃しますか?
現在インストールされているパッケージのバックアップを作成します。
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
ubuntu-desktop
おそらくdpkgコマンドの1つが原因で、どういうわけかアンインストールされたことに気付くまでしばらく時間がかかりました。注意してください、損傷を修復するのに何時間もかかりました!
sudo apt-mark hold name-your-package
。コマンドの最後にこれを実行してください。これにより、apt-getは、更新プロセスのデフォルトである現在のバージョンにアップグレードできなくなります。
apt-mark showmanual
マニュアルページの状態:
手動でインストールされたパッケージのリストを印刷します
したがって、明示的にインストールされたパッケージのリストを提供するだけです(ただし、デフォルトの初期インストールの一部であったパッケージも含まれます)。これらのパッケージがインストールされているため、すべての依存関係は含まれません。
結果をテキストファイルに出力するには:
apt-mark showmanual > list-manually-installed.txt
apt-mark showmanual
そうではありません。また、おそらく基本インストールの一部である、自動的にインストールされる多数のパッケージもリストします。
apt list --manual-installed
。
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
# for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; done
2番目のシステムに入力することで、パッケージをインストールするように作成しました。
apt-get install -y $(< installed-pkgs)
apt-getが一度だけ実行され、すべての依存関係を一度に処理するようにします。
sudo apt-get build-dep name-package; sudo apt-get install name-package;
ですか?
すべてのインストール済みパッケージをリストするには、
dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt
または
aptitude search -F '%p' '~i' > 1.txt
または
dpkg --get-selections > 1.txt
注:
ホームフォルダーに結果1.txtファイルを取得するか、独自のパスを指定できます。
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-get install aptik-gtk
、同様にインストールする必要があります
APT-クローン。このパッケージを使用して、aptベースのシステムでパッケージを複製/復元できます。
- パッケージ、sources.list、キーリング、および自動インストールされた状態を保存/復元します。
- また、dpkg-repackを使用して、ダウンロードできないパッケージを保存/復元することもできます。
ソース:
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
Unix 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リファレンスガイドを参照してください。
私は、この目的のために正確にapt-cache
設計されたコマンドが上記に言及されていないことに驚いています...
apt-cache pkgnames
詳細については、次を実行してapt-cache --help
ください。
** apt-cacheは、情報のクエリに使用される低レベルのツールです APTのバイナリキャッシュファイルから コマンド: gencaches-パッケージとソースキャッシュの両方をビルドします showpkg-単一のパッケージに関する一般的な情報を表示する showsrc-ソースレコードを表示する 統計-基本的な統計を表示する dump-ファイル全体を簡潔な形式で表示する dumpavail-利用可能なファイルを標準出力に出力します unmet-満たされていない依存関係を表示 search-パッケージリストで正規表現パターンを検索します show-パッケージの読み取り可能なレコードを表示します depend-パッケージの生の依存情報を表示する rdepends-パッケージの逆依存関係情報を表示する pkgnames-システム内のすべてのパッケージの名前を一覧表示します dotty-GraphVizのパッケージグラフを生成する xvcg-xvcgのパッケージグラフを生成する ポリシー-ポリシー設定を表示 オプション: -hこのヘルプテキスト。 -p =?パッケージキャッシュ。 -s =?ソースキャッシュ。 -q進捗インジケータを無効にします。 -i unmetコマンドの重要な依存関係のみを表示します。 -c =?この構成ファイルを読む -o =?-o dir :: cache = / tmpなどの任意の構成オプションを設定します 詳細については、apt-cache(8)およびapt.conf(5)のマニュアルページを参照してください。 **
apt --installed list
が最良の結果をもたらすことを発見しました(上記のトップアンサーで提案されているように。apt-cache pkgnames
一見するとトリックを行うように見えますが) 。しかし、実際にインストールされていませんあります--installed
オプションが、で動作するようには思えないpkgnames
。
apt-cache pkgnames | wc -l
与え55909
に対し、(システムが知っている)パッケージをaptitude search '~i!~M' | wc -l
提供します2160
(パッケージが明示的に依存関係なしで、インストールされています)。
完全な概要については、以下を参照してください。
ページ全体の半分:
dpkg --list
このコミュニティWikiを手伝ってください-最新のソリューションを追加してください。
このコマンドは、インストールされたパッケージを含むテキストファイルの作成を完了する必要があります。
dpkg -l | awk '{print $2}' > package_list.txt
リストされたパッケージの一括インストールを完了するには、「package_list.txt」を編集する必要があります。テキストエディタを使用して、ファイルの上部にある奇妙な行を削除します。次に、このコマンドを使用して、作成したファイルからパッケージをインストールできます。
xargs < package_list.txt apt-get install -y
リストを使用して現在のパッケージをすべてインストールする場合(自動的にインストールされるなどを含む)にのみ、この方法を使用します。
「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ベースのディストリビューションをアップグレード/再インストールした後、ソフトウェアパッケージの再インストールを簡素化するユーティリティ。
[ ラウンチパッド| アプティック ]
Aptikの詳細については、公式ページをご覧ください。スクリーンショットについては、ここをクリックするか、このセクションの最後をご覧ください。
Aptikのインストールは簡単です。次の手順を実行します:
次を使用してPPAを追加します。
sudo add-apt-repository -y ppa:teejee2008/ppa
以下のコマンドでaptを更新します。
sudo apt-get update
以下を使用してAptikをインストールします。
sudo apt-get install aptik
apt-mark showmanual
、Bash、Unity、Xorgなどが含まれます。彼らはそこにいるはずですか?
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ユーザーの場合は自動的に行われます)。
パッケージdctrl-tools
は、grep-status
システムにインストール済みとしてマークされたパッケージのリストを取得するツールを提供します。
sudo apt install dctrl-tools
使用法:
grep-status -FStatus -sPackage -n "install ok installed"
見る : man dctrl-tools
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にインストールされたパッケージをリストする方法を学習しました。
それには多くの方法があります。私のようなCentOSを使用している場合は、次を使用できます。1. yum list installed
2。rpm -qa