Sábado, Noviembre 25, 2017

Porteus: una distro modular de bolsillo

porteus

¿Eres de las que lleva un pendrive en el llavero o en un colgante de tela para tenerlo siempre a mano? ¿Has pensado que sería ideal tener instalado en él alguna distribución de GNU/Linux ante cualquier emergencia? Entonces tal vez deberías de explorar una interesante opción para cuando necesites llevar GNU/Linux a cualquier parte sin necesidad de instalarlo.

Porteus es una distribución basada en la veterana Slackware, hecha para ser un sistema operativo sencillo, modular y preparado para funcionar tanto en un CD —sus ISOs ocupan menos de 400 MiB— como en una memoria USB o en cualquier otro medio de almacenamiento arrancable; tanto en equipos nuevos como en equipos más viejos o con pocos recursos.

Tiene cuatro entornos de escritorio por defecto a elegir: KDE, Xfce, MATE y Cinnamon, aunque posteriormente puedes instalar y utilizar otros entornos que desees. Estos vienen además personalizados y vitaminados de serie en esta distro, lo que lo hará más amigable con el usuario aunque se esté iniciando en GNU/Linux.

Instalación

El proceso de instalación se puede realizar tanto desde una máquina con GNU/Linux como en Windows. Primero tendremos que descargar la ISO en una de las mirrors oficiales de la distribución, escogiendo en función de la arquitectura del procesador y del entorno de escritorio por defecto, aunque si tienes previsto arrancarlo en equipos viejos, recomiendo que escojas la arquitectura i586 y un entorno de escritorio ligero como MATE o Xfce.

Una vez descargada la ISO, tendremos que montarla en el sistema y copiar todo su contenido a la raíz del pendrive. No es necesario formatearlo, pero si lo deseas, recomiendo que lo hagas en ext2 ya que FAT32, exFAT o cualquier otro formato no compatible con *nix utilizan otro sistema de permisos al que utiliza GNU/Linux. Si de todos modos tu pendrive está formateado en FAT32, podrás instalar Porteus sin problemas, pero tendrás que hacer una modificación en la configuración de arranque que hablaremos más adelante.

Para montar la ISO, introduciremos esta orden en una consola de root, a la que se puede acceder con el comando su o con sudo -s si tienes la cuenta de root bloqueada.

mkdir /mnt/iso && mount -o loop Porteus.iso /mnt/iso

O bien, sin necesidad de ser root, con el ayudante udisks2 si tienes un entorno gráfico instalado:

udisksctl loop-setup --file Porteus.iso

Sustituye “Porteus.iso” por la ruta relativa o absoluta de donde tengas descargada la ISO escogida de Porteus (e.g. /home/usuario/Descargas/Porteus-XFCE-v3.2.2-i586.iso). Una vez montada la ISO, montaremos también nuestro pendrive si no lo tenemos ya montado. Antes hemos de saber en qué bloque de dispositivo lo tenemos asociado por el kernel, para ello introducimos el comando lsblk o cat /proc/partitions. Obtendremos una salida similar a la siguiente:

major minor #blocks name

8 0 488386584 sda
8 1 41943040 sda1
8 2 438052445 sda2
8 3 8387591 sda3
11 0 1048575 sr0
7 0 245228 loop0
8 16 7861248 sdb
8 17 7860224 sdb1

También nos podemos ayudar de programas de particionado de discos como fdisk o parted si no logramos distinguir qué bloque de dispositivo está asociado a nuestro pendrive, que en nuestro caso ya sabemos que es /dev/sdb, que tiene una única partición en /dev/sdb1 de aproximadamente 8 GiB (7860224 bloques de 1 KiB ? 7,5 GiB).

Una vez identificada la partición donde queremos instalar Porteus, introducimos el siguiente comando como root, sustituyendo /dev/sdb1 por el bloque de dispositivo que se corresponda con tu pendrive:

mkdir /mnt/usb && mount /dev/sdb1 /mnt/usb

O su equivalente en udisks2 sin necesidad de ser root:

udisksctl mount --block-device /dev/sdb1

 Ya tenemos todo listo para copiar el contenido de la ISO sobre el volumen del pendrive. Procedemos a ello introduciendo el siguiente comando, que copiará recursivamente todos los archivos de la ISO a la raíz de nuestro pendrive montado, preservando los permisos de archivos y directorios:

cp -a /mnt/iso/* /mnt/usb

Cuando finalice, nos dirigimos al directorio de arranque de Porteus que tenemos ya en el USB, y ejecutamos el script de instalación que se ubica en él. Esto hará que podamos arrancar la distribución desde el pendrive durante el encendido. Si vemos que está todo correcto (que se vaya a instalar en el bloque de dispositivo correcto), escribimos “ok” dentro del programa y dejamos que termine de realizarse la instalación.

cd /mnt/usb/boot
./Porteus-installer-for-Linux.com

Si no ha devuelto ningún error, ya podemos reiniciar y arrancar el equipo cargando el sistema de la memoria USB.

Iniciando el sistema por primera vez

porteuscap

Cuando arranquemos el sistema instalado en el USB por primera vez, tal vez veremos entre los mensajes del sistema un aviso diciendo que se ha detectado que el USB está formateado con un sistema de archivos de Windows y que por tanto no se guardarán los cambios. Esto es normal que ocurra si tienes formateado el pendrive en FAT32, exFAT o NTFS por lo que hemos comentado antes de que el sistema de permisos de estos formatos no están preparados para funcionar en sistemas Unix o GNU/Linux.

Para poder guardar los cambios que realicemos en el sistema, necesitaremos crear una imagen contenedora de los archivos que se hayan cambiado durante la sesión en /porteus/changes/save.dat. No nos tenemos que preocupar por esto si tenemos formateado el pendrive en ext2 o en otro formato preparado para GNU/Linux, así que si es este tu caso, este paso lo puedes omitir y pasar directamente al siguiente apartado.

Cuando iniciemos sesión gráficamente, nos iremos al menú de aplicaciones y buscaremos el programa Porteus save file manager dentro del apartado System o Sistema. Se nos abrirá una ventana dándonos a elegir entre cuatro opciones, de las cuales seleccionaremos la primera para crear la imagen de persistencia especialmente si estamos usando FAT32, exFAT o NTFS.

porteuscontainer

La imagen se recomienda guardarla en la ruta mencionada anteriormente, con un tamaño de al menos 2048 MiB (2 GiB), dependiendo también de lo que soporte tu pendrive y de lo que vayas a necesitar, aunque posteriormente puedes ampliarla. También tenemos que cambiar las opciones de arranque del sistema para que utilice esta imagen de persistencia para guardar los cambios. Para ello, tendremos que abrir el archivo de configuración de syslinux /boot/syslinux/porteus.cfg con nuestro editor de textos favorito, y cambiar las líneas donde leamos “APPEND (…) changes=/porteus” para añadir al final /changes/save.dat. Por ejemplo:

línea 41: APPEND initrd=initrd.xz changes=/porteus
cambiar a: APPEND initrd=initrd.xz changes=/porteus/changes/save.dat

Reiniciamos de nuevo y si está todo bien, ya podremos guardar los cambios que realicemos en el sistema. Probablemente una de las cosas que nos interese al principio será cambiar el idioma del teclado y tal vez también el idioma del sistema dentro de configuración.

Conociendo los módulos

Como citaba al principio, Porteus es una distribución completamente modular. Los programas y componentes adicionales del sistema, en lugar de instalarse usando paquetes de los repositorios, se pueden instalar también usando módulos xzm. Estos módulos son archivos contenedores en formato squashFS, comprimidos en LZMA2 para ahorrar espacio en disco y que se autoextraen en memoria durante cada arranque. Los archivos xzm con los componentes esenciales del sistema se encuentran en el directorio /porteus/base del pendrive, mientras que los módulos de usuario se ubican en el directorio /porteus/modules.

SquashFS es un sistema de archivos de sólo lectura y libre con licencia GPL. Suele estar comprimido en gzip y se utiliza normalmente en live CDs de varias distribuciones para cargar sus archivos en memoria en el arranque y que estos puedan ser leídos y modificados posteriormente por el usuario de forma temporal, montándolos como un sistema de archivos aufs. Una forma de crear y extraer contenedores squashFS y por tanto, de poder crear y modificar módulos para Porteus es con mksquashfs y con unsquashfs, del paquete squashfs-tools. En esta misma distribución no obstante hay un método más fácil de hacerlo, hablaremos de esto más adelante.

Navegando por las mirrors de la distribución, encontrarás varios módulos preparados para Porteus como Firefox o Chromium, así que si no te apaña el navegador Lynx que viene por defecto puedes descargar cualquiera de estos dos navegadores y añadirlo(s) al directorio de módulos de Porteus de tu pendrive, en /porteus/modules. También encontrarás la suite de ofimática LibreOffice y otros módulos más útiles como man-pages, con todos los archivos de manuales necesarios de los distintos paquetes y componentes disponibles en el sistema.

Como he citado antes, también es posible crear tú mismo tus propios módulos para Porteus de forma sencilla especialmente si el paquete del que quieres hacer un módulo se encuentra ya en los repositorios de la distribución. Para ello, dentro de una sesión gráfica de Porteus tendremos que abrir el programa usmgui, que está clasificado en el menú de aplicaciones dentro de las utilidades del sistema, que es un frontend gráfico del gestor de paquetes usm.

porteusUSM

Dentro veremos una ventana similar al a que vemos en pantalla. Si lo ejecutamos por primera vez, posiblemente nos pedirá primero actualizar las bases de datos de los paquetes, así que para ello tendremos que irnos a la opción “Update all” del menú Updates (equivalente a usm -u all desde línea de comandos).

Una vez finalizado, ya podremos buscar e instalar paquetes de los repositorios de la distribución. Por ejemplo, si queremos buscar por el programa DOSBox, introducimos en el cuadro de búsqueda de usmgui “dosbox”, o bien con el mismo gestor de paquetes desde línea de comandos:

usm -k dosbox

Dependiendo de las versiones que tenga disponibles el paquete en la distribución, y de los repositorios en los que esté disponible, nos podrán aparecer varios resultados. En nuestro caso con dosbox nos ha devuelto 3: uno en el repositorio alien, otro en el de ponce y otro en el de slackonly. Nosotros escogeremos por ejemplo el tercero de la lista, así que lo seleccionamos en el programa gráfico USM GUI y haremos click en “Download” (equivalente a usm -g dosbox desde terminal seleccionando posteriormente la opción 3 interactivamente).

porteusmenu

Nos mostrará un diálogo con una lista de dependencias requeridas por el programa que queramos instalar. Simplemente nos aseguramos de que estén marcadas todas, marcamos también la opción “Convert to modules” para que después de la descarga se conviertan estos paquetes en módulos, y finalmente haremos click en “Download” para empezar el progreso.

El paso equivalente desde línea de comandos sería introducir el comando que hemos dicho antes, usm -g dosbox, y cuando nos pregunte si queremos instalar el paquete “Would you like to install the package/s?” le contestaremos que no, si lo queremos convertir en un módulo xzm. En caso contrario se instalará como un paquete normal en cualquier otra distribución (cosa que puedes hacer alternativamente si quieres, aunque sin convertirlo a módulo no lo podrás compartir fácilmente con otras instalaciones de Porteus ).

Una vez finalizado el proceso, podremos encontrar los módulos de todos los paquetes que hayamos descargado durante la sesión en la ruta /tmp/usm. Al ser un directorio montado en RAM, se perderán todos los archivos que se encuentren dentro una vez apaguemos el ordenador, así que esos módulos tendremos que moverlos o copiarlos a /porteus/modules de nuestro pendrive si queremos que se carguen la próxima vez que iniciemos Porteus de nuestro pendrive.

porteusfile

También podemos activar o desactivar los módulos en caliente haciendo simplemente doble click sobre el archivo de módulo en cuestión (o bien con los comandos activate y deactivate desde la terminal).

Si resulta que el programa que buscamos no se encuentra en los repositorios, entonces nos tocará instalarlo manualmente y acto seguido, crear nosotros mismos un módulo con el programa ya instalado. Esto también está bien por ejemplo por si queremos crear módulos para temas de escritorio o iconos.

Por ejemplo, si queremos hacer un módulo de un tema de iconos que hemos descargado de internet llamado “Numix” y que se ubica en nuestro sistema dentro de /usr/share/icons/numix, nos tocará primero copiar todos los archivos de dicho directorio a un directorio temporal (p. ej. /tmp) preservando los permisos y la ruta de los directorios padre. Luego crearemos el contenedor con mksquashfs usando el directorio que hemos copiado como subdirectorio del directorio raíz dentro del contenedor. Esto se puede realizar tanto desde Porteus como desde cualquier otro sistema GNU/Linux que tenga las herramientas disponibles. A continuación facilito los comandos que tendremos que introducir para crear un módulo; cada línea está comentada con “###”:

cd /tmp  ### Nos posicionaremos en la ruta donde se creará el módulo.
sudo rsync -aR /usr/share/icons/numix .  ### Copiamos todos los archivos del tema de iconos al directorio actual (.) preservando las rutas de acceso y permisos.
sudo mksquashfs usr numix.xzm -keep-as-directory  ### Creamos un contenedor squashFS llamado "numix.xzm" con el contenido del directorio "usr" que hemos creado en nuestro directorio actual y que contiene los archivos del tema de iconos.

Con esto ya tendremos creado el módulo personalizado en /tmp y estará listo para ser movido al directorio /porteus/modules de nuestro pendrive junto con el resto de módulos que tengamos. Luego activarlo reiniciando o en caliente con activate, para que después desde el panel de configuración del entorno de escritorio que tengamos instalado podamos elegir el tema de iconos que acabamos de empaquetar, y así permanecerá configurado para la próxima vez que arranquemos el sistema.

La ventaja de usar los módulos es lo rápido y fácil que es poder activarlos o desactivarlos en caso de que no nos interese utilizar determinados programas durante una sesión, aparte que podemos compartirlos fácilmente con otras instalaciones de Porteus copiando tan solo los archivos que se tengan en /porteus/modules, aunque incluso pueden funcionar fuera de él si no queremos que se carguen al inicio.

¿Dudas? ¿Quejas? ¿Insultos? Puedes escribirlas en la caja de comentarios, o bien visitar la página web oficial de la distribución, donde tienes FAQs, algunos tutoriales y un foro donde seguro que te podrán sacar de dudas.

 

Fuente: lignux

¿Quién está en línea?

Hay 30 invitados y ningún miembro en línea

Contador de Visitas

9054915
Hoy Hoy 29
Ayer Ayer 1327
Esta semana Esta semana 5521
Este mes Este mes 33406
Total de Visitas Total de Visitas 9054915

Día con más
visitantes

11-11-2017 : 2493

Gracias por su visita