Variável TERM no chroot

0

Eu criei um chroot com a ajuda do jailkit e agora estou tentando instalar algumas outras bibliotecas e ferramentas.

Primeiro, tentei instalar a biblioteca clear . Eu copiei o arquivo da pasta /bin e copiei as dependências para o chroot. No entanto, quando eu digitei o comando clear , ele diz:

TERM environment variable not set.

Então, quando estou logado como root, o valor de TERM é xterm-256color . Mas quando eu digito export TERM=xterm-256color , ele diz um tipo de terminal desconhecido.

O que devo fazer?

    
por Devos50 21.07.2013 / 15:27

3 respostas

2

clear depende do terminfo. O terminfo usa o valor de $TERM como chave para procurar as seqüências de escape adequadas para o seu terminal em seu banco de dados. Você precisa copiar os arquivos do banco de dados terminfo para os tipos de terminal que você deseja que sejam suportados no chroot. Você os encontrará em /lib/terminfo ou /usr/share/terminfo . Se os arquivos não forem encontrados, o terminfo não poderá fazer nada além de informar que não reconhece o tipo de terminal.

    
por 21.07.2013 / 22:15
0

Você provavelmente deseja instalar um shell no chroot.

Além disso, o debian tem uma ferramenta muito útil para preencher chroots com um sistema debian, veja a man page do debbootstrap para mais.

    
por 21.07.2013 / 16:07
0

Uma boa sugestão do documento de instalação alternativa do Gentoo : Em vez de chroot /your/chroot/path /bin/bash run

chroot /your/chroot/path /bin/env -i TERM=$TERM /bin/bash

env -i limpará o ambiente (o ambiente chroot provavelmente será diferente ou até mesmo incompatível), enquanto o TERM=$TERM tornará o chroot ed bash ciente da variável TERM do pai ( $TERM é expandido pelo shell pai antes de executar os comandos).

    
por 04.11.2013 / 14:45