Ubuntu 无法在安装新的版本前,为 ./usr/bin/strings 做一个符号链接备份..Operation not permitted

当Ubuntu服务器开机卡在登录界面且无法进入时,可能是因为ubuntu-desktop问题导致。在重装过程中遇到binutils依赖安装的Operationnotpermitted错误。解决方法涉及检查并修复lsattr和chattr,这两个工具用于管理文件属性。通过下载源代码,编译新的chattr,然后用其去除系统中原有文件的不可更改和删除属性,从而解决权限问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

有一天ubuntu服务器开机一直卡在登录界面,密码输入正确但是反复出现登录界面就是进不去,推测可能是ubuntu-desktop软件出了问题,于是在重装ubuntu-desktop过程中提示要安装binutils依赖,但是在安装binutils一直提示标题展示的错误,即做符号链接备份时提示Operation not permitted

一般遇上这种Operation not permitted** 的问题,多半是电脑上 lsattrchattr 出了问题。我这里提示的 /usr/bin/strings 无权限,但是我使用如下命令查看文件权限时,没有任何输出

sudo lsattr /usr/bin/strings

说明我的lsattr文件已经损坏,而使用chattr更改文件属性时也没有输出

解决办法

chattr指令用于设置文件属性,‘+’选项,将给文件添加属性;‘-’选项,移除文件中的属性;‘=’选项,使得文件只有这些属性。
在这里插入图片描述

由于系统中的chattr文件和lsattr文件本身带有 a 和 i 属性,不能直接重新安装这两个指令文件。所以需要从网上找到chattr的源代码,编译一个文件来去掉系统中的chattr和lsattr文件的不可更改和删除的属性。具体操作步骤如下:

//下载源代码
wget https://github.com/posborne/linux-programming-interface-exercises/archive/refs/heads/master.zip

//解压
unzip master.zip 
cd linux-programming-interface-exercises-master\15-file-attributes

//编译
gcc chattr.c  

//重命名
sudo cp a.out chattr

//使用新的chattr更改系统中原有的chattr权限
sudo ./chattr -ia /usr/bin/chattr
sudo ./chattr -ia /usr/bin/lsattr 

//下载新的chattr文件
sudo apt-get install e2fsprogs 

//e2fsprogs文件是ubuntu下的包,其他系统请参考https://command-not-found.com/lsattr的提示下载

在这里插入图片描述

经过以上步骤,系统中的chattr和lsattr文件应该已经被修复了,下面使用类似的方法更改安装软件过程中遇到的障碍,例如我的服务器报文件权限错误的是 /usr/bin/strings 那么则使用chattr 更改它的不可操作属性

sudo chattr -ia /usr/bin/strings
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

daimashiren

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值