Mengapa paket snap ada - apakah ada kebutuhan nyata?

11

Asumsi

Jujur, saya tidak tahu banyak tentang paket snap - tetapi ini tidak relevan untuk pertanyaan ini - lihat di bawah. Saya berasumsi bahwa sistem ini sangat berbeda dari yang ada.

Apakah perubahan itu masuk akal?

Apakah ada kebutuhan aktual, cukup kuat? Yaitu - apakah ada kasus penggunaan baru, yang cukup penting untuk mengembangkan format baru - dan infrastruktur terkait?

Apakah tidak layak untuk mengubah metode saat ini untuk mencakup kasus penggunaan baru juga?

Atau apakah saya melewatkan intinya?

Mungkin saja yang saya lihat sebagian besar adalah pemasaran - nama-nama baru dan presentasi untuk perubahan teknis seminimal mungkin, untuk mendapatkan peluang bahwa setiap orang menganggapnya sebagai "baru dan lebih baik" dan mungkin sebenarnya digunakan. Juga, mungkin paket-paket baru tersebut sangat dekat dengan format yang ada sehingga sebagian besar merupakan perubahan dalam presentasi kepada pengguna. Itu bisa menjadi solusi yang baik, tentu saja. Dalam hal ini, pertanyaan ini tidak memiliki banyak relevansi.

Kemudian, saya berharap itu masih cukup berguna untuk menjawab aspek-aspek sampingan. Cukup beri tahu saya jika pertanyaannya tidak membantu atau membingungkan bagi pengguna baru, saya senang menghapusnya.

Jadi, mengapa mereka ada?


Latar Belakang

Reaksi pertama saya adalah "Itu tidak masuk akal!"

Ini mirip dengan situasi di mana, di situs fisika, seseorang bertanya, tidak senang, mengapa tidak ada yang membahas ide-ide barunya yang cemerlang dalam jawaban. Itu tampak sangat seperti ide-ide gila; Begitu jauh dari pengetahuan fisik aktual sehingga sulit menemukan titik untuk memulai. Saya menulis jawaban yang tidak menyentuh ide-idenya dengan satu kata, tetapi menjelaskan mengapa orang tidak mau berdiskusi dengan asumsi ide-ide crackpot - bukan kasus pertama. Jawabannya sebenarnya tepat sasaran, saya pikir.

Jika asumsi saya benar, kasus ini mirip.

Tapi kemudian, mungkin tidak - mari kita lihat.

Volker Siegel
sumber
Ada suara dekat yang mengatakan "sebagian besar berdasarkan pendapat" - apakah itu berarti bahwa jawabannya diharapkan berdasarkan opini? Itu pada dasarnya akan menjadi jawaban dalam dirinya sendiri, karena itu berarti bahwa tidak ada konsensus yang mapan bahwa perubahan diperlukan. Jadi akan ada argumen pro dan kontra; Itu berarti pertanyaan saya sebenarnya sangat penting, dan lebih bermanfaat daripada yang saya harapkan!
Volker Siegel
2
Saya telah memilih untuk membuka kembali pertanyaan ini. Ini benar-benar bertanya mengapa terkunci diperkenalkan, ketika manajer paket sudah ada dan Ubuntu (dan OS lainnya) sudah memilikinya. Jadi Anda benar: jika ini sebenarnya adalah pertanyaan berbasis opini, itu berarti bahwa tidak ada jawaban yang dapat diberikan berdasarkan fakta dan pengalaman. Namun, seperti yang Anda lihat dari jawaban muru yang luar biasa , ini bukan masalahnya. Kapan (atau bahkan jika) jepretan harus digunakan masih merupakan sesuatu yang orang dapat lakukan terutama berdasarkan diskusi tentang pendapat, tapi bukan itu yang terjadi.
Eliah Kagan

Jawaban:

17

Ya, ada kebutuhan nyata.

Telah ada kebutuhan nyata untuk sesuatu seperti ini sejak pertama kali satu perangkat lunak bergantung pada yang lain.

Mari kita perjelas:

Mengelola dependensi itu sulit .

Ada alasan mengapa ini disebut neraka ketergantungan . Sistem pengemasan seperti RPM dan Debian dibuat dengan tujuan menghindari ketergantungan pada neraka. Namun, seseorang harus membayar biayanya:

  1. Di Windows, di mana program menggabungkan dependensi mereka, pengguna harus mengurus pembaruan (dan masalah keamanan apa pun karena ketiadaan). Jika saya dev menginginkan versi X dari sesuatu untuk aplikasi saya, sederhana: Saya menyediakannya dengan aplikasi saya. Sekarang bagaimana cara saya menangani pembaruan?
  2. Pada kebanyakan distro Linux (mengikuti Debian atau Red Hat), di mana suatu program dapat bergantung pada perangkat lunak dari repositori, sebuah program dari repositori harus bergantung pada perangkat lunak dari repositori. Jika saya ingin versi X dari sesuatu untuk aplikasi saya, dan distronya menyediakan X, sederhana: Saya bergantung padanya. Dan jika distro tidak? Kemudian: ???
    • Menambahkan beberapa versi ke distro meningkatkan beban pada pengelola
    • Kehilangan kemampuan untuk menggunakan versi pilihan dependensi meningkatkan beban pengembang
    • Kehilangan kemampuan untuk menggunakan versi pilihan aplikasi membuat pengguna frustrasi

Ada banyak kehilangan kebebasan dalam kedua metode tersebut.

Dan di sinilah buncis masuk: mereka membiarkan dev menyertakan versi X, dan membiarkan sistem pengemasan mengelola pembaruan. Siapa yang membayar biayanya? Pengguna:

  • dengan membutuhkan lebih banyak ruang.
  • dengan menempatkan mereka dalam risiko karena dev yang ceroboh tidak membangun kembali buncis mereka ketika ketergantungan ditambal.

Apa manfaat yang saya dapatkan, sebagai gantinya?

  • Selain keamanan melalui pembaruan (yang, sejujurnya, tidak cukup banyak orang peduli), saya pengguna tidak perlu khawatir tentang ketergantungan dengan terkunci. Kata itu sebagian besar kehilangan makna.
  • Selain dari pembaruan keamanan, pengembang perangkat lunak tidak perlu khawatir tentang mendapatkan pengguna untuk menginstal dependensi yang benar.
muru
sumber
3
Ya, saya pikir neraka ketergantungan menggambarkannya dengan cukup baik.
Volker Siegel
Biarkan saya membuat suara yang berlawanan :), Mengapa mereka tidak hanya menggunakan /opt?
user.dz
@Sneetsher memikirkannya seperti ini: apa yang mencegah satu aplikasi di / opt dari penulisan aplikasi lain di / opt? Lebih buruk lagi, bagaimana Anda mencegah satu aplikasi membaca kunci pribadi aplikasi lain?
Evan
@Van, sumur AppArmorsudah keluar untuk menutupi itu. tetapi cara perlindungannya mungkin berbeda. Pokoknya topiknya adalah naik.
user.dz
muru, terima kasih telah menulis semua ini. Ngomong-ngomong, ini adalah jawaban pertama di Google. Tapi saya penasaran. Saya dapat melihat sistem saya menggunakan buncis untuk, katakanlah, Chromium. Dan sekarang saya ingin menginstal Skype. Biasanya saya akan sudo apt-get install skypetetapi kemudian saya melihatnya tersedia sebagai snap. Tetapi ketika saya menginstal Chromium, saya tidak melakukan sesuatu yang khusus untuk membuatnya menggunakan snap. Namun demikian. Jadi sekarang saya mengerti MENGAPA foto ada, dan senang mereka melakukannya. Saya sekarang ingin tahu apakah saya perlu khawatir sudo snap install skype?
SDsolar
3

Salah satu fitur terkunci yang mungkin berguna adalah kemampuan untuk memilih saluran untuk pengembang yang menyediakan lebih dari satu saluran, seperti rilis , kandidat , master , dll.

Misalnya, mengklik tombol Saluran untuk nextcloudakan menampilkan dialog di tangkapan layar di bawah.

Poin penjualan kuat lainnya adalah isolasi, imutabilitas, dan sandboxing yang dikendalikan oleh konteks kebijakan keamanan , yang memungkinkan mendefinisikan izin per-aplikasi, juga disebut 'colokan' untuk misalnya:

  • baca / tulis lokasi
  • akses ke penyimpanan yang dapat dilepas
  • negara tempat snap masuk daftar putih / daftar hitam
  • akses jaringan
  • kamera, printer, joystick, lokasi GPS
  • pengaturan sistem
  • ... daftar lengkap antarmuka snap

Pendekatan ini meniru beberapa bundel aplikasi MacOS dan sandboxing aplikasi Android dengan izin dan penyedia / penerima konten.

paket snap ubuntu pilih saluran

Sekarang, bayangkan Anda perlu menjalankan selusin aplikasi masing-masing dengan versi sendiri dari perpustakaan tertentu, versi sendiri dari runtime Python / Ruby / NodeJS dan Anda tidak ingin mengalami neraka ketergantungan dan mengacaukan atau mencemari perpustakaan sistem Anda, modul Python / Node / Perl / Ruby sistem Anda, dll.

ccpizza
sumber