Wednesday, October 15, 2008

Arch Linux, primeras impresiones

Como ya comenté hace un par de días, tenía ganas de probar Arch, ya dado que es la única de la lista que no está ahora mismo en versión beta o RC , la he instalado. De hecho, igual que Gentoo, Arch tiene un sistema de actualización continua, por lo que las releases son simplemente congelaciones puntuales del arbol de paquetes.

La gente la comparaba a una cosa intermedia entre Debian y Gentoo y por ahí anda la cosa. Realmente es como un Gentoo pero binario. Tiene cosas buenas y otras no tanto, voy a contar las principales, centrándome en las diferencias con Gentoo, puesto que el resto es muy muy parecido: actualización continua, sistema base super reducido, configuración manual 100% de todos los aspectos del sistema, documentación para dar y tomar...

Lo primero el gestor de paquetes. Pacman es mucho más rápido que emerge, no sólo por que usa binarios sino porque está hecho en C y no en bash. La búsqueda es tan rápida como eix y la actualización de repositorios es casi instantánea:
[root@telstar ~]# time pacman -Sy
:: Sincronizando las bases de datos de paquetes...
core 31,8K 141,0K/s 00:00:00 [##################################################################] 100%
extra 410,3K 585,3K/s 00:00:01 [##################################################################] 100%
community está actualizado

real 0m2.385s
user 0m0.147s
sys 0m0.407s
[root@telstar ~]#

Nada que ver con los minutos de Gentoo en un eix-sync o al menos emerge --sync, o los de SuSE 10.x. De hecho es el gestor más rápido que he visto, superando incluso al apt-get de Debian. A veces hasta asusta:
[root@telstar ~]# time echo s | pacman -S wine
resolviendo dependencias...
verificando conflictos...

Objetivos (1): wine-1.1.6-1

Tamaño total de descarga: 0,00 MB
Tamaño total instalado: 73,62 MB

¿Continuar con la instalación? [S/n] Verificando la integridad de los paquetes...
(1/1) verificando conflictos entre archivos [##################################################################] 100%
(1/1) instalando wine [##################################################################] 100%
Dependencias Opcionales para wine
cups: printing support
sane: scanners support
libgphoto2: digital cameras support
alsa-lib: sound support
giflib: GIF images support
libjpeg: JPEG images support
libpng: PNG images support

real 0m1.378s
user 0m1.117s
sys 0m0.227s
[root@telstar ~]#

Instalación de wine en segundo y pico, no está nada mal.
Lo que ya no me gusta tanto es el aspecto. Sobre todo al hacer búsquedas, al no usar colores, es muy difícil de leer lo que encuentra si hay mas de 4 o 5 resultados. Hay proyectos por ahí de colorear la salida, pero son scripts de post-proceso, lo que contradice la filosofía de pacman.
Y otra cosa que echo mucho de menos de Gentoo es tener varias versiones de un mismo paquete, y clasificadas como estables y testings. En Arch hay una y punto, lo cual hace muy difícil volver a una versión anterior si una da problemas. Si se ha tenido antes y no se ha borrado la caché, se puede instalar desde el paquete en caché, si no se ha tenido ese paquete antes, hay que buscar por Internet un repositorio desactualizado, yo he usado http://ftp.tu-chemnitz.de/pub/linux/sunsite.unc-mirror/distributions/archlinux/$repo/os/i686. Se sustituye en /etc/pacman.d/mirrorlist, se sincroniza (pacman -Sy) y se instala el paquete que se quiera. También se puede bajar a mano e instalar con "pacman -U". Todo esto hace que no me de mucha confianza para un sistema crítico, aunque sólo es una opinión personal. Por último, tiene una GUI en QT4, shaman que es bastante normalita: cumple su función, no estopea mucho a pacman pero tampoco lo mejora. Como synaptic con apt-get.

En cuanto a la administración, esta más centralizada que en Gentoo, pero no hay scripts auxiliares, aunque tampoco hacen falta debido a lo simple que es. Casi cualquier aspecto del sistema se configura tocando el archivo /etc/rc.conf. Evidentemente, apache sigue teniendo su httpd.conf, etc, pero la información referente al sistema en sí (localización, hardware, red, demonios) está en un sólo archivo de texto.
Una idea genial que tiene es la de arrancar demonios en background, los cual acelera muchísimo el proceso de arranque. ¿Para que esperar a que arranquen apache y mysql si pueden ir arrancando mientras tecleo la contraseña? Lo mismo con otros más obvios como dhcp, ntpd, etc. Gentoo simplemente tenía un switch de asincronismo, pero Arch permite definir cada demonio por separado.
El siguiente paso sería definir hilos de demonios. Me explico con un ejemplo: si ntpd tiene que esperar a que dhcp adquiera una dirección, no haya que detener todo el arranque mientras dhcp termina. Se define que ntpd depende de dhcp (gentoo lo hace con funciones bash en cada script, pero un xml o yml valdría par el caso) y se arrancan ambos de manera asíncrona, así dbus puede ir arrancando mientras dhcp adquiere una dirección y ntpd espera a dhcp. Aún más, se puede definir otro hilo con dbus-hal-otros y arrancar los hilos de dbus y dhcp y mientras ir iniciando kdm. Si tengo un rato lo propondré en el bugzilla de Arch, si no lo ha propuesto alguien ya. En la documentación al menos no viene.

En cuanto al escritorio no hay mucho que decir: los fallos de KDE4 con nVidia estropean un poco el tema y por desgracia, no hay KDE3 en los repositorios oficiales. Las teclas multimedia funcionan de pascuas a ramos y sólo algunas, etc.


Para terminar hoy, destacar que existe un mecanismo parecido a los overlays de Gentoo: ABS y también un repositorio actualizado por los usuarios, una especie de "wiki de paquetes", AUR, pero aún no los he investigado. Con estos mecanismos sí que es posible instalar KDE3 y otras cosillas, pero lo dejo para más adelante.

De momento usaré Arch, al menos hasta que salgan las nuevas "distribuciones fáciles". Para el futuro, a largo plazo me gusta más Gentoo, pero al menos tendré una opción formada sobre Arch. Por el momento, recomiendo a cualquiera que le guste trastear con linux que la pruebe, aunque yo, sobre todo por el tema de varias versiones de un paquete, me quedo con Gentoo. Eso sí, el logo es más bonito el de Arch :D

No comments: