나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2026-01-28 07:11:23

Flatpak


<nopad>[[Linux|
파일:Linux 로고.svg
Linux
관련 문서
]]
리누스 토르발스 · 커널 · 배포판 (목록) · 환경변수 · 소프트웨어 · 명령어 · GUI 환경 · Linux 게이밍 · Tux · Flatpak · Snap · AppImage

1. 개요2. 장점
2.1. 어느 배포판에서도2.2. 패키지 의존성 충돌 방지2.3. 빠른 업데이트2.4. 보안
3. 단점
3.1. 큰 용량3.2. 과잉 보안

1. 개요

공식 홈페이지

Flatpak(구 xdg-app)은 리눅스를 위한 소프트웨어 배포, 패키지 관리 유틸리티 소프트웨어이다. 사용자에게 본래 시스템과 일부 격리하여 응용 소프트웨어를 실행할 수 있는 샌드박스 환경을 제공한다. 2016년까지 xdg-app으로 불렸다. Flatpak을 사용하는 응용프로그램은 사용자가 하드웨어 장치를 제어하고 사용자의 파일에 접근할 권한이 필요하다.

GNOME에서 응용프로그램 콘테이너를 쓰는 아이디어는 2013년 Lennart Poettering가 제안했다. Lennart Poettering은 2014년 이에 대한 논문을 발표했다. freedesktop.org 프로젝트(X 데스크탑 그룹 또는 XDG로 알려져 있음)의 부분으로 개발된다.

2. 장점

2.1. 어느 배포판에서도

apt를 사용하는 데비안, pacman을 사용하는 아치, dnf를 사용하는 페도라 상관 없이 하나의 패키지 시스템으로 통일하여, 굳이 여러 배포판용으로 힘들게 빌드하지 않아도 된다.

2.2. 패키지 의존성 충돌 방지

기존 패키지 관리자는 패키지 한 개만 원하는데 필요없는 패키지까지 같이 딸려 설치되거나 반대로 꼭 원하는 패키지의 삭제를 요구하여, 바이러스도 아닌데 시스템 설정을 파괴하는 경우도 있다. 게다가 배포판의 큰 업데이트 시 버전이 맞지 않는다고, 다른 패키지랑 함께 존재할 수 없다고 sudo apt autoremove로 삭제를 권하게 되고, 이렇게 패키지 간 내전이 일어나다가, 마치 내전이 핵전쟁으로 번지듯, 시스템이 정상 작동이 불가능할 정도로 망가지는 경우도 있었다. 하지만 flatpak은 샌드박스 형태로 필요 의존성 패키지까지 묶어, 다른 패키지나 배포판의 버전 충돌을 방지한다.

2.3. 빠른 업데이트

기존 apt 패키지는 의존성 패키지의 버전 충돌을 막기 위해 버전 업데이트에 매우 보수적이었다. 업데이트가 매우 느렸다. 하지만 Flatpak은 의존성 패키지까지 한 팩에 묶임으로서 항상 최신 버전으로 업데이트 가능하다.

2.4. 보안

바이러스나 악성코드 피해가 적도록, 시스템이나 커널 등의 깊은 곳을 건드리지 못하는 샌드박스로 설계되어 sudo 권한 없이 설치할 수 있고 안전하다. 하지만 이것은 후술할 타 패키지, 타 경로 접근 불가의 단점으로 다가온다.

3. 단점

3.1. 큰 용량

의존성 패키지까지 묶어 배포하여 안정적이지만, 용량이 크고 그만큼 드라이브도 많이 읽는다.
예를 들어 단순 계산기인 kcalc.
기존 apt로는 0.3MB지만, flatpak 설치는 런타임 등까지 합하여 모두 750~850 MB나 먹는다.
하지만, 해당 버전의 런타임을 공유하는 다른 앱이 많이 설치되어 있다면(Flatpak 버전의 krita, kdenlive 등) 용량 문제는 무시 가능한 수준이다.

3.2. 과잉 보안

Flatpak 빌드의 프로그램에서 다른 프로그램을 실행 시도 시, 원래 프로그램 경로인 /usr/bin/패키지명 이렇게 명령하여도, /run/user/1000/doc/무작위8글자/패키지명 이렇게 엉뚱한 경로로 변하여 실행이 불가능하게 되어 버린다. Flatpak 스팀 등 게임 스토어 사용 시에도 외부 드라이브의 경로명이 이 이름으로 꼬여 버려 외부 드라이브 접근이 불가능해진다. 이런 문제 발생 시에는, 다른 패키지 시스템(AppImage, Snap 등) 시도해보고, 되지 않으면 그냥 기존 패키지 형식으로 설치하는 것을 권한다.
다행히 AppImage는 이런 형태의 문제는 일으키지 않는다.

분류