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

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

+2

В Debian вы должны использовать 'debconf' для настройки вашего пакета. –

+0

Thanks el.pescado, я сейчас читаю man-страницу для debconf-devel. Я понимаю, что я сделал это для ubuntu, не так, ха-ха. Есть ли эквивалент для Fedora? – Sam

ответ

0

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