1

Я создаю сценарий установки slent на компьютере с Ubuntu, который также устанавливает дополнительные пакеты. одна проблема, с которой я сталкиваюсь, заключается в том, что пакет Sun Java требует ручного подтверждения лицензионного соглашения. есть ли вероятность, что я смогу автоматизировать установку, чтобы процесс не ждал, пока я не подтвердлю диалог вручную?

4 ответа4

2

Я полагаю, что пакет спрашивает о лицензии с использованием Debconf. Вы можете изменить то, что использует debconf для внешнего интерфейса, чтобы задавать вам вопросы, или даже установить его без внешнего интерфейса для автоматической установки. Вот небольшая статья об этом:

http://www.debianadmin.com/debconf-debian-configuration-management-system.html

1

Я автоматизирую большинство программных установок на Unix и Unix-подобных системах, используя сценарии Expect . 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"
0

Переключение внешнего интерфейса только подавляет вопрос - это все еще нужно сказать. Этот пост в блоге освещает это красиво.

0

При использовании сценария оболочки попробуйте использовать send и ожидаем. Убедитесь, что они установлены. Также проверьте 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".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .