chroot의 TERM 변수

chroot의 TERM 변수

Jailkit의 도움으로 chroot를 만들었고 이제 다른 라이브러리와 도구를 설치하려고 합니다.

clear먼저 라이브러리를 설치해보겠습니다 . 폴더에서 파일을 복사 /bin하고 종속성을 chroot에 복사했습니다. 그러나 clear명령을 입력하면 다음과 같이 표시됩니다.

TERM 환경 변수가 설정되지 않았습니다.

따라서 루트로 로그인하면 TERM값 은 입니다 xterm-256color. 그런데 를 입력하면 export TERM=xterm-256color알 수 없는 터미널 유형이라고 뜹니다.

어떻게 해야 합니까?

답변1

clearterminfo에 따라 다릅니다. terminfo는 값을 $TERM키로 사용하여 데이터베이스에서 터미널에 대한 적절한 이스케이프 시퀀스를 찾습니다. chroot에서 지원하려는 터미널 유형에 대한 terminfo 데이터베이스 파일을 복사해야 합니다. /lib/terminfo또는 에서 찾을 수 있습니다 /usr/share/terminfo. 이러한 파일을 찾을 수 없으면 terminfo는 터미널 유형을 인식하지 못한다는 메시지만 알려줄 수 있습니다.

답변2

chroot에 쉘을 설치할 수도 있습니다.

추가적으로 데비안에는 데비안 시스템을 사용하여 chroot를 채우는 데 매우 유용한 도구가 있습니다. 자세한 내용은 debbootstrap 매뉴얼 페이지를 참조하십시오.

답변3

님의 좋은 팁젠투 대체 설치 문서chroot /your/chroot/path /bin/bash: 달리는 대신

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

env -i환경은 정리되고(chroot 환경은 다를 수도 있고 호환되지 않을 수도 있음) 상위 변수는 TERM=$TERMed chroot에 알려집니다 ( 명령을 실행하기 전에 상위 쉘에 의해 확장됨).bashTERM$TERM

관련 정보