Linux
為什麼 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
chroot
預設情況下不會更改程序的個性,因此chroot
您仍然可以看到主機的(核心)架構,x86_64
.另一方面,您已經設置了您
trusty_i386
schroot
的linux32
個性,因此schroot
在設置時執行它chroot
- 並且linux32
(連結到setarch
)更改目前個性以報告 32 位核心架構,i686
.