Instalar paquetes Snap en Centos 7

Desde hace unos años, gracias al trabajo de la compañía Canonical, tenemos disponibles los paquetes Snap. Su intención es simplificar la instalación de programas en GNU/Linux. Snap, que viene de la palabra Snappy, es un sistema de administración de paquetes y despliegue de software. En sus inicios este sistema fue diseñado por la compañía sudafricana, para el ya malogrado sistema operativo, enfocado a teléfonos móviles con Ubuntu Phone.

Veamos antes de nada en que consiste.

¿Qué son Snap y Snapd?

Digamos que este sistema tiene dos patas importantes. Una es Snap que es propiamente la herramienta de instalación y gestión de los paquetes Snap. Luego está Snampd, que es un servicio o “daemon” de API REST, que se ejecuta en los sistemas GNU/Linux, para administrar los paquetes. Este interactúa con la “snap Store” y proporciona el comando “clientsnap”, necesario para interactuar con él. Debemos tener instalado snapd antes de poder administrar los paquetes Snaps en cualquier distribución.

Características y ventas de los paquetes Snap

Este tipo de paquetes tienen una serie de características que lo hacen muy interesantes y potentes:

  • Son más rápidos de instalar, más fáciles de crear y más seguros, desde el punto de vista de ejecución. Se actualizan de forma automática, de manera que la aplicación que contienen esos paquetes siempre está actualizada.
  • Los paquetes Snap, funcionan en cualquier distribución y dispositivo. Desde Internet de las cosas, a servidores, PC de sobremesa y dispositivos móviles. Siempre que tengamos Snapd funcionando

Si queréis profundizar en su funcionamiento siempre podéis consultar este completo artículo al respecto escrito por el amigo Lorenzo, en su web Atareao.es

Instalar Snap y Snapd en Centos 7

Para poder instalarlo debemos habilitar el repositorio EPEL

De la siguiente manera:

1
sudo yum install epel-release

E instalamos:

1
sudo yum -y install snapd

Una vez finalizada la instalación habilitado el socket de snapd

1
sudo systemctl enable --now snapd.socket

Además, creamos el siguiente enlace simbólico necesario para su funcionamiento:

1
sudo ln -s /var/lib/snapd/snap /snap

Una vez hecho podemos comprobar su funcionamiento, buscando por ejemplo un paquete a instalar:

1
2
3
4
[root@servcentos]# snap find powershell
Name                Version          Publisher              Notes    Summary
powershell-preview  6.2.0-preview.3  microsoft-powershell✓  classic  PowerShell for every system!
powershell          6.1.2            microsoft-powershell✓  classic  PowerShell for every system!

Para instalar un paquete escribimos y ejecutamos:

1
2
3
[root@servcentos]# snap install powershell --classic
2019-01-27T19:45:38+01:00 INFO Waiting for restart...
powershell 6.1.2 from Microsoft PowerShell✓ installed

Para poder acceder desde cualquier parte del sistema a los paquetes Snap instalados, debemos editar el fichero “/etc/profiles” y añadir la ruta del directorio con los paquetes:

1
2
3
sudo vi /etc/profile
#Y añadimos en el fichero
export PATH="$PATH:/snap/bin/"

Para aplicar los cambios sin salir de la sesion ejecutamos:

1
source /etc/profile

Ahora ya podemos ejecutar el comando ‘pwsh’ para carga la consola de PowerShell:

1
2
3
4
5
6
7
8
[root@servcentos]# pwsh
PowerShell 6.1.2
Copyright (c) Microsoft Corporation. All rights reserved.
 
https://aka.ms/pscore6-docs
Type 'help' to get help.
 
PS /etc/yum.repos.d>

Trabajar con paquetes Snaps

Podemos hacer muchas más cosas, como por ejemplo listar los paquetes Snap instalados, con el parámetro “list”

1
2
3
4
[root@servcentos]# snap list
Name        Version    Rev   Tracking  Publisher              Notes
core        16-2.36.3  6130  stable    canonical✓             core
powershell  6.1.2      17    stable    microsoft-powershell✓  classic

Si queremos actualizar un paquete:

1
2
[root@servcentos]# snap refresh powershell
snap "powershell" has no updates available

Para eliminar un paquete snap:

1
2
[root@servcentos]# snap remove powershell
powershell removed

Otro parámetro muy interesante es “info”, ya que nos ofrece información detallada sobre el paquete:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@servcentos]# snap info powershell
name:      powershell
summary:   PowerShell for every system!
publisher: Microsoft PowerShell✓
contact:   https://github.com/powershell/powershell
license:   MIT
description: |
  PowerShell is an automation and configuration management platform.
  It consists of a cross-platform (Windows, Linux, and macOS)
  command-line shell and associated scripting language.
 
  See
  https://docs.microsoft.com/en-us/powershell/scripting/powershell-core-support
  for support details.
snap-id: JSNnoJl3EqkMuWoy5Dgq8PMqZ0uNcpie
channels:
  stable:    6.1.2 (17) 59MB classic
  candidate: 6.1.2 (17) 59MB classic
  beta:      6.1.2 (17) 59MB classic
  edge:      6.1.2 (17) 59MB classic

Por último, también podemos hacer un “rollback” a una versión de un programa instalado con este sistema:

1
sudo snap revert “paquete snap”

Conclusión

Una vez hecho todos estos pasos ya podemos trabajar de manera fácil con los paquetes Snap, tanto su instalación, actualización manual, eliminación o búsqueda de información. Creo que es una manera muy útil de trabajar con los paquetes, simplificando las cosas. Ya que de esta manera nos ahorramos los posibles problemas con las dependencias.

¿Qué os parecen? ¿Os gusta este sistema o preferís la manera “clásica” de instalación de programas en GNU/Linux?

Fuentes consultadas:

Computingforgeeks.com – How to Install Snapd and Snap applications on Centos 7

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies