复制基于Yum的Linux安装


20

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


只是附带说明,以防万一,您可以获取要在新系统上安装的程序的列表,然后复制主文件夹中的设置(名称以a开头的文件和目录.
phunehehe

请注意版本不匹配。由于执行此操作的主目录中的配置不兼容,我破坏了设置。通常,它可以移植到较新的版本,但是偶尔会有困难。
马特·西蒙斯

Answers:


18

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

$ rpm -qa > installed-software.log

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

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

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

8

在RHEL框上获取已安装的RPM的列表:

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

将软件包安装到Fedora上:

yum -y install $(cat installed_packages.txt)

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

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


Fedora是按自己的方式发行的,具有积极的立场,是第一个拥有最好的开源/免费软件的公司。红帽企业版Linux是非常保守的发行版,几乎完全相反。红帽采用Fedora的一个版本(某些软件包),并经过稳定化和质量检查,将其从Red Hat Enterprise Linux中删除。称Fedora为“ R&D项目”与说Debian为Fedora进行研发是错误的(是的,Fedora确实从Debian获取补丁甚至是完整的软件包,反之亦然)。
vonbrand

2

您可以尝试Kickstart,也可以为多个发行版设置PXE安装/启动服务器。或者,如果您的某些计算机是无盘的,则可以尝试LTPS方法(通常称为-瘦客户端-IIRC),另请参见此处

编辑:如果是这种情况,请参阅


1
我认为问题更多是在询问如何在一个盒子/发行版上获取已安装的应用程序列表,然后将其安装在另一个盒子/发行版上,而不是一种自动化的安装方式。
Frozenskys

后者是正确的,而这正是我所需要的。
韦斯利·伯尔

0

我相信Dejan的答案/unix//a/25729/346788yum基于系统的最佳解决方案。但是,由于缓冲区原因,当您将其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

这是-我猜是吗?-是Dejan对这个问题的答案的有用辅助,不是对这个问题的答案。也许您可以写一个与上述帖子相对应的问题,然后将其提交(即问)为一个新问题。同样,这样的答案应该解释他们在做什么(以及如何做)并显示示例输出。
G-Man说“恢复莫妮卡”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.