Snap, la solución a los problemas de dependencias en Linux

Escrito por Rubén Velasco
Curiosidades
5

Linux es el tercer sistema operativo más utilizado en sistemas de escritorio, por detrás del dominante Windows y macOS. A pesar de las incontables quejas que está recibiendo el sistema operativo de Microsoft en los últimos meses, los usuarios no se animan a dar el salto a utilizar una distribución Linux como alternativa ya que, entre otras cosas, hay un miedo infundado respecto a que los sistemas Linux son muy complicados de usar y no hay aplicaciones para ellos.

Es cierto que utilizar Linux desde un terminal, al modo MD-DOS, puede ser bastante complicado ya que no todos estamos acostumbrados a trabajar utilizando comandos, sin embargo, hoy en día, prácticamente todas las distribuciones, especialmente las enfocadas a uso doméstico como Ubuntu, tienen un escritorio igual, e incluso superior en funciones, al de cualquier sistema Windows.

Además, existe una gran variedad de aplicaciones (y juegos, gracias a Steam) para este sistema operativo de manera que, aunque no vamos a poder instalar nuestro Photoshop ni utilizar Windows Media Player (aunque en realidad sí podemos utilizando una herramienta llamada Wine que nos permite instalar y utilizar aplicaciones de Windows en Linux), tendremos aplicaciones alternativas, a mi gusto superiores, como GIMP y VLC, respectivamente.

Donde sí podemos encontrarnos algunos problemas es al instalar varias aplicaciones que comparten dependencias entre sí. Esto es, por ejemplo, si un programa X y uno Y necesitan la versión 1.0.1 y 1.0.5 de una misma librería, respectivamente, puede haber problemas ya que, al no poder tener las dos versiones instaladas a la vez, solo nos funcionará una de las dos aplicaciones, quedando la otra inutilizada al no cumplirse su dependencia.

Esto es uno de los problemas más comunes de los sistemas Linux y uno en los que más ha estado trabajando Canonical para llevar a su sistema operativo Ubuntu.

Adiós a las dependencias. Los paquetes Snap vienen con todo lo necesario para instalar y funcionar.

Mientras que cuando instalamos una aplicación normal en un sistema Linux utilizando, por ejemplo, el comando “sudo apt install vlc” se instala solo el paquete base y se cargan, al utilizarlo, las dependencias necesarias desde rutas dinámicas del sistema operativo, el paquete Snap incluye por defecto todas estas dependencias y estas se instalan, junto al programa, en una ruta estática de manera que el programa solo cargue sus propias dependencias y en ningún momento pueda causar conflicto con otras aplicaciones.

De esta manera, si, por ejemplo, VLC necesita la versión 1.0.1 de una librería X y GIMP la versión 1.0.5 de la misma librería, nuestro sistema operativo tendrá las dos instaladas dentro de la carpeta de cada aplicación y cada una de ellas podrá hacer uso de sus propias librerías sin problemas, igual que cuando instalamos una aplicación en Windows.

El problema de los paquetes Snap es su tamaño, ya que, mientras que, por ejemplo, una versión normal de VLC ocupaba poco más de 50 megas, el paquete Snap con todas sus dependencias ocupa más de 100, es el precio a pagar a cambio de asegurarnos de que no tendremos el más mínimo problema al usar este sistema.

Aplicacion Snap instalada en Ubuntu

Ya existen más de 500 aplicaciones compiladas como paquetes Snap

Aunque estos paquetes empezaron a promocionarse con el lanzamiento de Ubuntu 16.04, no ha sido hasta ahora, con la llegada de la versión 16.10 cuando el número de aplicaciones disponibles ha aumentado exponencialmente y finalmente se ha convertido en algo relevante, llegando a superar las 500 aplicaciones, entre las que destacan VLC, Firefox, Thunderbird, Kirita, LibreOffice y GIMP, entre otras muchas.

Antes de finalizar, cualquier usuario de Ubuntu 16.04 o 16.10 puede instalar por defecto aplicaciones Snap en su sistema operativo igual que desde apt, pero con el comando propio de esta herramienta:

  • sudo snap install vlc

También tenemos una app de tienda desde la que acceder a todas estas aplicaciones sin usar un terminal.

Gracias a esta nueva característica, los sistemas Linux son, cada vez, más similares a Windows y más sencillos de usar para que, poco a poco, los usuarios se vayan animando a dar una oportunidad a este sistema operativo seguro, libre y alternativo.

¿Crees que gracias a esta nueva forma de distribuir las aplicaciones de Linux este sistema operativo puede llegar a ser más sencillo y apto para todos los usuarios?

Compártelo. ¡Gracias!
Continúa leyendo
  • nova6k0

    Pero es que el problema es de Linux. En Windows también existen programas, aplicaciones que depende de una versión específica de una librería o archivo común. Y sigue siendo un error. Lo normal sería que una sola librería fuese compatible con las versiones anteriores, al menos hasta cierto punto. Lo que no puede ser es que en una revisión o subversión de una librería o archivo sea incompatible con otra.

    Como decía en Windows pasa parecido, por ejemplo con los Runtime de Microsoft para Visual Studio. Que así tenemos una versión instalada de estos por cada versión del mencionado programa o suite de programación.

    Salu2

  • jacqlittle

    500 aplicaciones nada más, para la cantidad de miles y miles que hay, me parece una cantidad muy pequeña la verdad.

    Uno de los mayores problemas de Linux es el soporte para hardware, hay muchísimos dispositivos que en Linux no tienen soporte directamente, o si lo tienen es deficitario y no ofrece el mismo rendimiento y/o características que bajo Windows.

    Luego está el problema de que para ciertas cosas no queda otra que interactuar con la consola de comandos, compilar, etc… por lo tanto es lógico que al usuario común eso le eche para atrás, que no todo sabe programar o es ingeniero, la inmensa mayoría de usuarios quieren comprar un ordenador, instalar un sistema operativo y programas, y que sea todo lo más fácil posible y punto, y no estar comiéndose la cabeza si algo no va bien de buenas a primeras, que si instalando librerías, editando archivos de configuración, compilando, etc…

    Que se ha avanzado muchísimo desde su inicio, pues sí, pero como hay tantísimas distribuciones distintas de Linux, cada una con sus peculiaridades, sus ventajas y desventajas frente a otras, pues claro, al final se convierte en una especie de torre de Babel.

    Si se pusieran de acuerdo todos los desarrolladores de Linux en crear un entorno común en vez de sacar cada uno su distribución “mejor” que las demás, pues otro gallo les cantaría, y quizás la comunidad de usuarios crecería más, y si tuviera más cuota de mercado muy probablemente los fabricantes de hardware le brindarían mejor soporte de drivers, etc…

    Saludos.

  • Rafael

    Esa será la solución de Ubuntu, en GNU/Linux será usado flatpak

    • ruvelro

      Buenas.

      Yo, la verdad, creo que Snap acabará posicionándose mejor. Canonical está trabajando duro por que su modelo llegue a otras distribuciones como Debian, Arch, Fedora, y Gentoo, entre otras muchas. Una prueba de eso es snapd.

      https://github.com/snapcore/snapd

      De todas formas, con el tiempo lo veremos, igual, como dices, flatpak consigue ser quien acabe por fin con los problemas de las dependencias de Linux 😉

      Un saludo.

  • Jose

    Llevo con Mageia 5 instalado en casi 20 equipos y en el mío personal cerca de un año, y no he tenido nunca problemas de dependecias al instalar programas. Prácticamente toda la configuración la he realizado de forma gráfica, y si he usado la terminal es porque es más rápido al fin y al cabo. En cuanto a algún problema que me haya surgido, he consultado a la comunidad Blogdrake y lo hemos resuelto bastante bien. Eso de que linux es difícil para un usuario común ya quedó en el pasado, en las distros actuales y sobre todo en las más populares, todo está al alcance del usuario y lo mejor de todo es que no hay que andar buscando los programas, cracks, keygens, etc que luego llenan el equipo de porquería.

    Lo recomiendo a cualquiera, y si pueden encontrar un equipo sin sistema operativo y probar cualquier distro linux, mejor que mejor.

    Saludos!!!