另一台计算机也可以是虚拟机。由于硬件差异和设置,我无法进行磁盘克隆。
我有计算机 A,已安装并正在运行,我还有计算机 B。我将在 B 上安装相同的操作系统,因此我将获得相同的基本系统。
然后我将手动添加与 A 上相同的存储库。
但最后一个阶段超出了我的范围——如何安装与 A 上相同的软件包?请注意,版本必须匹配,而不仅仅是包名称。
当然我正在寻找自动的方式,而不是手动一一安装。
实际上,我应该获得完全不同的硬件配置、干净的设置(没有旧密码等),但软件选择相同。
问题
怎么做?
背景
软件包(每个版本)可用,但不是最新的。这样做的目的是制作正在运行的系统的一个“副本”,在计算机 B(副本)上升级软件包,测试它是否有效,如果有效,则升级 A。对于每个新的操作系统版本,我都会遇到许多回归错误,我必须更有条不紊地进行测试,而不是测试实时和恐慌。
开放SUSE 11.4
答案1
听起来您必须构建自己的存储库。
将所需版本的 RPM 放入该存储库中。然后在两台计算机上激活这些存储库(作为安装源)并安装软件包。
答案2
由于 OpenSuse 使用 RPM,因此您可以使用该rpm
实用程序。
rpm -qa
将列出系统上当前安装的所有软件包(一个很长的列表)。该列表包括包名称、版本号和体系结构。您可以将该列表写入一个文件,并将该文件提供给新系统上的 zypper。
有可能默认情况下已经安装了多个软件包,但 zypper 会跳过它们并安装您需要的软件包。
答案3
首先列出您尝试创建“克隆”的计算机中所有已安装的软件包及其版本:rpm -qa > /tmp/rpm.list.txt
。
然后将其复制/tmp/rpm.list.txt
到您要尝试转换为另一个系统的“克隆”的系统,然后运行 zypper 并为其提供刚刚创建的包列表:(zypper install $(cat /tmp/rpm.list.txt)
或者将包含来自源系统的包列表的文件放在任何位置)。