Saya berhenti menggunakan Snap — Flatpak memang bekerja lebih baik


Ubuntu adalah salah satu distribusi Linux pertama yang saya coba dan sukai, jadi saya secara alami memilih Snap, paket universal "asli"nya. Baru-baru ini, ketika saya mencoba Flatpak, saya menyadari beberapa masalah kecil yang selalu saya anggap sebagai masalah sistem sebenarnya dipicu oleh sandboxing Snap. Sekarang saya telah menggunakan Flatpak cukup lama untuk mengetahui bahwa itu secara umum merupakan opsi yang lebih baik.

Kekecewaan

Snap mulai menghalangi jalanku

Snap berjalan dengan baik di latar belakang, dan Anda umumnya mengharapkan pembaruan untuk mengantri dengan benar serta aplikasi yang Anda butuhkan tersedia di toko. Masalah dengan aplikasi tertentu seperti Spotify adalah kombinasi dari daemon snapd yang selalu aktif dan pembaruan yang mengantri, yang dapat menyebabkan aplikasi diluncurkan ke dalam status "pending refresh". Hal ini sering tercermin sebagai penundaan singkat.

Masalah spesifik ini tampaknya tidak ada di beberapa aplikasi lain yang dikirim sebagai Snap, seperti VS Code. Namun, ada masalah lain. Dengan Firefox, misalnya, pemutaran video terkadang tersendat, dan Anda tidak mendapatkan pengguliran yang mulus. Pembatasan Snap secara default memblokir akses GPU yang benar, yang dapat menyebabkan video tersendat dan pengguliran tidak mulus.

Tapi entah kenapa, saya merasa terlambatnya Spotify menjadi soal pribadi. Ini adalah gabungan buruk dari overhead latar belakang snapd, pembatasan yang ketat, dan aplikasi yang membutuhkan jalur bersih dan langsung ke sistem audio Anda. Karena Snap Store sepenuhnya milik Canonical, tidak ada fleksibilitas dalam memperoleh sumber. Tidak seperti paket bawaan, di mana repositori distro hanya sebagai titik awal.

Flatpak langsung terasa lebih ringan

Lebih sedikit hal yang menghalangi

Flatpak tidak memberikan peningkatan kecepatan instan atau fitur-fitur mencolok, tetapi ia menangani hal-hal dasar tanpa mengganggu. Saya mengendalikan kapan pembaruan diterapkan, yang berarti ketika saya membuka aplikasi, saya tidak perlu menunggu penyegaran diterapkan, dan di latar belakang, tidak ada daemon yang selalu aktif yang ikut campur.

Ini menawarkan sejumlah opsi yang sehat, dikurasi, dan dapat dipercaya yang mencakup sebagian besar aplikasi yang saya butuhkan. Berkat Flatseal, saya dapat menyesuaikan apa yang dilakukan oleh setiap aplikasi tanpa menyentuh pengaturan sistem secara keseluruhan.

Jika dibandingkan berdampingan, Flatpak memiliki keunggulan tersendiri dengan perbaikan kecil yang sebenarnya penting saat dibutuhkan.

Fitur

Jepret

Flatpak

Keterbukaan toko

Tunggal, dikendalikan secara Kanonik

Flathub + remote tambahan

Proses latar belakang

snapd selalu berjalan

Tidak ada daemon yang persisten

Perbarui kontrol

Otomatis, antre

Dikontrol pengguna

Integrasi tema

Sebagian, sering rusak

Lebih baik, tapi masih belum lengkap

pengalaman CLI

jalankan aplikasi snap

flatpak run org.app.Name (verbose)

Snap meninggalkan jejak yang terlihat

Tumpukan kekacauan Snap yang meningkat






Anda harus mempersiapkan diri untuk hasilnya jika Anda menjalankan lsblk pada sistem yang memiliki Snaps terinstal. Jika Anda memiliki sepuluh aplikasi, Anda akan mendapatkan setidaknya sepuluh entri loop. Ini karena setiap Snap memasang gambar SquashFS yang terkompresi sebagai perangkat loop. Hal ini mengakibatkan beberapa entri loop yang memenuhi daftar perangkat blok, dan utilitas GNOME Disks menjadi berantakan.

Ini adalah bagian yang disengaja dari desain Snap yang membantu pembaruan atomik dan isolasi yang kuat. Namun, hal ini dilakukan dengan biaya sistem yang padat yang tidak bisa dibaca dengan mudah sekilas.

Flatpak menggunakan OSTree untuk distribusi repo dan runtime bersama, memasangnya melalui fuse-overlayfs daripada perangkat loop. Dalam hal ini, beberapa aplikasi menggunakan pool pustaka yang sama yang telah diduplikasi. Karena lingkungan pribadi individual tidak dipasang, pendekatan ini menghasilkan sistem berkas yang lebih bersih dan lebih mudah diaudit.

Flatpak memiliki masalahnya sendiri

Tapi saya lebih menyukai ini dibandingkan dengan Snap

Sandboxing pada Flatpak kadang-kadang dapat mengganggu beberapa aplikasi yang memerlukan akses sistem yang mendalam. Saya telah mengamati ini dengan VS Codium dan tema GTK tidak memiliki implementasi yang paling mulus.

Tetapi perbedaan besar adalah bahwa masalah-masalah ini di Flatpak biasanya terlihat dan dapat diperbaiki. Ketika masalah muncul, Anda dapat mengidentifikasi penyebabnya dan memperbaikinya—sering kali dengan menyesuaikan izin menggunakan Flatseal. Ini berbeda dengan Snap di mana keterlambatan terasa tidak terlihat. Anda lebih mungkin menyalahkannya pada sistem daripada pada Snap. Sistem tampak bekerja melawan Anda. Jadi apa yang dilakukan Flatpak yang membuat perbedaan adalah memberi Anda kendali.

Perpindahan itu juga mulus. Flatpak memiliki instalasi yang sederhana, dan mengaktifkan Flathub cukup mudah. Saya dengan mudah memigrasikan aplikasi seperti Spotify. Namun, tantangan satu-satunya adalah dengan paket tertentu seperti ubuntu-advantage-tools yang diam-diam menginstal ulang snapd. Jika Anda tidak tahu ada kemungkinan hal ini terjadi, Anda mungkin berpikir bahwa Anda benar-benar telah meninggalkan Snap, padahal sebenarnya masih ada.

Bukan sebuah keputusan — sebuah kerangka keputusan

Penting untuk dicatat bahwa semua yang telah saya lakukan dengan Snap adalah menurunkannya. Snap masih merupakan bagian dari sistem saya. Untuk beberapa aplikasi harian saya, saya lebih suka Flatpak; namun, saya tetap menyimpan beberapa alat tingkat sistem sebagai Snap. Mereka memang seharusnya ada di sana. Tidak ada yang selalu lebih unggul; alat terbaik adalah yang sesuai dengan pekerjaan tertentu.

Beginilah cara saya memutuskan apa yang berhasil:

Skenario

Pilihan terbaik

Aplikasi desktop harian (Spotify, GIMP, Inkscape)

Flatpak

Alat sistem Ubuntu (utilitas inti, LXD)

Jepret

Firefox/Thunderbird di Ubuntu

Keduanya — keduanya dipelihara di hulu

Aplikasi yang membutuhkan pengaturan izin yang ketat

Flatpak + Flatseal

Daemon server atau layanan latar belakang

Jepret

Kompatibilitas maksimum di seluruh distro

Flatpak

Yang saya sadari adalah semakin saya memahami manajer paket Linux, semakin banyak aplikasi yang saya pindahkan ke Flatpak.

Artikel terkait