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

Chr*_*ton 27 linux ubuntu

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

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

提前致谢,克里斯

Ham*_*ner 18

除了 pjz 提到的 dpkg 技巧外,您可能还想查看etckeeper教程)——一个将您的 /etc/* 置于版本控制之下的应用程序,可以更轻松地找到您所做的任何更改并将它们复制到其他服务器。

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

$ deborphan -a --no-show-section > /tmp/mypackagelist
Run Code Online (Sandbox Code Playgroud)

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

$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y
Run Code Online (Sandbox Code Playgroud)

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


pjz*_*pjz 17

dpkg --get-selections >/tmp/mypackagelist
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩。然后,在确保新机器上的 /etc/apt/sources.list 与旧机器上的条目集相同后,将 mypackagelist 复制到新机器上并执行:

cat mypackagelist | xargs apt-get -y install 
Run Code Online (Sandbox Code Playgroud)

你应该很高兴去。

请注意, dpkg --get-selections 行也是偶尔放入 /etc/dir 的好信息 - 这意味着您不必费心备份 /bin/ 和 /usr/bin/ 等,因为您知道系统上有哪些包。