Автоматизация обновления мира
sergtat 5 июня, 2011 - 04:54
Написал такой вот скрипт:
#!/bin/sh
# myupdate-world
# Скрипт обновления мира по утрам
LOG="/var/log/myupdate-world.log"
# log-файл
date >> $LOG
MIRROR=$(sed -n 's/^GENTOO_MIRRORS="\(.*\) .*/\1/p' /etc/make.conf)
# Задаем зеркало обновления
while ! $(wget --spider $MIRROR/snapshots/portage-$(date -d yesterday +%Y%m%d).tar.bz2.md5sum &>/dev/null); do sleep 300; done
# Проверяем наличие обновления, если не найдено, ждем 5 минут
EIX_CACHEFILE=/var/cache/eix.remote eix-remote update
# делаем снимок дерева удаленных layman-репозиториев
eix-sync -Wq
# синхронизируем наше дерево PORTAGE
echo "============ eix-diff ==============" >> $LOG
eix-diff /var/cache/eix.previous >> $LOG
# смотрим изменения в дереве
echo "============ emerge world =============" >> $LOG
emerge @world -pvquDN >> $LOG
emerge @world -uDNq
# смотрим что обновляем и зупускаем обновление мира
echo "============ emerge --depclean =============" >> $LOG
emerge --depclean -pq >> $LOG
emerge --depclean -q
# удаляем лишние пакеты
echo "=========== revdep-rebuild ===============" >> $LOG
revdep-rebuild -p >> $LOG
revdep-rebuild
# проверяем зависимости
echo "============ glsa-chech =============" >> $LOG
glsa-check --test affected >> $LOG
glsa-check --fix affected
# проверяем пакеты на безопасность
echo "========= eix-test-obsolete =========" >> $LOG
eix-test-obsolete -cd | grep -v "^No" >> $LOG
# проверяем корректность записей в /etc/portage/*
echo "========= perl-cleaner =========" >> $LOG
perl-cleaner --all -- -q
echo "============ End ============= " >> $LOG
export DISPLAY=":0.0"
export XAUTHORITY="/var/run/slim.auth"
# у меня slim, как в [gkx]dm не знаю, можно еще проверять $HOME/.Xauthority
/sbin/shutdown -h +5 "Achtung!" "Shutdown system after 5m\nFor canceled enter\n'sudo shutdown -c'" &
# выводим сообщение через zenity, что комьютер выключится через 5 минут, если нужно отменяем
echo "============ Halt ============= " >> $LOG
if ! $(/usr/bin/zenity --question --text="System shutdown after 5 minutes.\nNow $(date)."); then `sudo /sbin/shutdown -c`; fi
# если не отменили выключаем
Далее вставляем в cron от root:
# crontab -e 0 6 * * * /usr/local/sbin/myupdate-world
Включаем в BIOS авоматическое включение на 5.55 ежедневно.
Теперь мы можем не беспокоиться об обновлении уходя на работу. Осталось посмотреть вечером лог и поправить, если что-то пошло не так (маскировки, конфликты), что бывает редко. Это занимает времени совсем немного (можно раз в неделю). Таким образом избегаем упреков домашних, бережем нервы, спасаем семью.
P.S. команда
# EIX_CACHEFILE=/var/cache/eix.remote eix-remote update
сохраняет снимок дерева layman-overlays в /var/cache/eix.remote .
Теперь делаем алиас:
# alias eix-cache='EIX_CACHEFILE=/var/cache/eix.remote eix'
Смотрим наличие пакетов в оверлеях по команде eix-cache.
»
- Для комментирования войдите или зарегистрируйтесь

Посмотрите здесь
Откройте для себя update ;)
Выложите где-нибудь,
Выложите где-нибудь, недоступно почему-то.
Что выложить?.. Это 4х-летняя
Что выложить?.. Это 4х-летняя дискуссия в форуме. :)
Ищите на Генту.орге в форуме - раздел Tip&Tricks
Сам скрипт здесь.
SysA написал(а): Сам скрипт
Нет его здесь.
у вас Интернет-то есть?.. :)
у вас Интернет-то есть?.. :)
У меня тоже к серверу не
У меня тоже к серверу не подключается.
Вообще такого рода автоматическое обновление в Gentoo со временем гарантированно принесёт боль и ужас.
А вот с eix-cache идея хороша, спасибо.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Поддерживаю... автоматические
Поддерживаю... автоматические обновления можно позволить себе только дома, как у ТС.
У меня автоматом по утрам перед работой только синхронизация, подкачка файлов и письмо, если есть обновления.
Кстати, скриптик, о котором я говорил, не есть автомат... ;)
Sorry, у них сдох DNS,
Sorry, у них сдох DNS, смотрите здесь
не скрипт, а тихий ужос на
не скрипт, а тихий ужос на крыльях ночи от явно красноглазого товарища.
П.С а etc-update он у вас почему не делает ? :)))))))))))
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
etc-update вручную. А как
etc-update вручную. А как по-другому?
Может скрипт и неважный, но время экономить помогает.