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.pswp.cn/web/45408.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45408.shtml
英文地址,請注明出處:http://en.pswp.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直接…

中風傷寒、感冒、六經辨證筆記

目錄 基礎傳經的原因傳經的過程及速度傳經的危害感冒時體痛頭痛的原因根據頭痛的位置辨經 太陽病太陽中風外風內熱 表虛感冒顆粒(桂枝葛根湯) 少陽病辨病總結傷寒論原文半表半里太陽為開,陽明為闔,少陽為樞膽的作用幫助腸胃消化、…