Flatpak در Ubuntu
آموزش کامل نصب و استفاده از Flatpak در Ubuntu؛ جایگزین Snap و APT برای نصب برنامههای گرافیکی از Flathub با وابستگیهای ایزوله.
Flatpak یک سیستم مدیریت بستهٔ کانتینری است که بهعنوان جایگزین Snap در بسیاری از توزیعها استفاده میشود. در این آموزش با نصب Flatpak، افزودن Flathub و نصب برنامهها در Ubuntu آشنا میشوید.
Flatpak چیست؟
Flatpak بستهها را بهصورت کانتینرهای ایزوله، همراه با وابستگیهایشان، ارائه میدهد. هر بسته در یک sandbox اجرا میشود و دسترسی محدودی به سیستم دارد. Flatpak توسط پروژهای مستقل (نه Canonical) توسعه مییابد و در توزیعهای مختلف (Fedora، Debian، Arch، Ubuntu و...) کار میکند.
تفاوت Flatpak با Snap
| ویژگی | Flatpak | Snap |
|---|---|---|
| تمرکز | برنامههای گرافیکی | همهٔ انواع بسته |
| توسعهدهنده | جامعهٔ مستقل (GNOME/Red Hat) | Canonical |
| فروشگاه | Flathub | Snap Store |
| Backend | OSTree | squashfs |
| پیشفرض در | Fedora، Endless | Ubuntu |
| بهروزرسانی | دستی (یا via GNOME Software) | خودکار |
| Sandbox | قویتر | قوی |
چرا Flatpak بهجای Snap؟
برخی کاربران ترجیح میدهند بهجای Snap از Flatpak استفاده کنند، زیرا Flatpak مستقل از Canonical است، فروشگاه آن (Flathub) برنامههای بیشتری دارد و در اجرای اول سریعتر است. البته Snap هم روی Ubuntu بهتر با سیستم یکپارچه است.
نصب Flatpak در Ubuntu
# نصب Flatpak
sudo apt update
sudo apt install -y flatpak
# نصب افزونهٔ Flatpak برای GNOME Software (اختیاری اما توصیهشده)
sudo apt install -y gnome-software-plugin-flatpak
# خروجی نمونه:
# The following NEW packages will be installed:
# flatpak gnome-software-plugin-flatpak libflatpak0 ...افزودن مخزن Flathub
Flathub فروشگاه رسمی Flatpak است:
# افزودن مخزن Flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# خروجی: (در صورت موفقیت، بدون پیام)
# بررسی مخازن
flatpak remotes
# Name Options
# flathub systemپس از افزودن Flathub، فهرست برنامهها را بهروزرسانی کنید:
flatpak updateجستجو و نصب برنامهها
جستجوی برنامه
# جستجوی برنامه
flatpak search spotify
# خروجی:
# Description Application Version
# Spotify com.spotify.Client 1.2.31
# spot dev.alextren.Spot 0.6.0
# جستجوی گستردهتر
flatpak search codeنصب برنامه
# نصب برنامه (با تأیید)
flatpak install flathub com.spotify.Client
# نصب بدون پرسش تأیید
flatpak install -y flathub com.spotify.Client
# نصب نسخهٔ خاص
flatpak install flathub com.spotify.Client//1.2.31شناسهٔ application ID
برنامههای Flatpak بهجای نام کوتاه، با شناسهٔ کامل (بهصورت reverse-DNS) شناخته میشوند؛ مثلاً com.spotify.Client یا org.gimp.GIMP. این شناسهها یکتا هستند و تداخل ایجاد نمیکنند.
اجرای برنامه
# اجرای برنامه با شناسهٔ کامل
flatpak run com.spotify.Client
# اجرای با نام کوتاه (اگر یکتا باشد)
flatpak run spotifyبرنامههای نصبشده با Flatpak بهصورت خودکار به منوی برنامههای GNOME اضافه میشوند و نیازی به دستور flatpak run نیست.
مدیریت برنامههای نصبشده
# لیست برنامههای نصبشده
flatpak list
# خروجی:
# Name Application Version Branch Origin Installation
# Spotify com.spotify.Client 1.2.31 stable flathub system
# GIMP org.gimp.GIMP 2.10.36 stable flathub system
# لیست فقط برنامهها (بدون runtime)
flatpak list --app
# اطلاعات یک برنامه
flatpak info com.spotify.Client
# بهروزرسانی همهٔ برنامهها
flatpak update
# بهروزرسانی یک برنامه
flatpak update com.spotify.Clientحذف برنامه
# حذف برنامه
flatpak uninstall com.spotify.Client
# حذف بدون پرسش
flatpak uninstall -y com.spotify.Client
# حذف همهٔ برنامههای نصبشده
flatpak uninstall --all
# حذف runtimeهای غیراستفاده
flatpak uninstall --unusedپاکسازی دورهای runtimeها
هر برنامهٔ Flatpak runtimeهای خود را نصب میکند. با گذشت زمان، runtimeهای قدیمی و غیراستفاده فضای زیادی اشغال میکنند. دستور flatpak uninstall --unused را بهصورت ماهانه اجرا کنید تا فضای دیسک آزاد شود.
دسترسی به فایلها (Permissions)
Flatpak برنامهها را در sandbox اجرا میکند. برای دسترسی به فایلهای خارج از sandbox، باید permission بدهید:
# نصب ابزار مدیریت permission
sudo apt install -y flatpak
# مشاهدهٔ permissionهای یک برنامه
flatpak info --show-permissions com.spotify.Client
# افزودن دسترسی به پوشهٔ ~/Music
flatpak override --user --filesystem=~/Music com.spotify.Client
# افزودن دسترسی به تمام دستگاههای removable
flatpak override --user --filesystem=/media com.spotify.Client
# حذف یک permission
flatpak override --user --nofilesystem=~/Music com.spotify.Client
# بازنشانی همهٔ permissionها
flatpak override --user --reset com.spotify.Clientاستفاده از Flatseal
برای مدیریت گرافیکی permissionها، ابزار Flatseal عالی است:
# نصب Flatseal
flatpak install flathub com.github.tchx84.Flatseal
# اجرای Flatseal
flatpak run com.github.tchx84.FlatsealFlatseal برای مدیریت آسان
Flatseal یک رابط گرافیکی ساده برای مشاهده و تغییر permissionهای برنامههای Flatpak فراهم میکند. اگر میخواهید دسترسی فایل، شبکه، میکروفون یا دوربین یک برنامه را تنظیم کنید، این ابزار بهترین راه است.
نصب برنامههای محبوب از Flathub
# نصب برنامههای کاربردی
flatpak install -y flathub org.mozilla.firefox # Firefox
flatpak install -y flathub org.gimp.GIMP # GIMP
flatpak install -y flathub org.inkscape.Inkscape # Inkscape
flatpak install -y flathub org.onlyoffice.desktopeditors # ONLYOFFICE
flatpak install -y flathub org.videolan.VLC # VLC
flatpak install -y flathub com.spotify.Client # Spotify
flatpak install -y flathub org.telegram.desktop # Telegram
flatpak install -y flathub com.discordapp.Discord # Discord
flatpak install -y flathub com.visualstudio.code # VS Codeنگهداری Flatpak
# بررسی فضای اشغالشده
flatpak list --app --columns=application,size
# پاکسازی runtimeهای غیراستفاده
flatpak uninstall --unused
# Repair در صورت مشکل
flatpak repair
# بررسی بهروزرسانیهای موجود
flatpak remote-ls --updates flathubخطاهای رایج
۱. خطای "error: remote flathub not found"
# افزودن مجدد Flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo۲. برنامه اجرا نمیشود
# اجرای با خروجی دیباگ
flatpak run --verbose com.spotify.Client
# بررسی لاگها
journalctl -xe | grep flatpak۳. برنامه به فایلها دسترسی ندارد
راهحل: permission فایلسیستم را اضافه کنید:
flatpak override --user --filesystem=home com.spotify.Client۴. فضای زیادی اشغال شده
# پاکسازی runtimeهای غیراستفاده
flatpak uninstall --unused
# بررسی حجم نصبشده
du -sh ~/.local/share/flatpak
sudo du -sh /var/lib/flatpak۵. سرعت دانلود کند است
# تنظیم mirror برای Flathub (در صورت موجود بودن)
# یا نصب نرمافزار دانلودمنیجر مثل aria2Flatpak در برابر APT
| ویژگی | Flatpak | APT |
|---|---|---|
| نوع بسته | کانتینری | deb باینری |
| بهروز بودن | بسیار بهروز | بسته به نسخهٔ Ubuntu |
| وابستگیها | همراه با بسته | مشترک با سیستم |
| Sandboxing | دارد | ندارد |
| حجم | بیشتر | کمتر |
| مناسب برای | برنامههای گرافیکی | ابزارهای سیستمی، کتابخانهها |
ترکیب APT و Flatpak
بهترین تجربه در Ubuntu، ترکیب APT (برای ابزارهای سیستمی) و Flatpak (برای برنامههای گرافیکی کاربردی) است. این کار هم پایداری سیستم را حفظ میکند و هم دسترسی به آخرین نسخهٔ برنامهها را فراهم میسازد.
خلاصه و مرحلهٔ بعد
Flatpak یک جایگزین عالی برای Snap در Ubuntu است، بهخصوص برای برنامههای گرافیکی. با افزودن Flathub و نصب Flatseal، میتوانید دهها برنامهٔ کاربردی را با امنیت و بهروز بودن بالا نصب کنید.
بهعنوان گام بعدی:
- آموزش APT و Snap را برای مقایسهٔ کامل با Snap ببینید
- آموزش PPA و مخازن را برای نرمافزارهای deb بخوانید
- آموزش نصب برنامههای کاربردی را برای راهنمای نصب برنامههای روزمره ببینید
این صفحه در تاریخ ۹ تیر ۱۴۰۵ بهروزرسانی شده است.