
Tenho experimentado o rápido núcleo do Ubuntu em um dispositivo Raspberry Pi 2 e ouvi dizer que posso usar o Snapcraft para desenvolvê-lo. Agora ouvi dizer que os snaps estão disponíveis no desktop e no servidor para Ubuntu 16.04 e outras distros.
O que é Snapcraft e como posso usá-lo?
Responder1
Snapcraft é umkit de ferramentasempacotado sob o snapcraft
comando para facilmentecriar (criar) pacotes para múltiplas distribuições Linux. Esses pacotes .snap geralmente contêm aplicativos independentes, fornecem isolamento seguro e podem ser instalados na Ubuntu Software Store ou manualmente por meio do snap install <snap-name>.snap
comando.
Resumindo, como desenvolvedor, você escreveria o código usando suas ferramentas normais e deixaria o Snapcraft cuidar de montá-lo para distribuição. Snapcraft também se destaca por permitir que desenvolvedoresportaseus aplicativos existentes para qualquer plataforma Linux habilitada para snap.
Snapcraft:
- É inteligente: busca, constrói e monta diversos softwares (peças) de fontes remotas em um pacote .snap final, que contém todas as dependências necessárias para funcionar
- Precisa de uma receita: depende de um
snapcraft.yaml
arquivo que especifica opeçaseplug-insnecessário para criar o pacote - É extensívelcom plug-ins. Embora seja fornecido com um conjunto dos plug-ins de sistema de compilação mais comuns para atender a uma ampla variedade de compilações de aplicativos, pode serfacilmente estendido com novos.
O tour Snapcraft de 3 minutos
Instale o Snapcraft no Ubuntu
Você precisará do Ubuntu 16.04 LTS para usar o Snapcraft. Abra um terminal com Ctrl+ Alt+ te simplesmente instale o Snapcraft com este comando:
sudo apt install snapcraft
sudo apt install build-essential # Optional, but useful for different builds
Se você estiver usando outra distro,confira as instruções alternativas de instalação >
Teste o Snapcraft
O exemplo a seguir cria um pacote que contém um serviço que permite colar e compartilhar. Quando terminar, você pode instalá-lo manualmente em seu dispositivo rápido para fins de teste ou carregá-lo na Loja para outros usuários.
Primeiramente abrimos um terminal e baixamos o exemplo do repositório de exemplos:
sudo apt install git
git clone https://github.com/ubuntu-core/snapcraft.git
cd snapcraft/demos/gopaste
Observe o snapcraft.yaml
arquivo nesse diretório, que especifica um serviço e as peças necessárias para montar o .snap final. Opcionalmente, você pode examiná-lo com um editor de texto.
Agora execute o snapcraft
comando no terminal. Isso fará com que todos os subcomandos do snapcraft sejam executados em sequência para construir as peças e colocar os resultados no pacote .snap final. Durante o desenvolvimento, você normalmente executaria as etapas separadamente até ter certeza de que toda a construção e montagem funcionam.
$ 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
Na saída do comando você pode ver as etapas que o Snapcraft executa para você:
- Puxar: extrai o código da parte necessária do gopaste de um repositório remoto do Github
- Construir: ele cria gopaste localmente
- Estágio: após a construção, as peças são colocadas em uma única árvore de diretórios, a "área de teste"
- Foto: o pacote .snap final é criado a partir das peças montadas na área de preparação
Notas:
- Você encontrará o arquivo snap final como
gopaste_1.0_amd64.snap
(observe que no meu caso eu o construí em meu desktop amd64, por exemplo, os pacotes Raspberry Pi 2 teriam o_armhf
sufixo de arquitetura). - Você também pode executar cada comando individualmente :
snapcraft pull
,snapcraft build
ousnapcraft stage
snapcraft snap
- Use
snapcraft -h
para uma visão geral rápida de todos os comandos disponíveis.
E é isso para uma rápida visão do que o Snapcraft pode fazer!Saiba mais sobre o Snapcraft >