dpkg 在 /usr/bin 目录里创建备份符号链接时被拒绝(Operation not permitted),而且涉及多个文件

最后发布时间:2026-03-06 17:28:13 浏览量:

现在错误已经非常明确:
dpkg/usr/bin 目录里创建备份符号链接时被拒绝(Operation not permitted),而且涉及多个文件:

  • /usr/bin/gnome-extensions
  • /usr/bin/gnome-shell
  • /usr/bin/gnome-shell-extension-tool

连续出现这种错误,99% 不是单个文件问题,而是 /usr/bin 目录或该目录下很多文件被设置了 chattr 锁定属性ia)。


一次性彻底修复(推荐)

直接把 /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

如果仍然失败(再清理 gnome 文件)

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

为什么会发生这种情况

一般是因为系统之前执行过 安全加固脚本,例如:

  • CIS hardening
  • 服务器安全基线脚本
  • 某些云镜像初始化脚本

这些脚本会执行类似:

chattr +i /usr/bin/*

或者

chattr +a /usr/bin/*

这样系统文件就 不能被覆盖,而 apt upgrade 必须覆盖这些文件,于是安装就失败。


建议你顺便检查系统有没有大规模锁定

运行:

sudo find /usr -exec lsattr {} + | grep '\-i\|\-a'

如果输出很多行,就说明系统之前被锁过。


另外一个提醒(很重要)

你的系统显示:

500 个软件包未被升级

Ubuntu 20.04 这么多未升级通常说明:

  • 很久没 apt upgrade
  • 或者之前升级被中断

等这个问题解决后,建议执行:

sudo apt update
sudo apt upgrade

✅ 如果你愿意,我可以给你一个 Ubuntu 修复 apt/dpkg 损坏的完整 6 步流程(运维里非常常用,基本能修复所有类似问题)。