有没有办法在CoreOS上安装Nano?

有没有办法在CoreOS上安装Nano?

CoreOS 不包含包管理器,但我首选的文本编辑器是nano, 不是vivim。有没有办法解决?

gcc不可用,因此无法从源代码编译:

core@core-01 ~/nano-2.4.1 $ ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking whether make supports nested variables... no
checking for style of include used by make... none
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/core/nano-2.4.1':
configure: error: no acceptable C compiler found in $PATH

为了把这个放在上下文中,我正在关注本指南当我发现我想使用nano.

答案1

要在 CoreOS 机器上执行此操作,请按照以下提示进行操作在这里指导:

  1. 启动 CoreOS 盒子并以core用户身份连接
  2. 运行/bin/toolbox命令进入库存 Fedora 容器。
  3. 安装您需要的任何软件。在这种情况下要安装 nano,就像执行 a 一样简单dnf -y install nano(dnf 已取代 yum)
  4. 使用nano来编辑文件。 “但是等等——我在一个容器里!”不用担心——主机的文件系统是/media/root在容器内安装的。因此,只需将示例文本文件保存在 中/media/root/home/core/test.txt,然后保存exit到容器中,最后列出 中的文件/home/core。注意到你的 test.txt 文件了吗?

如果其中任何部分过于神秘或令人困惑,请提出后续问题。 :-)

在最近的CoreOS 47.83.202103292105-0中,主机被放置在/host而不是/media/root.

答案2

虽然 Dan 的答案基本上是正确的,但 yum 似乎在最新的 CoreOS 安装中不再工作(昨天从最新的 coreos_product_vmware_ova.ova 安装)http://stable.release.core-os.net/amd64-usr/current到 Windows 上的 VMWare 工作站)。

引用的 yum 命令最后会中止。因此将步骤(3)替换为命令

/usr/bin/dnf install nano

成功在 Fedora 容器中安装 nano。

在这个 Fedora 容器中使用 nano 进行编辑(可通过 /bin/toolbox 从 CoreOS 提示符访问),同时遵守 Dan 帖子的安装建议。可以通过“exit”命令离开 Fedora 容器。

答案3

我在a上找到了一个更简单的选项红迪网帖子

首先以用户身份连接,然后在执行以下命令之前core确保/opt/bin存在 ( ):sudo mkdir -p /opt/bin

docker run -d --name nano base/archlinux:latest sleep && sudo docker cp nano:/usr/bin/nano /opt/bin && docker rm nano

希望/opt/bin它已经存在,PATH所以一旦它起作用,你就可以nano使用。

答案4

虽然工具箱方法对于大多数人来说是正确的方法,但我一直在寻找可以在 /opt/bin 中运行的二进制文件。

这个链接static-binaries,构建为静态链接二进制文件的各种 *nix 工具,下载static-binaries的源码_GitHub_酷徒有一个 Dockerfile 和一个脚本,用于在 Debian 上编译 Nano 的静态二进制版本,该版本将在 CoreOS 上运行。

static-binaries/nano at master · andrew-d/static-binaries · GitHub

最好克隆存储库并编译二进制文件。

要使用来自同一存储库的预编译二进制文件:

curl -L https://raw.githubusercontent.com/andrew-d/static-binaries/master/binaries/linux/x86_64/nano > /opt/bin/nano
chmod +x /opt/bin/nano
nano --version

相关内容