He leído ultimamente:
De entre las crÃticas que suelen hacerse a Linux una de la más comunes es que instalar programas puede convertirse en una odisea para el usuario inexperto. La realidad es que instalar programas en Linux es bastante fácil en casi cualquier distribución moderna; el problema suele ser que esa “facilidadâ€? no es siempre obvia para el usuario.
Contemos el como ejemplo la historia de nuestro usuario “Pepe Novato� que, tras haber visto su proyecto de fin de carrera destruido junto al resto de su sistema Windows por el último virus del Outlook toma la firme decisión de instalarse Linux porque ha escuchado a un amigo, que siempre está a la última en informática, que en Linux no iba a tener virus. Pepe elige una distribución de las que le han dicho que son fáciles, pongamos Mandrake, y tras una instalación de 40 minutos en la que se ha limitado a pulsar “siguiente, siguiente, siguiente� consigue tener, con menos esfuerzo del que pensaba, su Mandrake instalada y configurada (pongamos que le ha detectado correctamente todo el hardware, cosa que con una distribución moderna suele ser la norma.)
Pepe empieza a cacharrear ilusionado y rápidamente se enamora de su sistema: El escritorio (que por algún motivo el Linux este se empeña en llamar “KDEâ€? en lugar de “Escritorioâ€?) le encanta y le parece estéticamente mucho más bonito que su Windows XP. Ciertamente se siente algo perdido pero el sistema es lo bastante parecido a Windows como para irse defendiendo: Pronto aprende que la configuración del escritorio (el KDE ese) se hace desde el “Panel de Control KDEâ€? al que accede desde el menú inicio – preferencias (tampoco entiende porque el menú “inicioâ€? en lugar de ser el menú de siempre tiene una K con una especie de verruga gigante, pero como el icono le gusta no protesta) y que la configuración del sistema no relacionada con el escritorio se hace desde el “Panel de Control de Mandrakeâ€? que tiene el divertido nombre de Drakconf. También cacharreando por el menú inicio va descubriendo una cantidad espectacular de programas pre-instalados, que cubren el 90% de lo que tenÃa en Windows, y sin tener que pasar por acostumbrado ciclo de “buscar en google web del programa, ir a web del programa, pinchar en descarga, rellenar formulario que pregunta hasta el apellido de soltera de la abuela paterna, descargar el programa, pasarle el anti-virus, instalar el programaâ€?. Descubre que tiene programas para leer y escribir el correo (en realidad tiene tres distintos, pero se queda con el Kmail por aquello de que tiene empieza por K y debe ser más oficial), varios navegadores (se queda con Firefox, que ya lo conocÃa de Windows), clientes de mensajerÃa instantánea que conectan a todas las redes habidas y por haber en un sólo programa, programas de P2P (para Pepe “pa piratearâ€?) que conectan a todas las redes a la vez, juegos chorras pero muy entretenido y hasta un paquete de ofimática clavado al Ofis pero que no le ha costado 500 euros y encima exporta pedefes sin tener que bajarse con la mula ningún plugin extraño como tuvo que hacer con el word.
Pepe asÃ, se pasa una semana entera cacharreando con el sistema y configurándolo a su gusto (¡es increible la de cosas que se pueden cambiar en el escritorio este, cuando lo vean mis amigos van a flipar!.) Un dÃa se anima a descargar las fotos de su cámara digital al Linux y tras pinchar el cable usebe de la cámara al ordenador comprueba con alivio como aparece un icono en su escritorio llamado “memory cardâ€?, que abre para ver que contienen las carpetas con sus fotos. Pepe copia las fotos a su directorio (perdón, carpeta) de usuario bajo el directorio (perdón, ¡carpeta!) “Fotosâ€? que se ha creado y va pinchando en las fotos, que se abren en el propio navegador de ficheros. Sin embargo algunas de las fotos (unas pocas) no le han salido del todo bien por lo que Pepe querrÃa retocarlas. como buen aficionado a la fotografÃa digital que es. Se pregunta que programas tendrá disponibles al efecto y en un destello de pericia informática mezclara con reminiscencia windowsera se le ocurre pinchar con el botón derecho sobre una de las fotos y desplegar la entrada “Abrir con...â€?. La lista ya desplegada le muestra tres o cuatro programas cuyos nombres no le dicen mucho (eso sÃ, todos tienen alguna “Kâ€?, que obsesión) asà que los va probando uno a uno. De los tres descubre que dos son visores (“¿para que tantos visores para lo mismo?â€?) y uno parece que si se va a permitir editar las fotografÃas. Pepe cacharrea con el programilla y comprueba que efectivamente permite algunas manipulaciones básicas (rotar, cambiar el brillo y demás) pero resulta que Pepe está acostumbrado al potochof en Windows y quiere algo más de poder. Vuelve al menu inicio (donde afortunadamente si hay una descripción de una linea de cada programa) y va probando unos pocos programas más, pero al igual que en el caso anterior, ninguno satisface sus ansias de poder.
“No pasa nada, para cabezón yo� se dice Pepe, y en un alarde de adaptación a los tiempos carga en el navegador Google.com y, habiendo oido de su amigo el jaquer que algunos programas populares de Windows si tienen versión para Linux, busca “potochof para linux�. El primer resultado es de una especie de foro llamado Barrapunto.com donde todos los que escriben parece que estuvieran siempre enfadados y peleándose entre si (si es que tanto tiempo con el ordenador como pasa esta gente no puede ser bueno) y uno de los mensajes hace referencia a un programa llamado “Gimp� que debe ser algo asà como el potochof de Linux.
Para asegurarse antes de hacer nada (Pepe es un tipo precavido) se da una última vuelta por su querido menú inicio y efectivamente comprueba que allà no hay ningún Gimp asà que vuelve a Google.com y escribe “Jimp�. Google, siempre educado, le pregunta si lo que quiere decir es “Gimp� y Pepe recuerda que asà era como lo llamaba del tipo enfadado del barrunto.com ese, asà que sigue el consejo de Google y pincha en el primer resultado que encuentra.
Para su horror y consternación descubre que la página del programa no está en cristiano asà que vuelve a los brazos de Google y le pide ayuda buscando “Gimp en españolâ€?. Esta vez le aparece una página que, aunque bastante distinta de la anterior si que está es cristiano y que al parecer es la del proyecto Gimp.es. La página está llena de documentación utilÃsima, tutoriales y guÃas (en cristiano) pero en ningún maldito encuentra información sobre como bajarlo, comprarlo, conseguirlo o lo que sea. Como Pepe es un usuario curtido en mil batallas decide hacer de tripas corazón y volver a la página de los herejes para probar suerte, buscando desesperadamente el palabro “donloatâ€? o algo asà que recuerda que para los herejes suele significar “descargarâ€?. La encuentra rápidamente en el menú de navegación lateral y tras desistir de pasarse la tarde peleándose con el diccionario, pincha en el primer enlace que encuentra. Para su horror, ese enlace le lleva a una especie de carpeta con 30 archivos pero haciendo fuerte su lógica crucigramesca decide seleccionar el fichero que empiece por Gimp y cuyo número de versión sea mayor (con los ficheros que empiezan por “patchâ€? ni se atreve) pero mustio de espanto se queda al descubrir que hay dos contendientes por ganarse su atención: “gimp-2.0.3.tar.bz2â€? y “gimp-2.0.3.tar.gzâ€? “¿Que diferencia habrá? Estos linuxeros son muy raros...â€?. Decide utilizar un método altamente empÃrico, pinchar en los dos archivos, y comprueba que la ventanita que se sale es exactamente igual para los dos. “Pues serán lo mismo con distintos nombres...â€? piensa, asà que se concentra en una de las ventanitas. Esta le dice “¿Abrir archivo? Extensión: Archivo tar comprimido con gzipâ€? y le muestra los botones “Guardar comoâ€?, “Abrir con arkâ€? y “cancelarâ€?, gracias a la cual nuestro incansable Pepe descubre tres cosas:
Como en Windows siempre preferÃa guardar los instaladores al disco por si algo salÃa más pincha en “guardar comoâ€? y selecciona su directorio de usuario. Una vez ha terminado de descargarse el archivo, abre su directorio con el navegador de ficheros (Konqueror, jeje) y vuelve a pinchar en el archivo.
Konqueror, que Pepe ya ha descubierto que es muy listo, abre el archivo comprimido y se introduce en el como si fuera una carpeta (sin Winzip ni na). Esta a su vez le muestra otra carpeta llamada “gimpâ€? y de nuevo vuelve a pinchar sobre ella. Esta vez la carpeta le muestra unos cuantos archivos con iconos interesantes y tras una pequeña reflexión Pepe se encuentra dividido entre pinchar en “configureâ€? (que le trata de usted y todo) y “INSTALLâ€?. Como ya hemos dicho Pepe es un usuario altamente sofisticado por lo que supone que para configurarlo primero habrá que instalarlo asà que sin dudarlo pincha en el “INSTALLâ€?. El resultado no es el esperado porque se le abre un fichero de texto con muchas letras, y encima en hereje. Espantado vuelve atrás y descubre que además de la otra alternativa (“configureâ€?) hay un fichero que se llama “TODOâ€?. “Claro, eso será para instalarlo todoâ€? piensa raudo Pepe, asà que pincha en el. De nuevo muchas letras en hereje. “¿COPYING?â€? Lo mismo. “¿Configure?â€? ¡Lo mismo! (pero en otro idioma todavÃa más hereje.) Soltando un sonoro taco Pepe vuelve a google y esta vez escribe “como instalar el gimpâ€? y encuentra un montón de mensajes distintos cada uno diciendo una cosa distinta a cada cual más rara.
Pepe no querÃa hacerlo pero no le queda más remedio que llamar a su amigo el jaquer, muy avergonzado por molestarle, y este le responde con preguntas extrañas como “¿Que paquete te has bajado?â€? “¿El rpm o el deb?â€? Pepe le responde que se ha bajado el que habÃa en su página en hereje y su amigo jaquer le responde que no era necesario, que el Gimp ya viene con la Mandrake sólo que seguramente no se habrÃa instalado por defecto. Por lo visto jaquer tiene algo de prisa y le explica muy rápidamente que lo que tiene que hacer es abrir el gestor de paquetes de la Mandrake y seleccionar desde allà el Gimp que después lo hará todo sólo.
Tras colgar, vuelve Pepe a su querido menú de inicio y rebuscando un poco encuentra “Instalar paquetes de softwareâ€? lo que remotamente se parece a “Instalar programasâ€? asà que lo selecciona. Le sale una ventanita diciendo “Esta iniciando este programa como usuario no privilegiado. No podrá hacer modificaciones en el sistema, pero puede navegar la base de datos de paquetes disponibles.â€? Anonadado se queda Pepe, y encendiendo un pitillo (lo estaba dejando) intenta analizar la frase. “¿Porque cojones yo no soy un usuario privilegiado? ¿Soy entonces un usuario desposeido? ¿Cuanto hay que pagar para ser privilegiado, no era gratis esto de Linux? ¿O es que es demasiado listo y me ha leido el ADN? ¿Qué cojones es una base de datos de paquetes?â€?. Decidiendo desconectar su cerebro para evitar daños mayores, y activando el modo “¡¡¡Banzaiiiiiiiiiiii!!!â€? Pepe pulsa en el botón de “Aceptarâ€?. Sólo que no es el botón de aceptar, porque en el último milisegundo, cuando su cerebro ya ha mandado a su dedo que haga click sobre el primer botón ve que sobre el botón pone “Cancelarâ€?. “¿Quien cojones me ha cambiado los botones de sitio? ¿Ya se me ha metido un virus aquà también?â€?. Pepe vuelve a pinchar desde el menú de inicio en “Instalador de paquetesâ€?, empezando a sudar copiosamente, y esta vez pulsa el botón adecuado. Ahora le sale una ventana que le dice “por favor espera, buscando los paquetes disponiblesâ€? asà que Pepe obedientemente espera. En unos segundos se le muestra una ventana bastante digerible que le muestra una serie de categorÃas. Pepe despliega “estación de trabajoâ€? y le salen un churro de letras que, supone, serán nombres de programas. Además descubre que pinchando sobre nombre en el lado derecho se muestra información sobre lo que hace ese programa. “Bueno, esto es otra cosaâ€? piensa Pepe mientras descubre que en la parte superior de la ventanita tiene una caja para buscar. Escribe “Gimpâ€? y buscar, y aparece una lista como de 30 nombres a cual más raro, pero Pepe simplemente pincha en el que pone “Gimp-1.2-34mdkâ€?... y no pasa nada. Hace doble click: tampoco pasa nada. Pepe blasfema.
Vuelve a llamar a su amigo, que está en una reunión importantÃsima en la que los jefes le están pidiendo programar 14 horas en lugar de 11 para mostrar un compromiso mayor con la empresa, y muy molesto le contesta que un usuario normal no puede instalar paquetes, que el usuario privilegiado es un usuario administrador que tienen todos los sistemas linux para instalar y quitar cosas pero que si ejecuta el panel de control de Mandrake le pedirá la clave de administrador y desde allà si podrá hacerlo.
Pepe, enormemente avergonzado ejecuta el Centro de Control de Mandrake, que le pide la clave esa que tenÃa apuntada desde la instalación y prueba suerte con “Administración de Softwareâ€?. Ahora sÃ, ve que existen varios iconos llamados “Instalarâ€?, “Quitarâ€? y similares y pinchando en “Instalarâ€? le sale exactamente la misma ventanita que antes, pero esta vez el botón “Instalarâ€? está activado. Muy absurdo, piensa Pepe, pero acostumbrado al absurdo (al fin y al cabo ha sido usuario de Windows durante mucho tiempo), vuelve a poner “Gimpâ€? en la cajita de búsqueda, vuelve se seleccionar “gimp-1.2-25mdkâ€? de entre la multitud de paquetes (“joder, parecen hormiguitasâ€?) que tienen la mala sombra de contener la palabra “Gimpâ€? (“a estos linuxeros les gusta todo bien duplicadito, hay que joderseâ€?) y pincha en el botón “Instalarâ€?. Ahora le sale una ventanida que dice “Para satisfacer las dependencias, también se debe instalar el o los paquetes disponibles blablaâ€?. Pepe, sin poder evitarlo, vuelve a meditar. “¿Para satisfacer dependencias se deben instalar unos paquetes? El usuario medio de linux debe de ser adicto al sexo y además maricón por lo que veo sigamos adelante, satisface satisface...â€? Aceptar. Se le pide que introduzca el primer CD de los 8 de Mandrake asà que Pepe lo introduce y después aparece una ventanita con una barra que va indicando el progreso de la instalación. Finalmente el proceso termina y Pepe descubre, entre gritos de euforia, que el “Gimpâ€? ahora si está en su menú de aplicaciones.
Pepe, con mucho sudor, ha aprendido por fin la forma correcta de instalar programas en su Linux. Aunque a partir de ahora cada vez que le hablan de programa que no está en su Mandrake Pepe decide olvidarse directamente. Simplemente no le compensa.
El lector experimentado seguramente piense que esta historia es una exageración en toda regla pero no es asà sino al contrario; de hecho si uno lee despacio y se fija en los detalles descubrirá que Pepe en realidad es un “usuario avanzadoâ€? que tiene una intuición para resolver los problemillas que le van surgiendo, y que suele encontrar “rodeosâ€? que le permiten llegar a su objetivo. Sin embargo la mayorÃa de usuarios no son asÃ. También escucho ahora mismo a un lector (que por cierto usa un pentium 100 con tanta mierda que no se ve ni la pegatina del Tux) que dice que si Pepe se hubiera leido la documentación de Mandrake desde un principio no habrÃa llegado a eso. Esto si es cierto pero ¿qué puede sonar más lógico que desde la página principal del programa encontremos un enlace gigante al fichero que necesitemos descargar para usar el programa sin problemas? Esto además se ve agravado por el hecho de que la mayorÃa de tutoriales y documentación que uno puede encontrar por la red incitan al usuario al camino “raroâ€? de bajar fuentes, configurar e instalar en lugar de hacer una explÃcita mención a las utilidades de configuración de la distribución en uso, dejando el método de compilar como último recurso, que no serÃa muy complicado tampoco sino fuera porque las compilaciones suelen fallar hasta que acertamos a instalar las librerÃas y cabeceras que son necesarias para que el programa compile, algo casi totalmente fuera del alcance y la paciencia del usuario medio de escritorio y/o oficina.
Quien conozca la arquitectura de gestión de paquetes de los sistemas Linux actuales sabe que eso no es tan fácil como parece simplemente poner en las páginas de los programas de Linux un enlace a un fichero y mostrarlo como solución universal; el problema es la fragmentación. Hagamos un poco de historia. Hace unos cuantos años (bastantes ya) el método de la compilación era la única alternativa existente. Red Hat inventó un sistema mejor mediante el cual los programas ya compilados, junto a sus ficheros de datos y documentación, se comprimÃan en un único fichero que además contenÃa información útil sobre dependencias (que hacÃa falta para instalar antes de instalar el programa) y descripciones entre otras cosas, pudiéndose instalar todo con una llamada a un comando. El formato se llamó “RPMâ€? (de Red Hat Package Manager, gestor de paquetes de Red Hat) y fue una evolución bastante notable para la época.
Otra distribución llamada Debian, casi al mismo tiempo, decidió que los paquetes RPM no satisfacÃan sus necesidades y creó otro formato similar (pero incompatible con las herramientas existentes) llamado Deb. Pronto casi todas las demás distribuciones adoptaron uno u otro sistema de paquetes (normalmente RPM), a pesar de lo cual (por dependencias de bibliotecas binarias y otros asuntos) un paquete RPM de una distribución no siempre valÃa para otra distribución, aunque estuviera basada también en paquetes RPM.
En esta “primera generaciónâ€? de gestores de paquetes cuando un usuario querÃa instalar un programa, aún conociendo el sistema, podÃa caer muy fácilmente en lo que se ha dado en llamar “el infierno RPMâ€? (que era igualmente aplicable a los ficheros Deb.) Caer en el infierno RPM consistÃa en que descargábamos un RPM y cuando lo Ãbamos a instalar nos pedÃa que instaláramos otros dos RPMs previamente (porque dependÃa de ello.) Bájábamos los dos RPMS y cuando los Ãbamos a instalar a su vez cada uno de ellos nos pedÃa que instaláramos sus dependencias, que solÃan ser ya cuatro o cinco paquetes. Como no es difÃcil de imaginar este proceso podÃa terminar fácilmente en la locura, pero era lo habitual en aquella época (y aún asà era una mejora con respecto a las compilaciones.)
Para solucionar este problema, Debian creo una nueva utilidad, APT que trabajaba sobre las herramientas anteriores (no las sustituÃa) pero computando automáticamente las dependencias y las descargas. De esta forma si querÃamos instalar un programa tan sólo tenemos que especificarselo (apt-get install programa) y APT ya descarga el programa, sus dependencias y todas las dependencias de las dependencias (recursivamente) y al final lo instala con las herramientas “de la generación anteriorâ€? en el orden adecuado. Como no es difÃcil de imaginar esto solucionaba de un plumazo “el infierno RPMâ€? (en este caso el infierno deb) y con el tiempo las otras distribuciones fueron adoptando soluciones similares (APT adaptado a RPM o programas distintos pero con el mismo objetivo como Yum u URPMI). Después las distribuciones no tardaron mucho en escribir herramientas gráficas sobre estos sistemas y ¡magia! el problema de la instalación de programas en Linux solucionado.
¿Solucionado? No del todo, como demuestra la historia de Pepe. Los paquetes de distintas distribuciones siguen siendo, de vez en cuando, incompatibles con los de otras (aunque usen el mismo formato). Esto no es problema si el programa ha sido empaquetado por el equipo de nuestra distribución, pero siguen existiendo casos en los que un programa que nos interesa no ha sido empaquetado para nuestra distribución (porque quizás es nuevo, porque quizás no le han visto interés, porque quizás el un programa comercial y no puede redistribuirse, etc) y si el programador/empresa que ha hecho ese programa no ha hecho paquetes para las seis o siete distribuciones más comunes (y hacer paquetes no siempre es una tarea grata) el programa queda fuera del alcance del usuario medio.
Aquà es donde entrarÃa en juego autopackage (http://autopackage.org) una solución de compromiso de momento pero con planes bastante elegantes para el futuro, de la cual hablaré en la segunda parte de este artÃculo.