Jailkit의 도움으로 chroot를 만들었고 이제 다른 라이브러리와 도구를 설치하려고 합니다.
clear
먼저 라이브러리를 설치해보겠습니다 . 폴더에서 파일을 복사 /bin
하고 종속성을 chroot에 복사했습니다. 그러나 clear
명령을 입력하면 다음과 같이 표시됩니다.
TERM 환경 변수가 설정되지 않았습니다.
따라서 루트로 로그인하면 TERM
값 은 입니다 xterm-256color
. 그런데 를 입력하면 export TERM=xterm-256color
알 수 없는 터미널 유형이라고 뜹니다.
어떻게 해야 합니까?
답변1
clear
terminfo에 따라 다릅니다. 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=$TERM
ed chroot
에 알려집니다 ( 명령을 실행하기 전에 상위 쉘에 의해 확장됨).bash
TERM
$TERM