-- Leo's gemini proxy

-- Connecting to perso.pw:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;

Export Flatpak programs from a computer to another


Author: Solène

Date: 01 January 2023

Tags: linux flatpak bandwidth


Comment on Mastodon


Introduction


As a flatpak user, but also someone with a slow internet connection, I was looking for a way to export a flatpak program to install it on another computer. It turns out flatpak supports this, but it's called "create-usb" for some reasons.


So today, I'll show how to export a flatpak program from a computer to another.


Flatpak official website

Flatpak documentation about usb drives


Pre-requisites


For some reasons, the default flathub parameters doesn't associate it a "Collection ID", which is required for the create-usb feature to work, so we need to associate a "Collection ID" to the flathub remote repository on both systems.


We can use the example from the official documentation:


flatpak remote-modify --collection-id=org.flathub.Stable flathub

Export


The export process is simple, create a directory in which you want the flatpak application to be exported, we will use `~/export/` in the examples, with the program `org.mozilla.firefox`.


flatpak create-usb ~/export/ org.mozilla.firefox

The export process will display a few lines and tell you when it finished.


If you export multiple programs into the same directory, the export process will be smart and skip already existing components.


Import


Take the `~/export/` directory, either on a USB drive, or copy it using rsync, share it over NFS/Samba etc... It's up to you. In the example, `~/export/` refers to the same directory transferred from the previous step onto the new system.


Now, we can run the import command to install the program.


flatpak install --sideload=~/export/.ostree/repo/ flathub org.mozilla.firefox

If it's working correctly, it should be very fast.


Limitation


Because the flatpak components/dependencies of a program can differ depending on the host (for example if you have an NVIDIA card, it will pull some NVIDIA dependencies), so if you export a program from a non-NVIDIA system to the other, it won't be complete to work reliably on the new system, but the missing parts can be downloaded on the Internet, it's still reducing the bandwidth requirement.


Conclusion


I kinda like Flatpak, it's convenient and reliable, and allow handling installed programs without privileges escalation. The programs can be big, it's cool to be able to save/export them for later use.

-- Response ended

-- Page fetched on Mon May 6 09:17:18 2024