In this article, you will learn how to install Flatpak on Debian 11 and enable Flathub to search, install, maintain or remove Flatpak applications. Flatpak is a tool for deploying and managing software packages on the Linux operating system. It is the future of apps on Linux. It provides an isolated environment where users can run applications without affecting other parts of their computers.
With Flatpaks, installing an application is like pulling it into your local repository. Links have then generated that point from the right places in File system to where you can find these files–these hard links will be efficient for disk space since they’re simple compared with doing things through traditional methods.
For Debian users, most would know that the distribution focuses on stability over newer features, it is what Debian is famous for, but for some users, you may want to install an application such as Discord, VLC, Spotify, and the list goes that if available on Debian is not up to date with the newest release and missing features.
Flatpaks are always known to be up-to-date for the most part depending on the maintainer, but out of third-party managers, they rank among the top.
Prerequisites
- Access to a terminal
- The apt package manager
- A user with sudo privileges
Install Flatpak on Debian 11
If you want to use the Flatpak on Debian, you have to follow the following steps one by one:
Update your Debian
First of all you have to update our Debian. So you have to run the following command in the terminal.
$ sudo apt update
You have to update the Debian time to time. And update depends on your internet speed.
Installation of Flatpak on Debian
Now using the following command you can easily install the Flatpak:
$ sudo apt install flatpak -y
linuxips@debian: $ sudo apt install flatpak -y Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: avahi-utils ca-certificates-java coinor-libcbc3 coinor-libcgl1 coinor-libclp1 coinor-libcoinmp1v5 coinor-libcoinutils3v5 coinor-libosi1v5 cpp-10 cups-pk-helper default-jre default-jre-headless dns-root-data dnsmasq-base espeak-ng-data exfalso fonts-dejavu-extra fonts-font-awesome fonts-lato fonts-opensymbol gimp-data gir1.2-atspi-2.0 gir1.2-gtksource-3.0 gir1.2-handy-1 gir1.2-packagekitglib-1.0 gir1.2-polkit-1.0 gir1.2-secret-1 gir1.2-wnck-3.0 gnome-icon-theme gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio hddtemp hyphen-en-us iptables java-common javascript-common liba52-0.7.4 libabsl20210324 libabw-0.1-1 libamd2 libao-common libao4 libaom0 libappstream4 libatk-adaptor libatk-wrapper-java libatk-wrapper-java-jni libatomic1 libaudio2 libavfilter7 libavformat58 libayatana-appindicator3-1 libbabl-0.1-0 libbluetooth3 libboost-filesystem1.74.0 libboost-iostreams1.74.0 libboost-locale1.74.0 libboost-thread1.74.0 libbox2d2 libbrlapi0.8 libburn4 libcamd2 libcbor0 libccolamd2 libcdr-0.1-1 libcholmod3 libclucene-contribs1v5 libclucene-core1v5 libcmis-0.5-5v5 libcodec2-0.9 libcolamd2 libdav1d4 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdotconf0 libdpkg-perl libe-book-0.1-1 libeot0 libepubgen-0.1-1 libespeak-ng1 libetonyek-0.1-1 libexttextcat-2.0-0 libexttextcat-data libextutils-pkgconfig-perl libfile-fcntllock-perl libfluidsynth2 libfreehand-0.1-1 libgail-common libgail18 libgdk-pixbuf-xlib-2.0-0 libgdk-pixbuf2.0-0 libgegl-0.4-0 libgegl-common libgimp2.0 libgpgmepp6 libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libgtksourceview-3.0-1 libgtksourceview-3.0-common libgtop-2.0-11 libgtop2-common libgupnp-1.2-0 libicu67 libidn11 libigdgmm11 libilmbase25 libip6tc2 libisofs6 libjim0.79 libjim0.81 libjs-jquery libjs-sphinxdoc libjs-underscore libjte2 liblangtag-common liblangtag1 libldap-2.4-2 liblibreoffice-java libllvm11 libmbim-glib4 libmbim-proxy libmetis5 libmhash2 libmm-glib0 libmms0 libmousepad0 libmpeg2-4 libmspub-0.1-1 libmwaw-0.3-3 libmythes-1.2-0 libndp0 libneon27-gnutls libnetfilter-conntrack3 libnfnetlink0 libnl-route-3-200 libnma-common libnma0 libntfs-3g883 libnumbertext-1.0-0 libnumbertext-data libodfgen-0.1-1 libofa0 libopencore-amrnb0 libopencore-amrwb0 libopenexr25 liborcus-0.16-0 liborcus-0.17-0 liborcus-parser-0.16-0 liborcus-parser-0.17-0 libpackagekit-glib2-18 libpagemaker-0.0-0 libpcaudio0 libpcsclite1 libperl5.32 libpoppler102 libpoppler118 libpostproc55 libpython3.10 libpython3.9 libpython3.9-minimal libpython3.9-stdlib libqmi-glib5 libqmi-proxy libqrcodegencpp1 libqrtr-glib0 libqxp-0.0-0 libraptor2-0 librasqal3 libraw20 librdf0 libreoffice-base-core libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-gtk3 libreoffice-help-common libreoffice-help-en-us libreoffice-impress libreoffice-math libreoffice-style-colibre libreoffice-writer librest-0.7-0 librevenge-0.0-0 libsidplay1v5 libsonic0 libspeechd2 libsrt1.4-gnutls libstaroffice-0.0-0 libsuitesparseconfig5 libswscale5 libtagc0 libteamdctl0 libumfpack5 libuno-cppu3 libuno-cppuhelpergcc3-3 libuno-purpenvhelpergcc3-3 libuno-sal3 libuno-salhelpergcc3-3 libunoloader-java libusb-0.1-4 libvisio-0.1-1 libvpx6 libwebp6 libwpd-0.10-10 libwpg-0.3-3 libwps-0.4-4 libx264-160 libx265-192 libxfce4ui-utils libxmlb2 libxmlsec1-nss libxnvctrl0 libyajl2 libzmf-0.0-0 lp-solve mobile-broadband-provider-info modemmanager mousepad mythes-en-us network-manager network-manager-gnome node-normalize.css openjdk-11-jre openjdk-11-jre-headless orca p7zip p7zip-full packagekit packagekit-tools parole perl-modules-5.32 perl-tk pkg-config policykit-1-gnome python3-brlapi python3-cups python3-cupshelpers python3-feedparser python3-ldb python3-louis python3-musicbrainzngs python3-mutagen python3-pyatspi python3-pyinotify python3-sgmllib3k python3-smbc python3-speechd python3-talloc python3-uno python3-xdg python3.9 python3.9-minimal quodlibet ristretto sound-icons speech-dispatcher speech-dispatcher-audio-plugins speech-dispatcher-espeak-ng sphinx-rtd-theme-common system-config-printer system-config-printer-common system-config-printer-udev tango-icon-theme telnet uno-libs-private unzip ure ure-java usb-modeswitch usb-modeswitch-data wpasupplicant xarchiver xbrlapi xfburn xfce4-appfinder xfce4-battery-plugin xfce4-clipman xfce4-clipman-plugin xfce4-cpufreq-plugin xfce4-cpugraph-plugin xfce4-datetime-plugin xfce4-dict xfce4-diskperf-plugin xfce4-fsguard-plugin xfce4-genmon-plugin xfce4-mailwatch-plugin xfce4-netload-plugin xfce4-panel xfce4-power-manager xfce4-power-manager-data xfce4-power-manager-plugins xfce4-pulseaudio-plugin xfce4-screenshooter xfce4-sensors-plugin xfce4-smartbookmark-plugin xfce4-systemload-plugin xfce4-taskmanager xfce4-timer-plugin xfce4-verve-plugin xfce4-wavelan-plugin xfce4-weather-plugin xfce4-whiskermenu-plugin xfce4-xkb-plugin xkbset xsane xsane-common Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: libappstream-glib8 libmalcontent-0-0 libostree-1-1 Suggested packages: malcontent-gui The following NEW packages will be installed: flatpak libappstream-glib8 libmalcontent-0-0 libostree-1-1 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 1,818 kB of archives. After this operation, 8,406 kB of additional disk space will be used. Get:1 http://deb.debian.org/debian sid/main amd64 libappstream-glib8 amd64 0.8.0-1 [147 kB] Get:2 http://deb.debian.org/debian sid/main amd64 libmalcontent-0-0 amd64 0.10.5-1 [20.8 kB] Get:3 http://deb.debian.org/debian sid/main amd64 libostree-1-1 amd64 2022.5-2 [328 kB] Get:4 http://deb.debian.org/debian sid/main amd64 flatpak amd64 1.12.7-1 [1,322 kB] Fetched 1,818 kB in 0s (4,218 kB/s) Selecting previously unselected package libappstream-glib8:amd64. (Reading database ... 126942 files and directories currently installed.) Preparing to unpack .../libappstream-glib8_0.8.0-1_amd64.deb ... Unpacking libappstream-glib8:amd64 (0.8.0-1) ... Selecting previously unselected package libmalcontent-0-0:amd64. Preparing to unpack .../libmalcontent-0-0_0.10.5-1_amd64.deb ... Unpacking libmalcontent-0-0:amd64 (0.10.5-1) ... Selecting previously unselected package libostree-1-1:amd64. Preparing to unpack .../libostree-1-1_2022.5-2_amd64.deb ... Unpacking libostree-1-1:amd64 (2022.5-2) ... Selecting previously unselected package flatpak. Preparing to unpack .../flatpak_1.12.7-1_amd64.deb ... Unpacking flatpak (1.12.7-1) ... Setting up libappstream-glib8:amd64 (0.8.0-1) ... Setting up libostree-1-1:amd64 (2022.5-2) ... Setting up libmalcontent-0-0:amd64 (0.10.5-1) ... Setting up flatpak (1.12.7-1) ... Processing triggers for man-db (2.10.2-2) ... Processing triggers for dbus (1.14.0-2) ... Processing triggers for libc-bin (2.34-4) ...
Verify Flatpak Version Installed
Once installation is completed, you can verify the installation through the following command in Terminal:
$ flatpak --version
Add the Flathub repository
Flathub is the best place to get Flatpak apps. To enable it, run the following command:
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Restart
To complete setup, restart your system. Now all you have to do is install some apps!
How to Use Flatpak
The first command you should use is the help command to familiarize yourself with the number of options you have, and even some Flatpak users may find commands that they did not know.
$ flatpak --help
linuxips@debian: $ flatpak --help Usage: flatpak [OPTION…] COMMAND Builtin Commands: Manage installed applications and runtimes install Install an application or runtime update Update an installed application or runtime uninstall Uninstall an installed application or runtime mask Mask out updates and automatic installation pin Pin a runtime to prevent automatic removal list List installed apps and/or runtimes info Show info for installed app or runtime history Show history config Configure flatpak repair Repair flatpak installation create-usb Put applications or runtimes onto removable media Find applications and runtimes search Search for remote apps/runtimes Manage running applications run Run an application override Override permissions for an application make-current Specify default version to run enter Enter the namespace of a running application ps Enumerate running applications kill Stop a running application Manage file access documents List exported files document-export Grant an application access to a specific file document-unexport Revoke access to a specific file document-info Show information about a specific file Manage dynamic permissions permissions List permissions permission-remove Remove item from permission store permission-set Set permissions permission-show Show app permissions permission-reset Reset app permissions Manage remote repositories remotes List all configured remotes remote-add Add a new remote repository (by URL) remote-modify Modify properties of a configured remote remote-delete Delete a configured remote remote-ls List contents of a configured remote remote-info Show information about a remote app or runtime Build applications build-init Initialize a directory for building build Run a build command inside the build dir build-finish Finish a build dir for export build-export Export a build dir to a repository build-bundle Create a bundle file from a ref in a local repository build-import-bundle Import a bundle file build-sign Sign an application or runtime build-update-repo Update the summary file in a repository build-commit-from Create new commit based on existing ref repo Show information about a repo Help Options: -h, --help Show help options Application Options: --version Print version information and exit --default-arch Print default arch and exit --supported-arches Print supported arches and exit --gl-drivers Print active gl drivers and exit --installations Print paths for system installations and exit --print-updated-env Print the updated environment needed to run flatpaks --print-system-only Only include the system installation with --print-updated-env -v, --verbose Show debug information, -vv for more detail --ostree-verbose Show OSTree debug information
How to Search for Applications with Flatpak
Flatpak search feature can be handy in the terminal. Ideally, you would want to find the name plus the application ID. This still can be done in the terminal but visually not as easy as using the web browser and grabbing the id directly.
$ flatpak search vscode
linuxips@debian: $ flatpak search vscode Name Description Application ID Version Branch Remotes VSCodium VSCodium. Code editing. Redefined. com.vscodium.codium 1.70.2.22230 stable flathub Visual Studio Code Visual Studio Code. Code editing. Redefined. com.visualstudio.code 1.70.0-1659589288 stable flathub Code - OSS Visual Studio Code. Code editing. Redefined. com.visualstudio.code-oss 1.70.2 stable flathub Lapce Lightning-fast and powerful code editor written in Rust dev.lapce.lapce 0.1.3 stable flathub
Install Applications with Flatpak direct from Flathub
A more desirable method to install applications is grabbing the direct command from Flathub.
$ sudo flatpak install flathub com.visualstudio.code
linuxips@debian: $ sudo flatpak install flathub com.visualstudio.code Looking for matches… Required runtime for com.visualstudio.code/x86_64/stable (runtime/org.freedesktop.Sdk/x86_64/21.08) found in remote flathub Do you want to install it? [Y/n]: Y com.visualstudio.code permissions: ipc network pulseaudio ssh-auth x11 devices devel file access [1] dbus access [2] system dbus access [3] tags [4] [1] host, xdg-config/gtk-3.0, xdg-config/kdeglobals:ro [2] com.canonical.AppMenu.Registrar, com.canonical.AppMenu.Registrar.*, org.freedesktop.Flatpak, org.freedesktop.Notifications, org.freedesktop.secrets [3] org.freedesktop.login1 [4] proprietary ID Branch Op Remote Download 1. [✓] org.freedesktop.Platform.GL.default 21.08 i flathub 129.6 MB / 129.8 MB 2. [✓] org.freedesktop.Platform.openh264 2.0 i flathub 1.5 MB / 1.5 MB 3. [✓] org.freedesktop.Sdk.Locale 21.08 i flathub 17.7 kB / 330.8 MB 4. [✓] org.freedesktop.Sdk 21.08 i flathub 546.8 MB / 476.3 MB 5. [✓] com.visualstudio.code stable i flathub 89.9 MB / 89.0 MB Installing 5/5… ████████████████████ 100% 4.7 MB/s 00:00 Note that '/var/lib/flatpak/exports/share' is not in the search path set by the XDG_DATA_HOME and XDG_DATA_DIRS environment variables, so applications may not ID Branch Op Remote Download 1. [✓] org.freedesktop.Platform.GL.default 21.08 i flathub 129.6 MB / 129.8 MB 2. [✓] org.freedesktop.Platform.openh264 2.0 i flathub 1.5 MB / 1.5 MB 3. [✓] org.freedesktop.Sdk.Locale 21.08 i flathub 17.7 kB / 330.8 MB 4. [✓] org.freedesktop.Sdk 21.08 i flathub 546.8 MB / 476.3 MB 5. [✓] com.visualstudio.code stable i flathub 89.9 MB / 89.0 MB Installation complete. linuxips@debian: $
How to List Installed Flatpak Applications
Sometimes it can be easy to forget what applications you have installed with Flatpak. A handy feature is to use the list command to print what is currently installed in your terminal along with the build version, branch, and application id.
$ sudo flatpak list
linuxips@debian: $ sudo flatpak list Name Application ID Version Branch Installation Visual Studio Code com.visualstudio.code 1.70.0-1659589288 stable system Mesa org.freedesktop.Platform.GL.default 21.3.9 21.08 system openh264 org.freedesktop.Platform.openh264 2.1.0 2.0 system Freedesktop SDK org.freedesktop.Sdk 21.08.15 21.08 system linuxips@debian: $
How to Remove Flatpak Applications
Use the following command for users who want to remove Flatpak applications in your terminal.
$ sudo flatpak uninstall --delete-data com.visualstudio.code
linuxips@debian: $ sudo flatpak uninstall --delete-data com.visualstudio.code ID Branch Op 1. [-] com.visualstudio.code stable r Uninstalling… Note that '/var/lib/flatpak/exports/share' is not in the search path set by the XDG_DATA_HOME and XDG_DATA_DIRS environment variables, so applications may not be able to find it until you set them. The directories currently searched are: - /root/.local/share ID Branch Op 1. [-] com.visualstudio.code stable r Uninstall complete. Delete data for com.visualstudio.code? [y/n]: n linuxips@debian: $
Conclusion
In the tutorial, you have learned how to install Flatpak Manager on Debian 11 Bullseye. Flatpak is one of the better and more popular third-party installation managers and features on many other Linux distributions installed by default. Performance-wise you may notice a slight difference given Flatpak’s are in containers, but this should hardly be noticeable on modern systems and depending on what applications you are using.
Related Linux Tutorials: