• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python misc.execute函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中ubiquity.misc.execute函数的典型用法代码示例。如果您正苦于以下问题:Python execute函数的具体用法?Python execute怎么用?Python execute使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了execute函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: chroot_cleanup

def chroot_cleanup(target, x11=False):
    """Undo the work done by chroot_setup."""
    if target == '/':
        return

    if x11 and 'DISPLAY' in os.environ:
        misc.execute('umount', os.path.join(target, 'tmp/.X11-unix'))
        try:
            os.rmdir(os.path.join(target, 'tmp/.X11-unix'))
        except OSError:
            pass
        osextras.unlink_force(os.path.join(target,
                                           'root/.Xauthority'))

    chrex(target, 'umount', '/sys')
    chrex(target, 'umount', '/proc')
    misc.execute('umount', os.path.join(target, 'dev'))

    initctl = os.path.join(target, 'sbin/initctl')
    if os.path.exists('%s.REAL' % initctl):
        os.rename('%s.REAL' % initctl, initctl)

    start_stop_daemon = os.path.join(target, 'sbin/start-stop-daemon')
    if os.path.exists('%s.REAL' % start_stop_daemon):
        os.rename('%s.REAL' % start_stop_daemon, start_stop_daemon)
    else:
        osextras.unlink_force(start_stop_daemon)

    policy_rc_d = os.path.join(target, 'usr/sbin/policy-rc.d')
    osextras.unlink_force(policy_rc_d)
开发者ID:thnguyn2,项目名称:ECE_527_MP,代码行数:30,代码来源:install_misc.py


示例2: progress_loop

    def progress_loop(self):
        """prepare, copy and config the system in the core install process."""

        self.start_debconf()
        dbfilter = partman_commit.PartmanCommit(self)
        if dbfilter.run_command(auto_process=True) != 0:
            print >>self.console, '\nUnable to commit the partition table, exiting.'
            return

        self.start_debconf()
        dbfilter = install.Install(self)
        ret = dbfilter.run_command(auto_process=True)
        if ret == 0:
            dbfilter = plugininstall.Install(self)
            ret = dbfilter.run_command(auto_process=True)
        if ret == 0:
            self.run_success_cmd()
            print >>self.console, 'Installation complete.'
            if self.get_reboot():
                misc.execute("reboot")
        if ret != 0:
            if ret == 3:
                # error already handled by Install
                sys.exit(ret)
            elif (os.WIFSIGNALED(ret) and
                  os.WTERMSIG(ret) in (signal.SIGINT, signal.SIGKILL,
                                       signal.SIGTERM)):
                sys.exit(ret)
            elif os.path.exists('/var/lib/ubiquity/install.trace'):
                tbfile = open('/var/lib/ubiquity/install.trace')
                realtb = tbfile.read()
                tbfile.close()
                raise RuntimeError("Install failed with exit code %s\n%s" %
                                  (ret, realtb))
开发者ID:Alberto-Beralix,项目名称:Beralix,代码行数:34,代码来源:noninteractive.py


示例3: install

 def install(self, target, progress, *args, **kwargs):
     progress.info('ubiquity/install/locales')
     rv = InstallPlugin.install(self, target, progress, *args, **kwargs)
     if not rv:
         # fontconfig configuration needs to be adjusted based on the
         # selected locale (from language-selector-common.postinst). Ignore
         # errors.
         misc.execute('chroot', target, 'fontconfig-voodoo', '--auto', '--force', '--quiet')
     return rv
开发者ID:guadalinex-archive,项目名称:guadalinex-v7,代码行数:9,代码来源:ubi-welcome.py


示例4: chroot_setup

def chroot_setup(target, x11=False):
    """Set up /target for safe package management operations."""
    if target == '/':
        return

    policy_rc_d = os.path.join(target, 'usr/sbin/policy-rc.d')
    f = open(policy_rc_d, 'w')
    print >>f, """\
#!/bin/sh
exit 101"""
    f.close()
    os.chmod(policy_rc_d, 0755)

    start_stop_daemon = os.path.join(target, 'sbin/start-stop-daemon')
    if os.path.exists(start_stop_daemon):
        os.rename(start_stop_daemon, '%s.REAL' % start_stop_daemon)
    f = open(start_stop_daemon, 'w')
    print >>f, """\
#!/bin/sh
echo 1>&2
echo 'Warning: Fake start-stop-daemon called, doing nothing.' 1>&2
exit 0"""
    f.close()
    os.chmod(start_stop_daemon, 0755)

    initctl = os.path.join(target, 'sbin/initctl')
    if os.path.exists(initctl):
        os.rename(initctl, '%s.REAL' % initctl)
        f = open(initctl, 'w')
        print >>f, """\
#!/bin/sh
echo 1>&2
echo 'Warning: Fake initctl called, doing nothing.' 1>&2
exit 0"""
        f.close()
        os.chmod(initctl, 0755)

    if not os.path.exists(os.path.join(target, 'proc/cmdline')):
        chrex(target, 'mount', '-t', 'proc', 'proc', '/proc')
    if not os.path.exists(os.path.join(target, 'sys/devices')):
        chrex(target, 'mount', '-t', 'sysfs', 'sysfs', '/sys')
    misc.execute('mount', '--bind', '/dev', os.path.join(target, 'dev'))

    if x11 and 'DISPLAY' in os.environ:
        if 'SUDO_USER' in os.environ:
            xauthority = os.path.expanduser('~%s/.Xauthority' %
                                            os.environ['SUDO_USER'])
        else:
            xauthority = os.path.expanduser('~/.Xauthority')
        if os.path.exists(xauthority):
            shutil.copy(xauthority,
                        os.path.join(target, 'root/.Xauthority'))

        if not os.path.isdir(os.path.join(target, 'tmp/.X11-unix')):
            os.mkdir(os.path.join(target, 'tmp/.X11-unix'))
        misc.execute('mount', '--bind', '/tmp/.X11-unix',
                     os.path.join(target, 'tmp/.X11-unix'))
开发者ID:thnguyn2,项目名称:ECE_527_MP,代码行数:57,代码来源:install_misc.py


示例5: apply_real_keyboard

 def apply_real_keyboard(self, model, layout, variant, options):
     args = []
     if model is not None and model != "":
         args.extend(("-model", model))
     args.extend(("-layout", layout))
     if variant != "":
         args.extend(("-variant", variant))
     for option in options:
         args.extend(("-option", option))
     misc.execute("setxkbmap", *args)
开发者ID:guadalinex-archive,项目名称:guadalinex-v5,代码行数:10,代码来源:console_setup.py


示例6: apply_real_keyboard

 def apply_real_keyboard(self, model, layout, variant, options):
     args = []
     if model is not None and model != '':
         args.extend(("-model", model))
     args.extend(("-layout", layout))
     if variant != '':
         args.extend(("-variant", variant))
     args.extend(("-option", ""))
     for option in options:
         args.extend(("-option", option))
     print >>sys.stderr,' ----->DENTRO APPLY REAL KEYBOARD'
     misc.execute("setxkbmap", *args)
开发者ID:guadalinex-archive,项目名称:guadalinex-v7,代码行数:12,代码来源:ubi-welcome.py


示例7: umount_source

    def umount_source(self):
        """umounting loop system from cloop or squashfs system."""

        devs = self.devs
        devs.reverse()
        mountpoints = self.mountpoints
        mountpoints.reverse()

        for mountpoint in mountpoints:
            if not misc.execute("umount", mountpoint):
                raise install_misc.InstallStepError("Failed to unmount %s" % mountpoint)
        for dev in devs:
            if dev != "" and dev != "unused" and not misc.execute("losetup", "-d", dev):
                raise install_misc.InstallStepError("Failed to detach loopback device %s" % dev)
开发者ID:27Paolo,项目名称:ubiquity,代码行数:14,代码来源:install.py


示例8: umount_source

    def umount_source(self):
        """umounting loop system from cloop or squashfs system."""

        devs = self.devs
        devs.reverse()
        mountpoints = self.mountpoints
        mountpoints.reverse()

        for mountpoint in mountpoints:
            if not misc.execute('umount', mountpoint):
                raise install_misc.InstallStepError("Failed to unmount %s" % mountpoint)
        for dev in devs:
            if (dev != '' and dev != 'unused' and
                not misc.execute('losetup', '-d', dev)):
                raise install_misc.InstallStepError(
                    "Failed to detach loopback device %s" % dev)
开发者ID:Alberto-Beralix,项目名称:Beralix,代码行数:16,代码来源:install.py


示例9: install

 def install(self, target, progress, *args, **kwargs):
     progress.info('ubiquity/install/locales')
     rv = plugin.InstallPlugin.install(
         self, target, progress, *args, **kwargs)
     if not rv:
         if 'UBIQUITY_OEM_USER_CONFIG' not in os.environ:
             # Start using the newly-generated locale, if possible.
             try:
                 locale.setlocale(locale.LC_ALL, '')
             except locale.Error:
                 pass
         # fontconfig configuration needs to be adjusted based on the
         # selected locale (from language-selector-common.postinst). Ignore
         # errors.
         misc.execute(
             'chroot', target, 'fontconfig-voodoo',
             '--auto', '--force', '--quiet')
     return rv
开发者ID:johannesthoma,项目名称:ubiquity,代码行数:18,代码来源:ubi-language.py


示例10: __init__

 def __init__(self):
     self.suffix = misc.dmimodel()
     if self.suffix:
         self.suffix = '-%s' % self.suffix
     else:
         if misc.execute("laptop-detect"):
             self.suffix = '-laptop'
         else:
             self.suffix = '-desktop'
     self.allow_password_empty = False
开发者ID:pkt,项目名称:ubiquity.squibby,代码行数:10,代码来源:ubi-usersetup.py


示例11: mount_one_image

    def mount_one_image(self, fsfile, mountpoint=None):
        if os.path.splitext(fsfile)[1] == '.cloop':
            blockdev_prefix = 'cloop'
        elif os.path.splitext(fsfile)[1] == '.squashfs':
            blockdev_prefix = 'loop'

        if blockdev_prefix == '':
            raise install_misc.InstallStepError(
                "No source device found for %s" % fsfile)

        dev = ''
        sysloops = sorted([x for x in os.listdir('/sys/block')
                           if x.startswith(blockdev_prefix)])
        for sysloop in sysloops:
            try:
                with open(os.path.join('/sys/block', sysloop,
                                       'size')) as sysloopf:
                    sysloopsize = sysloopf.readline().strip()
                if sysloopsize == '0':
                    if osextras.find_on_path('udevadm'):
                        udevinfo_cmd = ['udevadm', 'info']
                    else:
                        udevinfo_cmd = ['udevinfo']
                    udevinfo_cmd.extend(
                        ['-q', 'name', '-p', os.path.join('/block', sysloop)])
                    with open('/dev/null') as devnull:
                        udevinfo = subprocess.Popen(
                            udevinfo_cmd, stdout=subprocess.PIPE,
                            stderr=devnull, universal_newlines=True)
                    devbase = udevinfo.communicate()[0]
                    if udevinfo.returncode != 0:
                        devbase = sysloop
                    dev = '/dev/%s' % devbase
                    break
            except:
                continue

        if dev == '':
            raise install_misc.InstallStepError(
                "No loop device available for %s" % fsfile)

        misc.execute('losetup', dev, fsfile)
        if mountpoint is None:
            mountpoint = '/var/lib/ubiquity/%s' % sysloop
        if not os.path.isdir(mountpoint):
            os.mkdir(mountpoint)
        if not misc.execute('mount', dev, mountpoint):
            misc.execute('losetup', '-d', dev)
            misc.execute('mount', '-o', 'loop', fsfile, mountpoint)
            dev = 'unused'

        return (dev, mountpoint)
开发者ID:Sunderland93,项目名称:ubiquity,代码行数:52,代码来源:install.py


示例12: mount_one_image

    def mount_one_image(self, fsfile, mountpoint=None):
        if os.path.splitext(fsfile)[1] == ".cloop":
            blockdev_prefix = "cloop"
        elif os.path.splitext(fsfile)[1] == ".squashfs":
            blockdev_prefix = "loop"

        if blockdev_prefix == "":
            raise install_misc.InstallStepError("No source device found for %s" % fsfile)

        dev = ""
        sysloops = sorted([x for x in os.listdir("/sys/block") if x.startswith(blockdev_prefix)])
        for sysloop in sysloops:
            try:
                with open(os.path.join("/sys/block", sysloop, "size")) as sysloopf:
                    sysloopsize = sysloopf.readline().strip()
                if sysloopsize == "0":
                    if osextras.find_on_path("udevadm"):
                        udevinfo_cmd = ["udevadm", "info"]
                    else:
                        udevinfo_cmd = ["udevinfo"]
                    udevinfo_cmd.extend(["-q", "name", "-p", os.path.join("/block", sysloop)])
                    with open("/dev/null") as devnull:
                        udevinfo = subprocess.Popen(
                            udevinfo_cmd, stdout=subprocess.PIPE, stderr=devnull, universal_newlines=True
                        )
                    devbase = udevinfo.communicate()[0]
                    if udevinfo.returncode != 0:
                        devbase = sysloop
                    dev = "/dev/%s" % devbase
                    break
            except:
                continue

        if dev == "":
            raise install_misc.InstallStepError("No loop device available for %s" % fsfile)

        misc.execute("losetup", dev, fsfile)
        if mountpoint is None:
            mountpoint = "/var/lib/ubiquity/%s" % sysloop
        if not os.path.isdir(mountpoint):
            os.mkdir(mountpoint)
        if not misc.execute("mount", dev, mountpoint):
            misc.execute("losetup", "-d", dev)
            misc.execute("mount", "-o", "loop", fsfile, mountpoint)
            dev = "unused"

        return (dev, mountpoint)
开发者ID:27Paolo,项目名称:ubiquity,代码行数:47,代码来源:install.py


示例13: apply_keyboard

def apply_keyboard():
    """Set the keyboard layout to the default layout for the language selected.

    If a user wants a different layout, they can be reasonably expected to
    change it in System -> Preferences -> Keyboard.
    """

    # Mostly taken from ubi-console-setup.

    # We need to get rid of /etc/default/keyboard, or keyboard-configuration
    # will think it's already configured and behave differently. Try to save
    # the old file for interest's sake, but it's not a big deal if we can't.
    osextras.unlink_force('/etc/default/keyboard.pre-ubiquity')
    try:
        os.rename('/etc/default/keyboard',
                  '/etc/default/keyboard.pre-ubiquity')
    except OSError:
        osextras.unlink_force('/etc/default/keyboard')

    import debconf
    dccomm = subprocess.Popen(['debconf-communicate',
                               '-fnoninteractive', 'ubiquity'],
                              stdin=subprocess.PIPE,
                              stdout=subprocess.PIPE, close_fds=True,
                              universal_newlines=True)
    try:
        dc = debconf.Debconf(read=dccomm.stdout, write=dccomm.stdin)
        try:
            # Make sure debconf doesn't do anything with crazy "preseeded"
            # answers to these questions. If you want to preseed these, use the
            # *code variants.
            dc.fset('keyboard-configuration/layout', 'seen', 'false')
            dc.fset('keyboard-configuration/variant', 'seen', 'false')
            dc.fset('keyboard-configuration/model', 'seen', 'false')
            dc.fset('console-setup/codeset47', 'seen', 'false')
        except debconf.DebconfError:
            return
    finally:
        dccomm.stdin.close()
        dccomm.wait()

    # Accept all the defaults, given the preseeded language.
    child_env = dict(os.environ)
    child_env['OVERRIDE_ALLOW_PRESEEDING'] = '1'
    subprocess.call(['dpkg-reconfigure', '-fnoninteractive',
                     'keyboard-configuration'],
                    env=child_env)
    misc.execute('setupcon', '--save-only')
    # Reprocess /lib/udev/rules.d/64-xorg-xkb.rules
    misc.execute('udevadm', 'trigger', '--subsystem-match=input',
                 '--action=change')
    misc.execute('udevadm', 'settle')
开发者ID:xifeiwu,项目名称:workcode,代码行数:52,代码来源:ubiquity.py


示例14: chrex

def chrex(target, *args):
    """executes commands on chroot system (provided by *args)."""
    return misc.execute('chroot', target, *args)
开发者ID:thnguyn2,项目名称:ECE_527_MP,代码行数:3,代码来源:install_misc.py


示例15: __init__

 def __init__(self):
     self.laptop = execute("laptop-detect")
     self.allow_password_empty = False
开发者ID:guadalinex-archive,项目名称:guadalinex-v7,代码行数:3,代码来源:ubi-usersetup.py


示例16: mount_source

    def mount_source(self):
        """mounting loop system from cloop or squashfs system."""

        self.devs = []
        self.mountpoints = []

        if not os.path.isdir(self.source):
            syslog.syslog("mkdir %s" % self.source)
            os.mkdir(self.source)

        fs_preseed = self.db.get("ubiquity/install/filesystem-images")

        if fs_preseed == "":
            # Simple autodetection on unionfs systems
            with open("/proc/mounts") as mounts:
                for line in mounts:
                    (device, fstype) = line.split()[1:3]
                    if fstype == "squashfs" and os.path.exists(device):
                        misc.execute("mount", "--bind", device, self.source)
                        self.mountpoints.append(self.source)
                        return

            # Manual detection on non-unionfs systems
            fsfiles = [
                os.path.join(self.casper_path, "filesystem.cloop"),
                os.path.join(self.casper_path, "filesystem.squashfs"),
                "/cdrom/META/META.squashfs",
                "/live/image/live/filesystem.squashfs",
            ]

            for fsfile in fsfiles:
                if fsfile != "" and os.path.isfile(fsfile):
                    dev, mountpoint = self.mount_one_image(fsfile, self.source)
                    self.devs.append(dev)
                    self.mountpoints.append(mountpoint)

        elif len(fs_preseed.split()) == 1:
            # Just one preseeded image.
            if not os.path.isfile(fs_preseed):
                raise install_misc.InstallStepError("Preseeded filesystem image %s not found" % fs_preseed)

                dev, mountpoint = self.mount_one_image(fsfile, self.source)
                self.devs.append(dev)
                self.mountpoints.append(mountpoint)
        else:
            # OK, so we need to mount multiple images and unionfs them
            # together.
            for fsfile in fs_preseed.split():
                if not os.path.isfile(fsfile):
                    raise install_misc.InstallStepError("Preseeded filesystem image %s not found" % fsfile)

                dev, mountpoint = self.mount_one_image(fsfile)
                self.devs.append(dev)
                self.mountpoints.append(mountpoint)

            assert self.devs
            assert self.mountpoints

            misc.execute(
                "mount",
                "-t",
                "unionfs",
                "-o",
                "dirs=" + ":".join(["%s=ro" % x for x in self.mountpoints]),
                "unionfs",
                self.source,
            )
            self.mountpoints.append(self.source)
开发者ID:27Paolo,项目名称:ubiquity,代码行数:68,代码来源:install.py


示例17: mount_source

    def mount_source(self):
        """mounting loop system from cloop or squashfs system."""

        self.devs = []
        self.mountpoints = []

        if not os.path.isdir(self.source):
            syslog.syslog('mkdir %s' % self.source)
            os.mkdir(self.source)

        fs_preseed = self.db.get('ubiquity/install/filesystem-images')

        if fs_preseed == '':
            # Simple autodetection on unionfs systems
            with open('/proc/mounts') as mounts:
                for line in mounts:
                    (device, fstype) = line.split()[1:3]
                    if fstype == 'squashfs' and os.path.exists(device):
                        misc.execute('mount', '--bind', device, self.source)
                        self.mountpoints.append(self.source)
                        return

            # Manual detection on non-unionfs systems
            fsfiles = [os.path.join(self.casper_path, 'filesystem.cloop'),
                       os.path.join(self.casper_path, 'filesystem.squashfs'),
                       '/cdrom/META/META.squashfs',
                       '/live/image/live/filesystem.squashfs']

            for fsfile in fsfiles:
                if fsfile != '' and os.path.isfile(fsfile):
                    dev, mountpoint = self.mount_one_image(fsfile, self.source)
                    self.devs.append(dev)
                    self.mountpoints.append(mountpoint)

        elif len(fs_preseed.split()) == 1:
            # Just one preseeded image.
            if not os.path.isfile(fs_preseed):
                raise install_misc.InstallStepError(
                    "Preseeded filesystem image %s not found" % fs_preseed)

                dev, mountpoint = self.mount_one_image(fsfile, self.source)
                self.devs.append(dev)
                self.mountpoints.append(mountpoint)
        else:
            # OK, so we need to mount multiple images and unionfs them
            # together.
            for fsfile in fs_preseed.split():
                if not os.path.isfile(fsfile):
                    raise install_misc.InstallStepError(
                        "Preseeded filesystem image %s not found" % fsfile)

                dev, mountpoint = self.mount_one_image(fsfile)
                self.devs.append(dev)
                self.mountpoints.append(mountpoint)

            assert self.devs
            assert self.mountpoints

            misc.execute('mount', '-t', 'unionfs', '-o',
                         'dirs=' + ':'.join(['%s=ro' % x
                                             for x in self.mountpoints]),
                         'unionfs', self.source)
            self.mountpoints.append(self.source)
开发者ID:Sunderland93,项目名称:ubiquity,代码行数:63,代码来源:install.py



注:本文中的ubiquity.misc.execute函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python misc.get_release函数代码示例发布时间:2022-05-27
下一篇:
Python i18n.get_string函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap