因此,当我创建一个debian包时,我能够编写一个运行良好的安装后shell脚本。目前我的配置为
echo "Please enter your MySQL Database user (default root)"
read MYSQL_USER
echo "Please enter the MySQL Database user password (default root)"
read -s MYSQL_PASS
DBEXIST=0
CMD="create database lportal;use lportal;"
(mysql -u$MYSQL_USER -p$MYSQL_PASS -e "$CMD") || ((DBEXIST++))
if [ $DBEXIST -ne 0 ]; then
echo "Setup finished, but MySQL already has an lportal table. This could be from a previous installation of Liferay. If you want a fresh installation of this bundle, please remove the lportal table and reinstall this package."
fi
这适用于Ubuntu。但是,我似乎无法获得用户输入来使用Fedora的RPM。是否有一种很好的方式来接受用户输入?据我所知,RPM的设计不允许交互式安装。但是我看不到更好的方法来做到这一点..
是否有可能在不询问用户的情况下自动查找本地MySQL设置?否则,请求用户输入的最佳方式是什么?
答案 0 :(得分:1)
好的,我已经解决了这个问题而没有真正的答案 - 基本上从我的理解,我有两个选择 - 一个是像Bind或CUPS使用的包装脚本。虽然它不被认为是良好的包装实践,但我仍然不确定如何去做。更好的方法是在%POST脚本中分配默认值,并创建一个firstrun标志。用户第一次启动软件时,会提示进行配置设置。