Ubuntu,如何像现有机器一样设置新机器

Ubuntu,如何像现有机器一样设置新机器

我有一台安装了我需要的应用程序的机器,我想在新的 Ubuntu 机器上安装相同的应用程序。

是否有一个脚本可以列出所有已安装的应用程序,以便我可以区分各个框并添加缺失的项目?

提前致谢,克里斯

答案1

除了 pjz 提到的 dpkg 技巧外,你可能还想看看etckeeper教程) - 一款将您的 /etc/* 置于版本控制之下的应用程序,让您更容易地找到您所做的任何更改并将其复制到其他服务器。

另外,对于比 pjz 方法生成的列表更短的列表,您可以使用

$ deborphan -a --no-show-section > /tmp/mypackagelist

这将为您提供一个软件包列表,这些软件包将安装您需要作为依赖项的所有其他软件包。如果您确实想查看列表,这将很有用。(dpkg --get-selections 将生成一个很长列表)。此外,列表足够短,您可以添加换行符并使用“#”注释掉条目。然后在安装额外软件包时,您可以执行

$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y

这样,如果您只想在某些机器上安装某些软件包,您不必将它们从软件包列表中完全删除。

答案2

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/ 等,因为您知道系统上有哪些软件包。

答案3

Ubuntu 论坛有一个好答案

  1. 在旧机器上:$ dpkg --get-selections > mounted-software
    • 这将获取您已安装的应用程序列表
  2. 在新机器上:$ dpkg --set-selections
    • 这将设置新机器安装新机器上当前尚未安装的软件包。
    • 看看新机器是否有一些旧机器上未安装的软件包可能会很有趣,因此您可以在新机器上找到 dpkg --get-selections> 命令,然后使用 diff 比较两者的输出文件。
  3. 最后,在新机器上:$ dselect 然后软件包就会被安装。

论坛讨论中的一些附加链接:

  1. 不要忘记你的 gpg 密钥(来自同一主题)
  2. 如何安装所有需要的软件包并卸载所有不需要的软件包

答案4

如果您不是 CLI 的粉丝(尽管您确实应该是),您可以使用 Synaptic 包管理器保存已安装包的映像,并使用该文件(再次通过 Synaptic)加载新机器。在文件/保存标记选项下,有一个名为“保存完整状态”的复选框。

相关内容