You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04从本地挂载ISO安装软件包失败求助

Ubuntu 22.04从本地挂载ISO安装软件包失败求助

看起来你在从本地挂载的Ubuntu ISO安装软件包时遇到了几个问题,我来帮你一步步梳理和解决:

先拆解你遇到的两个关键错误:

  1. N: Ignoring file 'ubuntu.sources.bac'...:这个是小问题,APT只会识别.list.sources后缀的源配置文件,.bac后缀的备份文件会被自动忽略,直接处理掉它就行。
  2. E: Malformed entry 1 in sources file...:这个是核心问题——你用了APT新推出的.sources格式配置文件,但Ubuntu 22.04的APT版本不支持这种格式;同时你挂载的是Ubuntu 24.04的ISO,却在源里写了对应24.04的noble版本号,和你的22.04系统版本不匹配。

具体解决步骤:

  • 第一步:清理无效备份文件
    直接删除这个不符合APT识别规则的备份文件:

    sudo rm /etc/apt/sources.list.d/ubuntu.sources.bac
    
  • 第二步:改用Ubuntu 22.04兼容的源配置格式
    Ubuntu 22.04(Jammy Jellyfish)使用传统的.list格式源文件,.sources是APT 2.4+才支持的新格式,仅在Ubuntu 24.04及以上系统默认使用。操作如下:

    1. 删除当前错误的.sources文件:
      sudo rm /etc/apt/sources.list.d/ubuntu.sources
      
    2. 创建新的本地ISO源配置文件:
      sudo nano /etc/apt/sources.list.d/local-iso.list
      
    3. 在文件中写入和系统版本匹配的配置(Ubuntu 22.04的版本代号是jammy):
      deb [trusted=yes] file:///mnt/ubuntu/ jammy main contrib
      
      ⚠️ 这里要特别提醒:你当前挂载的是Ubuntu 24.04的ISO,跨版本安装软件包很容易出现依赖不兼容的问题,建议换成和系统版本一致的ubuntu-22.04-live-server-amd64.iso来挂载
  • 第三步:挂载对应版本的ISO(如需更换)
    先卸载当前挂载的ISO:

    sudo umount /mnt/ubuntu
    

    再挂载22.04版本的ISO:

    sudo mount -t iso9660 -o loop /root/iso/ubuntu-22.04-live-server-amd64.iso /mnt/ubuntu
    
  • 第四步:更新缓存并安装软件
    完成以上配置后,执行以下命令更新APT缓存并安装p7zip:

    sudo apt update
    sudo apt install p7zip
    

备注:内容来源于stack exchange,提问作者Matthew MacDonald

火山引擎 最新活动