You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取并安装相同RPM包以复制Rocky9服务器?

Rocky9 服务器RPM包备份与批量同步实操方法

一、导出已安装RPM包列表

导出全部已安装包

用rpm命令直接导出,两种格式可选:

  • 仅包名(适合同版本系统批量安装):
    rpm -qa --qf "%{NAME}\n" > installed_pkgs.txt
    
  • 带完整版本+架构(避免版本不一致问题):
    rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" > installed_pkgs_full.txt
    

仅导出手动安装的包(排除系统默认预装)

如果只想同步自己后来加装的包,用dnf命令更精准:

dnf history userinstalled > manual_pkgs.txt

二、在备份服务器批量安装

  1. 先把导出的列表文件传到备份服务器(比如用 scp installed_pkgs.txt user@backup-server:/tmp/)
  2. 执行安装命令:
    • 用纯包名列表安装:
      dnf install -y $(cat /tmp/installed_pkgs.txt)
      
    • 用完整版本列表安装:
      dnf install -y $(cat /tmp/installed_pkgs_full.txt)
      
    注意:如果原服务器有第三方yum/dnf源,必须先在备份服务器配置完全相同的源,否则会出现包找不到的情况。

三、用Kickstart实现自动化部署(含完整包配置)

如果需要批量搭建完全一致的服务器,可以用Kickstart文件:

  1. 原服务器生成Kickstart文件:
    先安装图形化配置工具:
    dnf install -y system-config-kickstart
    
    运行工具后,在「软件包选择」里可以选择同步所有已安装包,或者导入之前导出的包列表,最后保存为kickstart文件(比如server-template.ks)。
    也可以直接编辑系统默认的/root/anaconda-ks.cfg,在%packages段添加所有需要的包名。
  2. 用这个Kickstart文件引导备份服务器安装,整个过程会自动配置系统和安装所有指定包。

四、一键同步脚本

写个简单的bash脚本,直接跨服务器同步安装:

#!/bin/bash
# 替换成你的原服务器用户名和地址
ORIG_SERVER="user@your-original-server-ip"
# 从原服务器拉取包列表并安装
ssh $ORIG_SERVER 'rpm -qa --qf "%{NAME}\n"' | dnf install -y -

提示:提前配置原服务器和备份服务器的免密SSH登录,这样脚本可以一键执行,不用输入密码。

内容的提问来源于stack exchange,提问作者Alain Lecompte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 00:09:22