Snap paketleri neden var - gerçek bir ihtiyaç var mı?


11

Varsayımlar

Dürüst olmak gerekirse, ek paketler hakkında çok şey bilmiyorum - ama bu bu soru için önemsiz - aşağıya bakın. Sistemin mevcut sistemden önemli ölçüde farklı olduğunu düşünüyorum.

Değişiklik mantıklı mı?

Yeterince güçlü gerçek bir ihtiyaç var mı? Yani - yeni bir kullanım durumu var mı, yeni bir format geliştirecek kadar önemli mi - ve ilgili altyapı?

Mevcut yöntemi yeni kullanım durumlarını da kapsayacak şekilde değiştirmek mümkün değil miydi?

Yoksa konuyu özlüyor muyum?

Gördüğüm şeyin çoğunlukla pazarlama olması mümkündür - minimum teknik değişim için yeni isimler ve sunumlar, herhangi bir vücudun onu "yeni ve daha iyi" olarak kabul etme şansı ve aslında kullanılabilir. Ayrıca, yeni paketler mevcut biçime o kadar yakından bağlı olabilir ki, çoğunlukla kullanıcıya sunumda bir değişiklik olabilir. Tabii ki bu iyi bir çözüm olabilir. Bu durumda, bu sorunun pek ilgisi yoktur.

O zaman, bunun hala yan yönlere cevap verecek kadar yararlı olacağını umuyorum. Sorunun faydalı olup olmadığını veya yeni kullanıcılar için kafa karıştırıcı olmadığını bize bildirin, sildiğim için mutluyum.

Peki, neden varlar?


Arka fon

İlk tepkim "Bu hiç mantıklı değil!"

Bu, fizik sitesinde, birinin mutsuz, neden kimsenin parlak yeni fikirlerini neden cevaplarda tartıştığını sorduğu bir duruma benzer. Crackpot fikirlerine çok benziyordu; Gerçek fiziksel bilgiden o kadar uzakta ki, başlamak için bile bir nokta bulmak zor. Fikirlerine tek bir kelimeyle dokunmayan bir cevap yazdım, ancak birinin neden crackpot fikirlerini varsayarak tartışmayacağını açıkladım - bunun ilk örneği değil. Cevap aslında konuyu vuruyordu.

Varsayımlarım doğruysa, bu dava benzerdir.

Ama sonra, belki de değil - bir bakalım.


"Esas olarak fikir temelli" diyen yakın bir oylama var - bu, cevapların fikir temelli olması gerektiği anlamına mı geliyor? Bu temel olarak kendi içinde bir cevap olacaktır, çünkü değişime ihtiyaç olduğu konusunda yerleşik bir fikir birliği yoktur. Yani yanlısı ve karşıt argümanlar olacaktı; Bu, sorumun aslında konuya çok fazla ve beklediğimden daha yararlı olduğu anlamına gelir!
Volker Siegel

2
Bu soruyu yeniden açmak için oy kullandım. Paket yöneticileri zaten mevcut olduğunda ve Ubuntu (ve diğer işletim sistemleri) bunlara sahip olduğunda neden çıtçıtların tanıtıldığını soruyor. Yani haklısınız: eğer bu aslında öncelikle görüş temelli bir soru olsaydı, bu aslında hiçbir şekilde gerçeklere ve deneyime dayanarak cevap verilemeyeceği anlamına gelir. Ancak, muru'nun mükemmel cevabından gördüğünüz gibi , durum böyle değil. Çıtçıtların ne zaman (veya hatta) kullanılması gerektiğinde, hala insanların öncelikle görüş temelli tartışmalara sahip olabileceği bir şeydir, ancak bu böyle değildi.
Eliah Kagan

Yanıtlar:


17

Evet, gerçek bir ihtiyaç var.

Bir yazılım ilk kez diğerine bağımlı olduğundan beri böyle bir şeye gerçek bir ihtiyaç vardı.

Bunu açıklığa kavuşturalım:

Bağımlılıkları yönetmek zordur .

Buna bağımlılık cehennemi denmesinin bir nedeni var . RPM ve Debian gibi paketleme sistemleri bağımlılık cehenneminden kaçınmak amacıyla oluşturuldu. Ancak, birileri maliyeti ödemek zorundadır:

  1. Programların bağımlılıklarını bir araya getirdiği Windows'ta, kullanıcı yükseltmeleri (ve bunların eksikliğinden kaynaklanan güvenlik sorunlarını) ele almak zorundadır. Geliştiricim, uygulamam için bir şeyin X sürümünü istiyorsa, basit: Uygulamamla birlikte veriyorum. Şimdi güncellemeleri nasıl ele alacağım?
  2. Bir programın depodaki yazılıma bağlı olabileceği çoğu Linux dağıtımında (Debian veya Red Hat'ı takip eden), depodaki bir programın depodaki yazılıma bağlı olması gerekir . Uygulamam için bir şeyin X sürümünü istiyor ve dağıtım X'i sağlıyorsa, basit: Buna bağlıyım. Ve eğer dağıtım yapmazsa? Sonra: ???
    • Dağıtımlara birden fazla sürüm eklemek bakımcının yükünü artırır
    • Bağımlılıkların seçim sürümünü kullanma yeteneğini kaybetmek geliştiricideki yükü artırır
    • Uygulama seçim sürümünü kullanma yeteneğini kaybetmek kullanıcıyı rahatsız ediyor

Her iki yöntemde de kayda değer bir özgürlük kaybı vardır.

İşte bu noktada çıtçıtlar devreye giriyor: geliştiricinin X sürümünü içermesine ve paketleme sisteminin güncellemeleri yönetmesine izin verdiler. Maliyeti kim öder? Kullanıcı:

  • daha fazla alan gerektirerek.
  • bir bağımlılık yandığı zaman çıtçıtlarını yeniden inşa etmemeleri nedeniyle onları tehlikeye atmak.

Karşılığında ne gibi avantajlar elde ederim?

  • Güncellemeler yoluyla güvenliğin yanı sıra (açıkçası, insanların yeterince ilgilenmemesi), kullanıcının enstantane ile bağımlılıklar konusunda endişelenmesine gerek yok. Kelime çoğunlukla anlamını yitirir.
  • Güvenlik güncelleştirmelerinin yanı sıra, yazılım geliştiricisinin kullanıcıların doğru bağımlılıkları yüklemesini sağlama konusunda endişelenmesine gerek yoktur.

3
Evet, bence bağımlılık cehennemi oldukça iyi tanımlıyor.
Volker Siegel

Zıt sesi oluşturmama izin verin :), Neden sadece kullanmıyorlar /opt?
user.dz

@Sneetsher bunu şöyle düşünür: / opt içindeki bir uygulamanın / opt içindeki başka bir uygulamanın üzerine yazmasını engelleyen nedir? Daha da kötüsü, bir uygulamanın başka bir uygulamanın özel anahtarlarını okumasını nasıl önlersiniz?
Evan

@Evan, AppArmorzaten bunu kapsamak için çıkıldı. ancak koruma şekli farklı olabilir. Her neyse, konu binmek.
user.dz

muru, bütün bunları yazdığın için teşekkürler. Bu, Google'da, bu arada, nedeniyle ilgili ilk cevaptı. Yine de merak ediyorum. Sistemimin, örneğin Chromium için çıtçıt kullandığını görebiliyorum. Ve şimdi Skype kurmak istiyorum. Genellikle yapardım sudo apt-get install skypeama sonra bir çırpıda kullanılabilir olduğunu görüyorum. Ancak Chromium'u yüklediğimde, çıtçıt kullanmak için özel bir şey yapmadım. Yine de öyle. Şimdi anlıyorum NEDEN enstantane var, ve sevindim. Şimdi endişelenmem gerekip gerekmediğini merak ediyorum sudo snap install skype?
SDsolar

3

Yararlı olabilecek enstantane özelliklerinden biri, sürüm , aday , master vb. Gibi birden fazla kanal sağlayan geliştiriciler için bir kanal seçme yeteneğidir .

Örneğin, Kanal düğmesini tıkladığınızda nextcloudaşağıdaki ekran görüntüsünde iletişim kutusu gösterilir.

Diğer güçlü satış noktaları, örneğin "eklentiler" olarak da adlandırılan uygulama başına izinlerin tanımlanmasına izin veren bir güvenlik politikası bağlamı tarafından denetlenen yalıtım, değişmezlik ve korumalı alan oluşturmadır :

  • okuma / yazma konumları
  • çıkarılabilir depolama birimine erişim
  • ekin beyaz listeye / kara listeye alındığı ülkeler
  • Ağ Girişi
  • kamera, yazıcı, joystick, GPS konumu
  • sistem ayarları
  • ... ek arayüzlerin tam listesi

Yaklaşım bir dereceye kadar MacOS uygulama paketlerini ve Android'in izinler ve içerik sağlayıcıları / alıcıları ile uygulama sanal alanını taklit eder.

ubuntu snap paketleri kanal seçin

Şimdi, her biri belirli kitaplıkların kendi sürümüne, kendi Python / Ruby / NodeJS çalışma zamanı sürümüne sahip bir düzine uygulamayı çalıştırmanız gerektiğini ve bağımlılık cehennemine girip sistem kitaplıklarınızı kirletmek veya kirletmek istemediğinizi, sisteminiz Python / Node / Perl / Ruby modülleri vb.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.