如何快速的做网站,网站建设模板黄页,平台线上推广策略怎么写,页面设计属于什么专业在FreeBSD jail 里安装启动Ubuntu jammy系统#xff0c;每次装好执行jexec ubjammy sh进入Ubuntu系统后#xff0c;执行apt update报错。 这个问题困惑了好久#xff0c;突然有一天仔细去看报错信息#xff0c;查看了(man 5 apt.conf) #xff0c;才搞定问题。简单来说就是…在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。以下是一个例子将缓存大小增加到500MB512 * 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了。