CentOS驱动程序备份方法
通过RPM包管理器列出并备份系统中已安装的驱动程序包(通常包含“driver”关键词),便于后续重新安装。
rpm或dnf命令过滤出驱动相关的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+
内核模块是驱动程序的核心,通过modinfo命令导出每个模块的详细信息(如版本、依赖关系),便于手动重建驱动配置。
mkdir -p /backup/module_info
for module in $(lsmod | awk '{print $1}'); do
sudo modinfo $module > /backup/module_info/"${module}.info"
done
Linux内核驱动默认安装在/lib/modules/$(uname -r)/kernel/drivers/目录下,直接打包该目录可完整备份所有内置驱动。
sudo tar -czvf /backup/kernel_drivers_$(uname -r).tar.gz /lib/modules/$(uname -r)/kernel/drivers/
驱动的加载和配置依赖以下目录中的文件,备份后可保留自定义驱动设置(如开机自动加载、模块参数)。
/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及以下存在
若系统使用dracut生成initramfs(初始RAM文件系统,包含启动所需驱动),备份其配置和生成的镜像可确保启动时驱动可用。
sudo cp /etc/dracut.conf /backup/dracut_conf_backup
sudo cp -r /etc/dracut.modules.d /backup/dracut_modules_d_backup
sudo cp /boot/initramfs-$(uname -r).img /backup/initramfs_backup.img
root用户或sudo提升权限。tar.gz文件检查内容)。