在 Ubuntu 20.04 中安装 YUM 以运行 CentOS LXC 容器

在 Ubuntu 20.04 中安装 YUM 以运行 CentOS LXC 容器

我能够在 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

相关内容