¿Automatización de 'freebsd-update' de FreeBSD?

8

freebsd-updateEl comando imprime las entradas de actualización después de descargarlo. Pero los muestra con more. Entonces tengo que presionar algunos espacios para continuar. ¿Hay alguna manera de evitar este comportamiento? Quiero ejecutar la actualización de manera totalmente automatizada.

Eonil
fuente

Respuestas:

11

Antes de hacer nada de esto, asegúrese de estar familiarizado con el proceso de actualización de freebsd, posibles ramificaciones y requisitos. Como cualquier actualización automatizada, existe la posibilidad de que se arruine.

Cree el archivo /usr/local/etc/periodic/weekly/912.freebsd-updatecon lo siguiente:

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

No olvide chmod +x 912.freebsd-update
Habilitarlo agregando weekly_freebsd-update_enable="YES"a /etc/periodic.conf
Su informe periódico normal contendrá los resultados del registro de la operación (correo electrónico a la raíz de forma predeterminada).

El número 912 es arbitrario, es solo el número que uso. Puede elegir cualquier cosa en el rango 900 y debería funcionar bien.

Chris S
fuente
¿Qué pasa con los puertos? ¿Cuáles son las implicaciones de tal script? "¿Qué podría salir mal?" :) ¿esto realizará lanzamientos puntuales (por ejemplo, 9.2 → 9.3) o actualizaciones importantes (por ejemplo, 9.3 → 10.1)?
anarcat
Vuelva a leer la primera línea de esta respuesta, realmente lo dije en serio. La pregunta no se refería a nada de lo que preguntó, sino a automatizar ese proceso. Freebsd-update no toca los puertos, necesitaría automatizar portmaster, portupgrade o posiblemente poudriere para eso (y eso no es fácil para algunos puertos). Lo que podría salir mal: lo mismo que ejecutar cualquier actualización de freebsd, principalmente problemas de hardware en medio de una actualización; o una mala diferencia, aunque es poco probable de fuentes oficiales. La secuencia de comandos anterior no salta las versiones; sería mucho más complicado ya que debes especificar la nueva versión.
Chris S