Jeśli pakiet jest dostępny jako deb i snap, która metoda jest lepsza?

38

Oczywiście w przypadku większości pakietów odpowiedź jest trywialna: jeśli jest to narzędzie lub biblioteka, deb jest jedyną opcją, podczas gdy w przypadku niektórych zastrzeżonych programów przystawki są jedyną opcją.

Wygląda na to, że Ubuntu mocno naciska i promuje pakiety Snap, powołując się na zalety w zakresie pakowania, izolacji, bezpieczeństwa, aktualizacji itp., Ale wszystkie aplikacje dostarczane z Ubuntu 18.04 są instalowane jako pakiety deb.

Jednym z przykładów jest Firefox, który jest pakietem, który powinien być aktualizowany ze względów bezpieczeństwa, i który w przeszłości miał konflikty z opiekunami pakietów dystrybucyjnych dotyczące bezpieczeństwa i brandingu (Iceweasel). Jednak Canonical zdecydował się wysłać Firefox jako pakiet deb.

W przypadku pakietów, które mają zarówno przystawkę, jak i deb, pojawia się pytanie: Który należy zainstalować? A jeśli odpowiedź jest szybka, czy powinienem aktywnie migrować zainstalowane deb?

Pepijn
źródło

Odpowiedzi:

34

Ogólnie rzecz biorąc, powiedziałbym, że powinieneś pozostać przy DEB w przypadku większości aplikacji opartych na bibliotekach systemowych. Ma to tę zaletę, że jeśli zaktualizujesz tę bibliotekę, np. Ze względów bezpieczeństwa, wszystkie aplikacje korzystające z tej biblioteki skorzystają, nawet jeśli opiekun oryginalnej aplikacji nie jest świadomy tej luki.

SNAPS są dobre w przypadkach, gdy jesteś zainteresowany aktualizacją określonych aplikacji bez aktualizacji całego systemu. Np. Korzystasz z wersji LTS, ale chcesz mieć najnowszą wersję określonej aplikacji. W porównaniu do PPA, w których aplikacje muszą być skompilowane z „starymi” bibliotekami systemowymi, aplikacje w mgnieniu oka przynoszą własne biblioteki. Jest to łatwiejsze dla opiekunów i może powstrzymać cię od wylądowania w piekle zależności, jeśli w przeciwnym razie użyjesz dużo umów PPA.

Bruni
źródło
zainteresowany aktualizacją konkretnych aplikacji bez aktualizacji całego systemu. ” Ale czy nie po to są PPA (szczególnie te na launchpad.net)?
RonJohn,
4
@RonJohn tak, ale jeśli używasz ppa, aplikacje muszą zostać skompilowane z „starymi” bibliotekami systemowymi. W mgnieniu oka aplikacje wprowadzają własne biblioteki. Jest to łatwiejsze dla opiekunów i może powstrzymać cię od lądowania w piekle zależności, jeśli w przeciwnym razie użyjesz dużo ppa.
Bruni
Byłoby fajnie, jeśli edytujesz wyjaśnienie umów PPA w swojej odpowiedzi.
dcorking
1
@orkorking Zredagowałem odpowiedź
Bruni
17

Jedną z głównych wad snapów jest o wiele więcej potrzebnego miejsca, ponieważ każde oprogramowanie ma swoje własne zależności, podczas gdy pakiety deb używają współdzielonych zależności w całym systemie, co ma znacznie mniejszy wpływ.

Narzędzie snap pojawia się, gdy chcesz utrzymać swój system w izolacji (np. Z zastrzeżonych plików binarnych) lub sam pakiet opiera się na innych zależnościach od tego, które zainstalowałeś (na przykład nowsze).

Daniele Gamba
źródło
To prawda o dodatkowej przestrzeni, ale w dzisiejszym świecie nowoczesny komputer ma więcej niż wystarczająco miejsca, aby poświęcić swój system operacyjny, biblioteki i aplikacje. Tylko jeśli masz do czynienia ze starymi komputerami lub z „małymi” (myślę, że Raspberry Pi i urządzenia IOT) przestrzeń będzie czynnikiem ograniczającym.
Paddy Landau
4
@PaddyLandau Nie mogę się nie zgodzić. Myślę, że to okropna opinia, która promuje marnotrawstwo
Steve Lorimer
@ SteveLorimer Dla mnie nie jest „marnotrawstwem” korzystanie z masowo nieużywanego miejsca na najczęściej pustym dysku twardym. Dla ciebie to jest. Będziemy musieli zacząć się różnić. Czytelnicy mogą sami zdecydować, jakie podejście wybrać.
Paddy Landau
5
@PaddyLandau Nie mogę się bardziej nie zgadzać. Regularnie używam małego dysku SSD do przechowywania systemu i dużego dysku twardego do danych. Nie widzę sensu marnowania pieniędzy na duplikaty plików
Daniele Gamba
7
@PaddyLandau w dzisiejszym świecie mamy urządzenia mobilne z małą pamięcią, mamy urządzenia z internetem z jeszcze mniejszą pamięcią, mamy dyski SSD z systemem operacyjnym na szybki czas rozruchu itp. Łączenie wszystkiego w kategorię i stwierdzenie, że jest w porządku marnotrawstwo to w mojej opinii zła opinia. W każdym razie, jak mówisz, będziemy musieli zacząć się różnić
Steve Lorimer,
4

To bardzo pozytywna odpowiedź.

Ja osobiście zawsze używam opakowania deb lub innego opakowania. Nie używam snapów, ponieważ uważam, że są jak ogrodzone murem ogrody, w przeciwieństwie do otwartego ekosystemu, który reprezentuje Linux.

Kilka razy błędnie zainstalowałem przystawki z powodu niejasnego / niejednoznacznego opisu / metadanych w centrum oprogramowania. Odkryłem, że pogorszyły one moje wrażenia z korzystania z laptopa. Zostały one niezwłocznie usunięte.

Jeśli aplikacja ma tylko pakiet przystawek, wolałbym nie używać samej aplikacji.

Obawiam się, że pewnego dnia lucyści mogą powiedzieć, że nawet nie potrzebujesz systemu operacyjnego.

Sri
źródło
Tak! Pomyśl o tym, to jak promowanie wyścigu buggy (gra słów zamierzona). Wszystko wydaje się wynikać z chęci przyspieszenia wdrażania. Po co się spieszymy, drodzy deweloperzy? Wszechświat nie zamierza się zawalić!
Sri
Mój powyższy komentarz był odpowiedzią na czyjś komentarz, który wydaje się być usunięty. Zrobiłem nawet +1!
Sri