You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu pyxis容器中安装update-notifier-common失败如何解决

解决方案

你可以直接使用以下修复后的初始化脚本:

#!/usr/bin/env bash
set -euxo pipefail

# 更新源并安装基础工具
apt-get update
apt-get install -y software-properties-common
# 启用universe仓库,msttcorefonts包存放在该仓库中
add-apt-repository -y universe

# 容器场景下直接关闭APT沙箱,无需额外创建_apt用户,无安全风险
echo 'APT::Sandbox::User "root";' > /etc/apt/apt.conf.d/99disable-sandbox

# 预接受微软字体EULA协议
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections
echo ttf-mscorefonts-installer msttcorefonts/present-mscorefonts-eula note | debconf-set-selections

# 安装系统依赖
apt-get update
apt-get install -y python3-pip python3-tk nano msttcorefonts

# 清理matplotlib字体缓存
rm -rf ~/.cache/matplotlib 2>/dev/null

# 安装Python依赖包
pip3 install joblib matplotlib numpy pillow scikit-learn scipy tqdm

原脚本运行失败的核心原因有三个:

  1. Ubuntu基础容器默认没有_apt系统用户,APT沙箱和update-notifier-common的后置配置脚本执行chown操作时找不到对应用户导致报错
  2. 手动创建_apt用户时额外添加了sudo、root组权限,破坏了APT沙箱的权限切换逻辑,导致APT下载进程崩溃无法拉取软件包
  3. 官方ubuntu:latest镜像默认未启用universe仓库,msttcorefonts包存放在该仓库中,未启用的情况下会提示找不到包

可选方案:不关闭APT沙箱

如果你不想关闭APT沙箱,可以将脚本中关闭沙箱的配置行替换为以下正确创建_apt系统用户的代码:

# 正确创建_apt系统用户和对应组
groupadd -r _apt
useradd -r -g _apt -d /nonexistent -s /usr/sbin/nologin _apt

脚本修改完成后直接使用你原有命令运行即可。

内容的提问来源于stack exchange,提问作者Mate de Vita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:45:04