¿Qué es Snapcraft?

¿Qué es Snapcraft?

He estado probando el ágil núcleo de Ubuntu en un dispositivo Raspberry Pi 2 y escuché que puedo usar Snapcraft para desarrollarlo. Ahora escuché que las instantáneas están disponibles en el escritorio y el servidor para Ubuntu 16.04 y otras distribuciones.

¿Qué es Snapcraft y cómo puedo usarlo?

Respuesta1

Snapcraft es unset de herramientasincluido bajo el snapcraftcomando para fácilmentecrear paquetes (artesanales) para múltiples distribuciones de Linux. Estos paquetes .snap generalmente contienen aplicaciones independientes, brindan aislamiento seguro y se pueden instalar desde la Tienda de software de Ubuntu o manualmente mediante el snap install <snap-name>.snapcomando.

En pocas palabras, como desarrollador, escribirías código utilizando tus herramientas habituales y dejarías que Snapcraft se encargara de ensamblarlo para su distribución. Snapcraft también destaca por permitir a los desarrolladorespuertosus aplicaciones existentes a cualquier plataforma Linux compatible con Snap.

Snapcraft:

  • Es inteligente: busca, construye y ensambla diversas piezas de software (partes) de fuentes remotas a un paquete .snap final, que contiene todas las dependencias que necesita para funcionar
  • necesita una receta: se basa en un snapcraft.yamlarchivo que especifica elpartesycomplementosrequerido para crear el paquete
  • es extensiblecon complementos. Si bien viene con un conjunto de los complementos del sistema de compilación más comunes para atender una amplia gama de compilaciones de aplicaciones, puede serfácilmente ampliable con otros nuevos.

El recorrido de Snapcraft de 3 minutos

Instalar Snapcraft en Ubuntu

Necesitará Ubuntu 16.04 LTS para usar Snapcraft. Abra una terminal con ++ Ctrly simplemente instale Snapcraft con este comando:Altt

sudo apt install snapcraft
sudo apt install build-essential  # Optional, but useful for different builds

Si estás usando otra distribución,consulte las instrucciones de instalación alternativas >

Prueba de manejo de Snapcraft

El siguiente ejemplo crea un paquete que contiene un servicio que le permite pegar y compartir. Una vez terminado, puede instalarlo manualmente en su dispositivo Snappy para realizar pruebas o cargarlo en la Tienda para otros usuarios.

En primer lugar abrimos una terminal y descargamos el ejemplo del repositorio de ejemplos:

sudo apt install git
git clone https://github.com/ubuntu-core/snapcraft.git
cd snapcraft/demos/gopaste

Observe el snapcraft.yamlarchivo en ese directorio, que especifica un servicio y las piezas necesarias para ensamblar el .snap final. Opcionalmente puedes examinarlo con un editor de texto.

Ahora ejecute el snapcraftcomando en la terminal. Esto hará que todos los subcomandos de Snapcraft se ejecuten en secuencia para construir las piezas y colocar los resultados en el paquete .snap final. Durante el desarrollo, normalmente ejecutará los pasos por separado hasta que esté seguro de que toda la construcción y el ensamblaje funcionan.

$ snapcraft 
Pulling gopaste 
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go get -t -d github.com/wisnij/gopaste/gopasted
Building gopaste 
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go build github.com/wisnij/gopaste/gopasted
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go install github.com/wisnij/gopaste/gopasted
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build cp -a /tmp/snapcraft/examples/gopaste/parts/gopaste/build/bin /tmp/snapcraft/examples/gopaste/parts/gopaste/install
Staging gopaste 
Snapping gopaste 
Generated 'gopaste_1.0_amd64.snap' snap

En el resultado del comando, puede ver los pasos que Snapcraft ejecuta por usted:

  1. Jalar: extrae el código de la parte de gopaste requerida de un repositorio remoto de Github
  2. Construir: construye gopaste localmente
  3. Escenario: después de la compilación, las piezas se colocan en un único árbol de directorio, el "área de preparación"
  4. Quebrar: el paquete .snap final se crea a partir de las piezas ensambladas en el área de preparación

Notas:

  • Encontrará el archivo instantáneo final como gopaste_1.0_amd64.snap(tenga en cuenta que en mi caso lo construí en mi escritorio amd64, por ejemplo, los paquetes Raspberry Pi 2 tendrían el _armhfsufijo de arquitectura).
  • También puede ejecutar cada comando individualmente : snapcraft pull, snapcraft buildosnapcraft stagesnapcraft snap
  • Úselo snapcraft -hpara obtener una descripción general rápida de todos los comandos disponibles.

¡Y eso es todo para echar un vistazo rápido a lo que Snapcraft puede hacer!Más información sobre Snapcraft >

información relacionada