lunes, 14 de marzo de 2011

Las tribulaciones de instalar programas en GNU/Linux

La instalación de nuevos programas en Linux, si bien tiene enormes ventajas respecto de la forma de hacer las cosas en Windows, puede confundir a los nuevos usuarios. Entre otras cosas, porque cuando queremos instalar uno nuevo podemos descargar el código fuente y compilarlo nosotros mismos, o bien descargar un paquete precompilado para nuestra distribución. He aquí un listado de cosas que se podrían mejorar para hacer las cosas más amigables.

1. Código abierto... y algo más

El software libre permite que cualquiera pueda acceder a su código fuente. Sin embargo, la mayor parte de los usuarios no quieren acceder al código fuente de los programas, sino a un simple binario. En ese sentido, los desarrolladores deberían preocuparse por hacer que sus aplicaciones se encuentren disponibles para todas las versiones, o al menos la mayor parte de ellas. Por suerte, no hace falta que ellos hagan el trabajo sucio, ya que existe una larga cantidad de fanáticos de las diferentes distros que pueden ayudar en esa noble tarea.

2. Eh... ¿y ahora qué?

Acabo de instalar X aplicación y no aparece el acceso directo en el menú principal. Seguro alguna vez te sucedió, especialmente con aplicaciones Windows instaladas a través de Wine. Esto es inaceptable en un sistema operativo del siglo XXI.

3. Uniformizar las interfases

Olvidémonos por un segundo de la loca idea de unificar los paquetes de instalación en un único formato, eso nunca sucederá (en algunos casos, por razones muy válidas). Sin embargo, podría resultar muy útil que las interfases gráficas de instalación de paquetes luzcan similares e incluso que sean compatibles con los diferentes sistemas de paquetes. Esto sucede en algunos casos, pero debería hacerse con mayor ahínco.

4. La compilación debería ser más sencilla

Muchas veces resulta imposible conseguir los paquetes de un programa para nuestra distro favorita. En ese caso, la única opción que nos queda es descargar el código fuente y tratar de compilarlo. La mala noticia es que muchos no incluyen un detalle de los pasos a seguir para tener éxito en esta complicada tarea. ¿No sería hermoso que se incluyera un script install.sh que se encargara de todo, incluso de verificar las dependencias?

5. La odisea de desinstalar un programa compilado "a mano"

Desinstalar un programa que se ha compilado "a mano" puede convertirse en una verdadera pesadilla, sobre todo si los desarrolladores no incluyeron instrucciones para make uninstall.

6. ¿Un metapaquete estándar?

OK, nunca jamás vamos a ponernos de acuerdo en la utilización de un formato de paquetes común. Sin embargo, ¿no sería posible la utilización de un metapaquete adentro del cuál pudieran almacenarse cualquiera de los formatos de paquetes ya existentes (del mismo modo que el metapaquete AVI puede almacenar diferentes formatos de video)? De ese modo, el mismo paquete podría funcionar en cualquier distro. :)

7. Nombres de paquetes estandarizados

¿Por qué demonios las distintas distros le ponen nombres diferentes a los mismos paquetes? De modo que sea más sencillo resolver los problemas de dependencias de paquetes, resultaría indispensable acordar un método uniforme y estandarizado para asignar los nombres a los paquetes.

8. Uniformizar la forma en que se construyen los paquetes

Además de los nombres, es preciso uniformizar el método en que se agrupan los programas para construir paquetes. Hoy cada distro hace lo que quiere. Corregir este problema le daría mayor consistencia a la jerarquía de paquetes y reduciría enormemente la confusión.

9. Compilación e instalación automática del código fuente

¿No sería hermoso que los administradores de paquetes fueran capaces de descargar, compilar e instalar automáticamente los programas en vez de tener que utilizar el sistema de paquetes actual? Yaourt parece ir en esta línea... pero debería haber más experiencias en este sentido.

10. Actualizaciones desde el explorador web

En Ubuntu, Apt viene con una herramienta para instalar programas directo desde el explorador web. Otras distros deberían replicar esta experiencia e incluso sería interesante el desarrollo de administradores de paquetes online. No sería un agujero de seguridad, en tanto y en cuanto los programas se descargarían desde los repositorios oficiales de la distro.

11. ¿Realmente vale la pena la existencia de tantos formatos de paquetes distintos?

No sé si la estandarización total y absoluta es la mejor opción, pero convengamos que la existencia de una infinidad de formatos de paquetes distintos hacen las cosas más difíciles para los desarrolladores que quieren que todos los usuarios de Linux utilicen sus aplicaciones.

12. Ejecutar luego de instalar

¿Cuándo aparecerá la posibilidad de ejecutar la aplicación que uno acaba de instalar? Es tan sencillo y sería de taaaanta utilidad. En vez de mostrar información supérflua (o al menos, detalles que la mayor parte de los usuarios no desean conocer), sería interesante que contáramos con esta opción.

13. Keep source builds in package database

Compilar e instalar un programa en Linux no sólo es una tarea difícil, además, el administrador de paquetes no va a estar al tanto de la instalación de ese programa o sus dependencias, creyendo que siguen sin estar satisfechas. Un administrador de paquetes que permitiera la compilación e instalación de programas desde su código fuente permitiría también resolver este problema.

14. Eliminar viejas dependencias

No es el caso de aptitude o yum, pero cuando utilizamos apt-get para desinstalar paquetes, sus dependencias (que ya no son precisadas por otros paquetes) no se desinstalan junto con ellos. Para subsanar esta situación, hay que usar sudo apt-get autoremove. Señores, esto debería ser automático... ¡desde hace rato!

Fuente: Techradar y usemoslinux.blogspot.com

No hay comentarios: