本文是基於:https://www.cnblogs.com/charlieroro/p/9259675.html 的學習筆記
chroot的目的是,把指定目錄設爲/創建一個新環境,並進入一個bash。
如果希望把這個目錄設爲/: /home/mock1/tmproot/lib64/
先進入這個目錄:cd /home/mock1/tmproot/lib64/
如果只運行chroot .
將導致錯誤,這是因爲bash的連接庫沒有找到.
首先ldd bash
可以看到
ldd /bin/bash
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x000000fff03b0000)
libdl.so.2 => /lib64/libdl.so.2 (0x000000fff039c000)
libc.so.6 => /lib64/libc.so.6 (0x000000fff01b4000)
/lib64/ld.so.1 (0x000000aaaaaa8000)
把so拷貝到當前環境下:
cp -r /lib64/* /home/mock1/tmproot/lib64/
mkdir -p /home/mock1/tmproot/lib64/
cp -r /lib64/* /home/mock1/tmproot/lib64
再次運行chroot .就可以了