我試圖運行下面的腳本,它工作正常,但我沒有得到預期的結果:麻煩與os.chroot()
import os,sys
os.system("mount /dev/sdb3 /mnt")
os.system("lsblk")
os.system("mount --bind /proc /mnt/proc")
os.system("mount --bind /home /mnt/home")
os.system("mount --bind /dev /mnt/dev")
os.system("mount --bind /sys /mnt/sys")
os.chroot("/mnt")
os.system("pwd")
os.system("lsblk")
這是因爲當我做PWD os.chroot後(「/ mnt「),我不在」/ mnt「目錄中。但是,當我使用shell命令將下面的代碼直接運行到Linux終端(不使用python腳本)時,我得到了預期的結果。
現在我的問題是,爲什麼我不能使用os.chroot(「/ mnt」)進入/ mnt目錄。我如何使用os.chroot(使用python腳本)來實現這一點?
'os.chroot(「/ mnt」)'不會進入'/ mnt'目錄,我想你的意思是把pwd改成'/ mnt'。它只會改變進程的根目錄。它是'os.chdir()'而不是'os.chroot()'? – Celada
Ok.how我可以使用python命令而不是os.chroot來限制我的文件在chroot目錄樹中。我想要在我的「/mnt"上執行yum update&build a kernal ..因此我需要一個命令來通過使用python命令複製「chroot命令使用shell」的功能 – Thale