chrootのTERM変数

chrootのTERM変数

Jailkitの助けを借りてchrootを作成し、別のライブラリとツールをインストールしようとしています。

clearまず、ライブラリをインストールしてみましょう。フォルダからファイルをコピーし、依存/bin関係をchrootにコピーしました。ただし、clearコマンドを入力すると、次のように表示されます。

TERM 環境変数が設定されていません。

したがって、rootとしてログインすると、TERM値はですxterm-256color。ところで、 を入力するとexport TERM=xterm-256color不明な端末タイプとなります。

どうすればいいですか?

答え1

clearterminfoによって異なります。 terminfo は値を$TERMキーとして、データベース内の端末の適切なエスケープシーケンスを探します。 chrootでサポートする端末タイプのterminfoデータベースファイルをコピーする必要があります。/lib/terminfoまたはで見つけることができます/usr/share/terminfo。これらのファイルが見つからない場合、terminfoは端末タイプを認識しないというメッセージだけを通知できます。

答え2

chroot にシェルをインストールすることもできます。

さらに、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=$TERMedchrootに知られています(コマンドを実行する前に親シェルによって拡張されます)。bashTERM$TERM

関連情報