linux间接安装软件,Linux下实现软件的静默安装

静默安装,可以使用下面的方案:

1、用debconf-show + 包名查出预配置项

root@compute204:/var/log/keystone# debconf-show slapd

slapd/password1: (password omitted)

slapd/internal/adminpw: (password omitted)

slapd/internal/generated_adminpw: (password omitted)

slapd/password2: (password omitted)

...

2、在脚本里,用debconf-set-selections设置然后安装,格式为 {包名} {配置项key} {配置项类型} {配置项value}

cat <

slapd slapd/password1 password ${LDAP_PASS}

slapd slapd/password2 password ${LDAP_PASS}

LDAP_PRESEED

3、安装

apt-get -y --force-yes install slapd

apt-get -y --force-yes install ldap-utils

—————————————————————————————————————————————————

用debconf-show + 包名查出预配置项。

在脚本里,用debconf-set-selections设置然后安装。

debconf-set-selections命令

1.功能作用

在debconf database中插入默认值

2.位置

/usr/bin/debconf-set-selections

3.格式用法

debconf-set-selections [-vcu] [file]

4.主要参数

1

2

3

-v, --verbose     显示运行过程信息

-c, --checkonly   只检查输入文件的格式

-u, --unseen      在预置参数时,不设置'seen'标识

5.应用实例

1、命令行输入设置参数

sudo debconf-set-selections <<< 'mysql-server-5.5 mysql-server/root_password password your_password'

sudo debconf-set-selections <<< 'mysql-server-5.5 mysql-server/root_password_again password your_password'

sudo apt-get -y install mysql-server

2、先输入文件,再一次性添入设置参数

echo "mysql-server-5.5 mysql-server/root_password password $MYSQL_ROOT_PASS" > /tmp/mysql.preseed

echo "mysql-server-5.5 mysql-server/root_password_again password $MYSQL_ROOT_PASS" >> /tmp/mysql.preseed

cat /tmp/mysql.preseed | sudo debconf-set-selections

rm /tmp/mysql.preseed

sudo apt-get install -y mysql-server

3、使用echo方式输入设置参数

echo 'mysql-server-5.5 mysql-server/root_password password your_password' | sudo debconf-set-selections

echo 'mysql-server-5.5 mysql-server/root_password_again password your_password' | sudo debconf-set-selections

sudo apt-get install -y mysql-server

4、直接从文件中读取设置参数

sudo debconf-set-selections mysql-passwd

sudo apt-get install -y mysql-server

debconf 是 Debian 使用的一种软件包配置方法。支持 debconf 的软件在安装时,会弹出对话框,要求用户输入一定配置参数。

在非交互式环境下安装这类软件,用户无法在线提供软件的配置项。因此用户需要通过 dpkg-preconfigure 预先指定软件配置。

目前 dpkg-preconfigure 的用法比较奇怪。没有非常完美的用法,总觉得怪怪的。下面这个方案应该是我从网上可以找到,综合比较靠谱的。

导入 debconf 模板

debconf 模板包含软件的配置项的名称、说明、默认值等内容。一般来说 debconf 模板是包含在 deb 包中。由于需要在安装 deb 时自动提供软件配置,所以需要在安装 deb 包之前,提前导入 debconf 模板。过程如下。

apt-get clean (清除 apt/cache 中缓存的 Debian 包)

apt-get install -d mysql-server-5.0 (下载 mysql-server-5.0,不安装)

dpkg-preconfigure /var/cache/apt/archives/mysql-server-5.0*.deb (导入 debconf 模板)

不完美的地方就在这里:导入一个软件的配置项,竟然要用三个命令。总觉得应该一个命令搞定。。。

指定 debconf 配置

模板导入之后,可以使用 debconf-set-selections 设置软件配置。用下面的命令:

debconf-set-selections

debconf mysql-server-5.0/start_on_boot select true

debconf mysql-server-5.0/start_on_boot seen true

(ctrl+d)

上面命令将 mysql-server-5.0/start_on_boot 设置为 true,并且设置配置项已经显示(区分配置项的值是默认值,还是用户输入值)。一般来说,软件安装时,只会显示 seen 为 false 的那些配置参数。

如果不知道软件有哪些配置选项,可以用 debconf-show 看到:

debconf-show mysql-server-5.0

mysql-server/root_password_again: (password omitted)

mysql-server/root_password: (password omitted)

mysql-server-5.0/really_downgrade: false

mysql-server-5.0/need_sarge_compat: false

mysql-server-5.0/start_on_boot: true

mysql-server/error_setting_password:

mysql-server-5.0/nis_warning:

mysql-server-5.0/postrm_remove_databases: false

mysql-server-5.0/need_sarge_compat_done: true

mysql-server/password_mismatch:

上面每行输出中第一个 * 表示 seen 为 true,没有星号表示 seen 为 false;每行输出中,冒号前面配置项,冒号后是值。

安装软件

如果所有的 debconf 选项都通过上面的方法设置完毕。用下面的方法安装

apt-get install mysql-server-5.0

此时应该不会显示 debconf 的对话框。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值