Saya menyukai ide di balik snap dan memainkannya di VM Ubuntu.
Ikhtisar Snapcraft
Snapcraft adalah alat pembuatan dan pengemasan yang membantu Anda mengemas perangkat lunak
Anda dengan cepat. Memudahkan untuk menggabungkan komponen dari
sumber yang berbeda dan membangun teknologi atau solusi. Konsep kunciPaket .snap untuk sistem Ubuntu Core berisi semua
dependensinya. Ini memiliki beberapa keunggulan dibandingkan deb tradisional atau
penanganan ketergantungan berbasis rpm, yang paling penting adalah bahwa pengembang
selalu dapat yakin bahwa tidak ada regresi
yang dipicu oleh perubahan pada sistem di bawahnya aplikasi mereka.Snapcraft membuat bundling dependensi ini mudah dengan memungkinkan Anda
menentukannya sebagai "bagian" dalam file snapcraft.yaml. TajamSnappy Ubuntu Core adalah versi baru Ubuntu dengan pembaruan
transaksional – citra server minimal dengan pustaka yang sama dengan Ubuntu
saat ini, tetapi aplikasi disediakan melalui mekanisme yang lebih sederhana.Aplikasi Snappy dan Ubuntu Core sendiri dapat ditingkatkan secara atomis dan
dibatalkan jika diperlukan. Aplikasi juga dibatasi secara ketat dan dikotak pasir
untuk melindungi data dan sistem Anda.
IoT Membangun aplikasi
Pada teknologi apa yang berbasis snap? Bagaimana arsitektur dan toolkit terlihat? Apakah snap bergantung pada fitur kernel Linux?
Saya bertanya, karena saya ingin tahu apakah di masa mendatang saya dapat menggunakan paket snap yang sama juga di macOS?
Klarifikasi, setelah komentar pertama:
Saya tahu bahwa macOS dan Ubuntu tidak kompatibel dengan biner. Diperlukan kompilasi ulang. Hampir semua Sumber Terbuka sudah tersedia untuk macOS dengan Homebrew. Pengembang dapat mengembangkan di macOS dan menerapkan di Ubuntu ketika snap akan (di masa mendatang) tersedia untuk macOS.
Jawaban yang Diterima:
Ya, berkat stabilitas antarmuka syscall Linux, hal ini dimungkinkan.
Salah satu komitmen besar Linus Torvalds kepada pengguna Linux adalah bahwa set antarmuka yang ditawarkan oleh kernel stabil. Banyak orang tidak menghargai nilai ini, atau betapa sulitnya sebagai pemimpin proyek terbuka untuk mencapai komitmen itu. Pertimbangkan misalnya betapa kontrasnya perubahan tak terduga dalam API GNOME! Ketika Anda mendengar tentang Linus yang semakin intens di milis, itu hampir selalu karena beberapa pembuat kernel memutuskan untuk mengubah antarmuka seperti itu 'karena mereka memiliki ide yang lebih baik'. Linus mengatakan Anda dapat berinovasi secara liar DI DALAM kernel, tetapi tolong jangan merusak aplikasi 'ruang pengguna' yang bergantung pada syscalls yang ada.
Terkait:Bagaimana cara menginstal numpy di Python 3.1?Sebagai konsekuensi dari stabilitas tersebut, kernel lain mungkin menawarkan syscalls yang sama, memungkinkan aplikasi yang dibangun di Linux untuk berjalan di kernel lain tersebut.
Salah satu contohnya adalah proyek Joyent Triton, yang menawarkan syscalls yang kompatibel dengan Linux dalam container di SmartOS (keturunan IllumOS, keturunan Solaris).
Contoh yang lebih dikenal luas adalah subsistem Linux baru di Windows.
Tentu saja, berapa banyak syscalls yang ditawarkan, dan seberapa kompatibel bug-untuk-bug mereka, adalah pertanyaan sebenarnya. Setidaknya untuk saat ini, tidak ada lingkungan lain di mana semua syscalls yang diperlukan tersedia, karena yang digunakan snaps relatif baru dan jauh dari cara kernel memikirkan hal-hal yang dikelolanya.
Tapi mereka pasti akan datang, pada waktunya, dan saya pikir snap akan dapat digunakan dalam berbagai konteks.
Yang sangat keren, tambalan diterima