¿Cómo puedo instalar un paquete Snap desde un archivo local?

¿Cómo puedo instalar un paquete Snap desde un archivo local?

Tengo un programa de un solo uso escrito en Python.

¿Puede Snapcraft empaquetarlo? ¿Cómo instalo el paquete localmente? ¿Existe algo como GDebi para Snaps?

Respuesta1

A continuación se muestra un ejemplo de una instalación local de un complemento de Snap Store (fuente).

Sin embargo, esto no funcionará para usted; a continuación se detallan por qué no funcionará y el método que debe utilizar.

$ snap download hello-world
Fetching snap "hello-world"
Fetching assertions for "hello-world"

$ sudo snap ack hello-world_27.assert 

$ sudo snap install hello-world_27.snap
hello-world 6.3 from 'canonical' installed

$ snap list
Name                   Version                   Rev   Developer      Notes
<snip>
hello-world            6.3                       27    canonical      -
  • No hay nada como GDebi para las instantáneas.
  • Como ya tienes el complemento local, obviamente te saltas el primer paso. No es necesario descargarlo.
  • Desde que hiciste el complemento, no hay ningún archivo .assert, por lo que también te saltas el segundo paso.
  • Finalmente, dado que Snaps utiliza de forma predeterminada la seguridad mediante firmas... pero el tuyo no está firmado... debes desactivar esa protección en el tercer paso usando la --dangerousbandera.

Entonces, su método para un Snap sin firmar y hecho localmente será:

$ sudo snap install /path/to/my-snap.snap --dangerous

Respuesta2

TLDR:

si tiene el archivo descargado, como, por ejemplo, abc.snapen la carpeta actual,

intentar:

snap install ./abc.snap --dangerous

Explicación:

Las instantáneas normalmente están firmadas con la clave privada del editor. Cuando el paquete está firmado, lo único que significa es que ha sido preparado por alguien que tiene una clave privada. Esto literalmente no significa nada más. No significa que el paquete sea seguro para su computadora. No significa que el paquete contenga lo que dice que contiene. Todo lo que significa es que alguien lo ha firmado con su clave privada.

Si tiene un .snaparchivo simple que puede o no estar firmado, puede omitir la verificación de firma usando --dangerous. De hecho, no hay nada más peligroso que confiar el contenido de su computadora a una persona cualquiera en Internet.

Los paquetes disponibles en la tienda oficial de Snap están firmados, de modo que si ocurre algo grave, es posible rastrear la cuenta desde la que se publicó el paquete. Esto puede disuadir a la gente buena de publicar paquetes malos. No significa que los paquetes sean seguros. Probablemente no disuadirá a los malos actores.

información relacionada