• 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包的自动应答的处理

  • 相关阅读:
    4.7字符串
    4.5 基本类型和运算符
    4.4 变量
    4.6 字符串
    hp
    openstack newton linuxbridge 改成 ovs
    理解裸机部署过程ironic
    csredis base usage
    redisclient can not connect
    Linux Install redis
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575329.html
Copyright © 2020-2023  润新知