Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hacktoberfest Mauritius 2020 - Flatpak on openSUSE

Ish Sookun
October 23, 2020

Hacktoberfest Mauritius 2020 - Flatpak on openSUSE

A presentation on setting up Flatpak on openSUSE during the Hacktoberfest Mauritius event.

Ish Sookun

October 23, 2020
Tweet

More Decks by Ish Sookun

Other Decks in Technology

Transcript

  1. What is Flatpak? Flatpak is a system for building, distributing,

    and running sandboxed desktop applications. It was released in 2015 and currently supported by most major Linux distributions. $ sudo zypper in flatpak $ flatpak remote-add --if-not-exists flathub \ https://flathub.org/repo/flathub.flatpakrepo
  2. Sanbox With Flatpak, each app is built and run in

    an isolated environment. By default, the application can only ‘see’ itself and its runtime. Access to user files, network, graphics sockets, subsystems on the bus and devices have to be explicitly granted.
  3. Under the hood Flatpak uses a number of pre-existing technologies.

    It generally isn’t necessary to be familiar with these in order to use Flatpak, although in some cases it might be useful. They include: • The bubblewrap utility from Project Atomic, which lets unprivileged users set up and run containers, using kernel features such as: - Cgroups - Namespaces - Bind mounts - Seccomp rules • systemd to set up cgroups for sandboxes • The OSTree system for versioning and distributing filesystem trees
  4. Under the hood Flatpak uses a number of pre-existing technologies.

    It generally isn’t necessary to be familiar with these in order to use Flatpak, although in some cases it might be useful. They include: • The bubblewrap utility from Project Atomic, which lets unprivileged users set up and run containers, using kernel features such as: - Cgroups - Namespaces - Bind mounts - Seccomp rules • systemd to set up cgroups for sandboxes • The OSTree system for versioning and distributing filesystem trees
  5. $ flatpak remotes $ flatpak remote-ls $ flatpak search firefox

    Name Description Application ID Version Branch Remotes Firefox Mozilla Firefox Web Browser org.mozilla.firefox 82.0 stable flathub $ flatpak install flathub org.mozilla.firefox $ flatpak run org.mozilla.firefox