Обновление портов во FreeBSD с помощью Portsnap
В связи с отказом от CVS ранее написанные скрипты «Скрипт обновления ПО FreeBSD» «FreeBSD уведомление на почту, о необходимости обновить ПО» и заметки «FreeBSD обновить порты» — становятся мало актуальными. Для обновления портов во FreeBSD есть утилита Portsnap. Согласно основной документации «Obtaining the Ports Collection» выполним следующие шаги из раздела «5.6.2 Migrating from CVSup/csup to portsnap«:
1. Отключите все автоматизированные порты обновляет вы можете использовать, например, хрон (8) Работа называя CVSup или csup.
2. Переместить существующий дерево портов во временную папку:
# mv /usr/ports /usr/ports.old
3. Используйте fetch для нового дерева портов с Portsnap и распакуйте его в /usr /ports:
# portsnap fetch extract
4. Переместите дистрибутивные файлы и сохраненные пакеты для нового дерева портов:
# mv /usr/ports.old/distfiles /usr/ports # mv /usr/ports.old/packages /usr/ports
5. Удалите старое дерево портов:
# rm -rf /usr/ports.old
6. Если CVSup был использован ранее, теперь он может быть удален:
# pkg_delete -r -v cvsup-without-gui-\*
7. Пользователи которые используют pkgng могут использовать следующую команду:
# pkg delete cvsup-without-gui
Теперь нам нужно автоматизировать выполение обновления с получением списка портов требующих обновления и отправить на почту. Для этого в крон добавляем следующую команду:
# crontab -e
0 20 * * * portsnap -I cron update && pkg_version -vIL=
Чтобы все уведомления падали на почту, вначале crontab нужно указать примерно следующее (использую оболочку bash):
SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin MAILTO= nvs@8.to
Команда будет выполнятся раз в сутки в 20:00, результат придет на почту в виде списка портов, требующих обновления:
apache22-2.2.23_4 < needs updating (index has 2.2.24)
clamav-0.97.6 < needs updating (index has 0.97.7)
cmake-2.8.9 < needs updating (index has 2.8.10.2)
cmake-modules-2.8.9 < needs updating (index has 2.8.10.2)
ejabberd-2.1.9 < needs updating (index has 2.1.11)
erlang-lite-r14b04_2,1 < needs updating (index has 15.b.03.1,3)
Обновление портов во FreeBSD с помощью Portsnap завершено!
Сайт партнер: http://todid.ru/teach/681-kak-ocenit-ideyu.html