问题描述
我在机器上安装了所需的应用程序,我想将其安装在新的Ubuntu机器上。
是否有一个脚本将列出所有已安装的应用程序,以便我可以在各个框之间进行区分并添加缺少的项?
预先感谢克里斯
最佳方法
除了pjz提到的dpkg技巧外,您可能还想看看etckeeper(tutorial)-一个将您的/etc /*置于版本控制下的应用程序,可以更轻松地找到所做的任何更改并将它们复制到其他服务器。
此外,对于比pjz方法生成的列表短的列表,可以使用
$ deborphan -a --no-show-section > /tmp/mypackagelist
这将为您提供软件包列表,这些软件包将安装您需要作为依赖项的所有其他软件包。如果您确实想浏览列表,则可能会很有用。 (dpkg –get-selections将产生一个清单)。另外,列表足够短,您可以添加换行符并用’#’注释掉条目。然后,在安装额外的软件包时,您可以执行
$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y
这样,如果您只想在某些计算机上安装某些软件包,则不必完全从软件包列表中删除它们。
次佳方法
dpkg --get-selections >/tmp/mypackagelist
应该可以。然后,确保新机器上的/etc/apt/sources.list具有与旧机器上相同的条目集后,将mypackagelist复制到新机器上并执行以下操作:
cat mypackagelist | xargs apt-get -y install
而且你应该很好走。
请注意,dpkg –get-selections行也是将信息放入/etc /dir的好信息-这意味着您不必费心备份/bin /和/usr /bin /之类的东西,因为您知道什么软件包在系统上。