Se ha publicado la versión 1.0 de la herramienta Lima, que originalmente desarrolló una capa similar a WSL2 (Windows Subsystem for Linux) para ejecutar aplicaciones Linux en macOS (Linux-on-Mac), pero que luego evolucionó en una herramienta universal para ejecutar máquinas virtuales con Linux en diversos sistemas operativos. Actualmente, Lima puede usarse en macOS, Linux, Windows y sistemas BSD. El objetivo clave del proyecto es proporcionar una forma sencilla de ejecutar distribuciones de Linux arbitrarias en contenedores aislados o entornos virtuales, asegurando al mismo tiempo el encaminamiento automático de puertos de red y el acceso compartido a archivos. El código del proyecto está escrito en el lenguaje Go y se distribuye bajo la licencia Apache 2.0.
Para el lanzamiento aislado de entornos Linux en sistemas Linux y BSD, se puede usar el runtime containerd y diversos motores de aislamiento de contenedores (Apptainer, Docker, Podman, LXD). En macOS se aplica QEMU con acelerador HVF o directamente la herramienta de virtualización nativa de macOS, Virtualization.framework. Para ejecutar entornos Linux en Windows, se utiliza la capa WSL2 (Windows Subsystem for Linux). Se soporta la ejecución de distribuciones de Linux compiladas para arquitectura x86_64 en sistemas host con arquitectura ARM64 y viceversa. En modo experimental, hay soporte para arquitecturas riscv64 y ARM32.
Para organizar el acceso a archivos del entorno host, se pueden utilizar SSHFS, virtio-9p-pci/virtfs (por defecto) y virtiofs. El redireccionamiento de puertos de red se realiza mediante el seguimiento de llamadas de red a través de /proc/net/tcp y iptables, seguido del lanzamiento automático de ‘ssh’ con la opción ‘-L’. Como capacidades experimentales, se ofrece la posibilidad de pasar el acceso al sistema de sonido ALSA y establecer una conexión remota a través de VNC.
Para el despliegue rápido de entornos, se proporcionan plantillas preparadas para diversas versiones de las distribuciones AlmaLinux, Alpine, Arch Linux, Debian, Fedora, Gentoo, openSUSE, Oracle Linux, Rocky y Ubuntu. Se sugiere usar la herramienta BuildKit para construir imágenes de sistema propias. La capacidad de utilizar Lima para ejecutar entornos Linux está integrada en las herramientas Finch (Amazon), Rancher Desktop (SUSE), Colima y Podman Desktop (Red Hat). Además, se desarrolla de forma independiente una interfaz gráfica de usuario, Lima GUI, que está escrita con Qt.


La versión Lima 1.0 se ha marcado como el primer lanzamiento estable del proyecto, después de tres años de desarrollo y que incluye algunos cambios acumulados que rompen la compatibilidad hacia atrás. Se ha estabilizado el soporte para el controlador vz, que utiliza el sistema de virtualización Virtualization.framework en la plataforma macOS. En sistemas que utilizan macOS 13.5 y posteriores, el controlador vz ahora se usa por defecto. También se han clasificado como estables el controlador 9p para la organización del acceso compartido a archivos y el controlador user-v2 para la organización del acceso a la red. Se ha añadido soporte para el reenvío de puertos UDP. Se han actualizado muchos de los plantillas de instalación de distribuciones, como la adición de plantillas para Fedora 41 y Ubuntu 24.10.
Fuente: opennet.ru
