温馨提示×

centos驱动程序备份方法

小樊
43
2025-10-26 04:55:41
栏目: 智能运维

CentOS驱动程序备份方法

1. 备份已安装的驱动程序包(RPM方式)

通过RPM包管理器列出并备份系统中已安装的驱动程序包(通常包含“driver”关键词),便于后续重新安装。

  • 列出驱动包:使用rpmdnf命令过滤出驱动相关的RPM包(CentOS 8及以上推荐dnf):
    rpm -qa | grep -i driver      # CentOS 7及以下
    dnf list installed | grep -i driver  # CentOS 8及以上
    
  • 备份驱动包:将列出的包下载到指定备份目录(如/backup/drivers_rpm):
    mkdir -p /backup/drivers_rpm
    rpm -qa | grep -i driver | xargs sudo yum reinstall --downloadonly --downloaddir=/backup/drivers_rpm  # CentOS 7
    dnf list installed | grep -i driver | awk '{print $1}' | xargs dnf reinstall --downloadonly --downloaddir=/backup/drivers_rpm  # CentOS 8+
    

2. 导出内核模块信息(modinfo方式)

内核模块是驱动程序的核心,通过modinfo命令导出每个模块的详细信息(如版本、依赖关系),便于手动重建驱动配置。

mkdir -p /backup/module_info
for module in $(lsmod | awk '{print $1}'); do
  sudo modinfo $module > /backup/module_info/"${module}.info"
done

3. 打包内核驱动目录

Linux内核驱动默认安装在/lib/modules/$(uname -r)/kernel/drivers/目录下,直接打包该目录可完整备份所有内置驱动。

sudo tar -czvf /backup/kernel_drivers_$(uname -r).tar.gz /lib/modules/$(uname -r)/kernel/drivers/

4. 备份驱动配置文件

驱动的加载和配置依赖以下目录中的文件,备份后可保留自定义驱动设置(如开机自动加载、模块参数)。

  • modprobe配置:备份/etc/modprobe.d/目录(用于定义模块加载规则):
    sudo cp -r /etc/modprobe.d /backup/modprobe_d_backup
    
  • 开机加载模块:备份/etc/modules-load.d/目录(用于指定开机自动加载的模块):
    sudo cp -r /etc/modules-load.d /backup/modules_load_d_backup  # CentOS 7及以上
    
  • 内核模块列表:备份/etc/modules文件(记录开机需要加载的内核模块):
    sudo cp /etc/modules /backup/modules_backup  # 仅CentOS 7及以下存在
    

5. 使用dracut备份initramfs(可选)

若系统使用dracut生成initramfs(初始RAM文件系统,包含启动所需驱动),备份其配置和生成的镜像可确保启动时驱动可用。

  • 备份dracut配置
    sudo cp /etc/dracut.conf /backup/dracut_conf_backup
    sudo cp -r /etc/dracut.modules.d /backup/dracut_modules_d_backup
    
  • 备份initramfs镜像
    sudo cp /boot/initramfs-$(uname -r).img /backup/initramfs_backup.img
    

注意事项

  • 权限要求:所有备份操作需使用root用户或sudo提升权限。
  • 存储位置:备份文件应存放在外部设备(如U盘、NAS)或非系统分区,避免系统故障时数据丢失。
  • 定期更新:每次系统升级或驱动更新后,需重新执行备份以确保文件有效性。
  • 恢复验证:恢复驱动前,建议先测试备份文件的完整性(如解压tar.gz文件检查内容)。

0