e2fsprogs logsave Ubuntu 安装失败 unable to make backup link of ‘./usr/bin/chattr‘
最近给服务器从 Ubuntu 18.04 LTS 升级到 20.04 LTS,过程中崩溃,重新尝试执行,提示依赖错误。这时候 apt install 所有的东西都会报错,提示依赖不满足。(这里的报错忘了复制了)执行 apt upgrade 也是一样。(之前一直执着于这一步的报错,百般搜索没能解决问题,大致就是不同的包需求的版本互相不匹配了)
然后按照提示执行 apt --fix-broken install 就会出现下面的报错。
root@server:~# apt --fix-broken install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
bluez-obexd cryptsetup cryptsetup-bin dconf-cli gir1.2-accountsservice-1.0 gir1.2-atspi-2.0
gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-1.0
gir1.2-gnomedesktop-3.0 gir1.2-graphene-1.0 gir1.2-gweather-3.0 gir1.2-ibus-1.0
gir1.2-mutter-6 gir1.2-nm-1.0 gir1.2-nma-1.0 gir1.2-rsvg-2.0 gir1.2-soup-2.4
gir1.2-upowerglib-1.0 gjs gnome-session-bin gnome-session-common gnome-shell-common
gnupg-l10n gnupg-utils gpg-wks-server ibus-data libaom0 libatasmart4 libblockdev-fs2
libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2
libblockdev-utils2 libblockdev2 libcairo-gobject-perl libcairo-perl libcamel-1.2-62
libcdio-cdda2 libcdio-paranoia2 libcdio17 libcroco3 libcue2 libdvdread7 libebackend-1.2-10
libebook-1.2-20 libebook-contacts-1.2-2 libebook-contacts-1.2-3 libecal-2.0-1
libedata-book-1.2-26 libedata-cal-2.0-1 libedataserver-1.2-24 libexempi3 libexempi8
libexiv2-27 libextutils-depends-perl libextutils-pkgconfig-perl libfile-copy-recursive-perl
libgail-3-0 libgexiv2-2 libgif7 libgjs0g libglib-object-introspection-perl libglib-perl
libgmime-3.0-0 libgnome-autoar-0-0 libgsf-1-114 libgsf-1-common libgutenprint-common
libgutenprint2 libgutenprint9 libinstpatch-1.0-2 libmetacity1 libmozjs-52-0 libmozjs-68-0
libmtp-common libmtp-runtime libmtp9 libmutter-6-0 liboauth0 libparted-fs-resize0
libperl5.26 libphonenumber7 libprotobuf10 libpython2.7 libqpdf21 libtracker-control-2.0-0
libtracker-miner-2.0-0 libtracker-sparql-2.0-0 libudisks2-0 libusbmuxd4 libvpx6
libzeitgeist-2.0-0 linux-headers-4.15.0-166 linux-headers-4.15.0-166-generic
linux-image-4.15.0-166-generic linux-modules-4.15.0-166-generic
linux-modules-extra-4.15.0-166-generic mate-desktop-common metacity-common onboard-common
pkg-config printer-driver-gutenprint python-crypto python-talloc python3-ibus-1.0 qpdf
run-one sgml-base tracker tracker-extract tracker-miner-fs udisks2 xubuntu-icon-theme
xwayland yaru-theme-gnome-shell yelp-xsl zenity-common
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
atril atril-common brltty brltty-x11 e2fsprogs initramfs-tools initramfs-tools-bin
initramfs-tools-core klibc-utils libatrildocument3 libatrilview3 libbrlapi0.7 libklibc
liblouis20 libpcre2-32-0 libsoup2.4-1 libsynctex2 libwebkit2gtk-4.0-37 logsave lz4
Suggested packages:
caja unrar brltty-speechd console-braille gpart fuse2fs e2fsck-static
Recommended packages:
gvfs e2fsprogs-l10n
The following NEW packages will be installed:
initramfs-tools initramfs-tools-core klibc-utils libbrlapi0.7 liblouis20 libpcre2-32-0
libsynctex2 libwebkit2gtk-4.0-37 logsave lz4
The following packages will be upgraded:
atril atril-common brltty brltty-x11 e2fsprogs initramfs-tools-bin libatrildocument3
libatrilview3 libklibc libsoup2.4-1
10 upgraded, 10 newly installed, 0 to remove and 921 not upgraded.
3 not fully installed or removed.
Need to get 0 B/19.1 MB of archives.
After this operation, 71.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 248701 files and directories currently installed.)
Preparing to unpack .../e2fsprogs_1.45.5-2ubuntu1.1_amd64.deb ...
Unpacking e2fsprogs (1.45.5-2ubuntu1.1) over (1.44.1-1ubuntu1.4) ...
dpkg: error processing archive /var/cache/apt/archives/e2fsprogs_1.45.5-2ubuntu1.1_amd64.deb (--unpack):
unable to make backup link of './usr/bin/chattr' before installing new version: Operation not permitted
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
dpkg: considering deconfiguration of e2fsprogs, which would be broken by installation of logsave ...
dpkg: no, e2fsprogs is essential, will not deconfigure
it in order to enable installation of logsave
dpkg: error processing archive /var/cache/apt/archives/logsave_1.45.5-2ubuntu1.1_amd64.deb (--unpack):
installing logsave would break existing software
Errors were encountered while processing:
/var/cache/apt/archives/e2fsprogs_1.45.5-2ubuntu1.1_amd64.deb
/var/cache/apt/archives/logsave_1.45.5-2ubuntu1.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
这一步的报错的主要信息有下面的两个。
2ubuntu1.1_amd64.deb (--unpack):
unable to make backup link of './usr/bin/chattr' before installing new version: Operation not permitted
这个提示 chattr 的一开始没听过,直接被我忽略了,甚至怀疑和 ssh 有关,后面证明这个报错才是关键。之后的报错其实是后来的结果和提示,我却一直拿下面的内容搜索,但是一直搜索不到有用的内容。大概就是说 e2fsprogs 和 logsave 在安装的时候出问题了。e2fsprogs 都是系统底层的关键库,和文件系统相关,那如果坏了可能就得重装系统了……
dpkg: considering deconfiguration of e2fsprogs, which would be broken by installation of logsave ...
dpkg: no, e2fsprogs is essential, will not deconfigure
it in order to enable installation of logsave
之后重新回来搜索第一个 chattr 的报错,结果找到了下面的链接,最终引导我解决了问题。上面第一个报错说 无法给 chattr 做备份链接,Operation not permitted。这就很有意思了,我是 root 都不允许。结果证实还是经验少,这个报错是经典的 chattr 用来管理文件安全的一个报错。除了我们习惯的 chmod 对用户的读写执行进行约束,chattr 也可以进一步约束文件不可以删除或者只可以 append 等等,具体大家可以 google 一下 chattr 这个库。
https://forum.howtoforge.com/threads/big-mistake-removed-e2fsprogs.75729/
https://forum.howtoforge.com/threads/big-mistake-removed-e2fsprogs.75729/
事后推测原因是 chattr 这个库坏了,而这个库给很多系统敏感文件都加了禁止删除,包括他自己。更新这个库的时候应该要把这些库文件的禁止删除取消,但是它在这里出问题了。于是按照连接中的方法,去下载了 e2fsprogs 的 pkg 包。
https://ubuntu.pkgs.org/20.04/ubuntu-updates-main-amd64/e2fsprogs_1.45.5-2ubuntu1.1_amd64.deb.html
https://ubuntu.pkgs.org/20.04/ubuntu-updates-main-amd64/e2fsprogs_1.45.5-2ubuntu1.1_amd64.deb.html
下载后的 pkg 包是可以解压的,解压以后,在解压后的 /usr/bin/ 可以找到 chattr and lsattr 这两个可执行文件。于是我们用这里的 chattr 取消系统里 chattr 和 lsattr 的保护,然后手动删除。
./chattr -ia /usr/bin/chattr
./chattr -ia /usr/bin/lsattr
rm /usr/bin/chattr
rm /usr/bin/lsattr
之后 apt upgrade ,安装顺利进行,问题解决
————————————————
原文链接:https://blog.csdn.net/Haulyn5/article/details/127495565
相关文章:
e2fsprogs logsave Ubuntu 安装失败 unable to make backup link of ‘./usr/bin/chattr‘
最近给服务器从 Ubuntu 18.04 LTS 升级到 20.04 LTS,过程中崩溃,重新尝试执行,提示依赖错误。这时候 apt install 所有的东西都会报错,提示依赖不满足。(这里的报错忘了复制了)执行 apt upgrade 也是一样。…...
在排序数组中查找元素的第一个和最后一个位置(二分查找进阶)
在写这个题目之前需要大家自行看一下我之前写的博客有关二分查找思想,如何判断什么时候使用二分查找以及边界值的确定:二分查找思想力扣实例_徐憨憨!的博客-CSDN博客 题目:给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定…...
1 Nginx跨域配置
跨域问题在之前的单体架构开发中,其实是比较少见的问题,除非是需要接入第三方SDK时,才需要处理此问题。但随着现在前后端分离、分布式架构的流行,跨域问题也成为了每个Java开发必须要懂得解决的一个问题。 跨域问题产生的原因 产…...
ChatGTP如此强大,我们普通人如何利用它来赚钱?
我从效率提升的角度,分享了我这段时间看到的、用到的,以及思考的一些内容。 最近这段时间,我算是密集的学习。不得不说,优质的资料在推特和油管上特别多,看科技大佬的分享真是一种享受。 很多大神也会录制各种详细的…...
常见的九种大数据分析模型
常见的9种大数据分析模型分别为: 事件分析、 属性分析、 渠道分析、 Session分析、 留存分析、 归因分析、 漏斗分析、 路径分析、 分布分析 1、【事件分析】 事件分析,是指用户在 APP、网站等应用上发生的行为,即何人,何时&…...
射频识别(RFID)技术的基本原理、特性、发展和应用
何谓射频识别 随着高科技的蓬勃发展,智能化管理已经走进了人们的社会生活,一些门禁卡、第二代身份证、公交卡、超市的物品标签等,这些卡片正在改变人们的生活方式。其实秘密就在这些卡片都使用了射频识别技术,可以说射频识别已成…...
3.3 二维随机变量条件分布
学习目标: 要学习二维随机变量的条件分布,我可能会采取以下步骤: 复习边缘分布和联合分布:首先需要了解二维随机变量的边缘分布和联合分布的概念以及相应的公式。 复习条件概率:学习条件概率的定义和计算公式&#x…...
Kafka——概述、安装及命令行操作
文章目录一、概述1.1、定义1.2、如何运作?1.3、传统消息队列的应用场景1.4、消息队列的两种模式1.5、Kafka的基础架构二、安装(需要安装zookeeper)三、常用命令行操作3.1、主题命令行操作3.2、生产者命令行操作3.3、消费者命令行操作一、概述…...
怎么控制ERP企业管理系统开发的价格
企业资源规划(ERP)是一种广泛使用的商业软件系统,用于管理企业的各个方面,包括财务、供应链、客户关系、人力资源等等。开发一个适合企业的ERP系统可能是一项昂贵的任务,但控制ERP企业管理系统开发的价格是可行的。以下…...
我在“Now In Android”中学到的 9 件事
我在“Now In Android”中学到的 9 件事 Now in Android是一款功能齐全的 Android 应用程序,完全使用 Kotlin 和 Jetpack Compose 构建。它遵循 Android 设计和开发最佳实践,旨在为开发人员提供有用的参考。 https://github.com/android/nowinandroid UI…...
ChatGPT宝藏插件丨装上之后,上网、语音聊天、一键分享对话……简直让你爽到起飞!
今天分享4个让你的 ChatGPT 功能更强大的浏览器插件,装上就能用,每一个都是精挑细选。 1. WebChatGPT 很多小伙伴在用 ChatGPT查阅信息时,发现它有一个致命的问题: ChatGPT的知识库全部截止到 2021年9月,正常情况下…...
私有句柄表
私有句柄表 实验环境 win7 x86 什么是私有句柄表? 私有句柄表是操作系统内部的一种数据结构,用于存储一个进程所拥有的句柄(或称为句柄对象)的信息。在操作系统中,句柄是一个标识符,用于唯一标识一个对…...
Vue——类与样式绑定
目录 Class 与 Style 绑定 绑定 HTML class 绑定对象 绑定数组 在组件上使用 绑定内联样式 绑定对象 绑定数组 自动前缀 样式多值 Class 与 Style 绑定 数据绑定的一个常见需求场景是操纵元素的 CSS class 列表和内联样式。因为 class 和 styl…...
软考中项计算题总结
计算题在下午的考试属于重中之重,可以说得计算题得天下,先把计算题搞定,再看案例找错题,这2个是最容易得分的,所以对于进度、成本类的计算题一定要搞懂: 所属项目过程计算计算公式说明进度管理三点估算&am…...
如何使用基于GPT-4的Cursor编辑器提升开发效率
程序员最恨两件事情:一是别人代码不写文档,二是要让自己写文档。随着 GPT-4 的到来这些都不是问题了,顺带可能连程序员都解决了。。。 之前一直觉得 AI 生成的代码也就写个面试题的水平,小打小闹,现在时代可变了。Curs…...
压箱底教程分享,手把手教会你如何注册target账号和下单
喜欢套利的朋友肯定都认识target这个平台吧,它是美国热门的综合性海淘网站之一。东哥近日收到私信有朋友向我请教在注册target账号时遇到的一些问题,所以今天东哥想跟大家分享的就是就是target账号注册教程和下单流程,让也想注册target账号的…...
一次性搞懂dBSPL、dBm、dBu、dBV、dBFS的区别!
相信学习音乐制作的同学在混音阶段经常会碰到各种关于声音的单位,其中最具代表性的可能就是分贝家族的单位了,如dBSPL、dBm、dBu、dBV、dBFS等。 那么,这些单位分别表示什么,又有什么区别呢? 描述声音信号强弱的单位…...
漂亮实用的15个脑图模板,你知道哪些是AI做的吗?
对于很多第一次接触到思维导图的朋友,看到软件的时候往往找不到方向,不知道如何创作? 今天大家的好助手来了。 一是有大量的思维导图模板,大家看着模板做,慢慢就会做了。 二是ProcessOn 思维导图已经可以用AI 做思维…...
历代程序员都无法逃脱的诅咒 -- 低代码
1764年5月4日星期四 愤怒的纺织工人 纵火烧毁了哈格里夫斯的家 因为他发明的珍妮纺织机 让很多当地的手工纺织工人失业了 这也被认为是第一次工业革命的开端 由于事发的星期四 所以这一事件也被称作疯狂星期四 类似的变革 也一次次的出现在软件行业 他是历代程序员都无法逃脱的…...
14Exceptional Control Flow Exceptions and Process(异常控制流,异常和进程)
异常控制流 异常控制流出现的地方: 异常控制流(Exceptional Control Flow,ECF)是程序执行过程中由于某些特殊事件或条件而导致的控制流的改变。异常控制流通常出现在以下几种情况: 硬件异常和中断:硬件异…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...
