Automação do FreeBSD `freebsd-update`?

8

freebsd-updateO comando imprime as entradas de atualização após o download. Mas mostra-os com more. Então eu tenho que pressionar alguns espaços para continuar. Existe uma maneira de evitar esse comportamento? Quero executar a atualização de maneira totalmente automatizada.

Eonil
fonte

Respostas:

11

Antes de fazer isso, verifique se você está familiarizado com o processo freebsd-update, possíveis ramificações e requisitos. Como qualquer atualização automatizada, há uma chance de que ele estrague tudo.

Crie o arquivo /usr/local/etc/periodic/weekly/912.freebsd-updatecom o seguinte:

#!/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

Não se esqueça de chmod +x 912.freebsd-update
habilitá-lo adicionando weekly_freebsd-update_enable="YES"ao /etc/periodic.conf
seu relatório periódico normal os resultados do log da operação (e-mail para root por padrão).

O número 912 é arbitrário, é apenas o número que eu uso. Você pode escolher qualquer coisa na faixa 900 e deve funcionar bem.

Chris S
fonte
e as portas? quais são as implicações desse script? "O que poderia dar errado?" :) isso executará lançamentos de pontos (por exemplo, 9.2 → 9.3) ou atualizações importantes (por exemplo, 9.3 → 10.1)?
precisa saber é
Por favor, releia a primeira linha desta resposta, eu realmente quis dizer isso. A pergunta não era sobre o que você perguntou, apenas sobre como automatizar esse processo. As portas não são tocadas pelo freebsd-update, você precisa automatizar o portmaster, portupgrade ou possivelmente poudriere para isso (e isso não é fácil para algumas portas). O que poderia dar errado: o mesmo que executar qualquer atualização do freebsd, principalmente problemas de hardware no meio de uma atualização; ou um diff ruim, porém improvável de fontes oficiais. O script acima não pula versões; seria muito mais complicado, pois você precisa especificar a nova versão.
Chris S