Migrar de pacotes Snap para Flatpak usando Unsnap
Fazendo a transição de pacotes Snap para Flatpak: uma introdução ao Unsnap
Você está pensando em mudar do uso de pacotes instantâneos para flatpaks? Se sim, você está no lugar certo! Neste artigo, apresentaremos uma ferramenta fantástica chamada Unsnap, que simplifica o processo de migração de pacotes Snap para Flatpak no Ubuntu e seus derivados.
O que é Desbloquear?
Unsnap é um script de shell que permite uma transição rápida e fácil do uso de pacotes snap para aplicativos para flatpak. Como o próprio nome sugere, o Unsnap tem como objetivo ajudar os usuários a 'desencaixar' ou se separar dos pacotes instantâneos e migrar para o uso do flatpak.
Desenvolvido pelo ex-co-desenvolvedor do Snap Alan Pope, o Unsnap permite que os usuários migrem perfeitamente do uso do snap para aplicativos para o flatpak no Ubuntu e em sistemas baseados no Ubuntu.
O Unsnap é licenciado sob a licença MIT, o que significa que é gratuito e de código aberto.
Como funciona o desbloqueio?
O Unsnap opera como um processo de duas etapas. Inicialmente, o Unsnap gera um conjunto de scripts responsáveis por executar a migração real dos pacotes snap para o flatpak. Este recurso permite aos usuários visualizar e, se necessário, editar os scripts antes da execução para validá-los ou modificá-los de acordo com suas necessidades.
Após gerar os scripts, os usuários podem executá-los em sequência para concluir o processo de migração. O procedimento é bastante simples: clone o repositório Unsnap, navegue até o diretório Unsnap e execute o comando Unsnap. Para usuários que preferem pular etapas manuais, existe uma opção 'auto', que gera e executa os scripts automaticamente.
Como migrar do Snap para o Flatpak usando o Unsnap
Executar o Unsnap é um processo simples. Tudo que você precisa fazer é clonar o repositório GitHub e executar o comando unsnap
. Esta ação irá gerar um conjunto de scripts. Em seguida, você executa esses scripts gerados em sequência para obter desconforto. Alternativamente, você pode executar unsnap
com a opção auto
para gerar e executar os scripts imediatamente.
Aqui está um processo passo a passo para substituir pacotes Snap por Flatpaks usando Unsnap:
Primeiro, clone o repositório:
git clone https://github.com/popey/unsnap
Mude o diretório para o repositório clonado:
cd unsnap
Execute o comando unsnap
:
sudo ./unsnap
Ou execute o unnap com a opção auto
:
sudo ./unsnap auto
Migrar do Snap para o Flatpak usando o Unsnap
Isso demorará um pouco dependendo do número de Snaps instalados em seu sistema. Por favor, seja paciente!
Após a migração flatpak bem-sucedida, você veria uma saída semelhante a abaixo:
[...]
INFO: flatpaks installed
INFO: These flatpaks are now installed:
Freedesktop Platform org.freedesktop.Platform 22.08.12.1 22.08 system
Mesa org.freedesktop.Platform.GL.default 23.1.1 22.08 system
Mesa (Extra) org.freedesktop.Platform.GL.default 23.1.1 22.08-extra system
openh264 org.freedesktop.Platform.openh264 2.1.0 2.2.0 system
Firefox org.mozilla.firefox 114.0.2 stable system
INFO: Removing snaps
firefox removed
INFO: Snaps removed
WARNING: These snaps are still installed:
Name Version Rev Tracking Publisher Notes
bare 1.0 5 latest/stable canonical** base
core20 20230613 1950 latest/stable canonical** base
core22 20230612 766 latest/stable canonical** base
gnome-3-38-2004 0+git.6f39565 140 latest/stable/… canonical** -
gtk-common-themes 0.1-81-g442e511 1535 latest/stable/… canonical** -
snap-store 41.3-71-g709398e 959 latest/stable/… canonical** -
snapd 2.59.5 19457 latest/stable canonical** snapd
snapd-desktop-integration 0.9 83 latest/stable/… canonical** -
Mude de Snap para Flatpak com Unsnap
A saída acima mostra que o aplicativo Firefox Snap foi desinstalado e posteriormente substituído por sua versão Flatpak.
Aqui está a lista de Snaps instalados antes de executar o Unsnap em meu sistema Ubuntu 22.04 LTS:
snap list
Name Version Rev Tracking Publisher Notes
bare 1.0 5 latest/stable canonical** base
core20 20230613 1950 latest/stable canonical** base
core22 20230612 766 latest/stable canonical** base
firefox 103.0-1 1589 latest/stable/… mozilla** -
gnome-3-38-2004 0+git.6f39565 140 latest/stable/… canonical** -
gtk-common-themes 0.1-81-g442e511 1535 latest/stable/… canonical** -
snap-store 41.3-71-g709398e 959 latest/stable/… canonical** -
snapd 2.59.5 19457 latest/stable canonical** snapd
snapd-desktop-integration 0.9 83 latest/stable/… canonical** -
Listando pacotes Snap antes de executar o Unsnap
E aqui está a saída do comando snap list
depois que os Snaps são migrados para Flatpaks.
snap list
Name Version Rev Tracking Publisher Notes
bare 1.0 5 latest/stable canonical** base
core20 20230613 1950 latest/stable canonical** base
core22 20230612 766 latest/stable canonical** base
gnome-3-38-2004 0+git.6f39565 140 latest/stable/… canonical** -
gtk-common-themes 0.1-81-g442e511 1535 latest/stable/… canonical** -
snap-store 41.3-71-g709398e 959 latest/stable/… canonical** -
snapd 2.59.5 19457 latest/stable canonical** snapd
snapd-desktop-integration 0.9 83 latest/stable/… canonical** -
Ver? A versão Snap do Firefox foi removida.
Quais scripts o Unsnap gera?
Como já foi dito, o Unsnap gera uma série de scripts para facilitar o processo de migração. Cada script executa uma função específica.
Aqui está uma breve visão geral dos scripts gerados pelo Unsnap e suas funções:
00-backup
: Este script executa o comandosnap save
para cada snap instalado que está sendo migrado. Isso garante que você tenha um backup de todos os seus dados antes de prosseguir com a migração.01-install-flatpak
: Se ainda não estiver instalado, este script instala o gerenciador de pacotes flatpak em seu sistema.02-enable-flathub
: Este script adiciona a localização remota do flathub no flatpak se ainda não estiver habilitado.03-install-flatpaks
: Este script instala flatpaks equivalentes para cada pacote snap identificado.04-remove-snaps
: Após a instalação bem-sucedida dos flatpaks, este script remove os snaps correspondentes.99-remove-snapd
: Este script remove o própriosnapd
, que por sua vez remove todos os pacotes snap do seu sistema.
Mapeamento de pacotes
Um dos principais recursos do Unsnap é a capacidade de 'Mapeamento de Pacotes'. O Unsnap vem com um arquivo chamado 'applist.csv
' que contém um mapeamento de nomes de pacotes snap para nomes flatpak. Este mapeamento um-para-um, embora não totalmente completo, abrange um subconjunto substancial de aplicações disponíveis no snap store e no flathub.
Modo de verificação
Para facilitar a verificação dos nomes snap e flatpak no arquivo 'applist.csv
', o Unsnap possui um 'Modo de Verificação'. Este modo permite aos usuários verificar a precisão do mapeamento entre pacotes snap e flatpaks, garantindo um processo de migração tranquilo.
Observe que no modo "Verificar", o programa Unsnap não gera scripts, altera dados ou instala Flatpaks. Em vez disso, ele cria um unsnap.logfile
para referência e rastreamento.
dados de aplicativos
Atualmente, o Unsnap executa um snap save
para cada snap que está sendo migrado. Esta operação aproveita o mecanismo interno do snapd para criar backups de dados de aplicativos. É essencial garantir espaço e tempo em disco suficientes para esse processo, considerando que alguns aplicativos podem ter dados substanciais para backup.
Você pode encontrar mais detalhes sobre snap save
na documentação de snap snapshots.
Se preferir ignorar o backup, simplesmente evite executar os scripts de backup antes de iniciar a migração real.
Por padrão, os backups criados com snap save
são armazenados como arquivos zip no diretório /var/lib/snapd/snapshots
.
No momento, a tarefa de restaurar os dados, se necessário, fica a cargo do usuário.
Exploração madeireira
Unsnap fornece saída para o console e para um arquivo de log. O arquivo de log, denominado unsnap.log
, está localizado no subdiretório ./log-YYYY-MM-DD.HH.MM.SS
do diretório atual onde Unsnap está sendo executado.
Snaps excluídos
O arquivo excluded_snaps.txt
contém uma lista de snaps que não possuem equivalentes diretos no Flathub. Esta lista inclui snaps como bare
, core18
e core20
. Como tal, não é benéfico solicitar que os usuários migrem desses snaps específicos para outro Flatpak.
É importante notar que embora existam pacotes conceitualmente semelhantes disponíveis no Flathub, eles são incluídos automaticamente durante a instalação de aplicativos relevantes e não requerem manuseio pelo Unsnap.
A função de excluded_snaps.txt
não é catalogar pacotes que ainda não foram disponibilizados como Flatpak, mas sim identificar pacotes que provavelmente nunca serão convertidos em Flatpak.
A seguir está a lista de Snaps excluídos em meu sistema Ubuntu 22.04 LTS:
bare
canonical-livepatch
core
core18
core20
core22
gnome-3-28-1804
gnome-3-34-1804
gnome-3-38-2004
godot-runtime
gtk-common-themes
gtk2-common-themes
kde-frameworks-5
qt513
qt551
snapd
wine-platform-3-stable
wine-platform-5-stable
wine-platform-6-stable
wine-platform-runtime
Status do projeto
A partir de agora, o Unsnap está em seu estágio pré-alfa. Isso significa que ele foi testado e apresentou resultados promissores no computador do desenvolvedor. No entanto, a menos que você esteja planejando contribuir para o projeto, provavelmente ele ainda não está pronto para você. É um trabalho em andamento e contribuições para melhorar sua funcionalidade e versatilidade são muito bem-vindas!
perguntas frequentes
Aqui está o FAQ sobre o Unsnap.
P: O que é Unsnap?
R: Unsnap é uma ferramenta projetada para ajudar os usuários a migrar do uso de pacotes Snap para Flatpak. Funciona gerando scripts que tratam do processo de migração, que os usuários podem revisar e modificar antes da execução.
P: Quem é o desenvolvedor do Unsnap?
R: O Unsnap foi desenvolvido por Alan Pope, um ex-co-desenvolvedor do Snap. Pope esteve na Canonical, empresa-mãe do Ubuntu, por 10 anos antes de sair em 2021. Após sua saída, ele criou o Unsnap para ajudar os usuários a migrar de pacotes Snap para Flatpak.
P: Como faço para usar o Unsnap?
R: Para usar o Unsnap, você precisa clonar o repositório GitHub e executar o comando unsnap
. Esta ação irá gerar um conjunto de scripts. Em seguida, você executa esses scripts gerados em sequência para migrar do Snap para o Flatpak.
P: Quais são os scripts gerados?
R: O Unsnap gera uma série de scripts para facilitar o processo de migração. Eles incluem scripts para fazer backup de seus dados Snap, instalar Flatpak, habilitar Flathub, instalar Flatpaks equivalentes e remover os Snaps originais e o snapd
.
P: O que é o modo de 'verificação'?
R: O modo 'verificar' é um recurso do Unsnap que permite verificar os nomes Snap e Flatpak no arquivo applist.csv
sem fazer nenhuma alteração em seu sistema ou instalar qualquer Flatpaks. Ele também gera um unsnap.logfile
.
P: O que é o arquivo 'applist.csv'?
O arquivo 'applist.csv' no Unsnap contém um mapeamento de nomes de pacotes Snap para nomes Flatpak. Isso facilita o mapeamento um a um entre os dois, auxiliando no processo de migração.
P: O que é o arquivo 'excluded_snaps.txt'?
O arquivo 'excluded_snaps.txt' lista pacotes Snap que não possuem equivalentes diretos no Flathub, como bare
, core18
e core20
. O Unsnap não solicitará que os usuários migrem esses pacotes específicos.
P: O Unsnap está pronto para uso?
R: A partir de agora, o Unsnap está em seu estágio pré-alfa. Embora tenha mostrado resultados promissores no computador do desenvolvedor, pode ainda não estar pronto para uso geral, a menos que você planeje contribuir para o projeto.
P: O Unsnap é de código aberto?
R: Sim, o Unsnap é de código aberto e licenciado sob a licença MIT. Isso permite que qualquer pessoa use, modifique e distribua sob a mesma licença.
Conclusão
Unsnap é uma excelente ferramenta para usuários que desejam migrar de pacotes snap para flatpak. Ainda está em fase pré-alfa, o que significa que está nos estágios iniciais de desenvolvimento e pode não estar totalmente pronto para todos os usuários. Use-o com cautela!
Recurso:
- Desbloquear repositório GitHub
Leitura relacionada:
- Gerenciadores de pacotes Linux comparados – AppImage vs Snap vs Flatpak