Actualmente, para actualizar las cosas en mi Raspberry Pi, tengo que escribir sudo apt-get update
y sudo apt-get upgrade
. ¿Hay alguna manera de configurarlo para hacer esto automáticamente? Estoy ejecutando Raspbian Jessie.
Actualmente, para actualizar las cosas en mi Raspberry Pi, tengo que escribir sudo apt-get update
y sudo apt-get upgrade
. ¿Hay alguna manera de configurarlo para hacer esto automáticamente? Estoy ejecutando Raspbian Jessie.
Respuestas:
en lugar de un cron manual, puede instalarlo unattended-upgrades
, lo cual es útil para garantizar que se instalen los núcleos más recientes. Está diseñado principalmente para la seguridad.
https://wiki.debian.org/UnattendedUpgrades
apt-get install unattended-upgrades
Hay algunos bits que se pueden ajustar / configurar, pero el valor predeterminado es correcto.
50unattended-upgrades
lista "origin=Debian,codename=${distro_codename},label=Debian-Security";
y parece encontrar paquetes relevantes correctamente. Por supuesto, ignora a muchos de ellos. No he configurado ninguna lista blanca o negra.
50unattended-upgrades
es realmente estúpido y debe cambiarse para que esto funcione en Raspian. No existe Raspian-Security
. Las actualizaciones de seguridad no están etiquetadas. Es importante añadir tanto "origin=Raspbian,codename=${distro_codename},label=Raspbian";
y "origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
a/etc/apt/apt.conf.d/50unattended-upgrades
En una terminal, escriba:
sudo su
Para acceder a un indicador de nivel raíz. Entonces corre:
crontab -e
Para comenzar a editar su crontab, una tabla de tareas para ejecutar automáticamente en un momento dado. Se abrirá en su editor de texto preferido. Modifíquelo para incluir las siguientes líneas:
0 7 * * 1 apt update && apt upgrade -y
Para actualizar y actualizar automáticamente sus aplicaciones a las 7 AM todos los lunes. Lea el crontab para ver cómo adaptarse a su gusto.
&&
ya que están relacionados y no hay razón para hacer 'actualizar' si falla 'actualizar'.
0
significa domingo, pero en su código lo ha puesto 1
para que el comando se ejecute el lunes, no el domingo
dist-upgrade
es mejor que upgrade
, terminarás con dependencias rotas usando solo upgrade
. Tampoco recibirá actualizaciones que requieran confirmaciones de diálogo. @ tedder42 señaló el método preferido por Debian (usando unattended-upgrades
).
sudo
allí; has cambiado a la root
cuenta usando su
. El crontab del superusuario se ejecuta con privilegios de superusuario.
Puede instalar y configurar cron-apt. Instálelo haciendo lo siguiente:
apt-get install cron-apt
el archivo de configuración principal es / etc / cron-apt / config
Una cosa que agrego a mi configuración es:
MAILON="always"
esto enviará un correo electrónico cada vez que se ejecute, no solo si encuentra un error.
Tenga en cuenta que la configuración predeterminada no instalará automáticamente las actualizaciones (hay algunas buenas razones para no hacerlo), pero puede configurarlo para que lo haga. Una ventaja de este programa sobre una solución cron simple es que le da control sobre lo que se instala (solo descargue nuevos paquetes, instale actualizaciones de seguridad o instale todas las actualizaciones).
Para configurar el tiempo de ejecución, edite el archivo /etc/cron.d/cron-apt.
Puedes encontrar más información y opciones de configuración aquí
El paquete incluye muy buena documentación, sin embargo, está comprimido. Para extraer el archivo:
En su configuración predeterminada, unattended-upgrades
está roto en Raspbian Buster. No instalará actualizaciones cruciales para el kernel y otro software. Sus opciones son:
Opción recomendada:
sudo apt install unattended-upgrades
echo 'Unattended-Upgrade::Origins-Pattern {
// Fix missing Rasbian sources.
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
};' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-raspbian
Para actualizaciones de seguridad más rápidas (pero menos estabilidad, ya que los paquetes no han sido aprobados para rasbian), puede agregar paquetes debian-security a apt:
echo 'deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free' | sudo tee /etc/apt/sources.list.d/debian-security.list
Probablemente necesitará instalar nuevas claves apt para el repositorio de Debian .
Otras opciones:
Trabaja alrededor de esto usando cron-apt:
sudo apt install cron-apt
Otras formas de solucionarlo.
Se recomienda usar actualizaciones desatendidas y arreglar el paquete, ya que es el más adecuado para ese propósito. Cron-apt es su segunda mejor opción, porque también está diseñado para un propósito similar. No estoy seguro de que ninguno pueda reiniciar automáticamente su sistema después de una actualización del kernel. Las actualizaciones desatendidas generalmente tienen esa opción, pero no estoy seguro de que funcione con la solución anterior.
/var/log/unattended-upgrades/unattended-upgrades.log
archivo notificadoAllowed origins are: []
por lo que básicamente no estaba tirando de las actualizaciones en Después de la actualización./etc/apt/apt.conf.d/50unattended-upgrades
Para incluir"origin=Raspbian,codename=${distro_codename},label=Raspbian";
actualizaciones empezado a entrar.