Я хочу написать сценарий bash или perl для установки ряда пакетов на мою машину на базе debian.
Я хочу, чтобы это было примерно так:
aptitude install package1
aptitude install package2
Но я не знаю, как автоматически сказать «да» в сценарии при запросе подтверждения того, что вы хотите установить этот пакет. Может ли кто-нибудь привести мне пример на perl и bash?
грац!
aptitude install -y пакет1 пакет2 пакет3
Я думаю, это не совсем сценарий, но вы можете установить puppet
и используйте тип пакета. Тогда просто нужно будет создать файл с кучей package
директивы.
Например:
package { zsh:
ensure => latest
}
package { vim-enhanced:
ensure => latest,
name => $operatingsystem ? {
'centos' => 'vim-enhanced',
'ubuntu' => 'vim',
}
}
Вы также можете использовать марионетку для настройки множества других вещей, таких как ваша оболочка, ваши файлы .rc и т. Д., Если у вас возникнет настроение расширить область действия. Это может показаться излишним, но в конечном итоге небольшие дополнительные усилия, вероятно, окупятся.
В дополнение к использованию флага -y для ответов «да» вы также можете установить DEBIAN_FRONTEND = noninteractive, чтобы предотвратить появление вопросов о настройке debconf.
DEBIAN_FRONTEND=noninteractive apt-get install PACKAGE -y
При этом, возможно, в конечном итоге было бы лучше последовать предложению Кайла и взглянуть на систему управления конфигурацией, такую как Puppet.
Мой ответ немного шире, чем исходный вопрос, но если вы хотите делать это неоднократно, с нуля, на нескольких машинах, которые вы настраиваете, я бы рекомендовал потратить время на изучение pxeboot. (Я предполагаю, что вы - производная от Debian, упоминающая способность). Кривая обучения крутая, документация немного неоднородна, но ее стоит продолжать, если она вам нужна.
Если вам приходится заниматься такими машинами на регулярной основе, это не проблема. У нас есть машины, которые собираются с нуля до полностью сконфигурированных примерно за 8 минут, с тоннами настраиваемых пакетов, установленных автоматически.
Чтобы получить бонусные баллы, также изучите какой-нибудь подходящий механизм кеширования.
Совершенно хорошая установка - сделать сервер сборки / кеш apt из образа виртуальной машины, чтобы избежать загрязнения существующей машины.