Os pacotes Snap que são desenvolvidos pela Canonical ganharam uma nova funcionalidade para quem é dev e precisa testar várias versões do mesmo snap, ou para quem simplesmente gostaria de ter duas versões do mesmo aplicativo, um recurso relativamente comum dentro do Android.
O anúncio desta funcionalidade experimental foi feito no blog oficial do Ubuntu. Nele nos é informado que a partir da versão 2.36 do snapd foi adicionado o suporte a instalação paralela dos snaps, sendo que cada snap é isolada do outras, tendo assim as suas próprias configurações, interfaces, serviços, etc.
Se você ainda não tem o Snap habilitado no seu sistema, temos esse tutorial de como fazer isso, no Ubuntu ele já está habilitado por padrão, mas este novo recurso pode ser virtualmente usado em qualquer distro com o suporte ao empacotamento criado pela Canonical. Feita a instalação, vamos habilitar essa nova função experimental com o seguinte comando:
snap set system experimental.parallel-instances=true
Com isso você vai poder instalar versões diferentes do aplicativo, não é necessário passos adicionais.
Como instalar duas versões do mesmo aplicativo via Snap?
Para isto, você precisa atribuir um identificador para ele, para que você possa distingui-lo dos outros. Essa identificação é uma sequência alfanumérica de até 10 caracteres. Vamos tomar como o exemplo o VLC Player.
Podemos identificar ele como “vlc_1”, que teoricamente não existe, mas que o snapd agora pode “entender”. Para instalar esse VLC, basta digitar o seguinte comando:
snap install vlc_1
Como você pode perceber, como o recurso é experimental, ainda é feito via linha de comando, mas quem sabe no futuro não mude, né? 😁
Você pode escolher instalar usando vlc_1 ; vlc_2 ; vlc_3 e assim por diante, tendo a liberdade para escolher como melhor entender e respeitando os 10 caracteres totais.
Quando você escolhe ter instalações paralelas, o snapd baixará o pacote snap uma única vez e depois configura as versões separadamente. Por exemplo, você pode instalar em sequência essas versões diferentes, como, por exemplo:
snap install vlc_1 vlc_2
Para remover, basta digitar qual versão você quer:
snap remove vlc_2
Você também pode “transformar” esses snaps, usando os canais Candidate, Beta e Edge.
Vamos supor o seguinte cenário: Você instala o VLC via snap normalmente (sudo snap install vlc) para o uso do dia a dia, mas você quer testar as versões Candidate dele, dessa forma, o terminal você deve digitar o seguinte comando:
snap install --candidate vlc_2
Assim você terá duas versões do VLC Player no sistema
Isso pode ser feito com qualquer snap disponível, basta seguir a seguinte “regrinha” : sudo snap install [nome do snap] _ [identificador para ele], como nos exemplos acima citados, ou nomedosnap_identificadorparaele.
Um alerta para quem se aventurar a duplicar os Snaps
No comunicado da Canonical, existe uma espécie de “disclaimer” sobre esse recurso novo:
“Para todos os efeitos práticos, estes serão aplicativos individuais com seus próprios diretórios e dados. De certa forma, isso é bastante conveniente, mas pode ser problemático se seus snaps exigirem acesso exclusivo aos recursos do sistema, como sockets ou portas. Se você tiver um snap que execute um serviço, apenas uma instância poderá se vincular a uma porta pré-definida, enquanto as outras vão falhar. Por outro lado, isso é bastante útil para testar o modelo servidor-cliente ou como os diferentes aplicativos dentro do snap funcionam uns com os outros. As colisões de ‘namespace’ e os métodos para compartilhar dados usando diretórios comuns são descritos detalhadamente na documentação. As instalações paralelas oferecem uma grande flexibilidade, mas é importante lembrar que a maioria dos aplicativos é projetada para ser executada individualmente em um sistema.”
Se você gosta de testar novas versões, essa novidade vai lhe ajudar, pois, só vai precisar baixar uma única vez o snap do aplicativo e depois criar as instâncias para teste.
Nós conte aí nos comentários o que achou da novidade.
Este artigo não acaba aqui, continue trocando uma ideia lá no nosso fórum.
Espero você até a próxima, um forte abraço.
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.