Mi intento de convertir un viejo teléfono Android en un servidor Linux terminó conmigo probando múltiples distribuciones de Linux.
¿Qué tal convertir tu teléfono Android en un servidor doméstico, uno que pudiera competir con dispositivos como la Raspberry Pi? Esto me llevó a otra idea y decidí probar este proyecto. Al fin y al cabo, ya había probado juegos de PC en mi smartphone, así que ejecutar contenedores de Linux no debería ser tan difícil, ¿verdad? Bueno, no exactamente. Debido a las limitaciones de no tener privilegios de root, solo pude ejecutar algunas distribuciones en mi teléfono, y terminé con una mejor configuración para cambiar entre distribuciones que ejecutar servicios empaquetados.
Seleccione los paquetes apropiados para esta configuración.
Al final, elegí configurar Temux + proot-distro.
El mayor desafío de este proyecto fue encontrar una configuración que funcionara de forma fiable sin rootear el teléfono. Antes, desbloqueaba mis teléfonos inmediatamente después de comprarlos. Pero con todas las restricciones que imponen las aplicaciones modernas, pensé que era mejor evitar el root.
Desafortunadamente, el método directo para ejecutar contenedores requiere una máquina rooteada, e incluso módulos de kernel personalizados en algunos casos. Esta limitación me obligó a buscar una alternativa. Ejecutar máquinas virtuales, incluso las que se ejecutan mediante chroot, presentó un problema similar en máquinas no rooteadas.
Esto me dejó con una solución alternativa que incluía Termux, un potente emulador de terminal que suelo usar en mis proyectos de Android. Una búsqueda aleatoria en GitHub me llevó a proot-distro, que parecía el paquete perfecto para este experimento. En esencia, crea un entorno proot (una variante de chroot en el espacio de usuario) donde puedo experimentar con las distribuciones de Linux a mi antojo. No me imaginaba que esto pronto me llevaría a un viaje de distribuciones.
Experimentos con distribuciones de Linux en Android
proot-distro funcionó bien al principio.
Con todos los preparativos listos, llegó el momento de pasar a la siguiente etapa del proyecto. Tras ejecutar el comando `pkg install proot-distro` en Termux, esperé unos minutos a que se descargaran los paquetes necesarios. Luego, ejecuté el comando `proot-distro install debian` para comenzar a configurar el entorno Debian en mi smartphone. Una vez completada la instalación, ejecuté el comando `proot-distro login debian` para iniciar sesión en Debian y, efectivamente, el famoso sistema operativo Debian ya estaba funcionando en mi teléfono.
Como no podía ejecutar ningún paquete con privilegios de sudo, comencé actualizándolos con los comandos habituales `apt update` y `apt upgrade`. Después, intenté instalar algunos paquetes normales, incluyendo DokuWiki. Pero la mayoría fallaron al instante. También intenté instalar Docker, que generó algunos errores. Sin dejarme intimidar por estos intentos fallidos, me concentré en Podman, que también se negó a ejecutarse. En retrospectiva, esto tenía todo el sentido, ya que tuve que modificar el kernel para que los entornos de ejecución de los contenedores funcionaran en mi teléfono.
Pero no pude ejecutar las aplicaciones raíz.
Tras explorar un poco GitHub, encontré el repositorio proot-apps. Como ya habrán adivinado por el nombre, se trata de una colección de aplicaciones de los desarrolladores creativos de LinuxServer, diseñadas para ejecutarse en un entorno proot. Así que empecé a instalar algunas de estas aplicaciones en mi máquina virtual Debian. Desafortunadamente, las diseñadas para contenedores Docker típicos, como Nextcloud, no funcionaron en mi configuración. Curiosamente, el código de error mencionaba QEMU (o, mejor dicho, su ausencia), que ni siquiera debería ser necesario para la aplicación.
Sin embargo, pensé que podría intentar ejecutar los paquetes en otra distribución. Fedora tiene mejor compatibilidad con Podman, así que pensé en intentar ejecutar el entorno de ejecución del contenedor en otra distribución, lo cual tampoco funcionó. Luego, intenté ejecutar proot-apps en una configuración de Arch Linux, pero otras distribuciones se negaron a ejecutarse. Fue esto último lo que más me molestó...
Movido al repositorio Termux-Pentesting-Distro
Pero para entonces ya había perdido el propósito del proyecto inicial.
Aunque distribuciones como Debian, Fedora y Arch funcionaban, descubrí que no podía instalar muchas aplicaciones sin problemas con los paquetes, ni siquiera un programa tan sencillo como neofetch. Decidí intentarlo una última vez tras encontrar el repositorio Termux-Pentesting-Distro en GitHub. ¿El resultado? Este repositorio no solo era compatible con una amplia gama de distribuciones excelentes, sino que también ejecutaba muchas aplicaciones. Aunque no podía ejecutar ningún gestor de ventanas ni entorno de escritorio, pude instalar muchas distribuciones en mi teléfono.
De igual forma, pude instalar Emacs, Neovim y otras aplicaciones esenciales de Linux desde los repositorios de la nueva distribución. ¿El problema? Para entonces, me había desviado por completo de mi objetivo original de ejecutar contenedores y me había dedicado por completo a experimentar con distribuciones increíbles. En mi defensa, mi cerebro no pudo evitar emocionarse con la gran cantidad de distribuciones de Linux, sobre todo porque había varias con nombres completamente nuevos. Además, todas las versiones de Linux incluían Neofetch de fábrica, y si hay algo que me encanta más que cambiar de distribución, es ver el fantástico widget de Neofetch.
Por ahora, estoy contento con el extraño cambio entre distribuciones que he organizado, sobre todo porque no he encontrado la manera de ejecutar contenedores básicos en mi teléfono. Planeo rootear pronto un segundo teléfono un poco más antiguo para poder probar esto de nuevo con contenedores Docker y Podman como todos los demás.
Los comentarios están cerrados.