

ArchLinux 日志之 linux-firmware-nvidia 文件冲突
ArchLinux 滚包报错,linux-firmware-nvidia: 文件系统中已存在 /usr/lib/firmware/nvidia/*。
views
| comments
这是我在一次 yay -Syu
升级中遇到的棘手问题,涉及 linux-firmware
拆包带来的文件冲突。最后成功解决,记录过程。
情况说明#
我运行:
yay -Syu
bash系统提示有大量核心组件更新,包括:
linux
linux-firmware
nvidia
- 以及一些 AUR 包如
google-chrome
、linuxqq
、rustdesk-bin
一切正常,直到执行安装时出现错误:
linux-firmware-nvidia: 文件系统中已存在 /usr/lib/firmware/nvidia/ad103
linux-firmware-nvidia: 文件系统中已存在 /usr/lib/firmware/nvidia/ad104
linux-firmware-nvidia: 文件系统中已存在 /usr/lib/firmware/nvidia/ad105
linux-firmware-nvidia: 文件系统中已存在 /usr/lib/firmware/nvidia/ad106
...
plaintext更新终止。尝试使用 --overwrite
参数也失败:
sudo pacman -Syu --overwrite='/usr/lib/firmware/nvidia/*'
bash依旧报错。
问题分析#
用 pacman 查询文件归属:
pacman -Qo /usr/lib/firmware/nvidia/ad103
bash输出:
/usr/lib/firmware/nvidia/ad103 属于软件包 linux-firmware
plaintext说明当前系统中的 NVIDIA 固件文件属于旧的 linux-firmware
包,而现在新的包 linux-firmware-nvidia
也试图写入这些路径。
这是 Arch Linux 在 2025 年的一次“固件包拆分”导致的文件所有权迁移问题。
多次尝试失败#
我尝试了各种常规方式,包括:
- 加
--overwrite
- 单独安装新包
- 重跑
yay -Syu
都以类似冲突报错结束。
解决方案#
最终使用以下方案成功解决:
1. 卸载旧包(跳过依赖检查)#
sudo pacman -Rdd linux-firmware
bash2. 安装新包#
sudo pacman -S linux-firmware linux-firmware-nvidia
bash3. 再次系统更新#
yay -Syu
bash验证#
确认迁移成功:
pacman -Qo /usr/lib/firmware/nvidia/ad103
bash输出变为:
/usr/lib/firmware/nvidia/ad103 属于软件包 linux-firmware-nvidia
plaintext之后 reboot
,没有出现任何问题。