def setup_mtab(chrootdir):
""" adjust mount table """
- mtab = "/etc/mtab"
- dstmtab = chrootdir + mtab
- if not os.path.islink(dstmtab):
- shutil.copyfile(mtab, dstmtab)
+ try:
+ mtab = "/etc/mtab"
+ dstmtab = chrootdir + mtab
+ if not os.path.islink(dstmtab):
+ shutil.copyfile(mtab, dstmtab)
+ except (OSError, IOError):
+ pass
def setup_chrootenv(chrootdir, bindmounts = None):
""" setup chroot environment """
savefs_before_chroot(chrootdir, None)
+ globalmounts = None
+
try:
msger.info("Launching shell. Exit to continue.\n"
"----------------------------------")
+
globalmounts = setup_chrootenv(chrootdir, bindmounts)
subprocess.call(execute, preexec_fn = mychroot, shell=True)
if self.mounted or self.ismounted():
return
- makedirs(self.dest)
+ try:
+ makedirs(self.dest)
+ except OSError, err:
+ if err.errno == errno.ENOSPC:
+ msger.warning("No space left on device '%s'" % err.filename)
+ return
+
if self.mount_option:
cmdline = [self.mountcmd, "--bind", "-o", "%s" % \
self.mount_option, self.src, self.dest]