Unidades USB¶
Pode-se distribuir flatpaks junto com suas dependências em unidades USB (ou compartilhamentos de rede, etc.), o que é especialmente útil em situações onde o acesso à Internet é limitado ou inexistente.
Para que a distribuição offline funcione, existem alguns pré-requisitos:
os repositórios remotos que fornecem o aplicativo ou qualquer uma de suas dependências devem utilizar assinaturas GPG
todos os repositórios remotos devem ter um ID de coleção definido no lado do servidor
os remotos configurados localmente devem ter um conjunto de ID de coleção (no lado do cliente)
os controles remotos relevantes devem ser configurados no computador receptor (aquele que está instalando a partir da unidade)
Os aplicativos podem ser copiados para unidades USB usando o comando flatpak create-usb. Você pode consultar esta postagem do blog para uma introdução.
Por exemplo, se você quiser colocar o Gedit em uma unidade USB:
Primeiro identifique o ID do aplicativo usando
flatpak list --app
. No caso do Gedit éorg.gnome.gedit
. Useflatpak info -o org.gnome.gedit
para determinar o remoto de origem. Por exemplo, pode serflathub
.Certifique-se de que o remoto de origem tenha um ID de coleção definido usando
flatpak remotes -d
e verificando a coluna “ID de coleção”. Caso contrário, configure um com, por exemplo,flatpak remote-modify --collection-id=org.flathub.Stable flathub
. Se alguma dependência vier de outros remotos, eles também precisarão de um ID de coleção configurado.Em seguida, use o comando
df
para identificar o ponto de montagem da unidade USB. Pode ser algo como/media/user/FLATPAKS
.Agora copie o flatpak e suas dependências para a unidade:
$ flatpak create-usb /media/user/FLATPAKS org.gnome.gedit
Aguarde a conclusão do processo de cópia, nesse ponto você deverá obter um prompt de comando (
$
). Esse processo pode levar dezenas de minutos, especialmente se a unidade USB e a porta USB não forem USB 3.0+. Em seguida, desmonte a unidade antes de removê-la:$ umount /media/user/FLATPAKS
O processo de instalação de uma unidade USB (por exemplo, em uma máquina offline) difere entre as versões do Flatpak anteriores a 1.8.0 e posteriores. Com versões anteriores, você pode simplesmente usar o comando flatpak install
como faria normalmente online:
$ flatpak install flathub org.gnome.gedit
Para versões posteriores a 1.8.0, se sua distribuição Linux tiver empacotado as unidades systemd relevantes, usando flatpak install
sem argumentos extras ainda funciona. Caso contrário, você pode usar a opção --sideload-repo
em sua invocação de comando:
$ flatpak install --sideload-repo=/media/user/FLATPAKS/.ostree/repo flathub org.gnome.gedit
O comando flatpak update
também aceita uma opção --sideload-repo
.
Alternativamente, é possível especificar fontes de download local (sideloaded) usando links simbólicos colocados em diretórios de todo o sistema ou específicos do usuário e tais fontes serão usadas para todas as operações do Flatpak sem a necessidade de uma opção --sideload-repo
. Veja a página de manual do flatpak.