Как принять пользовательский ввод во время установки - PullRequest
1 голос
/ 15 июня 2010

Поэтому, когда я создаю пакет 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.Тем не менее, я не могу заставить пользователей работать с RPM для Fedora.Есть ли хороший способ принять пользовательский ввод?Насколько я понимаю, RPM были разработаны так, чтобы не допускать интерактивной установки.Однако я не вижу лучшего способа сделать это ..

Возможно, есть ли способ автоматического поиска локальных настроек MySQL без запроса пользователя?В противном случае, как лучше всего запрашивать ввод данных пользователем?

1 Ответ

1 голос
/ 15 июня 2010

Хорошо, я решил это без реального ответа - в основном из того, что я понимаю, у меня есть два варианта - один - это скрипт-обертка, который использует Bind или CUPS. Это не считается хорошей упаковочной практикой, и я все еще не знаю, как это сделать. Лучше просто назначить значения по умолчанию в скрипте% POST и создать флаг первого запуска. При первом запуске программного обеспечения пользователь запрашивает параметры конфигурации.

...