我在 virtualbox 上安装了 centos 7.2,我的客户也安装了 centos 7.2。我为客户编写了一个程序,但由于技术原因,他们无法在他们的系统上构建源代码。为此,我必须在我的 centos 上安装他们拥有的每个完全相同版本的软件包并构建源代码。我使用客户系统中的以下命令获取了软件包列表:
yum list installed < packages_list
现在我有一个包含包和版本的 packages_list 文件,该文件如下所示:
...
colord-gtk.x86_64 0.1.25-4.el7 @anaconda/7.2
colord-libs.x86_64 1.2.7-2.el7 @anaconda/7.2
compat-db-headers.noarch 4.7.25-28.el7 @anaconda/7.2
compat-db47.x86_64 4.7.25-28.el7 @anaconda/7.2
...
现在,我如何在我的 centos 上安装完全相同且版本相同的软件包?我需要保留一些用于开发的软件包,如 gcc、make 等,而其他软件包也应安装相同的版本。
谢谢你的帮助
答案1
首先,确保您已在/etc/yum.conf
和/或中配置了相同的存储库/etc/yum/repos.d/
然后,将包列表复制到目标系统。
最后,如果您的文件名为installed.txt
,并且您已将其复制到目标 CentOS 系统的工作目录,请从根目录或sudo -i
提示符处尝试执行以下操作:
awk '{ print $1 "-" $2 }' installed.txt | xargs yum install