A key feature of the app store in major distributions like Ubuntu is that it lets you choose how you want to install software, offering different options depending on the application.
Typically, you can choose between formats such as .deb (which is becoming less common), .apk, snap, and Flatpak. Personally, I tend to prefer the .deb format, though Flatpak is becoming more popular on my desktop.
However, I often find myself uncertain when faced with two installation options for Flatpak: Flatpak and System-wide Flatpak. These options typically appear with little explanation, which can be confusing about which one to select. Fortunately, I asked a systems expert for clarification, and here’s what I learned. I’ll share the details below:
TL;DR: The key difference is where the software is installed and who has access to it.
1. Standard Flatpak (User-Level)
- Installation Location: The software is installed in the user's directory, typically
~/.local/share/flatpak
. - Access: Only the user who installed the software can run the application.
- Permissions: No administrator privileges (
sudo
) are required to install or update the application. - Advantages:
- Ideal for shared systems where each user needs different applications or configurations.
- Does not interfere with other users on the system.
- Disadvantages:
- If multiple users install the same application, the files are duplicated, taking up more disk space.
2. System-wide Flatpak (System-Level)
- Installation Location: The software is installed in the system directory, typically
/var/lib/flatpak
. - Access: All users on the system can access and use the application.
- Permissions: Administrator privileges (
sudo
) are required to install or update applications. - Advantages:
- Saves disk space, since all users share a single installation.
- Useful in environments where multiple users require the same application.
- Disadvantages:
- Updates or changes to the application affect all users on the system.
3. How to Choose Between Standard Flatpak and System-wide Flatpak?
- Use Standard Flatpak if:
- You’re the only one who needs the application.
- You don’t have administrator privileges on the system.
- You prefer to keep your applications isolated from other users.
- Use System-wide Flatpak if:
- Multiple people on the system need to use the same application.
- You want to centralize application management and save disk space.