我在 jailkit 的帮助下创建了一个 chroot,现在我正在尝试安装一些其他库和工具。
首先我尝试安装clear
库。我已从文件夹复制文件/bin
并将依赖项复制到 chroot。然而,当我输入clear
命令时,它说:
未设置 TERM 环境变量。
因此,当我以 root 身份登录时, 的TERM
值为xterm-256color
。但是当我输入时export TERM=xterm-256color
,它说未知的终端类型。
我应该怎么办?
答案1
clear
取决于 terminfo。 terminfo 使用 的值$TERM
作为键在其数据库中查找适合您的终端的转义序列。您需要复制您希望在 chroot 中支持的终端类型的 terminfo 数据库文件。您会在/lib/terminfo
或中找到它们/usr/share/terminfo
。如果未找到这些文件,terminfo 无法执行任何操作,只能告诉您它无法识别您的终端类型。
答案2
您可能想在 chroot 中安装 shell。
此外,debian 有一个非常有用的工具,用于使用 debian 系统填充 chroot,请参阅 debbootstrap 的手册页了解更多信息。
答案3
来自的一个好建议Gentoo 替代安装文档: 而不是chroot /your/chroot/path /bin/bash
运行
chroot /your/chroot/path /bin/env -i TERM=$TERM /bin/bash
env -i
将清理环境(chroot 环境可能不同甚至不兼容),同时将使TERM=$TERM
edchroot
知道bash
父TERM
变量($TERM
在执行命令之前由父 shell 扩展)。