Wednesday, September 24, 2008

Una semana con Mandriva

El día que acabé los examenes lo primero que hice (después de intentar ver un DVD con Vista) fue instalar Mandriva. La versión elegida ha sido la 2008.1, que a pesar de tener ya 6 meses casi, es la "estable" y asi cuando salga la 2009 (9 de octubre) puedo comparar. Espero que no pase como con suse, y la version nueva no sea peor que la vieja. (suse 10.3 daba muchos menos problemas que 11.0, ambas con kde3). En fin, que ha pasado una semana desde que lo instalé y creo que es tiempo suficiente para poder sacar ya muchas conclusiones. No voy a decir nada sobre las características generales, para eso esta la Wikipedia y distrowatch. Allá van mis impresiones.

Aspectos positivos
Lo primero y me atrevería a decir, de lo mejor que he visto para Linux: Mandriva Control Center (mcc) . Entre las cosas que me gustan de Windows está el panel de control. Pues el panel de control de Windows se queda corto comparado con el mcc. El mcc tiene todo lo que se puede necesitar y más. Las categorías generales son: Administración de paquetes, administración remota, hardware, redes, sistema(usuarios, logs, servicios, backups), recursos compratidos en red, discos (particiones), seguridad, arranque. Casi casi todo lo que he hecho lo he podido hacer desde aquí, sin tener que abrir una consola de root. Las cosas que he tenido que hacer a mano han sido recompilar el kernel (por friki, no por necesidad real), instalar modulos adicionales (rt73, ya que el rt73usb que hay en el kernel no me funciona) y otras cosas como "recuperación de claves WEP", que necesitan permisos de root. Aún así hay cosillas que mejorar, como integrarlo con el centro de control de KDE, o limar alguna cosa que no funciona como debería.
DKMS. Tras estas siglas se oculta una maravilla para "power-users". Y sorprende, siendo tan sencillo, como no se ha hecho antes. DKMS son las siglas de "Dynamic Kernel Module Support" y se trata de un sistema que recompila los modulos necesarios automáticamente cada vez que se cambia de kernel. Cuando compilé el kernel, di por hecho que al no tener el módulo de nvidia instalado para ese kernel (evidentemente, no estaba en el repositorio) no iba a poder arrancar en modo gráfico. Cual fue mi sorpresa cuando tras un largo arranque (un minuto extra o así) veo que me aparece la pantalla de presentación de nvidia antes de kdm. Wow! Basicamente en lugar de instalar los módulos binarios se instalan las "fuentes" y en cada arranque se comprueba si existen esos módulos para el kernel que se esté usando. Si existen no se hace nada y no se aprecia ningún retraso, y si no existen pues se crean. Parece ser que en la versión 8.10 de ubuntu también se va a incluir esto, a ver que tal les funciona. En mandriva va muy bien, aunque con un pero. Si se instala un kernel vanilla, la compilación del modulo en el arranque falla. Creo que hay que usar fuentes de kernel parcheadas por mandriva (no lo he confirmado, sólo probé compilar 1 kernel de kernel.org y falló). Y aún mas sorprendente, al fallar en esa ocasión, y no tener módulo nvidia, no me echo a una consola en modo texto, sino que hizo un "graceful fallback": un mensajito de error y reconfiguró el servidor gráfico con el driver nv libre. Chapó. Solo le faltaría volver a usar el nvidia cuando esté disponible, pero por desgracia hace los cambios permanentes. Lo cual no es tan grave, dado lo sencillo que es volver a ponerlo desde el mcc, pero no sé lo evidente/intuitivo que puede eso para un newbie.
Relacionado con el anterior, otra cosa muy sencilla como para ser una distribución tan "para usuarios" es compilar un kernel. Esto es gracias a que para cada kernel que hay en el repositorio, también viene la versión en código fuente, con sus parches y todo. Sólo hace falta un make, make modules_install y make install y listo. No hace falta ni tocar el grub, ni nada de nada. En mi caso quise recompilar el kernel porque el kernel para portatiles por defecto no soporta 4GB de RAM, para lo que tendría que instalar el kernel "para servidores", así que compilé un kernel con todas las opciones del poratil pero activando las extensiones PAE.
Otra cosa que también he comentado pero me gustaría destacar es la gestión de módulos "propietarios" (léase nvidia). Si el sistema detecta (al instalar o configurar) que para la gráfica que hay instalada hay un driver no-libre, pregunta si se quiere usar. Si se contesta que sí, se lo baja, lo instala y configura el servidor gráfico para que lo use. Lo único que hay que hacer es contestar "si" a un popup.
Por último es destacable, aunque era de esperar, que casi todas las funciones ACPI funcionan sin tocar nada. Teclas de volumen, brillo, silencio, play, todo estupendo. La suspensión en disco no funciona, supongo que es porque no tengo partición swap. Tampoco da ningún mensaje de error, simplemente hace todo el "progreso" de suspensión y al terminar en vez de apagarse el PC, se vuelve al escritorio. Quizá sin los parches tuxonice no se pueda usar un archivo como almacén, en gentoo usaba el kernel parcheado y sí tenía la opción (por opción me refiero a que estaba docuementado en el HOWTO). Es una faena, ya que con 4GB de RAM no me apetece nada tener que dedicar espacio de disco a swap. Aún tengo que comprobar si se puede hacer esto "a mano", pasándole el parámetro al kernel, ya que el kernel que instalé no es el de por defecto de mandriva sino uno "experimental" con varios parches, entre otros tuxonice. El resto creo recordar que las desactivé al compilar el kernel, por no jugarmela con la estabilidad.

Aspectos negativos
Como se suele decir, no todo el monte es orégano, así que Mandriva también tiene sus cositas que no funcionan como deberían.
La más grave es para mí es el reloj. Funcionaba bien, pero tras tocar alguna configuración, a veces al reiniciar el reloj se adelanta 2h. Da igual si se le dice que la hora hardware esta puesta a UTC o local (CEST:+2), parece ignorar este hecho y usar un mix de las dos. Al arrancar lo hace como si el reloj estuviera en UTC y suma 2 horas al reloj hardware. Al apagar, lo hace como si estuviera en hora local y guarda la hora tal como está, a la BIOS. Y lo peor es que no pasa siempre, sólo un 80% de las veces. Para rematar la faena, no encuentro en internet nadie describiendo este comportamiento, debe ser que he tocado algo raro, pero yo juraría que está todo ok, al menos en la sección de configuración de reloj, que esta reconfigurada 8 veces ya. Por suerte al rato de arrancar se arregla la hora por NTP.
Otra cosa bastante grave, pero que no es (totalmente) culpa de mandriva: la wifi muere. Aquí el problema son los drivers iwl4965. Resulta que si se hace un down de la interfaz, la tarjeta no vuelve a funcionar. En teoría no debería pasar nada, pero resulta que el dhclient que usa mandriva, al recibir un DHCP NAK, hace un ifconfig down y se va el invento a tomar vientos. Así que la solución pasa por cambiar de dhclient a dhcpcd. La opción esta en la parte "Avanzadas" de la configuracion de la interfaz de red, en forma de desplegable. Si está instalado dhcpcd, se instala automáticamente en ese momento (una gozada). Lo raro es que en kubuntu no dio problemas y resutla que el dhclient de kubuntu no baja la interfaz al cambiar de ip y por eso la tarjeta sigue funcionando. Si se hace un "ifconfig wlan0 down" de manera manual en kubuntu, la tarjeta muere para el resto de la sesión igual que en mandriva, asi que claramente es problema del iwl4965.
Otra cosilla negativa, aunque la intención es buena, a la hora de montar serividores. Al estilo coco.... Bien: incluir un "task: LAMP"que instale automáticamente todo lo necesario para montar un típico webserver. Mal: olvidarse de inculir a mysql como dependencia del paquete LAMP (que más que LAMP es "LAP"). Incluso instala php-mysql, pero no el mysql en sí. Tiene la pinta de un despiste por parte del creador del paquete. Se instala mysql aparte y no hay tragedia. Otro fallo más grave es en la configuración por defecto de apache. Por desgracia no trae un apartado de mcc para configurar servidores, así que hay que editar archivos ".conf" y el que trae por defecto, hace que el apache no se inicie al arrancar aunque esté configurado para ello. Trae la opción Listen 0.0.0.0 80, lo cual significa que debe escuchar en todas las interfaces en el puerto 80 pero sólo para IPv4. Según el manual de apache está bien, pero por algun extraño motivo, al arrancar da error de sintaxis en esa línea y al apache no se inicia. Sin embargo, al iniciar apache una vez arrancado el PC (haciéndolo tanto por consola como desde mcc) no da ningún problema. El orden de arranque es correcto, y el apache se inicia de lo último, cuando la red debería estar funcionando, quizá sea algún retraso del DHCP o algo... Cambiando la línea por Listen 80 se soluciona el problema y el apache se inicia al arrancar.
Tampoco me gusta demasiado que los paquetes no se actualizen demasiado. En el repositorio siguen estando disponibles vlc 0.8.6 y kde 4.0.3, cuando ya hace un tiempo que salieron las verisones 0.9.2 y 4.1.1, con mejoras significativas. Quizá estén en los repositorios "testing", y el repositorio por defecto sólo distribuya actualizaciones de seguridad... habrá que comprobarlo.
Otros defectos menores, o más bien "wishlist" son que el orden de las opciones de arranque no se puede cambiar desde mcc, hay que editar el grub.list para ello a mano. Otro: estaría genial un apartado en mcc para configurar servidores: httpd.conf, php.ini, algo tipo phpmyadmin... Otra cosa feísima es el prompt por defecto en la consola:
bash-3.2$ echo $PS1
\s-\v\$
bash-3.2$
Aunque la verdad, si alguien va a usar la consola, debería saber configurarse un prompt a su gusto...
Para terminar la lista de defectos, la resolución nada más instalar el sistema no era correcta, 1024x768 en vez de 1280x800, pero no es nada del otro jueves cambiarlo, cómo no, desde el Centro de Control.

Otros
Como comentarios generales, lo primero es decir ¡wow, peazo distribución! La gente se dedica a poner Ubuntu por las nubes y para un usuario normal Mandriva es mucho, muuucho más fácil de usar, bajo mi punto de vista. Y repito, para un usuario normal. A mi después de haber usado gentoo tanto tiempo cualquiera me parece fácil, pero en Mandriva un usuario normal puede no tocar la consola (esa "ventana muy rara, toda negra, con letras blancas" que tanto sale en los foros) en ningún momento.
El aspecto es genial, usando un mismo tema gráfico para todo: grub, bootsplash, kdm, ksplash y fondo de escritorio. El unico "problema" que hay es al querer cambiarlo. A mí me gusta mucho más el tema de mandriva-free (version 100% libre) que el de mandriva-one (version amigable, con codecs, flash, modulos nvidia, etc). Al instalar (con el mcc) mandriva-theme-free y free-kde-config se configura todo excepto la pantalla de carga de kde (kpslash). Para esto hay que hacer un enlace simbolico a /var/lib/mandriva/kde-profiles/free/share/apps/ksplash/Themes/Free/ dentro de la carpeta /usr/share/apps/ksplash/Themes/ (se puede copiar, si a alguien le sobra disco). Seguramente sea más correcto incluir la carpeta en algún PATH en algún fichero de configuración, pero no tengo ni idea de dónde mirar para saber que fichero es, man ksplash no da resultados. El tema es que tanto /var/.../kde-profiles/one como /var/.../kde-profiles/common están dentro ese "PATH", porque los themes que hay en ellos se muestran, pero el /var/.../kde-profiles/free, no.
Como ya he comentado antes, para que me reconozca los 4GB de RAM, he tenido que usar un kernel con soporte de 64GB (PAE), que por defecto es el variante "server". Como no me importaba hacerlo, yo preferí compilarme en kernel, pero hubiera sido suficiente con instalar este variante. Un hecho sorprendente es que por defecto trae el kernel "desktop586" que detecta sólamente ¡880MB! Dicen que para sistemas con 1GB no vale la pena cambiar el kernel por el desktop a secas o el laptop, que reconocen hasta 3,2GB, por la pequeña perdida de rendimiento, pero espero que para la versión 2009 el kernel por defecto reconozca más memoria, ya que casi ningun equipo actual tiene menos de 2GB... Al menos se puede configurar, el Vista en 32bits sólo detecta 3GB y punto pelota. En problemillas como este y el de la tarjeta de red se agradece enormemente la sección de erratas de la wiki, que me parece muchisimo mas legible que el Knowledge Base de Microsoft, que es más al estilo bugzilla, sin un índice o algo de esructura. No se que sistema tiene Kubuntu, ya que no encontré mas que foros y tampoco busqué más allá.
Mas cosas: el touchpad. Gracias a gsynaptics, el touchpad funciona muchísimo mejor que en Vista. Muchísimo. Tanto como perfecto. Scroll vertical y horizonal, nada de falsos clicks al hacer scroll, y no deja de funcionar cuando le da la gana... una maravilla. Y eso que para Vista lo configura el fabricante...
En cuanto a soporte, hay una página oficial para ello, una mezcla de foro/sistema de tickets, aparte de los tipicos foros de usuarios. Lo bueno es que en entornos profesionales, en la página oficial se puede solicitar ayuda urgente de pago, lo que seguro que ayuda a más de una empresa a dar el paso.

Y esto es todo por hoy. De las distribuciones "fáciles" hoy en dia en el mercado recomiendo Mandriva sin lugar a dudas. Mucho mejor que _ubuntu 8.04 y que openSUSE. A aprtir de octubre saldrán todas las nuevas versiones, así que habrá que comparar de nuevo, ya que no tiene porque mejorar, por desgracia (véase WinXP vs Vista o openSUSE 10.3 vs 11.0).

No comments: