uname -m이 chroot 및 schroot 환경에서 다르게 보고되는 이유는 무엇입니까?

uname -m이 chroot 및 schroot 환경에서 다르게 보고되는 이유는 무엇입니까?

Ubuntu 14.04.2, 64 bit호스트 시스템을 운영하고 있습니다 . 를 사용하여 debootstrap디렉토리에 최소한의 시스템을 설치했습니다 Ubuntu 14.04.2, 32 bit. trusty32내 구성은 다음과 같습니다 schroot.

[trusty_i386]
description=Ubuntu 14.04 Trusty for i386
directory=/home/dipanjan/trusty32
personality=linux32
root-users=dipanjan
type=directory
users=dipanjan

32비트 감옥에 한 번 로그인해서 chroot다음번에 사용하고 있어요 schroot. 놀랍게도 출력이 uname -m다릅니다. chroot세션 에서는 x86_64(호스트 시스템 스키마)를 반환하고, schroot세션 에서는 i686(게스트 시스템 스키마)를 반환합니다. 누군가 이 차이점을 설명할 수 있나요?

$ sudo chroot trusty32/
(trusty_i386)root@dipanjan-OptiPlex-960:/# uname -m
x86_64
(trusty_i386)root@dipanjan-OptiPlex-960:/# exit
exit
$ schroot -c trusty_i386
(trusty_i386)dipanjan@dipanjan-OptiPlex-960:~$ uname -m
i686
(trusty_i386)dipanjan@dipanjan-OptiPlex-960:~$ exit
logout

답변1

chroot프로세스를 바꾸지 마세요'성격기본적으로 chroot호스트의 (커널) 아키텍처를 계속 볼 수 있습니다 x86_64.

반면에 이미 Personality trusty_i386 schroot를 설정 linux32했으므로 schroot설정할 때 실행하십시오 chroot. 그리고 linux32(링크setarch)는 현재 특성을 변경하여 32비트 커널 아키텍처를 보고합니다 i686.

관련 정보