复制基于 Yum 的 Linux 安装

复制基于 Yum 的 Linux 安装

假设基于 Yum 的安装(特别是在我的例子中,Scientific Linux 5.1 x86_64 安装),我如何将已安装的程序和实用程序复制到基于 Fedora Core x86_64 的新计算机?硬件非常相似,但并不完全相同,明显的区别是SL5基于EL,而不是Fedora;我的主要目标是将用户体验从原始盒子 (SL) 复制到新盒子 (FC)。

答案1

您可以使用以下命令创建已安装软件的列表:

$ rpm -qa > installed-software.log

由于它们基于不同的发行版,我不确定您将如何进行安装。

如果我将其复制到同一发行版的全新安装中,我将以 root 身份运行以下命令

# yum -y install $(cat /home/user/installed-software.log)

答案2

获取 RHEL 机器上已安装的 RPM 列表:

yum list installed |tail -n +3|cut -d' ' -f1 > installed_packages.txt

将软件包安装到 Fedora 上:

yum -y install $(cat installed_packages.txt)

注意:Fedora 是 RHEL 的研发项目,您应该能够在 Fedora 中安装大多数这些软件包。

Steves 方法列出了版本号,您希望避免这种情况。

答案3

你可以试试启动或者您可能想为多个发行版设置 PXE 安装/引导服务器。或者,如果您的某些机器是无盘的,您可以尝试低温多晶硅方法(这就是通常所说的 - 瘦客户端 - IIRC),另见这里

编辑:如果是这样的话,请参阅

答案4

我相信德扬的回答https://unix.stackexchange.com/a/25729/346788是基于系统的最佳选择yum。但是,当您 ssh 进入服务器时,由于缓冲区的原因,它可能无法工作。详情请见通过远程 ssh 命令获取输出时,如何使 yum list 输出保持在一行上?

因此,稍微改进一下,获取包的完整列表:

yum list installed | xargs -n3 | column -t  | tail -n +3 |cut -d' ' -f1

要获取从以下位置安装的软件包列表rpm

yum list installed | xargs -n3 | column -t | grep -v "@" | tail -n +3 |cut -d' ' -f1

要获取已安装的软件包列表yum

yum list installed | xargs -n3 | column -t | grep "@" | tail -n +3 |cut -d' ' -f1

相关内容