我能够在 Ubuntu 18.04 中安装 Yum,但无法在 Ubuntu 20.04 中再安装它。因此,当我尝试在 Ubuntu 中运行 CentOS LXC 容器时,我收到如下错误:
# lxc-create -n centos7 -t centos -- -R 7
Host CPE ID from /etc/os-release:
'yum' command is missing
lxc-create: centos7: lxccontainer.c: create_run_template: 1626 Failed to create container from template
lxc-create: centos7: tools/lxc_create.c: main: 319 Failed to create container centos7
我尝试从多个网站(pkgs.org 等)下载最新的 yum.deb 包,但无法满足包依赖关系(即 python-lzma)。
因此,问题是以下两者之一:如何在 Ubuntu 20.04 中安装 YUM 或如何在 Ubuntu 20.04 中使用 LXC 运行 CentOS 容器?以前的 Ubuntu LTS 版本运行良好。
谢谢。
答案1
嗯,这肯定不是最佳解决方案,但这是我找到的唯一解决方案。
由于我经常使用 Dockers,因此我安装了 docker,并使用以下代码创建了一个新的 /usr/bin/yum 文件(可执行):
#!/bin/bash
docker run --rm -v /var/cache:/var/cache roboxes/centos8 bin/yum $*
因此,当执行 yum 时,我自己的 docker 版本的“yum”就会运行。这不是一个好的解决方案,但至少它能完成任务。
我之前也跑过,但这不是强制性的。
docker pull roboxes/centos8
也不需要 RPM 包。
此 LXC 版本不支持 CentOS 8(因为 lxc-centos 模板)。它不是最佳的,但它有效。
答案2
尝试这个命令:
lxc-create --name centos7 --template=download -- --dist=centos --release=7 --arch=amd64
在 ubuntu20 上运行良好
答案3
安装 yum:
apt install yum
之后尝试这个命令:
lxc-create -t centos -n client11
ou
/usr/share/lxc/templates/lxc-centos -n centos01 -R 7