hits counter
Este sitio web utiliza cookies para obtener estadísticas de navegación. Si sigue adelante, consideraremos que acepta su uso. Acepto | Más información

Sistema:



Instalar el sistema operativo

Para la Raspberry existe una gran variedad de sistemas operativos. La mayoría de estos sistemas son distintas distribuciones de Linux. En la página web de la Fundación Raspberry Pi hay varias de estas distribuciones disponibles. Por su carácter genérico, la más utilizada (y la recomendada por la Fundación) es Raspberry Pi OS, que está basada en Debian. Podemos elegir entre la versión de 32 bits, válida para todos los modelos, o la de 64 bits, válida únicamente para la Raspberry Pi 3, 3+ y 4. Sea cual sea la elegida, descargamos la última versión y la guardamos en una carpeta de nuestro PC.

No obstante, también se pueden instalar otros sistemas operativos, como FreeBSD o NetBSD. Incluso es posible instalar Windows 10/11, en su versión ARM, para lo cual se recomienda usar la Raspberry Pi 4 con una RAM de 4 u 8 GB.

En el caso de Linux o BSD, tenemos que descargar además la utilidad con la que crearemos la imagen del sistema operativo en la tarjeta microSD. Para esto disponemos de varias opciones: podemos usar balenaEtcher (disponible para Windows, macOS y Linux), Win32 Disk Imager (sólo para Windows) o la aplicación que ofrece la propia Fundación, llamada Raspberry Pi Imager (para Windows, macOS y Ubuntu).

Es preferible usar esta última aplicación por varias razones: no es necesario descargar antes la imagen del sistema operativo, ya que tendremos disponibles varios sistemas para elegir y ella misma se ocupa de realizar la descarga de la versión más reciente; podemos activar el acceso a través de SSH y, lo más importante, nos permite poner el nombre y la contraseña que vamos a utilizar para el usuario principal. Y es que las nuevas versiones de Raspberry Pi OS, por razones de seguridad, ya no incluyen por defecto un usuario (pi) y su contraseña (raspberry), sino que es necesario crear manualmente un usuario personalizado.

El proceso completo, paso a paso, lo haremos del siguiente modo:

  1. 1.) Insertamos la tarjeta microSD (es recomendable que sea de 16 GB o más) en el lector de tarjetas de nuestro ordenador.
  2. 2.) Arrancamos Raspberry Pi Imager. En primer lugar seleccionamos el sistema operativo (Operating System) que queramos instalar y luego elegimos el dispositivo de almacenamiento (Storage), que debe corresponder con el lector donde tenemos alojada la tarjeta microSD.
  3. 3.) A continuación pinchamos en la rueda dentada que aparece señalada con una flecha en la siguiente imagen:
  4. 4.) Se nos abrirá la ventana de opciones avanzadas en la que activaremos el servidor SSH, escribiendo un nombre de usuario y su contraseña:
  5. 5.) Hacemos clic en el botón SAVE para guardar los cambios.
  6. 6.) Por último, de vuelta en la ventana principal, pinchamos en WRITE para que se copie el sistema operativo en la microSD.
  7. 7.) Terminado el proceso, cerramos la aplicación.

Una vez hecho lo anterior, seguiremos estos pasos para poner en marcha la Raspberry Pi:

  1. 1.) Extraemos la microSD del lector de tarjetas del PC y la colocamos en la ranura de inserción de la Raspberry.
  2. 2.) Conectamos un extremo del cable de red en el conector Ethernet de la RasPi y el otro extremo en el router (o en un AP o en un PLC, según el caso).
  3. 3.) Conectamos el cable de alimentación y encendemos la placa.

Si nuestro router tiene activado el servidor DHCP, este asignará automáticamente una dirección IP a la Raspberry.




Acceso mediante SSH

En lugar de dedicar un monitor, un teclado y un ratón para conectarnos a la Raspberry, vamos a acceder a ella de forma remota mediante el servidor SSH que lleva instalado el sistema operativo Raspberry Pi OS y que habilitamos en el apartado anterior. Esto significa que la manejaremos desde nuestro PC o desde cualquier otra máquina de la red local. La conexión a un servidor SSH se realiza además de forma segura, ya que el tráfico de datos que circula entre el servidor y el cliente va cifrado.

Una vez insertada la tarjeta microSD en la Raspberry, ponemos esta en marcha y ya podremos acceder por SSH. Podemos hacerlo desde una tableta digital o un smartphone Android con la app JuiceSSH, que es un cliente SSH. Con Linux, macOS o Windows, si el acceso lo hacemos mediante la línea de comandos, sólo tendremos que escribir lo siguiente :

ssh piuser@192.168.1.33

sustituyendo piuser por el nombre del usuario que creamos antes durante la instalación del sistema operativo y 192.168.1.33 por la IP de la Raspberry en nuestra red local. Si no conocemos aún su dirección IP, podemos usar una utilidad como Netscan o Wireless Network Watcher (para Windows) con el fin de averiguarla. En el caso de Android, la app Fing hará la misma tarea. Con cualquiera de ellas escanearemos el rango de IPs de nuestra red local y veremos cuál le ha asignado el router a la Raspberry.

Pero en Windows lo más habitual es trabajar desde el escritorio, en cuyo caso es muy recomendable usar el cliente PuTTY, que ofrece este aspecto:

En Host Name escribimos la dirección IP de la Raspberry, mientras que en Port dejaremos el 22. Ya sólo falta pulsar en el botón Open para realizar la conexión. Se nos pedirá el nombre de usuario y la contraseña, que serán los que creamos en el apartado anterior cuando copiamos el SO en la microSD.




Configuración básica

Una vez que hayamos realizado la conexión mediante SSH, lo primero que haremos será configurar adecuadamente el sistema operativo Raspberry Pi OS que acabamos de instalar. Para ello escribimos

sudo raspi-config

y aparecerá una ventana como la de la figura de abajo para configurar determinados aspectos del sistema:

Las siguientes cinco opciones son quizás las más importantes:

  1. 1 System Options: aquí encontramos opciones como S3 Password, que sirve para cambiar la contraseña del usuario, u otras como S5 Boot / Auto Login, donde escogeremos el modo en que deseamos que arranque el sistema por defecto cuando nos conectemos mediante monitor, teclado y ratón: en modo Console (es decir, en modo texto o línea de comandos) o en modo Desktop (mostrando el escritorio en el sistema gráfico).
  2. 3 Interface Options: en este apartado podremos, entre otras cosas, activar el servidor SSH o el servidor VNC, con lo que podremos acceder a la Raspberry desde otro PC, bien sea en modo terminal (SSH) o en modo gráfico (VNC).
  3. 4 Performance Options: con P2 GPU Memory podemos elegir la cantidad de memoria RAM que el sistema asigna a la GPU (tarjeta gráfica). Por defecto, esta cantidad es de 64 MB, pero si vamos a instalar la versión Lite de Raspberry Pi OS, que carece de escritorio, podemos disminuirla al mínimo (16 MB) a fin de ganar memoria RAM para uso del sistema operativo.
  4. 5 Localisation Options: nos permite cambiar el idioma (L1 Locale), la hora local (L2 Timezone) o el teclado (L3 Keyboard).
  5. 6 Advanced Options: A1 Expand Filesystem ofrece la posibilidad de expandir el sistema de ficheros para que ocupe todo el espacio disponible en la tarjeta microSD. Normalmente, el sistema realiza esta tarea automáticamente la primera vez que se inicia, pero si por algún motivo no lo hiciera, habría que ejecutar esta opción para poder usar todo el espacio libre de la tarjeta; de lo contrario, el sistema sólo reconocerá 4 GB en la misma, desperdiciándose el espacio restante.

Para ejecutar la opción seleccionada, pulsamos la tecla del tabulador hasta que quede resaltada la palabra <Select> y luego pulsamos la tecla Intro, con <Back> volvemos hacia atrás y seleccionando <Finish> salimos de la utilidad de configuración.

Otras opciones nos permitirán activar la cámara web (si disponemos de ella), cambiar el nombre de la máquina (hostname), "overclockear" el sistema, controlar el ventilador (Fan) conectado a los pines GPIO, etc. Es cuestión de mirar detenidamente todas las posibilidades de configuración que ofrece esta herramiente y activar/modificar aquellas que necesitemos hasta adaptar el sistema a nuestro gusto.

Una vez configuradas las opciones anteriores según las necesidades de cada usuario, es el momento de actualizar la lista de paquetes que componen el sistema operativo Raspberry Pi OS mediante estos dos comandos:

sudo apt update
sudo apt upgrade -y

Este es algo que debemos hacer con cierta frecuencia para tener siempre actualizada nuestra distribución, tanto en lo que se refiere a la lista de paquetes como a la corrección de posibles fallos o errores en los mismos.


Actualizar el firmware y el kérnel

Opcionalmente, podríamos aprovechar para actualizar el firmware de la Raspberry Pi. Antes de hacerlo, conviene tener bien puesta la hora local. La actualización se guarda en la tarjeta microSD, por lo que no hay peligro de dañar o romper el equipo. Si algo saliera mal, sólo habría que reinstalar Raspberry Pi OS y volver a configurar de nuevo el sistema. Este proceso también actualiza al mismo tiempo el kérnel. Para que se lleven a cabo ambas tareas, tan sólo tenemos que ejecutar este comando:

sudo rpi-update

Una vez acabado el proceso de actualización, es necesario reiniciar para que los cambios surtan efecto:

sudo reboot

Ahora podremos comprobar las nuevas versiones del firmware y del kérnel, respectivamente, con estos comandos:

/opt/vc/bin/vcgencmd version
uname -r



Usar una IP estática

Estamos dando por supuesto que la IP local de la Raspberry nos la asignará el router mediante el servidor DHCP que lleva incluido, lo que significa que será una IP dinámica (podrá cambiar cada vez que reiniciemos el router). Sin embargo, para identificarla en la red local de forma inequívoca y, sobre todo, si vamos a instalar aplicaciones que requieran la apertura de puertos y acceso a través de Internet, es imprescindible asignarle una IP estática.


Conexión por cable

En las versiones anteriores del sistema Raspberry Pi OS se utilizaba el fichero /etc/network/interfaces para configurar las distintas interfaces de red. Sin embargo, a partir de la versión Jessie debemos recurrir al fichero /etc/dhcpcd.conf para realizar esta tarea. Así pues, vamos a editar este último archivo:

sudo nano /etc/dhcpcd.conf

Nos desplazamos hasta al final del mismo y ahí realizamos las modificaciones o añadidos necesarios para indicar la IP estática que queramos asignar a la Raspberry, de modo que quede así:

interface eth0
static ip_address=192.168.1.33/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4

En la primera línea se indica el nombre de la interfaz de red que vamos a configurar (eth0 en este caso, o sea, la interfaz Ethernet por cable); en la segunda es donde pondremos la IP estática propiamente dicha (192.168.1.33 en este ejemplo); en la tercera línea escribimos la IP que corresponde a la puerta de enlace (el router); y en la cuarta pondremos uno o dos servidores de DNS (aquí hemos puesto los de Google, pero podríamos escribir las IPs de los servidores de DNS que más nos gusten).


Conexión por wifi

Si queremos conectarnos mediante wifi en lugar de hacerlo por cable, en primer lugar accederemos a la configuración del sistema mediante el comando que usamos más arriba:

sudo raspi-config

y entramos en el apartado 5 Localisation Options. Aquí seleccionamos L4 WLAN Country y elegimos nuestro país (ES Spain en nuestro caso).

A continuación pasamos a configurar la conexión wifi. Para ello, editamos el siguiente fichero:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Al final del mismo añadimos estas líneas:

network={
ssid="SSID"
psk="PASSWORD"
}

Sustituimos SSID por el nombre de nuestra red wifi y PASSWORD por la contraseña que usamos en ella.

Para usar una IP fija, lo haremos igual que como lo hicimos antes por cable, así que editamos de nuevo el mismo fichero:

sudo nano /etc/dhcpcd.conf

Sólo habremos de cambiar la primera línea para indicarle al sistema que vamos a usar la interfaz inalámbrica (wlan0), de manera que quedará así:

interface wlan0
static ip_address=192.168.1.33/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4

Para que funcione todo correctamente, debemos iniciar el adaptador wifi. Como a veces este proceso da problemas si lo hacemos mediante comandos o incluso reiniciando el sistema, lo mejor es apagar la Raspberry:

sudo shutdown -h now

y encenderla de nuevo.




Acceder desde Internet

Dado que la mayoría de nosotros no tenemos una IP fija (sino IP dinámica) en nuestra conexión a Internet, para poder acceder desde fuera de nuestra red local a la RasPi necesitamos crearnos previamente un DDNS (Dynamic DNS o DNS dinámico, en español), que es una especie de dominio virtual. Podemos crear uno gratuitamente en No-ip, por ejemplo.

Una vez hecho desde su web, nos descargamos e instalamos el cliente en la Raspberry. Lo haremos así:

mkdir no-ip
cd no-ip
wget https://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar -zxvf noip-duc-linux.tar.gz
cd noip-2.1.9-1                     [o el nº de versión que hayamos descargado]
make
sudo make install

Al empezar la instalación nos solicitará nuestros datos de la cuenta de No-ip (email y contraseña), comprobará el DDNS indicado y nos preguntará el tiempo de actualización del mismo, que por defecto es de 30 minutos.

Para iniciar el servicio debemos escribir lo siguiente:

sudo /usr/local/bin/noip2

Autoarranque de No-ip

Si queremos que No-ip se inicie automáticamente cada vez que encendamos la Raspberry, debemos de hacer varias cosas. Primero creamos el siguiente fichero:

sudo nano /etc/init.d/noip2

Luego insertamos este código en el fichero que acabamos de crear:

#!/bin/bash
### BEGIN INIT INFO
# Provides: Servicio No-IP
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Arranque automatico para No-IP
# Description:
#
### END INIT INFO
sudo /usr/local/bin/noip2

Ahora lo guardamos (Ctrl+o, Intro, Ctrl+x) y le damos permisos de ejecución:

sudo chmod +x /etc/init.d/noip2

Finalmente lo ponemos en la cola de ejecución:

sudo update-rc.d noip2 defaults

A partir de este momento el servicio No-ip ya estará activo y funcionando en el sistema. Podemos comprobarlo con este comando:

sudo /usr/local/bin/noip2 -S

Reconfigurar No-ip

Si con el tiempo necesitáramos reconfigurar el servicio, primero tendremos que matar el proceso:

sudo pkill noip2

Y ya podremos reconfigurarlo de nuevo escribiendo lo siguiente:

sudo /usr/local/bin/noip2 -C

Finalmente volvemos a iniciar el servicio:

sudo /usr/local/bin/noip2

RECORDEMOS: antes de poder acceder, por ejemplo, por SSH necesitamos abrir el puerto 22 en el router (y en el cortafuegos, si lo tenemos instalado) y redirigirlo a la IP local de la RasPi. Hecho esto, ya podremos acceder con el nombre de nuestro dominio de No-ip (por ejemplo, midominio.ddns.org) a la Raspberry y manejarla remotamente desde Internet igual que si estuviéramos en nuestra red local.




Instalación de Webmin

Más arriba hicimos una configuración básica del sistema Raspberry Pi OS. En los últimos apartados hemos realizado algunas tareas más de configuración. Sin embargo, los usuarios que posean un conocimiento avanzado del sistema, seguramente querrán hacer una configuración mucho más completa del mismo. Para ello podemos usar Webmin, que posee dos ventajas: en primer lugar, ofrece una interfaz web para administrar de forma gráfica el sistema operativo (en lugar de hacerlo empleando la línea de comandos) y en segundo lugar permite realizar la configuración del sistema desde un mismo sitio, sin tener que ir saltando de directorio en directorio.

Antes de proceder con la instalación, actualizamos los paquetes de nuestro sistema operativo:

sudo apt update
sudo apt upgrade

Luego, en la página web de Webmin podemos ver cuál es la última versión de esta aplicación. En este momento es la 1.991, así que nos la descargamos:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.991_all.deb

Antes de instalarla debemos asegurarnos de que tenemos en el sistema las dependencias necesarias:

sudo apt install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

Hecho lo anterior, ya podemos proceder a su instalación:

sudo dpkg -i webmin_1.991_all.deb

Una vez finalizada la instalación (que puede tardar un poco), accederemos a la interfaz web de la aplicación utilizando el navegador mediante el protocolo seguro https, poniendo la IP local de la Raspberry y el puerto 10000:

https://192.168.1.33:10000

Puesto que se trata de una conexión segura, para poder acceder, previamente tendremos que añadir una excepción de seguridad en el navegador. A continuación se nos pedirá el nombre del usuario que estamos usando en el sistema y su contraseña.

Una vez que hayamos accedido a Webmin, veremos a la izquierda el menú de configuración del sistema:

Una de las primeras cosas que podemos hacer, si lo deseamos, es cambiar el idioma de la propia interfaz, seleccionando en Webmin - Change Language and Theme las opciones que se muestran en la imagen de abajo. Escogemos el español (o el idioma que queramos) y hacemos clic en el botón Make Changes.

Esta aplicación permite configurar multitud de opciones en nuestro sistema, por lo que explicar cada una de ellas sería un trabajo enorme. Sólo tenemos que recorrer detenidamente su amplio menú lateral para hacernos una idea de la gran cantidad de cambios que podemos realizar. Para salir de la aplicación, pinchamos en el icono rojo que hay a la derecha de la barra inferior de iconos.




Instalar RPi-Monitor

RPi-Monitor es una utilidad que nos proporciona abundante información sobre nuestro sistema. Vamos a instalarlo desde el repositorio correspondiente. Para ello, lo primero será incluir la clave pública de dicho repositorio:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F

Ahora ejecutamos este comando para añadir RPi-Monitor a nuestra lista de repositorios:

sudo wget http://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list

Actualizamos el sistema de la forma habitual y luego procedemos a instalarlo:

sudo apt update
sudo apt upgrade
sudo apt install rpimonitor

Finalmente lo actualizamos:

sudo /etc/init.d/rpimonitor update

Ya podemos entrar en la interfaz web de la aplicación usando la IP local de la Raspberry y el puerto 8888:

http://192.168.1.33:8888

Aparecerá una imagen similar a esta:

Si pinchamos arriba, en el menú Statistics, podremos ver una serie de gráficos con información sobre diversos parámetros del sistema: carga de la CPU, memoria usada, velocidad de los datos transmitidos por la red, temperatura, etc.

Podemos controlar el funcionamiento de RPi-Monitor con estos comandos:

sudo systemctl start rpimonitor                  [Iniciarlo]
sudo systemctl stop rpimonitor                   [Pararlo]
sudo systemctl restart rpimonitor                [Reiniciarlo]
sudo systemctl status rpimonitor                 [Conocer su estado]

Cambios en la configuración

Si por algún motivo queremos cambiar el puerto por defecto (8888), editamos el fichero de configuración:

sudo nano /etc/rpimonitor/daemon.conf

Buscamos en él la línea que se indica a continuación, la descomentamos y cambiamos el número del puerto:

daemon.port=7865

Hecho este cambio, será necesario reiniciar el servicio:

sudo systemctl restart rpimonitor

A partir de este momento accederemos a la interfaz web a través del nuevo puerto:

http://192.168.1.33:7865

Para hacer cambios en la información que aparece en la pantalla de Status, tenemos que seguir estos pasos:

  1. 1.- Descomentar/comentar (según queramos que se muestre o no un determinado módulo) las líneas apropiadas en el fichero /etc/rpimonitor/template/raspbian.conf, que como podemos ver, es un enlace simbólico al auténtico fichero de configuración (/etc/rpimonitor/data.conf).
  2. 2.- En los casos en que sea necesario (como ocurre con storage.conf, por ejemplo), modificaremos la plantilla que se corresponda con el módulo que nos interese, haciendo en ella los cambios oportunos. Estas plantillas se encuentran en la ruta /etc/rpimonitor/template
  3. 3.- Reiniciar el servicio para que las modificaciones se hagan visibles:
    sudo systemctl restart rpimonitor

Actualizaciones

Cuando se nos indique que hay nuevos paquetes para actualizar (en la página de Status, al final del apartado Version), podremos hacerlo con los comandos habituales:

sudo apt update
sudo apt upgrade

Además, si lo deseamos, podemos actualizar la aplicación por si hubiera disponible una nueva versión:

sudo /etc/init.d/rpimonitor update

Eliminar/reinstalar

Si por algún motivo deseamos eliminar este servicio, haremos lo siguiente:

sudo apt purge rpimonitor
sudo rm -rf /etc/rpimonitor
sudo rm -rf /usr/share/rpimonitor
sudo rm -rf /var/lib/rpimonitor

Si más adelante queremos reinstalarlo, puesto que no hemos eliminado con los comandos anteriores la clave pública ni los repositorios, sólo hemos de seguir las instrucciones que se indicaron más arriba, es decir:

sudo apt update
sudo apt upgrade
sudo apt install rpimonitor
sudo /etc/init.d/rpimonitor update

Problemas de inicio y solución

A veces nos podemos encontrar con el problema de que el servicio no se inicia correctamente después del arranque de la Raspberry, mostrando en su lugar un mensaje de error. La solución es sencilla; sólo necesitaremos reiniciarlo manualmente para que vuelva a funcionar de forma adecuada:

sudo systemctl restart rpimonitor



Instalar phpSysInfo

phpSysInfo es una utilidad muy similar a la anterior (RPi-Monitor), ya que su finalidad es, asímismo, ofrecernos una amplia información sobre nuestro sistema. Pero antes de poder usarla necesitamos tener instalados en la Raspberry un servidor web y PHP. En este caso vamos a utilizar Apache (aunque también podríamos instalar Nginx de la manera que explicamos aquí). Ahora sólo necesitamos unos pocos módulos de PHP:

sudo apt install apache2 php7.4 libapache2-mod-php7.4 php7.4-xml

A continuación nos dirigimos a la web de phpSysInfo y tomamos nota de cuál es la última versión. Entonces la descargamos desde la propia Raspberry mediante el comando wget que se muestra a continuación, pero cambiando los números de versión por los de la última disponible:

wget https://netcologne.dl.sourceforge.net/project/phpsysinfo/phpsysinfo/3.3.2/phpsysinfo-3.3.2.tar.gz

Acto seguido, la descomprimimos:

tar -zxvf phpsysinfo-3.3.2.tar.gz

Renombramos el directorio donde se ha descomprimido (eliminando los números de versión), lo copiamos en /var/www/html y ya podemos borrar lo que no necesitamos:

mv phpsysinfo-3.3.2 phpsysinfo
sudo cp -R phpsysinfo /var/www/html
rm -rf phpsysinfo*

Vamos a donde lo hemos copiado y usamos como fichero de configuración el que ya viene incluido como ejemplo, pero renombrándolo previamente:

cd /var/www/html/phpsysinfo
sudo cp phpsysinfo.ini.new phpsysinfo.ini

Desde el navegador de cualquier dispositivo de nuestra LAN podremos acceder escribiendo la IP local de la Raspberry seguida de /phpsysinfo:

http://192.168.1.33/phpsysinfo

Esto es un fragmento de la información que se nos mostrará:

El fichero anterior (/var/www/html/phpsysinfo/phpsysinfo.ini) puede editarse para hacer cambios en la configuración. Por ejemplo, modificando estas cinco líneas podemos definir el idioma y la plantilla por defecto, si queremos que aparezan o no sus respectivos menús desplegables en el panel superior y el tiempo de actualización de la información que se muestra:

DEFAULT_LANG="es"
DEFAULT_TEMPLATE="phpsysinfo"
SHOW_PICKLIST_LANG=fase
SHOW_PICKLIST_TEMPLATE=true
REFRESH=60000

Otros cambios requieren conocimientos algo más avanzados. Es lo que sucede si queremos que aparezca la temperatura de la CPU. En este caso localizamos la línea SENSOR_PROGRAM=false y la modificamos así:

SENSOR_PROGRAM="PiTemp"



Otras distros: Ubuntu y Debian

La controversia generada cuando se conoció la inclusión de la firma GPG y el repositorio de Microsoft en la distribución Raspberry Pi OS, sumada al tiempo que ha tardado en estar disponible la versión de 64 bits de la misma, hizo que muchos usuarios buscaran otras distribuciones alternativas, como Ubuntu o Debian, que disponían desde mucho antes de su propia versión de 64 bits. En cualquier caso, y sea cual sea la elegida, hay que recordar que estas sólo son válidas, en los modelos B, para la Raspberry Pi 3, 3+ y 4.


Ubuntu

Una distribución muy recomendable para la Raspberry Pi es Ubuntu. Podemos descargar del enlace anterior la versión Ubuntu Desktop (escritorio) o la versión Ubuntu Server (modo texto, sin escritorio). Se puede elegir además entre la versión LTS (Long Term Support), que se renueva cada dos años, ofrece soporte extendido durante 5 años y es bastante estable, o bien optar por la más actual, que no es LTS y por tanto tiene un tiempo de soporte mucho más limitado. En nuestro caso elegiremos Ubuntu Server LTS. Además de descargarla de su web, también podemos instalarla mediante la utilidad Raspberry Pi Imager, que está disponible para los sistemas operativos Windows, macOS y Ubuntu.

Una vez copiada la imagen en la microSD e insertada esta en la Raspberry, esperamos un poco a que se realicen algunas tareas de configuración y entramos por SSH usando ubuntu tanto para el nombre de usuario como para la contraseña. Esta expira nada más arrancar, así que se nos pedirá que introduzcamos dicha contraseña y que escribamos a continuación una nueva:

El sistema se reiniciará y entraremos con el usuario ubuntu y la nueva contraseña que acabamos de crear.

Esta distribución es muy similar a Raspberry Pi OS. Ambas disponen del comando sudo, por lo que cuando necesitemos realizar una tarea administrativa, tan sólo habrá que anteponer este comando y entonces el usuario ubuntu pasará a tener privilegios de administrador. En cambio, en Debian, como veremos más adelante, existe una cuenta específica para el administrador (root), independiente de las cuentas de los usuarios.

Si queremos asignar a la Raspberry una IP estática, primero es conveniente obtener un listado de las interfaces de red disponibles:

ls /sys/class/net/

Deberían aparecer las siguientes:

eth0    lo   wlan0

Como es conocido, eth0 es la interfaz Ethernet y wlan0 se corresponde con la Wifi.

Nos situamos en el directorio /etc/netplan y en él aparecerá un fichero llamado 01-netcfg.yaml o bien 50-cloud-init.yaml. En nuestro caso es este último, así que lo editamos:

sudo nano /etc/netplan/50-cloud-init.yaml

Comentamos con # todas las líneas que hay en él, para que no tengan efecto, y al final añadimos lo siguiente (respetando la indentación de las líneas):

network:
      version: 2
      renderer: networkd
      ethernets:
           eth0:
                dhcp4: false
                addresses: [192.168.1.33/24]
                gateway4: 192.168.1.1
                nameservers:
                      addresses: [8.8.8.8, 8.8.4.4]

La línea addresses es la que asigna la IP estática; gateway4 se refiere a la puerta de enlace e indica la IP del router; en la última pondremos uno o varios servidores DNS, separados por comas.

Aplicamos los cambios:

sudo netplan apply

y comprobamos que se ha asignado la IP indicada:

ip addr show dev eth0

Debian

También existe una versión específica para la Raspberry Pi de Debian. Se trata de una versión Lite, sin escritorio, que es la adecuada para la instalación de servidores. Esta distribución es una de las más apreciadas en el mundo Linux debido a su gran estabilidad y su respeto por la privacidad. Aunque Raspberry Pi OS deriva de esta, existen, no obstante, algunas diferencias que hacen que su instalación y configuración inicial sean diferentes y algo más complicada, aunque ello contribuye a hacerla también más segura. A este respecto, una diferencia fundamental es que Debian no incluye el comando sudo, por lo que requiere del administrador (root), que ya viene por defecto, más el/los usuarios normales sin privilegios, que hemos de crear nosotros una vez iniciado el sistema.

La imagen la descargaremos del enlace que hemos puesto al princpio del párrafo anterior. Luego la transferimos a la tarjeta microSD usando cualquiera de las utilidades que se indicaron en su momento para instalar Raspberry Pi OS. Y una vez que tengamos instalado el sistema operativo, seguiremos el siguiente procedimiento para poder acceder por SSH:

  1. 1.- Conectamos a la Raspberry un monitor y un teclado.
  2. 2.- La encendemos y esperamos a que arranque.
  3. 3.- Accedemos al sistema mediante el usuario root, sin contraseña.
  4. 4.- Añadimos una contraseña para root con el comando
    passwd
  5. 5.- Creamos un usuario normal, sin privilegios de administrador, con
    adduser new_user                     [sustituyendo new_user por el nombre del usuario]
  6. 6.- Finalmente apagamos el sistema:
    shutdown -h now

Ya podemos desconectar el monitor y el teclado, conectarle un cable de red, enceder la Raspberry y entrar remotamente por SSH mediante el nuevo usuario que hemos creado. Nada más instalar el sistema, no se puede entrar remotamente por SSH debido a que este no permite, por razones de seguridad, la conexión de root. Por eso hay que conectarse antes con monitor y teclado y crear un usuario normal. A partir de este momento, para trabajar como administrador usaremos el comando su - y escribiremos su contraseña. Acabados los trabajos de administración, saldremos con exit.

Si queremos poner una IP estática, tendremos que ir al directorio /etc/network/interfaces.d. Ahí veremeos dos ficheros: eth0 y wlan0, que corresponden, respectivamente, a la interfaz Ethernet y a la interfaz Wifi. En el caso del primero, lo editamos así:

nano eth0

Comentamos las líneas existentes e incluimos este contenido:

auto eth0
iface eth0 inet static
address 192.168.1.33
netmask 255.255.255.0
gateway 192.168.1.1

La línea address corresponde a la IP local que hemos asignado a la Raspberry, mientras que el gateway (o puerta de enlace) hace referencia a la dirección de nuestro router.


Completar la configuración

Vamos a acabar de configurar el sistema operativo que hemos instalado. Si ha sido Ubuntu, seguiremos las instrucciones que se indican a continuación, sin cambiar nada. Pero en el caso de Debian, tendremos que convertirnos en administrador (root) con el comando su - y prescindir de sudo.

En primer lugar pondremos el idioma de la terminal en español:

sudo apt install language-pack-es                 [en Debian no hay que instalar este paquete]
sudo dpkg-reconfigure locales

En un momento dado, se abrirá una ventana y se nos pedirá que elijamos el idioma. Seleccionaremos, naturalmente, el que corresponda a nuestro país, pero cuidando de elegir siempre UTF-8.

En segundo lugar configuraremos la zona horaria:

sudo dpkg-reconfigure tzdata

Empezaremos eligiendo el área geográfica que nos corresponda y luego la ciudad más cercana a nuestro lugar de residencia. Por ejemplo, en nuestro caso sería Europa - Madrid.

Por último, crearemos un fichero que contenga la memoria de intercambio o memoria swap (en este ejemplo, de 1 GB):

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Podemos comprobar que se ha creado correctamente con

free -h

Ahora, para hacerlo permanente y que no se pierda tras cada reinicio, editaremos este fichero:

sudo nano /etc/fstab

y al final del mismo añadiremos lo siguiente (los espacios se insertan con el tabulador):

/swapfile      none      swap      defaults      0      0

Vamos a aprovechar para ajustar los valores de la memoria swap. Para ello editamos el fichero

sudo nano /etc/sysctl.conf

y al final del todo añadimos estas dos líneas:

vm.swappiness=10
vm.vfs_cache_pressure=50

Una vez hecho todo lo anterior, ya sólo queda reiniciar:

sudo reboot