a1fred 25.02.2009 17:14
0byte — Автообновление пакетов по списку в debian подобных системах.
Начитавшись постов о том как автоматически обновлять все пакеты в ubuntu, у меня таки возникло желание написать по своему правильный способ обновления пакетов.Дело в том что я не считаю что даже на десктоп системе пользователю так уж необходимо обновлять абсолютно все пакеты. Лично мне бы хватило обновления только какого то списка пакетов, например браузера, DE и т.д.
Кратко опишем задачу.
Сама программа будет скриптом, который запускается планировщиком с какой то частотой. Скрипт будет обновлять список пакетов. Затем читать из файла список пакетов которые требуется держать в актуальном состоянии. Ну и затем обновлять программы из этого списка.
Иии…. Вот оно!
Сам скрипт, берет в качестве аргумента путь к списку программ. Листинг apldater.sh:
Я выбрал обновлять пакеты по одному а не все сразу не случайно. Я конечно понимаю что нагрузка возрастает, зато больше пакетов обновятся на плохом интернете.
Далее мы записываем в файл список пакетов, чтобы они обновлялись автоматически.
1 |
|
(кто не в курсе эта строка создает файл /etc/pkgs)
И запишем mozilla-firefox в этот файл. Будучи счастливым пользователем ff, я сделал это в первую очередь. :)
1 |
|
Готово. Теперь запишем выполнение нашего скрипта в cron.
1 |
|
У меня скрипт лежит в /root/bin/apldater.sh, поэтому добавляем строку:
0 0 * * * /root/bin/apldater.sh /etc/pkgs
Теперь система будет обновлять список пакетов из /etc/pkgs каждый день в 0:00. Частоту обновлений лучше менять в зависимости от частоты обновления пакетов из списка. Т.е если например у вас в списке самый часто обновляемый пакет это ядро, то нет необходимости проверять обновления каждый день, просто потому что с такой частотой его не обновляют.
Да вот собсно: apt-get update && apt-get install `cat $filename`
Это просто готовое решение с небольшими токостиями.
Это просто готовое решение с небольшими токостиями.
Подобная тема уже поднималась (для бубунты), мог бы просто там в комментах отписаться. <- ИМХО
И теги для поста проставь. Хотя бы : debian, update, sh
И теги для поста проставь. Хотя бы : debian, update, sh
pacman -Sy `cat filename` :)