我有两个已安装的软件包列表在 .txt 文件中
该命令在两台具有相同 Linux 发行版的不同机器上运行
dpkg --get-selections > output.txt
我需要获取在第一个(生产)上安装但未在第二个(全新安装机器)上安装的软件包,并安装未安装的软件包。
答案1
要显示系统 A 和系统 B 之间的变化,请执行以下操作:
$ diff -u systemA.txt systemtB.txt
这将导致如下输出:
--- a 2014-06-01 21:44:48.501128132 +0100
+++ b 2014-06-01 21:47:26.450197702 +0100
@@ -1,3 +1,4 @@
+aalib install
accountsservice install
acl install
acpi install
@@ -5,7 +6,6 @@
acpi-support install
acpi-support-base install
acpid install
-adduser install
以 为前缀的行+
表示在系统 B 中存在但在系统 A 中不存在的软件包。以 为
前缀的行-
表示在系统 A 中存在但在系统 B 中不存在的软件包。
要查找在一个系统上安装但未在另一个系统上安装的所有软件包,您可以提取以以下内容开头的安装行+
:
$ diff -u a b|grep install|grep '^+'
+aalib install