Я создаю сценарий установки slient на компьютере ubuntu, который также устанавливает дополнительные пакеты. одна из проблем, с которой я сталкиваюсь, заключается в том, что пакет Sun java нуждается в ручном подтверждении лицензионного соглашения. есть ли шанс, что я могу автоматизировать установку так, что процесс не ждет, пока я вручную не подтвержду диалоговое окно?
автоматически соглашаться с Лицензионным соглашением при использовании "apt-get install sun-java6-jre"


4 ответа
Я считаю, что пакет запрашивает лицензию с помощью Debconf. Вы можете изменить то, что использует frontend debconf, чтобы задавать вам вопросы, или даже установить, что у него нет frontend, для автоматической установки. Вот краткая статья об этом:
http://www.debianadmin.com/debconf-debian-configuration-management-system.html

Я автоматизирую большинство установок программ на Unix и Unix-подобных системах, используя ожидал скрипты. Expect предназначен для взаимодействия с другими программами через скрипты, и их очень легко писать.
пример:
#!/usr/bin/expect -f
sudo apt-get install sun-java6-jre
expect "Password:"
sleep 1
send -- "mypassword\r"
expect "[y/n]"
sleep 1
send -- "yes\r"

переключение front end только подавляет вопрос-это еще нужно сказать. этот блог охватывает его красиво.

при использовании сценария оболочки попробуйте использовать send и expect. Убедитесь, что они установлены. Кроме того, проверить http://www.manpagez.com/man/1/expect/.
#! /usr/bin/expect -f
apt-get install sun-java6-jre
expect "[y/n]"
sleep 1
send "y\r"
этот скрипт вызывает программу установки и ждет, пока она выведет "[y / n]". Когда это выводится, сценарий продолжается после 1 сек сна, отправляя " y "вместе с новой строкой"\r".

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]