Как часто мы обновляем порты? Раз в день, неделю? Я их обновляю как минимум раз в неделю. И уже давно стал замечать, что на это уходит достаточно много времени. Пока войдешь в систему, пока обновишь порты, пока обновишь софт… Очень долго. Тут я опишу два метода, которые позволят ускорить процесс.
Метод 1. Метод упрощения.
Данный метод позволяет обновлять порты, находясь в папке /usr/ports, командой
# make update
Для этого надо отредактировать файл /etc/make.conf:
... SUP_UPDATE= SUP=/usr/bin/scup SUPFLAGS=-g -L 2 SUPHOST=cvsup2.ru.FreeBSD.org SUPFILE=/usr/share/examples/cvsup/standard-supfile PORTSSUPFILE=/usr/share/examples/cvsup/ports-supfile DOCSUPFILE=/usr/share/examples/cvsup/doc-supfile ...
Метод 2. Метод частичной автоматизации.
Для этого метода надо создать скрипты и добавить их выполнение в крон. В принципе, все тут должно быть понятно. Приведу пример скрипта, который обновляет порты и выводит список софта, который надо обновить, в файл.
Создаем файл /var/scripts/portsupdate.sh:
#!/bin/sh rm /var/logs/portsupdate.log cd /usr/ports make update >> /var/log/portsupdate.log make fetchindex pkg_version -v -l '<' >> /home/av3nger/needs_updating
Тут мы сначала удаляем старые логи, потом обновляем порты, потом записываем названия программ, которые надо обновить в файл needs_updating, который находится в моей домашней папке.
Далее, надо сделать:
# chmod 755 /var/scripts/portsupdate.sh
И добавить скрипт в cron:
5 0 * * * /var/scripts/portsupdate.sh
Это означает, что скрипт будет исполняться каждый день в 00:05. Для меня это удобно, т.к. каждое утро перед работой я могу быстро проверить, что надо обновить на домашнем серваке.
Забыл сказать, что для второго метода необходимо добавить строчки в make.conf из первого метода. Или модифицировать скрипт таким образом, чтобы он обновлял порты через файл ports-supfile.
Если пойти еще дальше, то таким же образом можно настроить обновление мира раз в месяц, например. Я, правда, так делать не стал. Но раз в месяц я, все же, скачиваю обновленную версию исходников.
всё конечно отлчино, НО! перед любым обновлением надо читать ports/UPDATING — ибо автоматическое обновление всего сразу может привести к катастрофическим последствиям. Сам испытал это на себе ;)
+ обновление — занятие не особо долгое — обновлять надо только критически важные в плане безопасности пакеты (апач к примеру) и пакеты, в новых версиях которых появляется новый необходимый функционал, остальное можно не трогать или обновлять раз в год/полгода.
согласен. по этому, дома у меня лишь проверяются обновления. а потом я уже смотрю что надо мне обновить.
т.е. я писал скрипт для того, чтобы потом, например, можно было бы слать себе на почту список пакетов, требующих обновления.