现在错误已经非常明确:dpkg 在 /usr/bin 目录里创建备份符号链接时被拒绝(Operation not permitted),而且涉及多个文件:
dpkg
/usr/bin
/usr/bin/gnome-extensions
/usr/bin/gnome-shell
/usr/bin/gnome-shell-extension-tool
连续出现这种错误,99% 不是单个文件问题,而是 /usr/bin 目录或该目录下很多文件被设置了 chattr 锁定属性(i 或 a)。
chattr
i
a
直接把 /usr/bin 下所有异常 chattr 属性清掉,然后再安装。
执行:
sudo chattr -i /usr/bin sudo chattr -a /usr/bin sudo find /usr/bin -exec chattr -i {} \; 2>/dev/null sudo find /usr/bin -exec chattr -a {} \; 2>/dev/null
然后重新安装:
sudo apt --fix-broken install
sudo rm -f /usr/bin/gnome-extensions sudo rm -f /usr/bin/gnome-shell sudo rm -f /usr/bin/gnome-shell-extension-tool sudo apt --fix-broken install
一般是因为系统之前执行过 安全加固脚本,例如:
这些脚本会执行类似:
chattr +i /usr/bin/*
或者
chattr +a /usr/bin/*
这样系统文件就 不能被覆盖,而 apt upgrade 必须覆盖这些文件,于是安装就失败。
apt upgrade
运行:
sudo find /usr -exec lsattr {} + | grep '\-i\|\-a'
如果输出很多行,就说明系统之前被锁过。
你的系统显示:
500 个软件包未被升级
Ubuntu 20.04 这么多未升级通常说明:
等这个问题解决后,建议执行:
sudo apt update sudo apt upgrade
✅ 如果你愿意,我可以给你一个 Ubuntu 修复 apt/dpkg 损坏的完整 6 步流程(运维里非常常用,基本能修复所有类似问题)。
Github开源生信云平台 DEMO