假设基于 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
答案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