Ubuntu neden Snappy paketlerine taşınıyor?


127

Neden Ubuntu .deb paketlerini atıyor ve .sapappy paketlerine taşıyor? (En azından şimdilik normal dağılımlar için .deb paketini tutuyorlar). .deb zaten orada en popüler ambalajı.

Bu Snappy paket formatının ne olduğu hakkında bir fikir verir. Ancak mevcut deb paketlerine ne olacak? Snappy'ye geçmenin açık bir avantajı var mı? Acıya değer mi?


Bağlantı borken olduğunu
Y30

Yanıtlar:


145

Snappy , Linux ile ilgili temel problemlerden birini masaüstü işletim sistemi olarak çözme girişimidir ve bu problem paket kullanılabilirliği ve paket dağıtımıdır. Bununla birlikte, Snappy'in tamamen tüpleri değiştirmesi amaçlanmamıştır. Snaps ve Debs yan yana çalışır.

Bir Linux meraklısıyım ve bir Linux uygulamasının proje yöneticisiyim. Linux sistemlerini bir bütün olarak sevmeme rağmen, mevcut paket dağıtım durumunu küçümsüyorum. Snappy bu temel sorunu çözmeyi amaçlamaktadır.

Linux'ta, paketler çoğu zaman özeldir (tüm farklı Debian tabanlı sistemlerde çalışan ancak sizi bir şekilde sınırlayan bir DEB yapmak mümkündür), ancak yalnızca paketlerin dağıtım sürümüne özgü olmadığını söyleyebiliriz.

Ubuntu 16.04 için bir deb paketi oluşturursam, bu paket Ubuntu'nun herhangi bir sürümünde çalışmaz. Ayrıca 14.04, 15.04, 15.10, vb. Yapmak zorundayım. Bunlar SADECE Ubuntu'dur. Ayrıca Debian için bir tane yapmam gerekiyor. O zaman Fedora 21, 22, 23 vb. İçin RPM yapmalısınız ve bu RPM'ler openSUSE'yi bile kapsamaz.

Bu, bir uygulamanın yeni bir sürümünü yayınlamak istersem ve dağıtımcıların bunu bir havuza eklemesini beklemiyorsam (bu genellikle saçma bir süre alır), o zaman Linux dağıtımlarının çoğunu kapsayacak 20'den fazla paket sağlamak zorundayım. ve hala bu her şeyi örtmeyecek.

Ubuntu Snaps, Snaps özelliğini destekleyen her Ubuntu sürümünde çalışan bir Snap oluşturmanın bir yolunu sunar. Artık belirli bir sürüm dağıtmak yok.

Enstantane diğer dağıtımlara entegre edilebilir. Potansiyel olarak artık belirli bir dağıtım.

Enstantaneler, paket geliştiricileri tarafından tutulması amaçlanan bir depoda kontrol edilir, böylece yeni bir sürüm yayınlamak istediğimizde kimseyi beklememiz gerekmez.

Temel olarak, Linux paket dağıtımından nefret ettiğim her şey Snappy tarafından çözülecek. Her ne kadar bu sorunların AppImages ve Flatpaks tarafından da çözülebileceğini not etmek önemlidir .

TL; DR

Linux paket dağıtımı hem geliştiriciler hem de kullanıcılar için çok kötü. Snappy (ayrıca AppImages & Flatpaks), Linux tabanlı sistemlerde bu temel sorunu çözmeyi amaçlamaktadır.


Bu soru gerçekte neden hareketle ilgili ama eğer biri Snap'lerin ne olduğu ve nasıl çalıştıkları hakkında daha fazla şey öğrenmekle ilgileniyorsa. Bu videoyu yapıyı derinlemesine açıklamak için hazırladım .


12
Tanrım, çok sert bir ses çıkarıyorsun, kimse Fedora, Debian veya Ubuntu gibi pek çok sürümü desteklemiyor. 16.04 sona erdiğinde, 15.04 EOL'dir. Fedora 23 dışarı çıktığında, F21'in bir aydan daha az bir ömrü kaldı, insanların serbest bırakmalarını atlamasına yetecek kadar. Önemli değil. Temel RPM özellik dosyasını veya temel Debian paketini yazdığınızda, diğer dağıtımlar ince sürümlerdir ve ardından her yeni sürüm için bunları oluşturmak yalnızca bir Jenkins işidir.
John Franklin

10
Ubuntu paketleri bu pek çok sürüm için üretildi: 14.04, 15.10, 16.04 ve bazıları hala desteklenen 12.04 gibi eski LTS'yi desteklemeye devam ediyor. || Fedora'da LTS yoktur, bu nedenle, destekleyecek daha az sürüm vardır ancak yine de desteklenmesi mümkün olan en az 2 sürüm vardır. || Size daha iyi ne geliyor? A. bir uygulama için aynı uygulamanın her versiyonunun çoklu paketlerini yapın ve bunu birden fazla dağıtım için yapın. VEYA B. uygulamanızın her bir sürümü için bir ek yapın ve bu, hangi dağıtıma ve söz konusu dağıtımın herhangi bir sürümüne göre çalışır. Evet, bu senaryolarda enstantane için oy kullanırım.
Michael Tunnell

4
@ user447607 Snaps ve Snappy'nin ne olduğunu yanlış anlıyorsunuz. Bir sürü fazlalık olmayacak, çalışma süreleri olacak ve çıtçıtların yer kazanmak için diğer çıtçıtlara bağlı olması için seçenekler olacak. Aslında bu zaten mümkün. Snappy, enstantane işleyen farklı bir paket yönetim sistemidir ve apt de DEB'lerle hala ilgilenmektedir. Çıtçıt DEB'lerin yerini almaz, bunun yerine DEB'leri artırırlar, böylece her iki yöntemi de kapsayan karma bir yaklaşım elde edersiniz. Aslında, Snaps otomatik olarak mevcut DEB'ler aracılığıyla üretilebilir.
Michael Tunnell

2
@konung Docker tamamen Snaps gibi sistem çekirdeği bileşenleri ile entegrasyon olduğu kapsayıcılıktır. Örneğin, Docker kullanmak için her şeyin kabın içine dahil edilmesini gerektirir. Bununla birlikte, Çıtçıtlar yalnızca dahil edilmesi gerekenleri gerektirir ve daha sonra başka şeyleri kullanmak için çırpının dışına bakabilir. Snaps ayrıca daha iyi bir altyapıya sahiptir çünkü Docker'ın gerçek bir güncelleme mekanizması yoktur, ancak Snaps Debian için APT'ye benzer bir paket yönetim sistemi kullanır. Orijinal yayında bağladığım videoyu kontrol etmenizi öneririm. Yakında güncellenmiş bir versiyon yapmayı planlıyorum.
Michael Tunnell,

6
@konung Snaps konteyner değildir. Örneğin birçok insan bunları Docker'la karşılaştırır, ancak Docker Snaps'un olmadığı gerçek kaplardır. Çıtçıtlar kabı andırır, ancak dolu kaplar değildir çünkü hapsi dışındaki istisnalara izin verirler. Örneğin, ayarları / configs / veri şeyler / home klasörünün içinde Snap dışında saklanır. Bu şekilde, aynı veri / konfigürasyonları paylaşmak istediğiniz kadar bir çırpıda versiyonuna sahip olabilirsiniz.
Michael Tunnell,

20

Bu sadece basit. Hızlı paket, .deb paketlerinin diğer paketlere bağımlı olduğu tüm gerekli dosyaları içerir .

Olumsuz tarafı, tüm dosyaları içeren çünkü çabuk olduğu daha büyük. Ancak en büyük avantaj, diğer paketlerle başınız derde girmez ve bu paketi kaldırırsanız, başka hiçbir paket eksik bağımlılıklardan etkilenmez.


7
Aynı zamanda güvenlik kabusu demektir. Lütfen yanlış olduğumu kanıtla ... çünkü haklı olmak çok korkunç olurdu.
Jürgen A. Erhard

27
Bu yüzden, aslında geçmişte Linux kullanıcıları tarafından ironik bir şekilde alay edilen Windows yolunu izliyorlar.
Pithikos

1
Hey @ JürgenA.Erhard, anladığım gibi, her paketin kendi kütüphaneleri olacak, örneğin kriptografi, yani bir tanesini (yani kendi kendini derleyen) doğrulamak yerine, temel olarak her paketle ayrı ayrı ilgilenmelisiniz, "güvenlik kabusu"?
Ilya

Düzeltme: “gerekli tüm dosyaları içerir”, çalışma süreleri gibi davranan temel bölümler olduğu için doğru değildir. Ancak, bu orijinal cevaptan sonra eklendi, o zamanlar doğru oldu fakat o zamandan beri çok şey değişti.
Michael Tunnell

7

Snappy Personal, daha hızlı, daha güvenilir, işlemsel ve daha güçlü bir güvenlik için tasarlanan paket yönetimi / güncellemesi konusundaki yeni yaklaşımları.

Masaüstü döndürmelerinden en az biri için Snappy - plan, Ubuntu'nun Desktop-Next döndürülmesinin .deb'den Snappy Personal'a geçmesidir.

.deb hala orada olacak ve normal bir kullanıcı .deb'yi çabukça değiştirmeye başladığında hala düzenli olarak kullanabilir.

Snappy, paket yönetimi kavramını şimdi Snappy'yi çekirdek Os olarak kullanan ioT arasında birleştirmek için kullanılacaktır. ayrıca, hızlı güncelleme, güncelleme ve yükseltme sırasında tüm görüntü kavramını kullandığından güncelleme ve sorundan kurtulma konusunda daha iyi bir yol sağlar;

Daha fazla bilgi için bu makaleleri okuyun:

http://www.webupd8.org/2015/04/ubuntu-desktop-to-eventually-switch-to.html

http://www.itworld.com/article/2914850/linux/is-ubuntu-moving-away-from-deb-packages-here-is-the-complete-story.html

Ayrıca pek çok soruyu yanıtlayan ubuntu yayında QA videosu var. Https://youtu.be/lHO8j8uo5Z4


9
neden geriye dönük uyumluluk ile bir .deb version 2 paketi oluşturamıyorlar? Neden Linux topluluğunda bir bölünme yapıyoruz?. Şimdilik plan, tam bir flop olmadığı sürece yavaş yavaş Snappy'e geçmek.
Vishnudev K

Paket yönetimi kavramını şimdi temelini Os olarak kullanan ioT arasında birleştirmek istiyorlar. dahası bu güncelleme sadece bir parça olacağı anlamına gelir ve bu nedenle hiçbir şekilde başarısız Tüm görüntünün kavramını kullandığından yükseltme / güncelleme daha iyi bir yol sağlar ve güncelleme sırasında sorun kurtulmak hızlı ol
Maythux

3
Linux'ta paketleme için çok çeşitli yöntemlerle yeterince kötüdür (üçüncü parti programlarla zaten sorun yaratmaktadır), diğeri daha büyük bir karışıklık yaratacaktır: - /
Wilf

@Maythux. Bir ioT nedir?
TRiG,

4
@Maythux xkcd.com/927
CVn

4

Başkalarının kullanabileceği bir şeyi, başka bir deyişle bir ürünü oluşturmayı düşünüyorsanız, çabucak Ubuntu Core'a geçmeyi düşünün .

Yazılım, özellikleri göz önüne alındığında, enstantane olarak sunulur , kurulum ve yükseltmelerin, her bir sistemde, orijinal yaratıcının istediği gibi çalışacağına güvenebiliriz. Diğer özellikler, sistemle konuşmak ve kurulu çengelleri yapılandırmak için yalıtılmış yürütme ve temiz arabirimler gibi güvenliktir.

Böyle bir şeyi başarmak için, çıtçıtlar debian paketinden çok farklı olduğundan çok farklı:

  • anlık görüntüleri yalıtılmış bir sistemde belirlenmiş bir konumda yaşarken, debian paketleri her yere dosya yayabilir.
  • çıtçıtlar için koruyucu bir komut dosyası yok.

Geri orijinal soruya gidiyor kullanmak veya kullanmamak Seni düzenli Ubuntu masaüstü ile sopa önermek Ubuntu Çekirdek ile masaüstünüzü değiştirmek planlıyorsanız,. Ubuntu Core, şahsen aramayı severim, rahatsız edici bir şey değil , çünkü tek başına bir şey değildir, ancak bir şey önermek için çok iyi bir yapı taşı sağlar ve bu yüzden IoT'de bu günlerde popülerdir.


3
Başka bir deyişle, aynen pencerelerin yaptığı gibi?
Vishnudev K

1
Bu geniş bir soru. Windows özellikle ne yapar?
sergiusens 12:15

4
VLC'yi pencerelere kuruyorum, alanı kaplamak için gereken tüm paketleri yüklüyor. Linux'ta olduğu gibi sadece sahip olmadığımız paketleri alıyoruz. Güncellemeler ve hdd kullanımı açısından oldukça uygun.
Vishnudev K 12:15

2
Benzer, evet. apkTelefonunuza bir tane yüklemekten farklı değildir . Uygulamalar, uygun gördükleri gibi bağımlılıklarıyla gelişebilir. Buna ek olarak, frameworkçıtçıt kullanarak , bunun için sıkı bir güvenlik incelemesi yapılması gerektiği gibi yollar var . Windows ile olan fark, burada potansiyel olarak istedikleri yere inebilecek yükleyiciler bulunmamasıdır .
sergiusens 12:15
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.