jail内部ubuntu apt升级失败问题解决-Dynamic MMap ran out of room

在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)问题。以下是一些建议的步骤来解决这个问题:

  1. 增加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的设置,请确保新值大于当前值。

  2. 修复损坏的列表
    由于提到了MergeList问题,你可能需要清理并重新生成软件包列表。可以使用以下命令:

    sudo apt clean 
    sudo rm -rf /var/lib/apt/lists/* 
    sudo apt update


    这些命令会清除现有的列表,并重新从软件源下载。

  3. 检查软件源
    错误中还提到了archive.ubuntu.com_ubuntu_dists_jammy_universe_binary-amd64_Packages,这通常是Ubuntu的软件源。确保你的/etc/apt/sources.list/etc/apt/sources.list.d/*中的软件源是正确的,并且对于Jammy版本是有效的。

  4. 检查第三方软件包
    libsurgescript0.5.4.4可能是一个第三方软件包,不属于Ubuntu的官方仓库。如果你从非官方源安装了它,请确保该源是可靠的,并且该软件包与你的Ubuntu版本兼容。

  5. 手动下载并安装软件包
    如果以上步骤都无法解决问题,并且你确定需要libsurgescript0.5.4.4软件包,你可以尝试从其官方网站或其他可信来源手动下载DEB包,并使用dpkg进行安装。但请注意,这可能会带来依赖问题,所以通常最好使用APT来管理软件包。

  6. 查看系统日志
    使用journalctl或查看/var/log/syslog(或/var/log/apt/history.log)可能会提供更多关于错误的详细信息。

  7. 重启服务或系统
    有时简单的重启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了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/45408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis拦截器介绍及其应用

Mybatis拦截器介绍及其应用 1、介绍 Mybatis拦截器设计的初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。通过Mybatis拦截器我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执…

Pycharm与Gitlab交互

环境准备 1、下载配置好本地Git 2、配置Pycharm上的Git 3、gitlab账号 Gitlab配置 Gitlab配置中文 账号》设置》偏好设置》简体中文 创建项目 命令行操作 打开项目会展示以下步骤 在pycharm克隆gitlab的项目 通过菜单栏 1、在PyCharm的顶部菜单栏中,选择“V…

本地部署,Flash Diffusion: 加速条件扩散模型实现快速图像生成

目录 引言 技术背景 Flash Diffusion 的架构与原理 Flash Diffusion 的主要特点 本地部署 运行结果 实验结果与分析 应用实例 结论 GitHub - gojasper/flash-diffusion: Official implementation of ⚡ Flash Diffusion ⚡: Accelerating Any Conditional Diffusion M…

Linux系统搭建轻量级个人博客VanBlog并一键发布公网远程访问

文章目录 前言1. Linux本地部署2. VanBlog简单使用3. 安装内网穿透4. 创建公网地址5. 创建固定公网地址 前言 今天和大家分享如何在Linux Ubuntu系统搭建一款轻量级个人博客VanBlog,并结合cpolar内网穿透软件生成公网地址,轻松实现随时随地远程访问本地…

相交链表+判断环型链表+求环型链表的入口节点

链表OJ题 一.相交链表二.判断环型链表三.求环型链表的入口节点 一.相交链表 相交链表 相交:两个链表从头开始遍历,尾节点一定是同一个节点。 情况一:当两个链表长度相同时: 情况二:当两个链表长度不同时&#xff1…

考研党暑假回家还是留校,暑假回家就一定完蛋吗?

考研我建议最好还是留校,因为环境比较好! 并不是说回家复习就一定不好,回家要面临三大“敌人”: 1、我们本身的惰性,这个无需多言,在自己熟悉的环境,自己一个人,手机电脑网络零食俱…

python条件

条件语句 if语句 if...else语句 if...elif...else语句 嵌套 is is 是一个身份运算符,用于比较两个对象的身份,即它们在内存中的地址是否相同。这与比较两个对象是否相等的 运算符不同。 运算符比较的是两个对象的值是否相等。 比较对象 比较基本数据…

【Unity】RPG2D龙城纷争(十一)战斗系统之回合制驱动

更新日期:2024年7月11日。 项目源码:第五章发布(正式开始游戏逻辑的章节) 索引 简介一、开始关卡二、进入指定回合三、玩家结束当前回合四、进入下一回合五、通关条件六、检测关卡状态简介 通过前两篇的工作,我们的角色已经能够进行移动、战斗了,此刻,便进入第三个板块…

React基础学习-Day04

React基础学习-Day04 常见的钩子函数及基础使用方式 1.useState useState 是 React 的一个 Hook,用于在函数组件中添加状态。它返回一个状态变量和一个更新该状态的函数。与类组件的 this.state 和 this.setState 相对应,useState 让函数组件也能拥有…

存储实验:Linux挂载iscsi硬盘与华为OceanStor创建LUN全流程

目录 目的环境规划实验实验流程Centos配置0. 关闭防火墙1. 设置网卡信息2. 配置路由3. iscsiadm连接存储 iSCSI LUN创建(以华为OceanStor为例)验证1. 验证是否成功2. 开启自动挂载 目的 实现Linux连接iscsi硬盘,同时实现开机自启挂载 环境规…

掌握本地仓储:Gradle本地仓库配置全指南

掌握本地仓储:Gradle本地仓库配置全指南 在构建自动化的领域中,Gradle以其灵活性和强大的依赖管理功能脱颖而出。管理项目依赖时,经常需要配置本地仓库以优化构建速度、控制依赖版本或支持离线构建。本文将深入探讨如何在Gradle中配置本地仓…

JAVA----泛型

泛型 认识泛型 定义类、接口、方法时,同时声明了一个或者多个类型变量(如:) ,称为泛型类、泛型接口,泛型方法、它们统称为泛型。 作用:利用泛型,可以限制集合存储数据的类型. 泛型…

Gitee简易使用流程(后期优化)

目录 1.修改用户名 2.文件管理 新建文件/文件夹流程如下: 上传文件流程如下: 以主页界面为起点 1.修改用户名 点解右上角的头像--> 点击“账号设置” 点击左边栏里的“个人资料“ 直接修改用户名即可 2.文件管理 选择一个有修改权限仓库&#…

【从0到1进阶Redis】主从复制

笔记内容来自B站博主《遇见狂神说》:Redis视频链接 1、概念 主从复制,是指将一个台 Redis 服务器的数据,复制到其他的 Redis 服务器。前者称为主节点(master/leader),后者称为从节点(slave/foll…

this指向解析

先看题目: 第一题: var name window var person1 { name: person1, show1: function () { console.log(this.name) }, show2: () > console.log(th show3: function () { return function () { …

MFC之对话框--重绘元文件

文章目录 实现示例展示需要绘制的窗口/位置控件位置更新下一次示例粗细滑动部分更新 重绘元文件(窗口变化内容消失)方法一:使用元文件方法二:兼容设备方法三:使用自定义类存储绘图数据除画笔外功能处理画笔功能处理 保…

springmvc1

以前的servlet程序: springmvc 不同的处理器:不同的方法或者处理类 所有的请求都会经过dispathcherservlet的doservice方法: mvc原理: 前端控制器:jsp或者什么东西

Python字符串基础与高级操作

在Python中,字符串是不可变的数据类型,用于存储一系列的字符。它们可以被创建、访问、操作和格式化,但一旦创建,其内容就不能改变。下面是一篇关于Python字符串技术的详细讲解,包括创建、访问、更新、转义、运算符、格…

Phpstudy 2018 之xhcms搭建

1、由于直接访问根目录无法进入网站 2、所以采用搭建网站,第一使用系统服务模式、选择php-5.4.45Apache模式 3、网站域名为本地ip地址或者127.0.0.1、端口8085 4、在navicat创建名字为xjcms的数据库,并导入sql数据库文件 5、浏览器输入127.0.0.1:8085直接…

中风伤寒、感冒、六经辨证笔记

目录 基础传经的原因传经的过程及速度传经的危害感冒时体痛头痛的原因根据头痛的位置辨经 太阳病太阳中风外风内热 表虚感冒颗粒(桂枝葛根汤) 少阳病辨病总结伤寒论原文半表半里太阳为开,阳明为阖,少阳为枢胆的作用帮助肠胃消化、…