Automatisation de FreeBSD `freebsd-update`?

8

freebsd-updateLa commande imprime les entrées de mise à jour après leur téléchargement. Mais ça les montre avec more. Je dois donc appuyer sur certains espaces pour continuer. Existe-t-il un moyen d'éviter ce comportement? Je veux exécuter la mise à jour de manière entièrement automatisée.

Eonil
la source

Réponses:

11

Avant de faire quoi que ce soit, assurez-vous que vous êtes familiarisé avec le processus de mise à jour de freebsd, les ramifications possibles et les exigences. Comme pour toute mise à jour automatisée, il y a une chance qu'elle se dérobe.

Créez le fichier /usr/local/etc/periodic/weekly/912.freebsd-updateavec les éléments suivants:

#!/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'oubliez pas de l' chmod +x 912.freebsd-update
activer en ajoutant weekly_freebsd-update_enable="YES"à /etc/periodic.conf
votre rapport périodique normal contiendra les résultats du journal de l'opération (e-mail à root par défaut).

Le nombre 912 est arbitraire, c'est juste le nombre que j'utilise. Vous pouvez choisir n'importe quoi dans la gamme 900 et cela devrait fonctionner correctement.

Chris S
la source
qu'en est-il des ports? quelles sont les implications d'un tel script? "Qu'est ce qui pourrait aller mal?" :) cela va-t-il effectuer des versions ponctuelles (par exemple 9.2 → 9.3) ou des mises à niveau majeures (par exemple 9.3 → 10.1)?
anarcat
Veuillez relire la première ligne de cette réponse, je le pensais vraiment. La question ne portait sur aucune de vos questions, mais sur l'automatisation de ce processus. Les ports ne sont pas touchés par la mise à jour freebsd, vous devez automatiser le portmaster, la mise à niveau du port ou peut-être poudriere pour cela (et ce n'est pas facile pour certains ports). Qu'est-ce qui pourrait mal tourner: identique à l'exécution de toute mise à jour freebsd, principalement des problèmes matériels au milieu d'une mise à niveau; ou un mauvais diff bien que peu probable de sources officielles. Le script ci-dessus ne saute pas les versions; ce serait beaucoup plus compliqué car vous devez spécifier la nouvelle version.
Chris S