Ejecutar apps de Android en Linux con Anbox

Aunque el núcleo de Android es Linux sus aplicaciones no son compatibles de forma nativa con una distribución de GNU/Linux. Para correr aplicaciones Android en un sistema Linux necesitamos un emulador al estilo de Wine (que nos permite correr aplicaciones de Windows).

Existen hoy por hoy varios proyectos de emuladores que nos permiten hacer esto en nuestros sistemas Linux pero ha sido Anbox el que me ha parecido más interesante ¿por qué? Porque Anbox se sirve del propio kernel de nuestra distribución para trabajar, sobre el que extiende una capa de compatibilidad. ¿Qué implica esto? Que al no tener que emular el kernel consume menos recursos que sus competidores. Nuestro hardware queda menos cargado con el.

Podemos instalarlo mediante paquetes snap o desde la tienda de apps o los repositorios de nuestra distro. Una vez instalado basta con instalar en nuestro equipo el .apk de la aplicación que queremos correr. Para facilitar esta instalación lo mejor es que instalemos también AndroidDebugBridge (ADB), una herramienta para desarrolladores Android:

# Instalar ADB en Ubuntu y familia
$ sudo apt install android-tools-adb

# Instalar ADB en Fedora
$ sudo dnf install android-tools
Anuncios

Crear un Raid1 con mdadm en Linux

Si ya vimos como instalar mdadm y cómo hacer un Raid0 para conseguir mayor velocidad, vamos ahora con otro de los arrays de discos más básicos: RAID1 o Mirroring. Lo de mirroring ya te dará una idea sobre cómo funciona la cosa: consiste en tener una copia exacta de los datos en dos discos. Esto implica que lo mejor para este caso es tener dos discos duros del mismo tamaño.

Para este ejemplo vamos a suponer que tenemos dos discos: sda1 y sdb1.

El primer paso es editar el archivo /etc/mdadm.conf y añadir los parámetros DEVICE y ARRAY correspondientes:

DEVICE /dev/sd[ab]1
ARRAY /dev/md0 devices=/dev/sda1,/dev/sdb1

Una vez configurado el archivo nos toca ejecutar el comando mdadm para crear el array de discos y que se inicie:

mdadm -C /dev/md0 --level=raid1 --raid-devices=2 /dev/sda1 /dev/sdb1

Tras eso nos pedirá permiso para continuar creando el array, así que basta con contestar yes para terminar.

Recuerda que este tipo de array ralentiza la velocidad de escritura en disco al tener que duplicar el trabajo.

¿Qué tamaño doy a la partición boot?

Si ayer os hablaba de qué tamaño dar a la partición SWAP durante la instalación de Linux, hoy vamos con otra partición: La boot. En el caso de /boot no es obligatorio definirla, pero si la ubicas en una partición primaria al principio (después de la partición SWAP, que se recomienda que sea la primera) y le pones como sistema de archivos ext2 (más ligero que ext3 o ext4, que son los que habitualmente utilizaremos para el resto) lograrás una mayor velocidad de arranque. Que es posible que con ordenador muy potente no notes ninguna diferencia. En /boot se almacena el núcleo del sistema operativo y el sistema de arranque, así que no requiere mucho espacio.

Esto en caso de sistemas domésticos, porque cuando se trata de servidores con múltiples discos intercambiables o sistemas raid sí que puede volverse totalmente obligatorio tener el boot separado.

En todo caso ¿Qué tamaño le damos a /boot? Pues va dependiendo de la distribución de Linux y de si tenemos pensado tener varios kernels (ya sabéis que hay gente con el vicio de recompilarlo), pero en principio vamos a suponer un uso normal de usuario doméstico.

Todo esto lo comento basándome en lo leído en documentación y foros varios, y en alguna prueba doméstica con máquinas virtuales: para Ubuntu desde 10.10 hasta 11.10 dicen que 150 megas van sobrados, pero que para 12.04 mejor 250 . Para Debian 6 leo que se recomiendan 200. Para Fedora dicen que hasta  350, para ArchLinux leo que entre 100 y 150… Si tenéis un disco duro amplio lo mejor es no racanear y con 350 te aseguras no tener ningún problema de falta de espacio. La clave, como comentaba antes, está más en el sistema de archivos (ext2) y en ubicarla justo tras la SWAP.

¿Qué tamaño le asigno a la partición SWAP en Linux?

Si decides realizar una instalación manual en Linux ya sabes que necesitas al menos dos particiones: una para / y otra para el espacio de intercambio (SWAP). Aunque yo suelo hacer 4 particiones (/, swap, /boot y /home) para máquinas virtuales, y hasta 5 si el equipo va a usarse para editar vídeo, audio o trabajar con bases de datos muy grandes (ahí meto además separada /tmp); y tengo colegas que rara vez bajan de 7… (yo eso ya diría que es vicio). En todo caso suele surgir una duda ¿Qué espacio le asigno a SWAP durante la instalación?

Tradicionalmenet se decía “el doble de SWAP que lo que tengas de RAM“, pero es una teoría de los primeros tiempos de Linux, cuando los equipos andaban faltos de memoria. A día de hoy, tener 12 gigas de SWAP es una verdadera animalada, además de un desperdicio de recursos. Lo que sí se recomienda en varias páginas es que SWAP sea la primera partición del disco, por motivos de rendimiento.

Por lo que recomienda el señor Russell Coker la regla a seguir es la siguiente:

  • Si tienes hasta 1GB de RAM: El clásico “doble de SWAP que de RAM
  • Si tienes entre 2GB y 4GB de RAM: Nueva teoría “La mitad de SWAP que de RAM
  • Si tienes más de 4GB: Con 2 GB de SWAP vas que chutas.

Es más, si te fijas, todas las cuentas dan un máximo de 2GB de RAM. En fin, espero que esta minientrada te sea útil.