Esta sección cubre cómo desplegar las actualizaciones de software a los dispositivos que ejecutan el Raspberry Pi OS.
Antes de seguir adelante, vamos a investigar por qué mantener nuestros dispositivos actualizados es importante.
La primera y probablemente la razón más importante es la seguridad. Un dispositivo que ejecuta Raspberry Pi OS contiene millones de líneas de código en las que confía. Con el tiempo, estos millones de líneas de código expondrán vulnerabilidades bien conocidas conocidas como Common Vulnerabilities and Exposures (CVE), que están documentadas en bases de datos disponibles públicamente, lo que significa que son fáciles de explotar. Aquí hay un ejemplo de una CVE reciente encontrada en KODI que proporciona un poco más de información sobre qué información está disponible en la base de datos y cómo se rastrean las CVE. La única manera de mitigar estos exploits como usuario de Raspberry Pi OS es mantener tu software actualizado, ya que los repositorios upstream rastrean los CVEs de cerca y tratan de mitigarlos rápidamente.
La segunda razón, que está relacionada con la primera, es que el software que estás ejecutando en tu dispositivo contiene, con toda seguridad, bugs. Algunos bugs son CVEs, pero los bugs también podrían estar afectando a la funcionalidad deseada sin estar relacionados con la seguridad. Al mantener tu software actualizado, estás disminuyendo las posibilidades de dar con estos bugs.
APT (Advanced Packaging Tool)
Para actualizar el software en Raspberry Pi OS, puedes utilizar la herramienta apt en un terminal. Abre una ventana de terminal desde la barra de tareas o el menú de aplicaciones:
Primero, actualiza la lista de paquetes de tu sistema introduciendo el siguiente comando:
sudo apt update
A continuación, actualiza todos tus paquetes instalados a sus últimas versiones con el siguiente comando:
sudo apt full-upgrade
Nota que full-upgrade
se utiliza con preferencia a un simple upgrade
, ya que también recoge los cambios de dependencia que se hayan podido realizar.
En general, hacer esto con regularidad mantendrá su instalación actualizada para la versión principal del Raspberry Pi OS que está utilizando (por ejemplo, Stretch). No se actualizará de una versión principal a otra, por ejemplo, de Stretch a Buster.
Sin embargo, hay cambios ocasionales realizados en la imagen del Raspberry Pi OS de la Fundación que requieren una intervención manual, por ejemplo, un paquete recién introducido. Estos no se instalan con una actualización, ya que este comando sólo actualiza los paquetes que ya tiene instalados.
Actualización del kernel y del firmware
El kernel y el firmware se instalan como un paquete de Debian, por lo que también recibirán actualizaciones al utilizar el procedimiento anterior. Estos paquetes se actualizan con poca frecuencia y después de extensas pruebas.
Sin espacio
Cuando se ejecuta sudo apt full-upgrade
, se mostrará cuántos datos se descargarán y cuánto espacio ocuparán en la tarjeta SD. Merece la pena comprobar con df -h
que tienes suficiente espacio libre en el disco, ya que lamentablemente apt
no lo hará por ti. Ten en cuenta también que los archivos de paquetes descargados (.deb
archivos) se guardan en /var/cache/apt/archives
. Puede eliminarlos para liberar espacio con sudo apt clean
sudo apt-get clean
en versiones anteriores de apt).
Actualización de Stretch a Buster
Atención: Actualizar una imagen Stretch existente es posible, pero no se garantiza que funcione en todas las circunstancias y no lo recomendamos. Si desea intentar actualizar una imagen Stretch a Buster, le recomendamos encarecidamente que haga una copia de seguridad primero – no podemos aceptar ninguna responsabilidad por la pérdida de datos de una actualización fallida.
Para actualizar, primero modifique los archivos /etc/apt/sources.list
y /etc/apt/sources.list.d/raspi.list
. En ambos archivos, cambie cada aparición de la palabra stretch
por buster
. (Ambos archivos requerirán sudo para ser editados.)
A continuación, abre una ventana de terminal y ejecuta:
sudo apt updatesudo apt -y dist-upgrade
Responde «sí» a cualquier pregunta. También puede haber un punto en el que la instalación se detenga mientras se muestra una página de información en la pantalla – mantenga la tecla de espacio para desplazarse por todo esto y luego pulse q para continuar.
Por último, si no utiliza PulseAudio para nada más que el audio Bluetooth, elimínelo de la imagen introduciendo:
sudo apt -y purge "pulseaudio*"
Si se pasa a un nuevo modelo de Pi (por ejemplo la Pi 3B+), puede que también tenga que actualizar el kernel y el firmware siguiendo las instrucciones anteriores.
Soluciones de terceros
Esta sección aborda por qué las soluciones de terceros pueden ser de interés y por qué apt no es óptimo para todas las situaciones. Raspberry Pi no recomienda ninguna herramienta específica de terceros. Los futuros usuarios deben determinar la herramienta más adecuada para sus necesidades particulares.
Apt es una forma conveniente de actualizar el software de su dispositivo que ejecuta Raspberry Pi OS, pero la limitación de este método se hace evidente cuando se tiene un grupo más grande de dispositivos para actualizar, y especialmente cuando no se tiene acceso físico a sus dispositivos y cuando están distribuidos geográficamente.
Si carece de acceso físico a sus dispositivos y desea desplegar actualizaciones desatendidas Over-The-Air (OTA), aquí hay algunos requisitos generales:
- La actualización no debe, bajo ninguna circunstancia, romper («ladrillo») los dispositivos, e.g si la actualización se interrumpe (pérdida de energía, pérdida de la red, etc.), el sistema debe volver a un estado de trabajo
- La actualización debe ser atómica: actualización exitosa o actualización fallida; nada en el medio que pueda resultar en un dispositivo que todavía «funciona» pero con un comportamiento indefinido
- La actualización debe ser capaz de instalar imágenes/paquetes que están firmados criptográficamente, evitando que terceros instalen software en su dispositivo
- La actualización debe ser capaz de instalar actualizaciones utilizando un canal de comunicación seguro
Desgraciadamente apt carece de las características de robustez, es decir.e. atomicidad y fall-back. Por eso han empezado a aparecer soluciones de terceros que intentan resolver los problemas que hay que abordar para desplegar actualizaciones desatendidas OTA.