1

そのため、debian パッケージを作成すると、問題なく動作するインストール後のシェル スクリプトを作成できます。現在、私のものは行うように構成されています

  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 設定を自動的に見つける方法はありますか? それ以外の場合、ユーザー入力を求める最善の方法は何ですか?

4

1 に答える 1

1

さて、私は本当の答えなしでこれを解決しました - 基本的に私が理解していることから、私には2つのオプションがあります - 1つはBindやCUPSが使用するようなラッパースクリプトです。ただし、これは適切なパッケージング手法とは見なされておらず、どうすればよいかまだわかりません。%POST スクリプトでデフォルト値を割り当て、firstrun フラグを作成する方がよいでしょう。ユーザーがソフトウェアを初めて起動すると、構成設定を求めるプロンプトが表示されます。

于 2010-06-15T19:11:03.373 に答える