Debian中的Python自动安装脚本

时间:2018-10-08 12:59:59

标签: python debian

我正在尝试创建一个小的python脚本,该脚本将在Debian中安装软件包。 但是我搜索了一段时间,但仍然找不到任何解决方案,无法在程序需要用户提供某些帮助时使其与提示一起使用。

例如,用于安装MariaDB的自动“是”和“密码”。

os.system-完成MariaDB安装后,停止并等待用户给出答案并继续脚本的其余部分。但是在这里,我希望安装自动运行。

有什么功能可以处理吗?

1 个答案:

答案 0 :(得分:0)

pexpect

具有交互功能的fdisk的示例:

def expectpart():
    TMPLOG = "/tmp/pexpect.log"
    cmd = f'''
sudo fdisk /dev/sdb ;\
echo "alldone" ;
'''
    with open(TMPLOG, "w") as log:
        ch = pexpect.spawn(f"/bin/bash -c \"{cmd}\"", encoding='utf-8', logfile=log)
        ch.expect("Command")
        ch.send("c\r")
        ch.expect("DOS Compat")
        ch.send("n\r")
        ch.expect("Partition type")
        ch.send("p\r")
        ch.expect("Partition number")
        ch.send("1\r")
        ch.expect("First sector")
        ch.send("\r")
        ch.expect("Last sector")
        ch.send("\r")
        ch.expect("Created a new partition")
        ch.send("w\r")
        ch.expect("alldone")
        i = ch.expect([pexpect.EOF], timeout=5)
        ch.close()