jail内部ubuntu apt升级失败问题解决
在FreeBSD jail 里安装启动Ubuntu jammy系统,每次装好执行jexec ubjammy sh进入Ubuntu系统后,执行apt update报错。 这个问题困惑了好久,突然有一天仔细去看报错信息,查看了(man 5 apt.conf) ,才搞定问题。简单来说就是把apt的配置里APT::Cache-Start调大就行,但是一开始由于不明白原理,所以走了弯路。
最简单的操作就是这篇文档里的方法:https://blog.csdn.net/skywalk8163/article/details/140383232
这里把处理步骤、弯路,更详细的记录下来:
问题:apt update升级报错
apt full-upgrade
E: Dynamic MMap ran out of room. Please increase the size of APT::Cache-Start. Current value: 25165824. (man 5 apt.conf)
Reading package lists... Error!
E: Dynamic MMap ran out of room. Please increase the size of APT::Cache-Start. Current value: 25165824. (man 5 apt.conf)
E: Error occurred while processing libsurgescript0.5.4.4 (NewVersion1)
E: Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_jammy_universe_binary-amd64_Packages
E: The package lists or status file could not be parsed or opened.
文心一言的回答
错误信息表明你的APT缓存空间不足,并且出现了与libsurgescript0.5.4.4软件包相关的合并列表(MergeList)问题。以下是一些建议的步骤来解决这个问题:
-
增加APT缓存大小
打开你的/etc/apt/apt.conf或/etc/apt/apt.conf.d/50user(或其他以.conf结尾的文件在/etc/apt/apt.conf.d/目录下),然后增加或修改APT::Cache-Limit的值。不过,错误中提到的是APT::Cache-Start,但通常我们修改的是APT::Cache-Limit。以下是一个例子,将缓存大小增加到500MB(512 * 1024 * 1024 字节):echo 'APT::Cache-Limit "524288000";' | sudo tee -a /etc/apt/apt.conf.d/99cachelimit注意:如果你已经有一个
APT::Cache-Limit的设置,请确保新值大于当前值。 -
修复损坏的列表
由于提到了MergeList问题,你可能需要清理并重新生成软件包列表。可以使用以下命令:sudo apt clean sudo rm -rf /var/lib/apt/lists/* sudo apt update
这些命令会清除现有的列表,并重新从软件源下载。 -
检查软件源
错误中还提到了archive.ubuntu.com_ubuntu_dists_jammy_universe_binary-amd64_Packages,这通常是Ubuntu的软件源。确保你的/etc/apt/sources.list和/etc/apt/sources.list.d/*中的软件源是正确的,并且对于Jammy版本是有效的。 -
检查第三方软件包
libsurgescript0.5.4.4可能是一个第三方软件包,不属于Ubuntu的官方仓库。如果你从非官方源安装了它,请确保该源是可靠的,并且该软件包与你的Ubuntu版本兼容。 -
手动下载并安装软件包
如果以上步骤都无法解决问题,并且你确定需要libsurgescript0.5.4.4软件包,你可以尝试从其官方网站或其他可信来源手动下载DEB包,并使用dpkg进行安装。但请注意,这可能会带来依赖问题,所以通常最好使用APT来管理软件包。 -
查看系统日志
使用journalctl或查看/var/log/syslog(或/var/log/apt/history.log)可能会提供更多关于错误的详细信息。 -
重启服务或系统
有时简单的重启APT服务(通常是systemctl restart apt.service,但APT通常没有单独的服务)或整个系统可以解决一些临时问题。但请注意,这通常不是解决根本问题的方法。
希望这些建议能帮助你解决问题!
尝试修复
先执行这个试试
echo 'APT::Cache-Limit "524288000";' | tee -a /etc/apt/apt.conf.d/99cachelimit
不行
APT::Cache-Start
echo 'APT::APT::Cache-Start "524288000";' | tee -a /etc/apt/apt.conf.d/99cachelimit
删除 rm -rf /var/lib/apt/lists
不行
尝试配置Cache-Limit和Cache-Grow
事实证明光修改Cache-Limit和Cache-Grow不行:
echo 'APT::Cache-Limit "0";' > /etc/apt/apt.conf.d/99cachelimitecho 'APT::Cache-Grow "16777216";' >>/etc/apt/apt.conf.d/99cachelimit
最终还是靠修改Cache-Start搞定:
echo 'APT::Cache-Start "67108864";' > /etc/apt/apt.conf.d/99cachelimit
注意如果使用重定向符号>> ,如果后面直接跟文件名字的话,空格也会成为名字的一部分。
总结
这个问题很久没有解决,主要是没有仔细看报错信息,没有弄明白报错信息里的 Cache-Start 的设定方法。
因为是jail里的ubuntu,所以没有vi ,文心一言给的命令也需要修改才能执行,导致走了弯路。
其实核心思想,就是在apt配置目录里/etc/apt/apt.conf.d/,随便写一个文件,比如99cachelimit ,文件里加上APT::Cache-Start "67108864";这句话就行了。这样就把Cache-Start值调为64M了。
相关文章:
jail内部ubuntu apt升级失败问题解决
在FreeBSD jail 里安装启动Ubuntu jammy系统,每次装好执行jexec ubjammy sh进入Ubuntu系统后,执行apt update报错。 这个问题困惑了好久,突然有一天仔细去看报错信息,查看了(man 5 apt.conf) ,才搞定问题。简单来说就是…...
迎接AI新时代:GPT-5的技术飞跃与未来展望
引言 随着人工智能技术的迅猛发展,大语言模型在过去几年取得了显著进步。OpenAI最新的声明表明,GPT-5将在一年半后发布,并将带来从高中生智力水平到博士生智力水平的飞跃。这一突破引起了科技界和公众的广泛关注。本文将从技术突破预测、智能…...
Snap Video:用于文本到视频合成的扩展时空变换器
图像生成模型的质量和多功能性的显著提升,研究界开始将其应用于视频生成领域。但是视频内容高度冗余,直接将图像模型技术应用于视频生成可能会降低运动的保真度和视觉质量,并影响可扩展性。来自 Snap 的研究团队及其合作者提出了 "Snap …...
实验8 视图创建与管理实验
一、实验目的 理解视图的概念。掌握创建、更改、删除视图的方法。掌握使用视图来访问数据的方法。 二、实验内容 在job数据库中,有聘任人员信息表:Work_lnfo表,其表结构如下表所示: 其中表中练习数据如下: 1.‘张明…...
C++ 开源库
1 PDFium PDFium 是一个开源的 PDF 渲染和处理库,最初由 Foxit Software 开发,并于2014年捐赠给了 Chromium 项目。PDFium 旨在为各种应用程序提供高效、灵活的 PDF 渲染和操作功能。 2 代码地址 https://github.com/chromium/pdfium 主要特性 渲染…...
LabVIEW滤波器性能研究
为了研究滤波器的滤波性能,采用LabVIEW设计了一套滤波器性能研究系统。该系统通过LabVIEW中的波形生成函数,输出幅值及频率可调的正弦波和白噪声两种信号,并将白噪声与正弦波叠加,再通过滤波器输出纯净的正弦波信号。系统通过FFT&…...
『C++成长记』vector模拟实现
🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、存储结构 二、默认成员函数 📒2.1构造函数 📒2.2拷贝…...
【Mac】Charles for Mac(HTTP协议抓包工具)及同类型软件介绍
软件介绍 Charles for Mac 是一款功能强大的网络调试工具,主要用于HTTP代理/HTTP监视器。以下是它的一些主要特点和功能: 1.HTTP代理:Charles 可以作为HTTP代理服务器,允许你查看客户端和服务器之间的所有HTTP和SSL/TLS通信。 …...
LVS集群及其它的NAT模式
1.lvs集群作用:是linux的内核层面实现负载均衡的软件;将多个后端服务器组成一个高可用、高性能的服务器的集群,通过负载均衡的算法将客户端的请求分发到后端的服务器上,通过这种方式实现高可用和负载均衡。 2.集群和分布式&#…...
【RNN练习】天气预测
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、环境及数据准备 1. 我的环境 语言环境:Python3.11.9编译器:Jupyter notebook深度学习框架:TensorFlow 2.15.0 2. 导…...
prompt第四讲-fewshot
文章目录 前提回顾FewShotPromptTemplateforamt格式化 前提回顾 前面已经实现了一个翻译助手了[prompt第三讲-PromptTemplate],prompt模板设计中,有说明、案例、和实际的问题 # -*- coding: utf-8 -*- """ Time : 2024/7/8 …...
StarRocks分布式元数据源码解析
1. 支持元数据表 https://github.com/StarRocks/starrocks/pull/44276/files 核心类:LogicalIcebergMetadataTable,Iceberg元数据表,将元数据的各个字段做成表的列,后期可以通过sql操作从元数据获取字段,这个表的组成…...
阅读笔记——《Fuzz4All: Universal Fuzzing with Large Language Models》
【参考文献】Xia C S, Paltenghi M, Le Tian J, et al. Fuzz4all: Universal fuzzing with large language models[C]//Proceedings of the IEEE/ACM 46th International Conference on Software Engineering. 2024: 1-13.【注】本文仅为作者个人学习笔记,如有冒犯&…...
【C++】使用gtest做单元测试框架写单元测试
本文主要介绍在将gtest框架引入到项目里过程中遇到的问题。 我的需求如下: 用CMake构建项目。我要写一些测试程序验证某些功能,但是不想每一个测试都新建一个main函数。 因为新建一个main函数就要在CMakeList.txt里增加一个project,非常不方便。 于是我搜了下,C++里有没…...
Java类与对象
类是对现实世界中实体的抽象,是对一类事物的描述。 类的属性位置在类的内部、方法的外部。 类的属性描述一个类的一些可描述的特性,比如人的姓名、年龄、性别等。 [public] [abstract|final] class 类名 [extends父类] [implements接口列表] { 属性声…...
xlwings 链接到 指定sheet 从别的 excel 复制 sheet 到指定 sheet
重点 可以参考 宏录制 cell sheet.range(G4)cell.api.Hyperlinks.Add(Anchorcell.api, Address"", SubAddress"001-000-02301!A1")def deal_excel(self):with xw.App(visibleTrue) as app:wb app.books.open(self.summary_path, update_linksFalse)sheet…...
风光摄影:相机设置和镜头选择
写在前面 博文内容为《斯科特凯尔比的风光摄影手册》读书笔记整理涉及在风景拍摄中一些相机设置,镜头选择的建议对小白来讲很实用,避免拍摄一些过曝或者过暗的风景照片理解不足小伙伴帮忙指正 😃,生活加油 99%的焦虑都来自于虚度时间和没有好…...
python制作甘特图的基本知识(附Demo)
目录 前言1. matplotlib2. plotly 前言 甘特图是一种常见的项目管理工具,用于表示项目任务的时间进度 直观地看到项目的各个任务在时间上的分布和进度 常用的绘制甘特图的工具是 matplotlib 和 plotly 主要以Demo的形式展示 1. matplotlib 功能强大的绘图库&a…...
javascript设计模式总结
参考 通过设计模式可以增加代码的可重用性、可扩展性、可维护性 设计模式五大设计原则 单一职责:一个程序只需要做好一件事,如果结构过于复杂就拆分开,保证每个部分独立 开放封闭原则:对扩展开放,对修改封闭。增加需…...
gpt-4o看图说话-根据图片回答问题
问题:中国的人口老龄化究竟有多严重? 代码下实现如下:(直接调用openai的chat接口) import os import base64 import requests def encode_image(image_path): """ 对图片文件进行 Base64 编码 输入…...
earthengine-api 未来展望:路线图、新功能和社区发展趋势
earthengine-api 未来展望:路线图、新功能和社区发展趋势 【免费下载链接】earthengine-api Python and JavaScript bindings for calling the Earth Engine API. 项目地址: https://gitcode.com/gh_mirrors/ea/earthengine-api earthengine-api 作为连接地球…...
FLUX.小红书极致真实V2规模化落地:单节点支持10并发请求,QPS达2.1
FLUX.小红书极致真实V2规模化落地:单节点支持10并发请求,QPS达2.1 1. 项目简介 你是否曾经遇到过这样的困扰:想要生成小红书风格的高质量图片,但要么效果不够真实,要么生成速度太慢,要么显存不够用&#…...
Audacity终极指南:5步掌握免费专业音频编辑全流程
Audacity终极指南:5步掌握免费专业音频编辑全流程 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 还在为音频编辑软件的高昂费用而犹豫?想要一款功能全面、完全免费的专业级音频处理工具&a…...
Windows Cleaner终极指南:一键解决C盘爆红和系统卡顿的开源神器
Windows Cleaner终极指南:一键解决C盘爆红和系统卡顿的开源神器 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到C盘变红、系统卡顿、开…...
别再纠结硬件滚动了!用Arduino+SSD1306库实现超长文本的软件滚动显示(附完整代码)
ArduinoSSD1306实现超长文本流畅滚动的终极方案 当你在创客项目中需要显示超出屏幕宽度的日志数据或长消息时,硬件滚动的局限性就会暴露无遗。我曾在一个环境监测项目中遇到这个问题——传感器数据经常超过OLED屏幕的16字符显示限制,硬件滚动方案直接截断…...
3分钟上手!Balena Etcher:安全烧录系统镜像的终极解决方案
3分钟上手!Balena Etcher:安全烧录系统镜像的终极解决方案 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 你是否曾因烧录系统镜像而丢失…...
SQL注入的分类靶场实践
SQL注入的分类靶场实践 前言 SQL 注入(SQL Injection)是一种常见且危险的 Web 安全漏洞,攻击者通过在输入字段中插入恶意 SQL 代码,能够绕过应用程序的验证机制,直接操纵数据库。本文将介绍 SQL 注入的分类ÿ…...
给STM32密码锁加个“记忆”:手把手教你用CubeMX配置I2C读写EEPROM(AT24C02)
为STM32密码锁赋予持久记忆:CubeMX驱动AT24C02 EEPROM全攻略 当你的密码锁在断电后依然能记住最后一次设置的密码,这种"记忆"能力往往能大幅提升用户体验。本文将带你深入探索如何通过I2C总线连接AT24C02 EEPROM芯片,为基于STM32F1…...
基于StructBERT的代码相似性检测在编程教育中的应用
基于StructBERT的代码相似性检测在编程教育中的应用 1. 引言 如果你是编程课的老师,面对几十份甚至上百份学生提交的作业,最头疼的是什么?是逐行检查代码逻辑,还是判断学生之间是否存在抄袭?传统的代码相似性检查工具…...
告别黑盒操作:详解mmc_utils在Android设备上的20+个实用命令(从extcsd读到RPMB写)
eMMC深度操作指南:解锁mmc-utils的20个高阶应用场景 当你的Android设备出现存储性能下降、分区异常或安全验证需求时,系统自带的工具往往束手无策。此时,一个被低估的神器mmc-utils正躺在Linux内核源码树中等待被唤醒——它不仅能够读取eMMC芯…...
