GNU/Linux >> Belajar Linux >  >> Ubuntu

Snap vs APT:Apa Bedanya?

Pendahuluan

Dibandingkan dengan sistem operasi utama lainnya, Linux mengambil pendekatan yang berbeda untuk manajemen perangkat lunak. Perangkat lunak di Linux secara tradisional diatur dalam repositori. Repositori berisi aplikasi dan semua dependensi yang diperlukan untuk menjalankannya.

Meskipun menggunakan repositori nyaman karena berbagai alasan, sering kali menjadi kendala bagi pengguna yang tidak paham teknologi. Beberapa sistem pengemasan alternatif telah dibuat selama beberapa tahun terakhir untuk membuat pengalaman Linux lebih ramah pengguna.

Dalam artikel perbandingan ini, Anda akan mempelajari tentang perbedaan antara sistem pengemasan Snap dan pengelola paket APT.

Apa itu Snap?

Snap adalah paket perangkat lunak dan sistem penyebaran yang menggunakan paket mandiri yang disebut snaps untuk mengirimkan perangkat lunak kepada pengguna. Snaps mengemas semua dependensi yang dibutuhkan program dalam satu paket. Dengan cara ini, aplikasi bersifat agnostik sistem, artinya aplikasi ini dapat berjalan secara native di semua distribusi Linux yang mendukung Snap.

Sementara APT sebagian besar memperoleh paket dari repositori resmi distribusi, Snap memungkinkan pengembang untuk mengirimkan aplikasi mereka langsung ke pengguna melalui Snap Store. Pengembang juga dapat memublikasikan snap langsung di situs web mereka.

Alat untuk manajemen snap disebut snapd . Ini adalah daemon yang memungkinkan sistem untuk menjalankan paket snap. Pengguna berinteraksi dengan snapd menggunakan snap klien.

Di bawah ini adalah contoh instalasi Thunderbird menggunakan snap perintah:

Apa itu APT?

APT (Advanced Package Tool) adalah manajer paket perangkat lunak untuk menginstal dan menghapus paket pada sistem berbasis Debian. APT mengotomatiskan proses mengambil, mengonfigurasi, meningkatkan, menginstal, dan menghapus paket. APT adalah front-end dari sistem manajemen paket dasar Debian dpkg .

Salah satu manfaat utama APT adalah cara menangani dependensi perangkat lunak. Setelah pengguna mengeluarkan perintah untuk menginstal sebuah paket, APT mencari repositori untuk dependensi paket dan menginstal yang belum diinstal pada sistem.

Alat yang terutama digunakan APT untuk berinteraksi dengan pengguna adalah apt . Utilitas ini menawarkan apt-get dan apt-cache yang paling populer perintah, yang dianggap kurang ramah pengguna.

Tangkapan layar menunjukkan pemasangan Thunderbird menggunakan apt :

Jepret Vs. APT:Perbedaan

Sebelum masuk ke detail mengenai perbedaan antara Snap dan APT, perlu dipahami tingkat di mana kita dapat membandingkannya.

Tabel di bawah menjelaskan terminologi dan memberikan poin perbandingan utama:

Jepret APT
Jenis paket .snap .deb
Nama alat snapd APT
Alat CLI snap apt
Format Arsip SquashFS arsip ar
Tersedia di Snap Store Repositori Debian
Ukuran Pemasangan Lebih besar Lebih kecil
Ketergantungan Terdapat dalam paket Dibagikan
Pembaruan Otomatis Manual
Kurungan keamanan Terbatas Kurungan terbatas
Beberapa penginstalan Mungkin Tidak mungkin
Penginstalan beberapa versi Mungkin Tidak mungkin

Format Paket

Jepret menggunakan .snap file, tersedia untuk diunduh di Snap Store atau di situs web pengembangnya. .snap file berisi aplikasi, dependensinya, dan metadata dalam sistem file terkompresi SquashFS.

Aplikasi Snap dikemas, mirip dengan cara Docker mengemas wadahnya. Namun, tidak seperti wadah Docker, aplikasi snap memiliki akses terbatas ke sistem host, terutama untuk menyimpan file konfigurasi dan menggunakan I/O sistem.

APT menggunakan .deb file dari repositori perangkat lunak online untuk setiap distribusi Linux yang mendukungnya. Sebuah .deb file adalah arsip Unix, yang mencakup dua arsip tar. Satu arsip berisi informasi kontrol, sedangkan yang lain menampilkan file yang digunakan untuk instalasi paket.

Ukuran Paket

Jepret mandiri, yang menghasilkan .snap . yang relatif cukup besar mengajukan. Saat pengguna menginstal snap, file didekompresi dan dipasang sebagai perangkat loopback hanya-baca di direktori home.

Aplikasi yang dipasang melalui APT ukurannya lebih kecil daripada rekan snap-nya karena tidak perlu membundel dependensi paket.

Ketergantungan

Jepret bundel dependensi paket di dalam paket. Meskipun pendekatan ini berdampak negatif pada ukuran paket, manfaat utamanya adalah pengguna selalu memiliki versi paket yang didukung dan diuji.

APT menggunakan pendekatan ketergantungan bersama. Saat pengguna mengeluarkan apt install perintah, APT membaca daftar dependensi, memeriksa apakah sistem sudah menginstal beberapa paket, dan menginstal yang hilang. Teknik ini mempertahankan jejak memori yang kecil.

Kemudahan Penggunaan

Perbedaan kemudahan penggunaan untuk pengguna akhir tidak signifikan. Jepret aplikasi bersifat universal dan lebih praktis untuk dipelihara oleh pengembang, dan merilis pembaruan adalah proses langsung untuk mengubah satu paket.

Sebaliknya, APT memeriksa repositori untuk menemukan pembaruan. Saat pembaruan siap, sistem repositori memerlukan versi terpisah untuk setiap distribusi (Ubuntu, Linux Mint, Pop! OS, dll.) dan setiap versi distribusi (Ubuntu 18.04, Ubuntu 20.04, dll.). Metode ini memakan waktu dan terkadang menyebabkan penundaan untuk distribusi tertentu.

Kecepatan

Jepret memiliki waktu mulai lebih lama dari APT karena OS dekompresi terkunci pada penggunaan pertama untuk menghemat ruang disk. Namun, snap lebih lambat hanya pada putaran pertama – perbedaannya berkurang atau hilang sama sekali pada startup kedua.

Pembaruan

Jepret proses pembaruan otomatis. Pengguna tidak dapat mencegah pembaruan aplikasi snap, hanya menunda prosesnya. Pengembang Snap tidak dibatasi dalam hal kapan mereka dapat merilis pembaruan.

APT memberikan kontrol penuh kepada pengguna atas proses pembaruan. Namun, ketika distribusi memotong rilis, biasanya membekukan deb dan tidak memperbaruinya selama rilis. Oleh karena itu, Snap adalah solusi yang lebih baik bagi pengguna yang lebih menyukai versi aplikasi terbaru.

Integrasi GUI

Jepret dirancang untuk menjadi universal. Dengan demikian, mereka tidak terintegrasi secara sempurna dengan GUI dari berbagai distribusi.

Baru-baru ini ada beberapa perkembangan di komunitas Snap mengenai integrasi tema. Ini termasuk memperkenalkan layanan latar belakang yang mengawasi perubahan tema dan menawarkan pengguna untuk menyesuaikan aplikasi mereka agar sesuai dengan tema OS. Namun, ini masih dalam proses, dan snap masih belum sepenuhnya terintegrasi ke dalam OS host.

Di sisi lain, .deb file yang digunakan oleh APT adalah distribusi dan versi khusus, yang menghasilkan pengalaman Linux default dalam hal integrasi tema.

Keamanan

Jepret mendukung validasi tanda tangan dan, mengingat sifatnya yang terbatas, dianggap sebagai solusi aman untuk penerapan aplikasi. Namun, karena penerbit menyediakan aplikasi secara langsung kepada pengguna, pengguna harus memercayai penerbit. Tidak ada tinjauan eksternal yang dilakukan.

Di sisi lain, setiap distribusi Linux meninjau deb yang disertakan dalam repositorinya. Jadi, APT pengguna dapat yakin bahwa aplikasi tersebut berasal dari sumber tepercaya. Ini tidak berlaku untuk repositori atau deb pihak ketiga yang tersedia di situs web penerbit.

Jepret Vs. APT:Mana yang Harus Dipilih?

Pilih Jepret jika:

  • Anda tidak ingin paket yang tidak perlu diintegrasikan ke dalam sistem Anda. Dengan Snaps, paket tetap terkurung di .snap paket.
  • Anda ingin memastikan bahwa Anda memiliki versi aplikasi terbaru. Snap update secara otomatis dan terus menerus, tanpa fitur freeze untuk distribusi tertentu.
  • Anda ingin mengisolasi aplikasi.

Pilih APT jika:

  • Anda lebih suka aplikasi ditinjau berdasarkan distribusi yang Anda gunakan.
  • Anda khawatir tentang menghemat ruang penyimpanan Anda. Aplikasi yang diinstal oleh APT berbagi dependensinya.
  • Anda ingin aplikasi terintegrasi ke dalam lingkungan GUI dengan benar.

Ubuntu
  1. Apa Perbedaan Antara Metode Tasksel Dan Normal?

  2. Perbedaan antara Cari/di mana/yang mana?

  3. Perbedaan Antara Lubuntu Dan Lxde?

  1. Server Ubuntu vs Desktop:Apa Perbedaannya?

  2. Perbedaan Antara [[ $a ==Z* ]] Dan [ $a ==Z* ]?

  3. Hosting Cloud vs. Hosting VPS:Apa Bedanya?

  1. Kontainer vs Mesin Virtual (VM):Apa Bedanya?

  2. Perintah Docker CMD vs. Entrypoint:Apa Perbedaannya?

  3. APT vs APT-GET:Apa Bedanya?