比较 dpkg --get-selections > output.txt 的两个输出

比较 dpkg --get-selections > output.txt 的两个输出

我有两个已安装的软件包列表在 .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

相关内容