FreeBSD `freebsd-update` автоматизация?

8

freebsd-updateКоманда печатает обновленные записи после загрузки. Но это показывает их с more. Поэтому я должен нажать несколько пробелов, чтобы продолжить. Есть ли способ избежать такого поведения? Я хочу выполнить обновление полностью автоматизированным способом.

Eonil
источник

Ответы:

11

Прежде чем делать что-либо из этого, убедитесь, что вы знакомы с процессом freebsd-update, возможными последствиями и требованиями. Как и любое автоматическое обновление, есть вероятность, что оно облажается.

Создайте файл /usr/local/etc/periodic/weekly/912.freebsd-updateсо следующим:

#!/bin/sh -
#
#

# If there is a global system configuration file, suck it in.
#
if [ -r /etc/defaults/periodic.conf ]
then
    . /etc/defaults/periodic.conf
    source_periodic_confs
fi

case "$weekly_freebsd-update_enable" in
    [Yy][Ee][Ss])
        echo ""
        echo "Updating system via freebsd-update:"

        freebsd-update cron install;;

    *)  rc=0;;
esac

exit $rc

Не забудьте chmod +x 912.freebsd-update
включить его, добавив weekly_freebsd-update_enable="YES"в /etc/periodic.conf
свой обычный периодический отчет журнал результатов работы (по умолчанию отправляется в корневой каталог).

Число 912 является произвольным, это просто число, которое я использую. Вы можете выбрать что-нибудь в диапазоне 900, и это должно работать нормально.

Крис С
источник
что насчет портов? Каковы последствия такого сценария? "Что возможно могло пойти не так?" :) это будет выполнять точечные выпуски (например, 9.2 → 9.3) или основные обновления (например, 9.3 → 10.1)?
anarcat
Пожалуйста, перечитайте первую строку этого ответа, я действительно это имел в виду. Вопрос был не в том, что вы спросили, а в том, чтобы автоматизировать этот процесс. Freebsd-update не затрагивает порты, для этого вам необходимо автоматизировать portmaster, portupgrade или, возможно, poudriere (а это не так просто для некоторых портов). Что может пойти не так: как при запуске любого freebsd-обновления, в основном из-за проблем с оборудованием в середине обновления; или плохая разница, хотя это вряд ли из официальных источников. Скрипт выше не скачет версии; это будет намного сложнее, так как вы должны указать новую версию.
Крис С