Dlaczego Ubuntu przenosi się do pakietów Snappy?

127

Dlaczego Ubuntu zrzuca pakiety .deb i przechodzi na pakiety .snappy? (Przynajmniej na razie przechowują pakiet .deb dla normalnych dystrybucji). .deb jest już najpopularniejszym pakietem na rynku.

To daje wyobrażenie o tym, co Snappy Format pakiet. Ale co stanie się z istniejącymi pakietami deb? Czy przejście na Snappy ma wyraźną przewagę? Czy to jest warte bólu?

Vishnudev K.
źródło
Link jest Borken
Y30

Odpowiedzi:

145

Snappy jest próbą rozwiązania jednego z podstawowych problemów z Linuksem jako systemem operacyjnym dla komputerów stacjonarnych, a problemem jest dostępność i dystrybucja pakietów. Jednak Snappy nie jest całkowicie przeznaczony do zastąpienia debów. Snap i Debs działają obok siebie.

Jestem entuzjastą Linuksa i kierownikiem projektu aplikacji Linux. Chociaż uwielbiam systemy Linux jako całość, gardzę obecnym stanem dystrybucji pakietów. Snappy ma na celu rozwiązanie tego podstawowego problemu.

W Linuksie pakiety są w większości specyficzne dla dystrybucji (możliwe jest utworzenie jednego DEB, który będzie działał we wszystkich różnych systemach opartych na Debianie, ale w pewien sposób cię ogranicza), ale nie tylko, że pakiety są specyficzne dla wersji dystrybucji.

Jeśli utworzę pakiet deb dla Ubuntu 16.04, ten pakiet nie będzie działał na żadnej wersji Ubuntu. Muszę też zrobić 14.04, 15.04, 15.10 i tak dalej. Są to tylko debaty Ubuntu. Muszę też zrobić taki dla Debiana. Następnie musisz utworzyć RPM dla Fedory 21, 22, 23 itd., A te RPM nawet nie obejmują openSUSE.

Oznacza to, że jeśli chcę wydać nową wersję aplikacji i nie czekać na opiekunów dystrybucji, aby umieścili ją w repozytorium (co zwykle zajmuje absurdalnie dużo czasu), to muszę dostarczyć ponad 20 pakietów, aby pokryć większość dystrybucji Linuksa a jednak to nie obejmie wszystkiego.

Przystawki Ubuntu zapewniają sposób utworzenia jednego Przystawki działającego na każdej wersji Ubuntu obsługującej Przystawki. Nie dotyczy już wersji dystrybucyjnej.

Zatrzaski można zintegrować z innymi dystrybucjami. Potencjalnie nie jest już specyficzny dla dystrybucji.

Snapy są kontrolowane w repozytorium, które ma być utrzymywane przez twórców pakietów, więc kiedy chcemy wydać nową wersję, nie musimy na nikogo czekać.

Zasadniczo wszystko, czego nienawidzę w dystrybucji pakietów Linuksa, zostanie rozwiązane przez Snappy'ego. Chociaż należy zauważyć, że problemy te zostałyby rozwiązane również przez AppImages i Flatpaks .

TL; DR

Dystrybucja pakietów Linuksa jest okropna zarówno dla programistów, jak i użytkowników. Snappy (także AppImages i Flatpaks) mają na celu rozwiązanie tego podstawowego problemu z systemami opartymi na Linuksie.


To pytanie naprawdę dotyczy tego, dlaczego przeprowadzka, ale czy ktoś jest zainteresowany dowiedzieć się więcej o tym, czym są Snapy i jak działają. Stworzyłem ten film, aby dokładnie wyjaśnić strukturę.

Michael Tunnell
źródło
12
Boże, sprawiasz, że brzmi to tak ciężko, tyle że nikt nigdy nie obsługuje tak wielu wersji Fedory, Debiana lub Ubuntu. Do czasu wygaśnięcia 16.04, 15.04 to EOL. Zanim Fedora 23 zostanie wydana, F21 ma już mniej niż miesiąc życia, wystarczająco długo, aby ludzie mogli pominąć wydanie. Nie żeby to miało znaczenie. Kiedy masz już napisany podstawowy plik specyfikacji RPM lub podstawowy pakiet Debiana, inne dystrybucje są poprawionymi wersjami, a potem jest tylko zadanie Jenkinsa, aby zbudować je dla każdej nowej wersji.
John Franklin
10
Pakiety Ubuntu są tworzone dla wielu wersji: 14.04, 15.10, 16.04, a niektóre nadal obsługują stare LTS, takie jak 12.04, które jest nadal obsługiwane. || Fedora nie ma LTS, więc jest mniej wersji do obsługi, ale wciąż co najmniej 2 wersje z możliwymi 3 wersjami do obsługi. || Co dla ciebie brzmi lepiej? A. utwórz wiele pakietów dla każdej wersji tej samej aplikacji dla jednej dystrybucji i zrób to dla wielu dystrybucji. LUB B. wykonaj jedną przystawkę dla każdej wersji aplikacji i działa to na każdą dystrybucję i dowolną wersję tej dystrybucji. Tak, głosuję za snapami w tych scenariuszach.
Michael Tunnell
4
@ user447607 Nie rozumiesz, co to jest Snaps and Snappy. Nie będzie zbędnej redundancji, będą środowiska uruchomieniowe i będą opcje uzależnienia przyciągania od innych przyciągnięć w celu zaoszczędzenia miejsca. W rzeczywistości jest to już możliwe. Snappy to inny system zarządzania pakietami, który obsługuje snapy, a apt jest nadal zaangażowany w DEB. Snapy nie zastępują DEB, zamiast tego rozszerzają DEB, dzięki czemu otrzymujesz hybrydowe podejście obejmujące obie metody. W rzeczywistości Snapy mogą być generowane automatycznie przez istniejące DEB.
Michael Tunnell
2
@konung Docker to czysta konteneryzacja, w której mają to Snapy, a także integracja z podstawowymi elementami systemu. Na przykład Docker wymaga, aby wszystko było zawarte w kontenerze, aby z niego korzystać. Jednak Snapy wymagają tylko uwzględnienia potrzeb, a następnie mogą wyglądać poza snapem, aby wykorzystać inne rzeczy. Przystawki mają także DUŻO lepszą infrastrukturę, ponieważ Docker nie ma prawdziwego mechanizmu aktualizacji, ale Snapy wykorzystują system zarządzania pakietami podobny do APT dla Debiana. Sugeruję sprawdzenie filmu, który podlinkowałem w oryginalnym poście. Planuję wkrótce zaktualizować wersję.
Michael Tunnell,
6
@konung Snap nie jest pojemnikiem. Wiele osób porównuje je na przykład do Dockera, ale Docker to prawdziwe kontenery, w których nie ma Snapów. Zatrzaski są podobne do pojemników, ale nie są pełnymi pojemnikami, ponieważ dopuszczają wyjątki poza ograniczeniem. Na przykład ustawienia / configs / data stuff są przechowywane poza Snap w folderze / home. W ten sposób możesz mieć tyle wersji przystawki, ile chcesz, wszystkie współużytkują te same dane / konfiguracje.
Michael Tunnell,
20

To jest po prostu proste. Pakiet Snappy zawiera wszystkie wymagane pliki , w których pakiety .deb są zależne od innych pakietów.

Negatywną stroną jest to, że snappy jest większy, ponieważ zawiera wszystkie pliki. Ale dużą zaletą jest to, że nie masz kłopotów z innymi pakietami, a jeśli usuniesz ten pakiet, brak innych zależności nie wpłynie na żaden inny pakiet.

Alex WLBI
źródło
7
Oznacza to także koszmar bezpieczeństwa. Och, proszę, udowodnij mi, że się mylę ... ponieważ posiadanie racji byłoby tak okropne.
Jürgen A. Erhard
27
Zasadniczo wybierają ścieżkę systemu Windows, która, jak na ironię, była wyśmiewana przez Linux-erów w przeszłości.
Pithikos,
1
Hej @ JürgenA.Erhard, jak rozumiem, każda paczka będzie miała swoje własne biblioteki lib, na przykład kryptografię, więc zamiast weryfikowania jednej (tj. Samokompilacji), musisz zasadniczo poradzić sobie z każdą paczką indywidualnie, czy właśnie to rozumiesz przez „koszmar bezpieczeństwa”?
Ilya
Korekta: „zawiera wszystkie wymagane pliki” nie jest dokładne, ponieważ istnieją przyciągania rdzenia, które działają jak środowiska wykonawcze. Zostało to jednak dodane po oryginalnej odpowiedzi, więc było poprawne w tym czasie, ale od tego czasu wiele się zmieniło.
Michael Tunnell,
7

Snappy Personal, ich nowe podejście do zarządzania pakietami / aktualizacji, które ma być szybsze, bardziej niezawodne, transakcyjne i bardziej bezpieczne.

Snappy na co najmniej jedno z spinów na pulpicie - planuje się zmienić spin Ubuntu Desktop-Next z .deb na Snappy Personal.

.deb nadal tam będzie, a zwykły użytkownik będzie mógł go regularnie używać do czasu konwersji .deb w snappy.

Snappy zostanie wykorzystany do ujednolicenia koncepcji zarządzania pakietami wśród technologii ioT, która wykorzystuje snappy jako główny system operacyjny. ponadto snappy zapewnia lepszy sposób aktualizacji i pozbywa się problemów podczas aktualizacji / aktualizacji, ponieważ wykorzystuje koncepcję całego obrazu, co oznacza, że ​​aktualizacja będzie tylko jednym kawałkiem, a zatem nie będzie żadnego niepowodzenia

Przeczytaj te artykuły, aby uzyskać więcej informacji:

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

Jest też wideo QA z Ubuntu na antenie, które odpowiada na bardzo wiele pytań https://youtu.be/lHO8j8uo5Z4

Maythux
źródło
9
dlaczego nie mogą stworzyć pakietu .deb w wersji 2 z kompatybilnością wsteczną? Po co rozdzielać społeczność z Linuksem? Na razie planujemy powolną migrację do Snappy'ego, chyba że jest to całkowity flop.
Vishnudev K
chcą ujednolicić koncepcję zarządzania pakietami wśród technologii ioT, która wykorzystuje teraz snappy jako główny system operacyjny. ponadto snappy zapewnia lepszy sposób aktualizacji i pozbywa się problemu podczas aktualizacji / aktualizacji, ponieważ wykorzystuje koncepcję całego obrazu, co oznacza, że ​​aktualizacja będzie tylko jednym kawałkiem, a zatem nie będzie żadnego niepowodzenia
Maythux
3
Jest wystarczająco zły z dużą różnorodnością metod pakowania w Linuksie (co już powoduje problemy z programami stron trzecich), inny tylko zrobi większy bałagan: - /
Wilf
@Maythux. Co to jest ioT?
TRiG
4
@Maythux xkcd.com/927
CVn
4

Zastanów się nad przejściem na zgrabny Ubuntu Core już dziś, jeśli zastanawiasz się nad stworzeniem czegoś dla innych, a więc innymi słowy, produktem .

Oprogramowanie jest dostarczane w mgnieniu oka , co biorąc pod uwagę jego cechy, możemy mieć pewność, że instalacja i aktualizacje będą działać na każdym systemie, tak jak zamierzał oryginalny twórca. Inne cechy to bezpieczeństwo, takie jak izolowane wykonywanie i czyste interfejsy do komunikowania się z systemem i konfigurowania zainstalowanych przystawek.

Aby to osiągnąć, snapy różnią się znacznie od są znacznie różne niż pakiet debian:

  • snapy na żywo w odizolowanej lokalizacji systemowej, podczas gdy pakiety debian mogą rozprzestrzeniać pliki w dowolnym miejscu.
  • nie ma skryptów opiekuńczych dla snapów.

Wracając do pierwotnego pytania o używanie lub nieużywanie , jeśli planujesz zamienić swój pulpit na Ubuntu Core, sugeruję trzymać się zwykłego pulpitu Ubuntu. Ubuntu Core, osobiście lubię nazywać, dystrybucją nic , ponieważ sam jest niczym, ale stanowi bardzo dobry budulec do zaoferowania czegoś i dlatego jest obecnie popularny w IoT.

sergiusens
źródło
3
Innymi słowy, to tak jak robi to Windows?
Vishnudev K,
1
To szerokie pytanie. Co robi w szczególności system Windows?
sergiusens,
4
Instaluję VLC w systemie Windows, instaluje wszystkie pakiety potrzebne do zatrzymania przestrzeni. gdzie jak w Linuksie otrzymujemy tylko pakiety, których nie mamy. Jest to dość wygodne pod względem aktualizacji i użycia dysku twardego.
Vishnudev K,
2
Podobnie, tak. Nie różni się niczym od instalacji apkw telefonie. Aplikacje mogą ewoluować ze swoimi zależnościami, jeśli uznają to za stosowne. Istnieją jednak sposoby na podzielenie tego, na przykład przy użyciu frameworkprzystawek, wymaga to jednak dokładnego przeglądu zabezpieczeń. Różnica w stosunku do systemu Windows polega na tym, że nie ma tutaj instalatorów potencjalnie zdolnych do lądowania w dowolnym miejscu.
sergiusens,