Y para quiénes es viable Arch Linux?

Pues así se ve mi maquinita
Mi experiencia con Arch Linux

Bien, tengo instalado Arch Linux en mi laptop desde hace apenas unos meses y lo que puedo decir con confianza hasta hoy es que no tengo ya ninguna duda de que Arch es mucho muy diferente a lo que se suele esperar de una distribución común de Linux. A lo largo de esta entrada explicaré lo que a mi parecer distingue a quienes privilegian Arch linux por encima de otras distribuciones y que le confiere un valor particular. Todo esto a partir de lo que me he encontrado con mi experiencia en Arch.

Este post no es una revisión del sistema Arch, no tengo las cualificaciones ni los conocimientos técnicos para ello, se trata más bien de una opinión personal que creo pueda servir de orientación a quienes, siendo entusiastas de Linux, quieran evaluar si Arch es un sistema, o no, para ellos.

Instalé arch en mi MacBook Pro retina de 13″ mid 2013 en dual boot con Mac OSX Yosemite. Suelo instalar siempre alguna distribución de linux por el gusto de hacerlo y porque me da oportunidad de experimentar con programas más novedosos, poderosos y útiles en la investigación que no es fácil encontrar en las plataformas comunes como lo son Windows o Mac OSX. Me atrae esa visión alternativa que con el tiempo y el trabajo de miles de entusiastas y profesionales ha logrado, a través del desarrollo de software abierto, opciones diferentes a los desarrollos comerciales y privativos. He utilizado ya Ubuntu, Fedora, Debian, Linux Mint y otros. He experimentado con diversos escritorios como Unity, KDE, Gnome, Xfce, Cinnamon y otros pocos más además de algunos administradores de ventanas como Awesome, Fluxbox, Openbox e i3. Esto no me hace un experto ni nada por el estilo, apenas un entusiasta caminante de linux.

Arch me ha resultado una experiencia completamente diferente a todas las anteriores y esto tiene que ver con lo que señalan en el sitio de Arch, ese fabuloso Wiki de Arch que, por cierto, considero la mejor documentación de linux que he conocido. Lo expresan así:

Arch Linux es una distribución GNU/Linux independiente, de propósito general, desarrollada para i686/x86-64, lo suficientemente versátil como para adaptarse a cualquier función. Su desarrollo se centra en la simplicidad, el minimalismo y la elegancia de código. Arch se instala como un sistema de base mínimo, configurado por el usuario, sobre el que se monta su propio entorno ideal, mediante la instalación de sólo lo que se requiere o se desea para sus propósitos particulares.

De este primer párrafo se derivan las características que identifican al usuario de Arch y nos ponen en marcha para percatarnos de lo diferente que es Arch linux. Lo primero que nos dice es que se trata de un sistema de base mínimo y que ha de ser configurado por el usuario. Esto quiere decir que no podemos esperar de entrada una instalación ordinaria (de esas que tanto nos gustan), que sea sencilla y con un modo gráfico que nos facilite las cosas hasta dejarnos en un sistema ya listo para usarse, con un bello escritorio y una multitud de herramientos y aplicaciones para ser inmediatamente utilizadas. No, por el contrario, instalar Arch exige que nos adentremos en conocer especificaciones de nuestro hardware y que nos movamos con cierta soltura en la línea de comandos. Esto es, que quien instala Arch sabe que prepara su linux a la medida de su harware y, al mismo tiempo, que después de la instalación termina solamente con un sistema sumamente básico con el que aún no se puede hacer nada salvo instalar a continuación el entorno gráfico si se desea así como las aplicaciones que uno desea utilizar. Es como utilizar un lego, uno arma lo que quiere.

La clave aquí está en darle el peso adecuado a la palabra “desear”. En Arch se presupone que quien lo utiliza 1) sabe lo que desea, y no sólo eso sino que está dispuesto a 2) hacer lo necesario para lograr que su sistema opere exactamente al modo en que lo desea. Esto es, Arch es el camino para quienes buscan hacer que sus sistema funcione con el máximo de eficacia y eficiencia sin la intervención de paquetes inecesarios y maximizando el uso de su hardware pero, para ello, deben hacerlo personalmente pues ningún sistema operativo se ajusta de entrada a las necesidades específicas de los usuarios con perfecta armonía sino hasta que es “tocado”, configurado, por el usuario mismo. Esto es justamente lo que posibilita Arch y es lo que lo separa del resto de los linux convirtiéndolo para muchos en héroe o villano. Es la condición de “hágalo usted mismo” la que lo vuelve tan controversial entre los usuarios pues es precisamente aquí donde uno ha de decidir si se tiene la disposición de aprender y ensayar para adecuar el sistema operativo a nuestro gusto y necesidad o si preferimos un linux que funcione out of the box para ponermos a trabajar en eso que llamamos ser poductivos laboralmente sin perder un sólo segundo en adaptar nuestro sistema. La decisión no es sencilla pues cualquiera de estas opciones nos impone ciertos riesgos y nos habilita o limita ciertas cosas.

Arch NO es para ti:

  1. Si deseas un sistema que funcione perfecto inmediatamente después de su instalación.
  2. Si no deseas tener que ponerte a configurar muchas cosas en tu máquina.
  3. Si no deseas tener que aprender a usar la línea de comandos y el manejo de linux a mayor profundidad.
  4. Si te ves exclusivamente como un usuario de aplicaciones.
  5. Si deseas un servidor para producción (es mi opinión por cuestiones de estabilidad).
  6. Si te basta con que el sistema funcione.
  7. Si no requieres o no deseas estar a la vanguardia en las actualizaciones.

Arch ES para ti:

  1. Si te da curiosidad el funcionamiento de linux
  2. Si deseas y estás dispuesto a aprender la operación de linux
  3. Si deseas maximizar el rendimiento de tu sistema
  4. Si te gusta mantener tu sistema siempre actualizado. (Arch es rolling release y bleeding edge).
  5. Si deseas que tu sistema contenga exactamente lo que quieres y opere al modo en que quieres.

Arch es una distribución que cuenta con un nicho específico de usuarios. Podría decir, por un lado, que de personas curiosas y aventureras. Hay un toque lúdico en esto, pues tener el tiempo de explorar el sistema operativo es ciertamente un lujo para muchos y demanda recorrer una inclinada curva de aprendizaje que nos requiere esfuerzo y dedicación. Es como irse de campamento en lugar de a un hotel 5 estrellas por lo que se requiere gusto para utilizar este linux. Nos ayuda a revivir esa sensación de reto a vencer y que parece dar fuerza y cohesión a la comunidad Arch y que por lo mismo genera tantos apegos. ¿Quién no ha sentido esa nostalgia de enfrentar nuevos retos? Por otro lado, están los powerusers, aquellos que sí son expertos geeks y que buscan maximizar los recursos de su sistema con propósitos muy específicos, investigación, desarrollo de nuevas tecnologías o programación de nivel. En cualquier caso, es pisar una frontera y eso resulta atrayente para muchos, Arch es un camino que lleva a esos límites. Otros preferirán la tranquilidad y comodidad y entonces Arch no es para ellos, así de simple.

Arch es una distribución de tipo rolling release, y esto quiere decir que una vez instalado, tendremos siempre la última versión de Arch. No hay una serie de versiones que se liberan cada 6 meses o algún tiempo predeterminado sino que al instalar y mantener actualizado el sistema (pacman -Syu) tendremos siempre lo último. Por cuestiones de estabilidad se pueden minimizar los conflictos que causa un cambio de kernel y le podemos instalar la versión LTS de Arch. Esto es decisión de cada quien, o si se prefiere estar a la vanguardia en el kernel se va de la mano con la disposición a realizar los ajustes necesarios cada vez que se instale una nueva versión.

Esto se suma con la característica de Arch de ser bleeding edge, de modo que cada modificación que surge en las aplicaciones, cada nueva versión, se puede instalar inmediatamente. Circunstancia que es deseable para muchos pero se paga un precio por ello, y es el riesgo en la estabilidad en el sistema. Aunque, por lo general los repositorios oficiales de Arch, los que se accesan con el administrador de paquetes Pacman, son bastante estables y bien depurados. Existe otra fuente de repositorios, la mantenida por usuarios -AUR-, que es cómoda por las ventajas de algunas aplicaciones que ofrece y que accesamos a través de otros gestores, entre ellos yaourt, pero que pueden contener paquetes no tan estables o que rompen el sistema. Aquí, es sólo una cuestión del nivel de riesgo y seguridad que cada usuario quiera tener con su sistema Arch.

Personalmente, he disfrutado la aventura que representa instalar y utilizar Arch. Pero no sólo eso, sino que he ido aprendiendo muchísimo de mi laptop y del sistema operativo en este proceso, cuestión que me resulta muy gratificante. Ahora abro una terminal y me muevo con comodidad para arreglar pequeños desperfectos, acoplar el sistema o ajustar aplicaciones, además de que me he metido a aprender nuevos lenguajes de programación y explorar con mucha más soltura y sin tanto pendiente de algún desperfecto. Ahora que, aún no llego al grado de soltarme como para confiarle a mi sistema cuestiones formales de proyectos que requieren bastante tiempo, tengo respaldada toda mi información en otro lado y así gano la tranquilidad necesaria para seguir “jugando”, asunto que me resulta muy importante aún para el trabajo, me gusta explorar. Trabajo y diversión van de la mano conmigo, pero sé que no es así para todo el mundo, hay quienes se viven como si la vida fuera cosa seria, yo no.

Instalar Arch Linux en mi MacBookPro 13 retina Parte 3

Bien, hasta aquí hemos logrado una instalación (Parte 1) y configuración básica (Parte 2) de Arch Linux en la MacBook Pro retina. El sistema ya está montado pero Arch inicia siempre en modo de texto, sin intervención aún de un entorno gráfico (X11). Asunto que haremos a continuación en este post.

Tenemos varias opciones aquí, yo me decanté por la más sencilla pues no me gusta lidiar con el entorno gráfico, mi trabajo no me exige tantas precisiones. De modo que elegí instalar un escritorio que instala bien el entorno gráfico, GNOME, y utilizar su arrancador de sistema (gdm) que es muy flexible dado que nos permite instalar con facilidad otros entornos gráficos o administradores de ventanas que pueden ser seleccionados desde el arranque.

También instalaremos algunas utilidades que facilitan la administración y operación de nuestra laptop. Se habrán dado cuenta que el gestor de paquetes para descargar aplicaciones en Arch es Pacman. Vale la pena conocerlo a fondo pues es muy poderoso y nos permite una gran variedad de operaciones para descargar y mantener limpio y a modo nuestro sistema.

Instalemos GNOME

$ sudo pacman -S gnome gnome-extra

Ahora montemos el arrancador que deseamos

$ sudo systemctl enable gdm

y el driver del display

$ sudo pacman -S xf86-video-intel

Ahora desactivamos la carga automática de dhcpcd e instalamos el network manager

$ sudo systemctl disable dhcpcd
$ sudo pacman -S networkmanager network-manager-applet

Ahora vamos a instalar un segundo administrador de paquetes llamado yaourt, que tiene la bondad de descargar, compilar e instalar aplicaciones generadas por terceros y que conforman un repositorio que si bien no es oficial si contiene aplicaciones probadas y en desarrollo continuo que vale la pena tener.

Instalar yaourt:

$ nano /etc/pacman.conf y añadimos o descomentamos
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
$ sudo pacman -Sy
$ sudo pacman -S yaourt

Ahora lo utilizaremos

Instalar drivers de wifi

$ yaourt -S broadcom-wl

Instalar driver del trackpad

$ yaourt -S xf86-imput-mtrack-git

Activación del ventilador de la laptop

$ yaourt -S macfanctld
 $ sudo systemctl enable macfanctld
 $ sudo systemctl start macfanctld

Suspender al cerrar la tapa de la laptop

$ sudo nano /etc/systemd/logind.conf
añadir o descomentar:
HandlePowerKey = suspend
HandleLidSwitch = suspend

Instalar el Gnome Power Manager

$ pacman -S gnome-power-manager

Manejo de la temperatura

$ yaourt -S thermald
$ sudo systemctl enable thermald
$ sudo systemctl start thermald

Velocidad del reloj para salvar energía

$ sudo pacman -S cpupower
$ sudo systemctl enable cpupower
$ sudo systemctl start cpupower
$ cpupower frequency-set -g powersave

Hasta aquí con las utilidades. Ahora, toca decidir lo que uno quiere tener de entorno gráfico para trabajar. Decidir si queremos tener un escritorio completo tipo gnome, kde o los muchos que hay, a mi me gusta cinnamon y aunque ya tenemos GNOME lo instalaré. Además, instalaré dos administradores de ventanas. Cuando no quiero utilizar un escritorio que ya tiene todo out of the box pero que te carga bastante el sistema, utilizo los administradores de ventanas puesto que son más ligeros dado que no nos atiborran el sistema de utilidades y aplicaciones que no utilizaremos sino que uno instala exactamente lo que desea usar. Instalaré uno que es de ventanas flotantes, OpenBox, y uno de tipo tiling windows, que es el i3wm y que me ha gustado mucho y que uso con frecuencia. La ventaja del arrancador gdm que instalamos es que recoge los escritorios o administradores de ventanas que instalemos y en el menú de arranque uno puede seleccionar el modo de sistema que uno desea utilizar en cada sesión, precisamente por esa bondad es que lo instalamos.

Instalar el escritorio cinnamon

$ sudo pacman -S cinnamon

Hay que rebootear después de esto para que nos aparezca en el menú de gdm. Mi pantalla con cinnamon

Screenshot de Arch

 

Instalar el administrador de ventanas i3

$ sudo pacman -S i3

Rebootear después de finalizada la instalación. Mi pantalla con el i3

Screenshot-de-i3wm-en-Arch

 

Ahora si, a divertirse configurando sea el escritorio, sea el administrador de ventanas a nuestro entero gusto.

Vale decir que debemos mantener al día nuestra base de datos de programas con

$ sudo pacman -Sy

Y actualizar cuando veamos oportuno con

$ sudo pacman -Syu

Distruten y configuren su sistema 🙂

Instalar Arch Linux en mi MacBookPro 13 retina Parte 2

 

Arch en una MacBook Pro retina de 13 pulgadas.
Arch en una MacBook Pro retina de 13 pulgadas.

En este post continuamos la instalación de Arch. La Primera parte está aquí. Una vez que generamos el fstab (que es lo que hicimos en el post anterior) debemos ahora dar al sistema una configuración inicial para que arranque apropiadamente. Asumimos que seguimos en Live, es decir, trabajando con el usb conectado y que continuamos así.

Ahora, haremos la configuración inicial en nuestro disco duro desde la usb y después configuraremos el bootloader.

Configuración inicial

Hacemos un chroot

$ arch-chroot /mnt /bin/bash

Hacemos el Hostname

$ echo nombre-de-la-compu > /etc/hostname

Ponemos la zona

$ ln -s /usr/share/zoneinfo/America/Mexico_City /etc/localtime

Trabajamos el reloj

$ hwclock --systohc --utc

Añadimos usuario (nosotros)

$ useradd -m -g users -G wheel -s /bin/bash tu_usuario && passwd tu_usuario

Creamos el password de root

$ passwd

Instalamos sudo para operar como root

$ sudo pacman -S sudo

Editamos el archivo de usuarios root para que el usuario pueda usar root (uso el editor nano que es rápido y cómodo, una vez que abre con las flechas moverse, hacer los cambios y cuando esté editado se sale con Ctrl-x, te pide confirmación: Y, y das Enter. Hay que quitar los comentarios a wheel y añadir al final:

%wheel ALL=(ALL) ALL

Hagámoslo

$ nano /etc/sudoers

Ahora habilitamos lenguaje para es_MX.UTF-8 descomentando esto en el archivo

$ sudo nano /etc/locale.gen

y generamos el locale

$ locale-gen

Es común también tener la configuración primaria de lenguaje en inglés y tener ambos, de otro modo hacer esto en el UTF de español. Esto es el keymap para el sistema.

$ echo LANG = en_US.UTF-8 > /etc/locale.conf
$ export LANG = en_US.UTF-8
$ nano /etc/vconsole.conf

Añadir:

KEYMAP=la-latin1

FONT=sun12x22

$ mkinitcpio -p linux

Para la mac hay que habilitar unos módulos del kernel para el control de temperatura

$ nano /etc/modules

Añadir:

coretemp

applesmc

Listo! Hemos terminado la configuración del sistema

 

Ahora configuramos el Bootloader

Descargamos el grub para arrancar desde nuestro disco

$ pacman -S grub-efi-x86_64

Lo configuramos, lo siguiente crea el archivo boot.efi en el directorio actual

$ grub-mkconfig -o boot/grub/config.cfg
$ grub-mkstandalone -o boot.efi -d usr/lib/grub/x86_64-efi -O x86_64-efi --compress=xz boot/grub/.cfg

Aquí terminaríamos, saldríamos del chroot y ya. Pero, no estoy completamente seguro, al reiniciar presionando la tecla alt debería aparecer el menú, seleccionar Arch y ya. Como en cualquier PC o Laptop. Lo más seguro en la MacBook, sin embargo, es copiar este archivo a un usb para configurar también el OS de Mac para reconocer el dual boot.

$ mkdir /mnt/usbdisk && mount /dev/sda1 /mnt/usbdisk
$ cp boot.efi /mnt/usbdisk/

Salir del chroot y rebootear

$ exit
$ reboot

Hemos terminado para un sistema ordinario, si se trata de Macbook Pro falta otro post donde señalo la configuración en la MacBook para terminar el proceso de arranque. Una vez que se haya hecho eso entonces ya se puede reiniciar y arrancar en Arch y entrar como usuario. Si no se está en MacBook o si lo estás pero ya arranca bien, ver el post donde señalaré cómo instalé el entorno gráfico y utilidades, Parte 3.

 

Instalar Arch Linux en mi MacBookPro 13 retina Parte 1

 

Arch en una MacBook Pro retina de 13 pulgadas.
Arch en una MacBook Pro retina de 13 pulgadas.

Describo aquí los pasos que he seguido para instalar Arch Linux en mi MacBook Pro Retina de 13″, modelo mid 2013. Previo a este intento ya había realizado el trabajo de particionar mi unidad para tener en dual boot el sistema Mac OS Yosemite y Linux Mint 17.3 Desde un arranque EFI. No describiré aquí el proceso para alcanzar a tener esto sino lo que hice una vez que quise sustitur la instalación de Mint por una instalación nueva de Arch Linux. El sitio de Arch tiene un wiki que es el mejor documentado que he visto para cualquier distro y que es una guía indispensable para trabajar con el sistema Arch. Visítalo, a mi me sirvió en particular esta guía.

AVISO: De ninguna manera soy un experto, sólo documento lo que hice para lograr un sistema funcionando apropiadamente. Fui tomando información de muchos otros blogs en mi proceso de instalación y en este post sumarizo lo que me sirvió. De modo que este blog pretende ser más una guía general que un tutorial detallado, y que me serviría para repetir la instalación. Si deciden utilizar este post como guía, la responsabilidad del resultado será de quien decida aplicar en su sistema lo que aquí planteo.

Bien, comencemos:

Descargar el ISO de Arch Linux para el sistema que tiene, en mi caso el ISO x86_64

Pasar el iso a una usb (/dev/sdc es donde se monta mi usb, checar en su máquina)

$ sudo dd if=/path_al_iso.iso of=/dev/sdc

Arrancar la laptop con la usb puesta y presionando la tecla Alt (left option key)

Elegir arch del menu, eso te pondrá en una pantalla negra con sólo el command line y el cursor. Puede aparecer como #> o como $>

$ >

Aquí, debido a que la macbook es HDPI, el sistema retina es de 2560×1600 y entonces todo se ve minúsculo. Para hacerlo más visible escribir

$ setfont sun12x22

Preparar la conexión a red

$ dhcpcd

Probar la conexión con un ping para ver que esté activa

$ ping -c 3 google.com

esto genera 3 pings y se detiene si todo está funcionando correctamente

Configurar a un teclado más conocido (latinoamericano en mi caso)

$ loadkeys la-latin1

Determinar el mapa del disco duro para detectar los nombres de las particiones actuales y en seguida hacer las particiones que necesitamos

$ fdisk -l

Particionar con cgdisk de modo que quede como la tabla de abajo, que muestra mi sistema Mac Os en sda1, sda2, sda3 y sda4. Instalaré arch en las otras, que deben ser creadas con cgdisk

$ cgdisk /dev/sda

 

Device         Start  End  Sectors    Size      Type
 /dev/sda1                                            200M     EFI System
 /dev/sda2                                            65.1G     Apple Core storage
 /dev/sda3                                            619.9M  Apple boot
 /dev/sda4                                            128M     Apple HFS/HFS+
 /dev/sda5                                            2G          Linux swap
 /dev/sda6                                            256M     Linux filesystem
 /dev/sda7                                            15G        Linux filesystem
 /dev/sda8                                            29G        Linux filesystem

La instalación la hago sobre las particiones:

sda5 (swap)  le doy 2G

sda6 (boot)   al área de boot tiene con 256M

sda7 (root)    la que será el root del sistema con 15G es suficiente

sda8 (home)  el directorio de home con el resto del espacio de disco, para mi 29G.

Una vez creadas las particiones hay que darles formato

$ mkfs.ext2 /dev/sda6       (boot va en formato ext2)
$ mkfs.ext4 /dev/sda7       (root va en formato ext4)
$ mkfs.ext4 /dev/sda8       (home va en formato ext4)
$ mkswap /dev/sda5          (swap en su propio formato)
$ swapon /dev/sda5          (activación del swap)

Ahora se monta el filesystem

$ mount /dev/sda7 /mnt      (lo primero es montar partición de root)
$ mkdir /mnt/boot && mount /dev/sda6 /mnt/boot
$ mkdir /mnt/home && mount /dev/sda8 /mnt/home

Instalar Arch sobre estas particiones, comienza en la partición de root

$ pacstrap /mnt base base-devel

Hacer el fstab

$ genfstab -p /mnt >> /mnt/etc/fstab

Felicidades! Aquí ya tienes instalado el sistema Arch. Pero no hemos terminado aún, ahora debemos hacer que el sistema arranque desde el disco al que hemos instalado y no desde la usb. Continuamos en la Parte 2.