полностью автоматический скрипт обновления

Max Kamensky maxickv на gmail.com
Чт Фев 17 17:24:37 UTC 2011


Доброго времени суток, многоуважаемый All :)

очень хочу сделать полностью автоматическое обновление для Ubuntu 10.04lts

скрипт обновления: 

логика работы, как я ее понимаю, поправьте, если что-то не правильно:

dpkg --configure -a # конфигурируем пакеты, которые были недоконфигурированы
apt-get -y update - обновление списков репов с подавлением вопросов
apt-get --force-yes -y dist-upgrade - обновление пакетов с обновлением ядра с подавлением всех вопросов
apt-get --force-yes -y autoremove - удаляем ненужные пакеты с подавлением запросов
apt-get --force-yes -y autoclean - чистим кэш

логика вроде бы верна и упакована в скрипт
update.sh
#!/bin/sh
simplelog="/autoupdate.log"
detailedlog="/var/log/autoupdate.log"
echo "New update started at $(date)" >> $detailedlog
dpkg --configure -a >> $detailedlog
echo "Configuration of not configured packages phase is completed at $(date)" >> $detailedlog
apt-get -y update >> $detailedlog
echo "Update phase is completed at $(date)" >> $detailedlog
apt-get --force-yes -y dist-upgrade >> $detailedlog
echo "Upgrade phase is completed at $(date)" >> $detailedlog
apt-get --force-yes -y autoremove >> $detailedlog
echo "Autoremove phase is completed at $(date)" >> $detailedlog
apt-get --force-yes -y autoclean >> $detailedlog
echo "Autoclean phase is completed at $(date)" >> $detailedlog
echo "===========================================================================" >> $detailedlog
echo "last update was proceeded on $(date)" >> $simplelog


запускается все из кронтаба

/etc/crontab
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot root    update.sh
#


но есть пакекты, которые принципиально не хотят обновляться в таком режиме :-[
пример1: пакеты связанные с LDAP, которые при обновлении выкидывают достаточно длинное меню действий и им глубоко филотевы опиции --force-yes -y. если оставить такой пакет несконфигурированным, то машина ложится насмерть. нельзя войти ни под локальным пользователем ни под доменным. даже по ssh не достучаться. машина получается условно живая до первой перезагрузки  >:(
пример2: пакеты с Java
картинка раз http://i15.fastpic.ru/big/2011/0217/70/0437f1d61ea7b54aa50279544a1c2a70.jpeg
картинка два http://i15.fastpic.ru/big/2011/0217/32/96e5511e29be29bf973548a240e57132.jpeg

вопрос1: насколько это все-таки безопасно ? ? ? с десятком машин вроде можно и руками справиться в случае проблем, но тут случай веселее. хочу это поставить на 600+ машин
вопрос2: можно ли и если да, то как избежать проблем с несконфигурированными пакетами? 
вопрос3: можно ли как-то растусовать пакеты по признаку интерактивности/неинтерактивности конфигурирования? типа обнови все, а LDAP не трогай  ;)

  





Regards, Max Kamensky
9:13:18 PM
Thursday, February 17, 2011
___________________________________________
maxickv на gmail.com
icq 29258337
skype maxkamensky
___________________________________________




Подробная информация о списке рассылки ubuntu-ru