Format pengepakan cepat akhirnya membebaskan kita dari neraka ketergantungan dengan memungkinkan setiap paket memiliki salinan dependensinya sendiri. Saya tertarik pada detail teknis tentang cara melakukannya. Bagaimana cara menangani:
- terkunci tergantung pada versi perpustakaan yang sudah diinstal melalui paket deb untuk rilis saat ini? Apakah itu mengabaikan perpustakaan yang diinstal?
- terkunci berbeda menentukan versi yang sama dari perpustakaan yang sama? Apakah itu melakukan deduplikasi entah bagaimana?
- pembaruan ke pustaka inti yang kemungkinan akan digunakan oleh banyak buncis? OpenSSL terlintas dalam pikiran sebagai titik sakit yang sangat besar.
xdg-app memiliki sesuatu yang disebut "runtime" :
Konsep dasar dalam xdg-app adalah pemisahan runtime / aplikasi. Setiap aplikasi bergantung pada runtime, yang memasok pustaka inti yang diandalkan oleh aplikasi tersebut. Runtimes biasanya dibagikan oleh banyak aplikasi, tetapi pengguna dapat menginstal beberapa runtimes pada saat bersamaan.
Tampaknya dalam kasus OpenSSL, itu akan menjadi bagian dari runtime di xdg-apps, jadi pembaruan untuk OpenSSL harus secara transparan memengaruhi semua xdg-apps menggunakan runtime yang sama.
sumber
Saya tidak berpikir bahwa terkunci memeriksa dependensi apa yang sudah diinstal. Itu hanya mencakup semua dependensi dan runtime-nya (yang merupakan sebagian alasan snap LibreOffice adalah 287 MB dan flatpak sekitar 200MB).
Terkunci mencakup hampir semua perangkat lunak yang perlu dijalankan. Saya tidak berpikir apa pun dibagikan di antara bentak.
Namun ketika snap diperbarui, itu hanya akan mengunduh dependensi yang baru, dan bukan keseluruhan snap.
sumber
Klarifikasi tambahan adalah dalam rangka tentang cara pengemasan snap menangani dependensi bersama.
Pernyataan dalam salah satu jawaban ini sebagian benar, namun semua paket snap yang diinstal kecuali snap inti bergantung pada dua paket, salah satunya adalah snap inti.
snapd - yang diinstal secara default pada 16,04 dan seterusnya dan juga dapat diinstal dalam 14,04.
core - (core snap) yang secara otomatis diunduh dan diinstal ketika paket snap yang diinstal pertama diinstal
Semua paket snap kecuali untuk core itu sendiri tergantung pada snap inti. Jika ada yang salah dengan snap inti, maka beberapa atau semua terkunci lainnya tidak akan berfungsi. Masalah dengan snap inti dapat diperbaiki dengan dua cara berikut.
Perbarui snap inti. Bahkan jika ini tidak berhasil, hasil menjalankan perintah berikut ini akan memberikan informasi tambahan yang akan membantu menyelesaikan masalah.
Hapus instalan snap inti dan semua paket snap lalu instal ulang.
sumber