Automatizar actualizaciones

Hola!

Veréis, en un sistema Ubuntu me gustaría que las actualizaciones se aplicaran automáticamente de manera silenciosa (en segundo plano). El funcionamiento que quiero obtener es el mismo que las Actualizaciones automáticas de Windows. Me bastaría con saber como lanzar sin clave los comandos apt-get update y upgrade. ¿Cómo lo podría hacer? ¿Conllevaría esto algún problema de seguridad? Mi idea ronda un trabajo cron programado al iniciar el sistema que ejecute ambos comandos.

Gracias, un saludo!
Tú mismo te respondes, con cron. Sólo hazte un script y lo configuras. En arch la forma fácil sería mover el script a, por ejemplo, /etc/cron.daily y darle permisos de ejecución, en Ubuntu no lo sé pero me imagino que parecido.

Tendrás que tener en cuenta que no pida confirmación, supongo que apt-get dará opción.

Respecto a los problemas, puede que alguna actualización requiera alguna acción (por ejemplo, reiniciar tras actualizar el kernel) y no leerías los mensajes.

De todos modos, ¿estás seguro de que Ubuntu no tiene ninguna opción para que instale las actualizaciones automáticamente? Ya que está tan enfocada al usuario novato se me hace raro.
amuchamu escribió:Tú mismo te respondes, con cron. Sólo hazte un script y lo configuras. En arch la forma fácil sería mover el script a, por ejemplo, /etc/cron.daily y darle permisos de ejecución, en Ubuntu no lo sé pero me imagino que parecido.

Tendrás que tener en cuenta que no pida confirmación, supongo que apt-get dará opción.


Bueno precisamente esa es la parte donde necesito mas ayuda, no se como hacer para que no me pida clave al ejecutar esos comandos, y solo esos, quiero que por ejemplo apt-get install siga manteniendo la clave.
cron te ejecutará los scripts con permisos de root, así que por esa parte no te preocupes. Me refiero a si te pregunta si sustituir un paquete o añadir una dependencia nueva, cosas así.
amuchamu escribió:cron te ejecutará los scripts con permisos de root, así que por esa parte no te preocupes. Me refiero a si te pregunta si sustituir un paquete o añadir una dependencia nueva, cosas así.


Si, creo recordar que en la documentación del comando viene como hacer para que sea si siempre así que por eso no hay problema. Gracias, no sabía que cron ejecutaba comandos como root ;)
Buenas!

No estoy seguro porque ya no lo uso, pero el synaptic no tiene algún tipo de opción para hacer lo que dices? Yo juraría que cuando lo probé me daba la opción de elegir con que frecuencia quería buscar actualizaciones.
pepako escribió:Buenas!

No estoy seguro porque ya no lo uso, pero el synaptic no tiene algún tipo de opción para hacer lo que dices? Yo juraría que cuando lo probé me daba la opción de elegir con que frecuencia quería buscar actualizaciones.


Si, pero la idea es aplicarlas también todas sin preguntar ni nada. Quiero que sea así para dejárselo todo programado a algunas personas que se que no se preocuparán por actualizar el S.O. en la vida.
Pues si lo consigues di cómo, que me interesa...
He tenido que mirar por encima una manpage de apt-get ya que no uso una derivada de debian, pero sería algo así.

Hacer un archivo llamado actualizar.sh o como queráis, con esto:

#!/bin/bash
apt-get update && apt-get upgrade --assume-yes

Le dais permisos de ejecución y ahora tenéis que indicarle a cron que lo lance periódicamente. En arch, en /etc están los directorios cron.daily, cron.hourly, cron.monthly y cron.weekly, los ejecutables que se metan ahí se lanzarán con el periodo indicado. En Ubuntu no sé si estarán, aunque siempre podéis mirar algún manual de crontab para indicar el periodo que queráis, etc.
El gnome update de Ubuntu lo tiene así por lo quieres poner.
9 respuestas