近日,部分Xubuntu用户反映在安装和运行容器引擎Podman时遭遇依赖缺失问题,导致工具无法正常启动。该问题集中在Ubuntu的Xfce风味版本Xubuntu 22.04及22.10上,影响了部分开发者和系统管理员的容器化工作流。尽管Podman在主流Linux发行版中已获得广泛支持,但Xubuntu上的依赖链不完整事件引发了对发行版软件包维护质量的讨论。

问题表现:Podman启动时提示missing dependencies

根据多位用户在官方论坛及GitHub Issue页面的反馈,在Xubuntu系统上通过 apt install podman 安装Podman后,执行 podman versionpodman info 时出现类似“Error: missing dependencies: conmon, crun”的错误信息。进一步查看日志,Podman核心进程无法初始化,容器运行时(OCI runtime)和监控工具(container monitor)未能找到对应二进制文件。

一位系统管理员在社区发帖称:“我在一台Xubuntu 22.04工作站上部署Podman用于测试微服务,结果安装后提示缺少依赖。我检查了软件源,发现containers-common包版本较旧,而conmoncrun甚至没有被自动标记为推荐安装。”类似情况在Xubuntu 22.10(Kinetic)中也时有发生,而标准Ubuntu(GNOME)环境下却运行正常。

原因分析:元数据依赖配置不完整

经过数日的追踪,维护者发现问题根源在于Xubuntu的软件包元数据配置未能全面覆盖Podman的运行时依赖。Podman自4.0版本起,将容器运行时从默认的runc迁移至更轻量的crun,同时要求conmon作为监视容器的监控组件。在标准Ubuntu中,podman包通过Depends: crun | runcRecommends: conmon的声明自动拉取依赖,但Xubuntu的包构建脚本在处理Recommends时可能存在策略差异,导致conmon未被默认安装。此外,部分用户系统中残留的旧版本containers-common(低于2.0)与Podman 4.x不兼容,也是诱因之一。

开源社区贡献者Luca B.在邮件列表中解释:“Xubuntu基于Xfce桌面,软件包选择倾向轻量化,这可能使构建系统在打包Podman时省略了一些‘推荐’依赖以减小体积。但这样做打破了容器运行时的必需组件链,尤其是当用户未手动安装crunconmon时。”

解决方案:手动安装缺失依赖或指定替代运行时

针对该问题,社区已给出几种临时及长期修复方案。

方案一:手动安装缺失包。打开终端执行:

sudo apt install conmon crun

安装完成后重新运行podman info即可恢复正常。若仍报错,建议升级containers-common至最新版:

sudo apt upgrade containers-common

方案二:临时指定使用runc替代crun。编辑Podman配置文件/etc/containers/libpod.conf(或~/.config/containers/containers.conf),将runtime = "crun"改为runtime = "runc",但需注意旧版runc可能不支持部分新特性。

方案三:从Podman官方PPA(ppa:projectatomic/ppa)安装,该源已正确配置依赖。不过Ubuntu官方不建议在LTS版本中使用第三方PPA进行生产部署。

社区反应与下一步计划

截至发稿,Xubuntu维护团队已确认该问题并计划在下一次点版本更新(如22.04.3)中修复。开发者指出,Xubuntu的打包规则将调整为对Podman设置更严格的Depends字段,确保conmoncrun被直接依赖而非推荐。同时,建议用户在安装后使用apt install podman-docker(兼容模式)来强制拉取全部运行时组件。

有用户呼吁统一软件仓库的元数据规范:“既然Podman在官方仓库中,就应该保证开箱即用。Xubuntu不应为了‘轻量’而牺牲核心功能的完整性。”另一些经验丰富的管理员则表示,依赖问题在Linux生态中并不罕见,手动处理正是学习系统管理的一部分。

建议与展望

对于正在使用或计划在Xubuntu上部署Podman的开发者,建议在安装后立即执行依赖检查,或选择从Red Hat官方提供的静态二进制文件(podman-linux-amd64.tar.gz)进行手动部署,以避免仓库包问题。长远来看,此事件提醒发行版维护者:容器工具的依赖链日趋复杂,轻量化与完整性之间的平衡需要更精细的测试覆盖。

随着Podman在无守护进程容器管理领域的普及,类似Xubuntu这样的非主流桌面发行版能否跟上依赖要求,将直接影响其在开发者社区中的口碑。估计未来数月内,相关修复补丁将随系统更新推送,届时用户可通过sudo apt dist-upgrade获取修正。