zoukankan      html  css  js  c++  java
  • ubuntu安装软件自动交互

    在ubuntu下安装软件过程中可能会出现需要你输入密码或者其他的一些交互类的操作,这样在脚本安装的时候就可能出现阻断,这个在ubuntu里面已经考虑到了这个情况,以前我在安装这个的时候,通过的是脚本传递参数的方式,这里介绍的是原生的控制方式,这个方式更好

    以安装mariadb-server-5.5为例

    1、查询需要应答的问题

    首先通过命令查询这个软件需要问答什么问题

    root@mytest:/var/cache/apt/archives# debconf-show mariadb-server-5.5 
    * mysql-server/root_password: (password omitted)
    * mysql-server/root_password_again: (password omitted)
      mysql-server/password_mismatch:
      mysql-server/error_setting_password:
    * mariadb-server/oneway_migration: true
      mysql-server-5.5/nis_warning:
      mysql-server-5.5/postrm_remove_databases: false
      mariadb-server-5.5/really_downgrade: false
      mysql-server/no_upgrade_when_using_ndb:
    

    这里可以看到需要处理的是密码的问题

    2、执行命令传递参数进去

    debconf-set-selections <<< 'mariadb-server-5.5 mysql-server/root_password password 123456'
    debconf-set-selections <<< 'mariadb-server-5.5 mysql-server/root_password_again password 123456'
    

    这个地方实际是把这个值记录到了这个地方,如果要修改可以覆盖或者删除即可

    root@mytest:/var/cache/apt/archives# cat /var/cache/debconf/passwords.dat
    Name: mysql-server/root_password
    Template: mysql-server/root_password
    Value: 123456
    Owners: mariadb-server-5.5
    Flags: seen
    
    Name: mysql-server/root_password_again
    Template: mysql-server/root_password_again
    Value: 123456
    Owners: mariadb-server-5.5
    Flags: seen
    

    然后执行安装的操作:
    修改环境变量(这一步不做也没看到有问题)

    export DEBIAN_FRONTEND=noninteractive
    

    3、安装相应的包

    dpkg -i mariadb-server-5.5_5.5.46-1ubuntu0.14.04.2_amd64.deb
    

    以上即为ubuntu下的deb包的自动应答的处理

  • 相关阅读:
    Android开发规范
    驱动开发规范
    USER 版本与ENG 版本差异
    解决:更改短信中心号码不能及时更新显示
    深度分析:Android中Mms设置页面更改短信中心号码流程
    Android中Parcel的分析以及使用
    DialogFragment详解
    开启飞行模式,进入信息,再关闭飞行模式,进入信息设置查看短信息中心号码,有时短信息中心号码显示无。
    研究 iOS 摄像头缩放的内容
    iOS图片缓存库基准对比
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575329.html
Copyright © 2011-2022 走看看