Apa perbedaan antara buncis, appimage, flatpak, dan lainnya?

105

Saya telah mendapatkan pertanyaan ini akhir-akhir ini dari para siswa dan walaupun saya memiliki banyak informasi untuk ditawarkan, saya belum menemukan sumber yang dapat saya tunjukkan kepada orang-orang di mana mereka dapat membaca jawaban pembaruan (saya telah menemukan banyak informasi yang salah dan informasi usang) ). Jadi, beberapa pertanyaan yang saya miliki untuk format paket seperti snap, appimage, flatpak, dan lainnya dalam evolusi sistem pengemasan universal ini adalah:

  • Siapa yang membuat format paket?
  • Fitur apa yang ditawarkannya?
  • Fitur apa yang unik untuknya? (Bahwa yang lain belum memiliki)
  • Siapa yang mendukungnya?
  • Distribusi apa yang menggunakannya?
  • Apa fokus yang dimiliki paket? (Untuk Desktop, Awan, Ponsel, dll.)
  • Mana yang lebih aktif dikembangkan?
Luis Alvarado
sumber

Jawaban:

68

Berikut ini adalah perbandingan tabel panjang fitur AppImage vs Snap vs Flatpak. Itu dari AppImage Wiki di GitHub :

Perbandingan AppImage vs Snap vs. Flatpack

Kurt Pfeifle
sumber
43
Saya pikir ada baiknya menunjukkan bahwa bagan ini dibangun dari perspektif AppImage. Artinya, set fitur default adalah set fitur AppImage, dan yang lainnya dibandingkan dengan fitur-fiturnya. Itu memberi tepi bias ke AppImage. Ini juga agak ketinggalan zaman. Misalnya, Snap menambahkan tema mendukung musim gugur ini.
Dan
1
@Dan: Jika Anda tahu tentang Snap yang menambahkan mereka dukungan - mengapa Anda tidak mengeditnya saja di bagan? Juga, jika Anda tahu tentang fitur-fitur lain yang ada di Snap dan / atau Flatpak: merasa diundang untuk mengubah grafik dengan masing-masing item di wiki AppImage ...
Kurt Pfeifle
11
Saya tidak yakin bagaimana Anda bisa mengatakan itu. Lihatlah bagian "Tujuan", sebagai contoh. Ini menunjukkan tujuan AppImage secara eksklusif, seolah-olah tidak ada proyek lain yang memiliki tujuan. Seolah-olah hanya tujuan yang AppImage memiliki masalah.
Dan
5
Saya mengerti maksud Anda - Saya bisa mengedit wiki. Namun, jawaban Anda adalah gambar raksasa yang mungkin akan tetap seperti apa adanya, bahkan ketika wiki berubah. Saya pikir bias layak disebutkan dalam konteks jawaban Anda untuk pembaca Ubuntu masa depan.
Dan
2
@Dan: Saya mengedit jawabannya pada 4 Juli untuk memasukkan versi tangkapan layar yang diperbarui dari situs web (tepatnya untuk memasukkan beberapa modifikasi yang terjadi pada wiki). Di mana masalah bagi Anda dalam mengedit Wiki asli, membuat tangkapan layar baru dan kemudian menyarankan modifikasi dari jawaban ini dengan tangkapan layar baru?
Kurt Pfeifle
51

Terkunci dibuat oleh Canonical untuk Ubuntu. Keuntungan utama buncis adalah:

  • Kemandirian pada dependensi - semua perpustakaan dan dependensi termasuk dalam paket. Ini juga memungkinkan untuk memiliki lebih banyak versi dari program yang sama.
  • Sandboxing - terkunci menggunakan AppArmor yang dimodifikasi untuk mem-sandbox aplikasi
  • Pembaruan Delta - terkunci juga harus memungkinkan pembaruan delta

Kelemahan utama dari terkunci adalah bahwa perangkat lunak hanya dapat menggunakan perpustakaan yang disertakan dalam paketnya. Ini adalah risiko keamanan potensial karena pembuat paket perlu menjaga semua perpustakaan ditambal dan diperbarui.

Terkunci saat ini dapat berjalan di Ubuntu, Arch Linux, Fedora, Linux Mint, CentOS, dan Gentoo. Mereka juga digunakan di Ubuntu Touch. Mereka dirancang untuk desktop, server, ponsel, IoT, dan router.

Flatpak memiliki keunggulan yang sama dengan terkunci. Namun, ia menggunakan Namespaces bukan AppArmour untuk sandboxing. Perbedaan utama adalah bahwa Flatpaks dapat menggunakan pustaka yang disertakan dalam paket dan pustaka bersama dari Flatpak lain.

Pengembang Flatpak adalah karyawan Red Hat Alexander Larsson. Perangkat lunak Flatpak saat ini tersedia di Arch Linux, Debian, Fedora, Mageia, Solus dan Ubuntu. Ini fokus pada desktop saja.

AppImages dikembangkan oleh Simon Peter. Seperti dalam snaps atau Flatpak, paket termasuk semua perpustakaan yang diperlukan untuk menjalankan program. Program AppImage tidak di-sandbox dan tidak memerlukan hak root untuk menjalankannya. Menurut situs web proyek, AppImages harus berjalan di Arch Linux, Centos, Debian, Fedora, OpenSUSE, Red Hat Linux dan Ubuntu.

Magma
sumber
3
Solus telah mengumumkan dukungan untuk flatpak pada Jan 2017
Anthon
8
Mereka semua seharusnya dibangun di atas appimage. Alih-alih menciptakan kembali ideologi yang sama dan memperkenalkan fragmentasi dan kebingungan. Juga perhatikan bahwa karena paket portabel ini memiliki semua pustaka, ukurannya akan jauh lebih berat dibandingkan dengan aplikasi yang menggunakan pustaka bersama yang diinstal melalui apt atau .deb. Jika Anda harus tahu mana yang lebih populer, flatpak saat ini sedang memukul.
answerSeeker
Dengan serangan Spectre sekarang di alam liar, saya curiga akan ada sedikit minat pada perpustakaan bersama untuk alasan keamanan. :-)
Chris
4
@answerSeeker: komentar Anda tentang paket portabel "lebih besar ukurannya dibandingkan dengan aplikasi yang menggunakan pustaka bersama yang diinstal melalui apt atau .deb" tidak selalu didukung oleh fakta kehidupan nyata. AppImages dan Snaps dikompresi menjadi gambar SquashFS (tidak berlaku untuk Flatpak). Mereka tidak pernah diekstraksi ke disk, bahkan saat dijalankan. AppImages, ketika berjalan, pasang sendiri ke mountpoint yang dibuat sementara /tmp/.mount_<random-chars>dan jalankan dari sana - masih dikompresi! Lihat nomor untuk contoh LibreOffice di tangkapan layar jawaban saya di bawah ini ...
Kurt Pfeifle
1
@PabloBianchi: AppImages yang lebih baru (dari varietas 'tipe 2' yang lebih baru ) dapat memiliki mekanisme pembaruan bawaan. Ini mengunduh perbedaan biner dari lokasi AppImage yang asli, menghemat ukuran dan waktu pengunduhan, setelah versi baru tersedia dan setelah pengguna mengindikasikan bahwa ia menginginkannya. Alat appimageupdatetool(CLI) dan AppImageUpdate-Qt(GUI) membantu dengan ini.
Kurt Pfeifle