我试图运行下面的脚本,它工作正常,但我没有得到预期的结果:麻烦与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