Índice
Você já se perguntou como algumas distribuições do Linux facilitam a instalação do software, enquanto outras podem ser bastante complicadas? A distinção está dentro do formato de pacote que eles usam. Algumas distribuições usam dados de registros .deb enquanto outras usam .rpm.
Mas e se houvesse um formato de pacote que pudesse ser usado em qualquer distribuição? Esse é o lugar onde o Snapcraft está disponível. Neste tutorial, você descobrirá maneiras de configurar e usar o Snapcraft para criar e configurar pacotes snap no Linux.
O que é um Snap Bundle?
Um acordo de pacote instantâneo é um pacote de software independente que apresenta todas as dependências e bibliotecas necessárias, simplificando a instalação e substituição de propósitos sem ter que se preocupar com pontos de dependência.
Por que usar pacotes Snap?
Há uma série de benefícios na utilização de pacotes instantâneos:
- Snaps são simples de colocar e substituir. Você pode configurar um pacote de snap com um único comando, e os snaps são automaticamente atualizados em segundo plano.
- Snaps são protegidos e seguros. Como todas as dependências estão incluídas no pacote instantâneo, não há ameaça de uma batalha de dependência. Além disso, os snaps são isolados do restante do sistema, para que não possam acessar suas informações ou outros propósitos em seu sistema.
- Você pode configurar seu aplicativo favorito em qualquer distribuição Linux que suporte snaps.
Colocando no Snapd no Linux
Snapd é um daemon que permite a configuração e uso de snaps e deve ser instalado antes de você usar o Snapcraft. Enquanto você configura o Snapd, ele também instala um instrumento de interface de linha de comando (CLI) conhecido como snap
. Você precisa usar este instrumento para lidar com seus snaps.
Para colocar o Snapd no Ubuntu, abra um terminal e digite o próximo comando, inserindo sua senha de consumidor quando solicitado.
sudo apt replace -y && sudo apt set up snapd -y
No CentOS, você terá que permitir o repositório EPEL antes de poder configurar o Snapd. Para fazer isso, primeiro digite o próximo comando no seu terminal:
sudo dnf configurar epel-release -y && sudo dnf replace -y
Em seguida, configure o Snapd com o comando abaixo. Digite a senha para o consumidor sudo quando solicitado.
sudo dnf configurar snapd -y
No Fedora, configure com o comando:
No Arch Linux, configure o snapd do AUR . Dê uma olhada nesses auxiliares do AUR que o ajudarão a configurar pacotes de terceiros de forma simples.
Assim que a instalação for concluída, execute o comando abaixo para permitir a snapd.socket
unidade systemd. Isso garante que o daemon do Snapd comece mecanicamente quando o sistema for inicializado.
sudo systemctl allow --now snapd.socket
Crie um hiperlink simbólico entre “/var/lib/snapd/snap” e “/snap” para permitir a assistência básica do snap.
sudo ln -s / var / lib / snapd / snap / snap
Agora que você colocou o Snapd em seu sistema Linux, teste o modelo do Snapd com o comando abaixo. Você notará uma saída como a próxima.
Também é possível testar a situação do serviço Snapd com o seguinte comando.
sudo systemctl em pé estalado
Colocando no Snapcraft
Antes de criar pacotes instantâneos, convém configurar o Snapcraft, a ferramenta usada para criar pacotes instantâneos.
Para colocar o Snapcraft no Linux, execute o próximo comando. A basic
bandeira diz snap
para fazer uso do basic
modo de confinamento. Este sinalizador é necessário porque o Snapcraft não suporta o modo de confinamento extra restritivo mais recente, mas.
sudo snap configurar snapcraft --classic
Confirme se o Snapcraft está instalado verificando a quantidade do modelo.
Utilizando o Snapcraft para construir um Snap Bundle
Agora, para a parte interessante: usar o Snapcraft para criar um pacote instantâneo para um software. Neste tutorial, estamos fazendo um snap primário de olá mundo, um snap fácil que imprime “Oi, mundo!” depois de executá-lo. Depois de concluir este tutorial, aplique o mesmo processo para criar snaps para seus propósitos pessoais.
Por uma questão de simplicidade, as etapas abaixo irão guiá-lo através do método de fazer um snap no Ubuntu. As mesmas etapas também serão utilizadas em outras distribuições do Linux.
Iniciando um empreendimento para o seu Snap
Primeiro crie uma lista de missão para o seu snap. Provavelmente será a lista de trabalho para sua missão e ajudará você a manter seus dados de registros de missão organizados.
- Crie uma lista de missão chamada “hey” com o próximo comando:
O -p
sinalizador diz ao mkdir
comando para criar quaisquer diretórios mum ou dad que ainda não existam. Neste caso, mysnaps
provavelmente a listagem será criada caso ela não exista. Você pode colocar quaisquer snaps futuros dentro desta listagem.
- Transfira para a lista de missão recém-criada e inicialize a missão com o
init
comando para criar um arquivo chamado “snapcraft.yaml” em sua lista de missão. Você precisa usar o arquivo “snapcraft.yaml” para configurar seu snap posteriormente.
cd ~ / meus snaps / ei calor do snapcraft
- Teste a construção de sua missão com o
tree
comando, que imprime uma ilustração gráfica da listagem de sua missão.
Você notará uma saída como a próxima.
Incluindo metadados de primeiro grau
O Snapcraft oferece muitos metadados que você deve usar para explicar seu pacote de snap. Neste tutorial, adicionamos alguns dados primários necessários para cada snap.
- Abra o arquivo “snapcraft.yaml” em seu editor de conteúdo textual favorito. Usamos o nano neste tutorial.
- Exclua as cepas de espaço reservado e troque-as com o próximo conteúdo.
título: ei base: core18 modelo: '2.10' resumo: GNU Hiya, o snap "hey world" descrição: | GNU hey imprime uma saudação agradável. grau: desenvolvimento confinamento: devmode
Aqui modificamos os dados do nosso snap. A core18
base informa ao Snapcraft que você deseja criar um snap baseado no Ubuntu Core 18. Os confinement: devmode
metadados informam ao Snapcraft que você deseja criar um snap que não seja confinado, o que é útil para funções de crescimento e teste.
Expondo seu utilitário
- Adicione as próximas cepas após o assunto do confinamento em seu arquivo “snapcraft.yaml”. Aqui especificamos a aplicação que desejamos para o pacote de negócios.
aplicativos: ei: comando: bin / ei
Neste caso, temos apenas um aplicativo, hey
. A command
linha informa ao Snapcraft qual binário executar quando o snap é inserido.
Incluindo uma Metade
- Em uma nova linha, adicione o próximo
elements
comando:
elementos: gnu-olá: fornecimento: http: // ftp.gnu.org / gnu / hey / hello- 2.10 .tar.gz plug-in: ferramentas automáticas
Isso informa ao Snapcraft qual programa de software você deseja incluir em seu pacote de snap.
Para construir este snap hello-world, você pode querer obter o código fonte de GNU Hiya, então usar o autotool
plug-in para construir a aplicação da fonte.
- Nesse nível, seu arquivo snapcraft.yaml parecerá o que está abaixo. Salve e feche o arquivo snapcraft.yaml antes de prosseguir para a próxima etapa.
Construindo o Snap Bundle
Agora que você delineou seu snap, é hora de construí-lo. Para construir um pacote instantâneo, execute o próximo comando.
Você será solicitado a inserir “multipass” quando não o tiver em seu sistema. O Snapcraft usa multipass para criar uma configuração remota para criar snaps dentro de uma máquina digital. Digite ye pressione Enterpara prosseguir.
O processo de construção pode levar algum tempo, dependendo da sua conexão com a Web e das especificações do laptop. Assim que o processo de construção for concluído, você notará algo como a próxima saída.
Com o tempo, você encontrará um “hello_2.10_amd64.snap” na lista de missões.
Testando o Snap Bundle
Para verificar se o seu acordo de pacote instantâneo está funcionando ou não, execute o próximo comando:
sudo snap set up --devmode hello_2.10_amd64.snap
O --devmode
sinalizador informa snap
que você simplesmente deseja configurar o snap in devmode
, o que é benéfico para testar funções.
Em seguida, execute o próximo comando para executar seu software hello-world.
Você notará a próxima saída, o que significa que seu snap hello-world está funcionando conforme o esperado.
Para ver o modelo do seu software hello-world, execute o próximo comando.
Se você encontrar uma dificuldade ao testar o snap, obtenha mais informações usando o --debug
sinalizador e executando o próximo comando.
Perguntas Solicitadas Incessantemente
O Snapcraft está protegido?
Completamente! Snapcraft é o instrumento oficial para a construção de snaps. É desenvolvido e mantido pela Canonical, a empresa por trás do Ubuntu. O relaxamento garantiu que o Snapcraft é protegido e confiável.
O Snap é como o Docker?
Claro e não. Snap e Docker são ciências aplicadas a contêineres, mas têm funções completamente diferentes. Considere o Snap como um formato de empacotamento para o seu software e o Docker como uma configuração de tempo de execução para o seu software. Você pode configurar o WordPress com Nginx e PHP em um contêiner Docker usando as imagens oficiais do WordPress e Nginx, mas não pode criar um pacote Snap para o seu site WordPress.
O snap é maior que o apt ou o apt-get?
Ele depende. Cada técnica tem suas próprias vantagens e desvantagens. Apt e apt-get é o supervisor de pacote normal para distribuições Linux baseadas em Debian. Já existe há muito tempo e pode ser muito estável, mas tem apenas algumas desvantagens. Por exemplo, o apt não suporta controle de versão e reversão. O Snap, alternativamente, suporta cada versão e reversão. Portanto, se você deseja experimentar novas variações do seu software, o Snap é o melhor caminho a percorrer. No entanto, se você precisar de um sistema estável, apt e apt-get é a seleção mais alta.