February 11, 2023

830 words 4 mins read

Opciones para instalar R en una Raspberry Pi y otros sistemas ARM

Opciones para instalar R en una Raspberry Pi y otros sistemas ARM

Esto comenzó como una sección en algunas de mis otras publicaciones, pero a medida que las opciones de instalación comenzaron a acumularse, comenzó a ocupar demasiado espacio para ser solo una sección en un artículo, por lo que decidí convertirlo en un artículo propio.

Las opciones descritas aquí se aplican principalmente a la familia de computadoras de placa única Raspberry Pi, pero dado que la mayoría de opciones también funcionan en distribuciones Ubuntu, también pueden aplicarse a otros sistemas Linux ARM como otros SBC o incluso computadoras ARM de “tamaño completo” como Ampere Altra o AWS Gravitón.

Instalar desde los repositorios del Sistema Operativo

Esta es la opción más fácil, puedes instalar R desde los repositorios estándar para tu sistema operativo, pero esas versiones de R suelen ser bastante antiguas, por ejemplo, la última versión de Raspberry Pi OS viene con R 4.2.2 y Ubuntu 22.04 viene con R 4.1.2.

Para instalar R con esta opción, solo necesitas ejecutar este comando en tu terminal de sistema:

sudo apt install r-base

Esto está bien si solo quieres probar R o hacer cosas simples con él, pero si vas a trabajar en un proyecto serio, es probable que desees comenzar con una versión actualizada de R.

Compilar R desde la fuente

Otra opción es compilar la última versión de R tu mismo (4.3.1 al momento de escribir) a partir de los archivos de código fuente, esta es una tarea que requiere mucho tiempo y puede resultar un poco intimidante para los recién llegados, pero te brinda la mayor flexibilidad cuando se trata de configurar las opciones de compilación, por ejemplo, puede elegir opciones como compilar con BLAS y LAPACK para acelerar cálculos de matriciales.

Puedes compilar R desde la fuente ejecutando este script en una terminal del sistema, funciona tanto para las distribuciones de Raspberry Pi OS como de Ubuntu:

sudo su
    
# Define la version R a instalar
R_VERSION=4.3.1

apt install -y g++ gcc gfortran libreadline-dev libx11-dev libxt-dev \
            libpng-dev libjpeg-dev libcairo2-dev xvfb \
            libbz2-dev libzstd-dev liblzma-dev libtiff5 \
            libssh-dev libgit2-dev libcurl4-openssl-dev \
            libblas-dev liblapack-dev libopenblas-base \
            zlib1g-dev openjdk-11-jdk \
            texinfo texlive texlive-fonts-extra \
            screen wget libpcre2-dev make cmake
cd /usr/local/src
wget https://cran.rstudio.com/src/base/R-${R_VERSION:0:1}/R-$R_VERSION.tar.gz
tar zxvf R-$R_VERSION.tar.gz
cd R-$R_VERSION
./configure --enable-R-shlib --enable-memory-profiling --with-blas --with-lapack #BLAS y LAPACK son opcionales
make
make install
cd ..
rm -rf R-$R_VERSION*
exit

Instalar R usando rig

rig es un administrador de instalación de R que te permite instalar varias versiones de R una al lado de la otra. Recientemente agregó soporte para sistemas Linux ARM64 a través del repositorio de GitHub rstudio/r-builds , aunque se estipula que estas compilaciones son un recurso de la comunidad, Posit no los apoya profesionalmente. Actualmente solo admite distribuciones Ubuntu y Debian (La última versión de Raspberry Pi OS se basa en Debian 12, por lo que también es compatible).

Puedes instalar rig en tu sistema ejecutando este comando en una terminal del sistema:

curl -Ls https://github.com/r-lib/rig/releases/download/latest/rig-linux-arm64-latest.tar.gz |
  sudo tar xz -C /usr/local

Luego puedes instalar la última versión estable de R con estos comandos:

sudo rig add release # O una versión especifica como 4.3.1
sudo rig default release

Opcionalmente, puedes descargar e instalar R manualmente desde R-hub como se explica en el repositorio Github rstudio/r-builds, pero este es un procedimiento más complicado que solo vale la pena si vas a integrarlo en tu propio flujo de trabajo de administración de infraestructura y deseas evitar la sobrecarga de instalar rig.

Instalar R desde el Proyecto R4Pi

Y por último, pero no menos importante, mi nuevo favorito, puedes instalar R desde el proyecto R4Pi a través de su repositorio deb, lo que significa que siempre obtendrá actualizaciones de la versión R simplemente ejecutando sudo apt update && sudo apt upgrade. Actualmente es compatible tanto con la versión antigua (Debian 11) como con la última versión de Raspberry Pi OS (Debian 12), pero el soporte para la versión más reciente es sólo para 64 bits. Hay trabajos experimentales para soportar Ubuntu 22.04 LTS arm64, pero aún no es de acceso público.

Para agregar el repositorio deb de R4Pi a tu lista de fuentes deb e instalar R, ejecuta estos comandos en una terminal del sistema:

curl -O  https://pkgs.r4pi.org/dl/r4pi-repo-conf_0.0.1-1_all.deb
sudo dpkg -i  r4pi-repo-conf_0.0.1-1_all.deb
sudo apt update
sudo apt upgrade
sudo apt install r4pi
rm r4pi-repo-conf_0.0.1-1_all.deb

El principal beneficio del proyecto R4Pi es que también proporciona repositorios de paquetes R con binarios precompilados para una gran selección de paquetes R, lo que reduce en gran medida el tiempo y el esfuerzo necesarios para instalar paquetes R en Raspberry Pi y, por cierto, también puedes usar el repositorio de paquetes R4Pi con todas las opciones de instalación anteriores simplemente configurando la opción “repos” en un archivo .Rprofile.

local({r <- getOption("repos")
       r["R4Pi"] <- "https://pkgs.r4pi.org/aarch64" # o "https://pkgs.r4pi.org/" para sistemas de 32-bits
       r["CRAN"] <- "https://cran.rstudio.com/" # Repositorio secundario para cuando no hay binario disponible
       options(repos=r)})
Edit this page
comments powered by Disqus