在 CentOS 系统中,备份驱动文件通常分为几种情况,取决于你想备份的是 内核模块驱动、第三方驱动包 还是 整个系统驱动环境。下面按常见场景给你详细说明。
CentOS 的驱动大多以 内核模块(.ko 文件) 形式存在。
lsmod
查看某个驱动的路径:
modinfo 驱动名
例如:
modinfo e1000e
输出中 filename: 即为驱动文件位置。
/lib/modules/$(uname -r)/kernel/
例如:
/lib/modules/3.10.0-1160.el7.x86_64/kernel/
mkdir -p /backup/drivers
cp -a /lib/modules/$(uname -r) /backup/drivers/
✅ 这是最安全、最完整的方式
✅ 包含全部内核模块和依赖关系
cp -a /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko /backup/drivers/
dkms status
如果有输出,说明驱动由 DKMS 管理。
cp -a /usr/src /backup/drivers/usr_src
cp -a /var/lib/dkms /backup/drivers/dkms
查看已安装的驱动包:
rpm -qa | grep -i kmod
rpm -qa | grep -i driver
备份 RPM:
mkdir /backup/drivers/rpms
rpm -qa | grep -i driver | xargs rpm -ql > /backup/drivers/rpms/pkglist.txt
或直接复制 RPM:
yum install yum-utils -y
yumdownloader $(rpm -qa | grep -i driver)
有些驱动依赖配置文件:
cp -a /etc/modprobe.d /backup/drivers/
cp -a /etc/modules-load.d /backup/drivers/
tar czvf drivers_backup_$(date +%F).tar.gz \
/lib/modules \
/etc/modprobe.d \
/etc/modules-load.d
rsync -av /lib/modules /backup/drivers/
cp -a /backup/drivers/$(uname -r) /lib/modules/
depmod -a
modprobe 驱动名
| 场景 | 建议 |
|---|---|
| 系统升级前 | 备份 /lib/modules |
| 安装 NVIDIA / RAID | 备份 RPM + DKMS |
| 多台相同服务器 | 直接复制 /lib/modules |
| 防止驱动丢失 | 备份 + 记录 lsmod |
mkdir -p /backup/drivers
cp -a /lib/modules/$(uname -r) /backup/drivers/
cp -a /etc/modprobe.d /backup/drivers/
lsmod > /backup/drivers/lsmod.txt
如果你能告诉我:
我可以给你一套 完全定制化的备份和恢复方案。