
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 snapcraft
comando 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>.snap
comando.
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.yaml
archivo 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.yaml
archivo 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 snapcraft
comando 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:
- Jalar: extrae el código de la parte de gopaste requerida de un repositorio remoto de Github
- Construir: construye gopaste localmente
- Escenario: después de la compilación, las piezas se colocan en un único árbol de directorio, el "área de preparación"
- 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_armhf
sufijo de arquitectura). - También puede ejecutar cada comando individualmente :
snapcraft pull
,snapcraft build
osnapcraft stage
snapcraft snap
- Úselo
snapcraft -h
para 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 >