Dlaczego programiści nie tworzą kreatorów instalacji w systemie Linux? [Zamknięte]

34

Jestem pewien, że nie chodzi o lenistwo ani nic podobnego, ale nie rozumiem, dlaczego programiści aplikacji, głównie skierowanych do konsumentów, nie tworzą żadnego kreatora instalacji, w którym przechodzisz od następnego do następnego. Te same aplikacje zwykle mają instalatory dla Windows i Mac OS, więc dlaczego nie Linux?

Czy jest jakiś techniczny powód tego trendu, czy to tylko konwencja?

EDYCJA (23-09-2014): To pytanie nie zostało zadane, aby rozpocząć wojnę z płomieniami Windows kontra Linux. Użyłem wszystkich 3 głównych systemów operacyjnych i oprócz Linuksa pozostałe dwa (Windows i Mac OS) mają instalatory. Nie zainstalowałem jeszcze Oracle, ale cokolwiek potrzebowałem, nigdy nie widziałem instalatora GUI dla Linuksa.

Tak, wiem, że Linux ma menedżerów pakietów, więc programiści nie muszą „tworzyć” instalatorów. Ale nadal istnieje ogromna ilość oprogramowania, które jest albo nieaktualne w domyślnych menedżerach pakietów, albo po prostu niedostępne. Ponadto, ponieważ Linux jest sprzedawany jako alternatywa dla systemu Windows dla zwykłych użytkowników (Ubuntu stara się w tej domenie), sensowniejsze byłoby po prostu dać użytkownikom to, co znają.

Weźmy na przykład konfigurację stosu LAMP. To wszystko oprogramowanie open source w domyślnych repozytoriach, ale czy możesz skonfigurować wszystko za jednym razem bez skryptu? Teraz spójrz na serwer WAMP w systemie Windows. Po prostu uruchamiasz instalator, który instaluje wiele programów w taki sposób, aby działały dobrze ze sobą. Następnie ustawia dobre wartości domyślne i takie tam. Instalatorzy mogą to zrobić, menedżerowie pakietów nie. Tak, możesz znaleźć skrypt dla tego online, ale gdzie? A który?

Instalatorzy nie są przestarzałą technologią z przeszłości. Nadal są przydatne, a 95% użytkowników już z nimi czuje się komfortowo.

Arsalan Ahmad
źródło
12
Jest nie brak. Windows to nie Linux. Linux nie jest systemem Windows.
edmz
27
@ Arsalan00 Brakuje ważnego punktu. Zwykle istnieje GUI dla menedżerów pakietów (Centrum oprogramowania Ubuntu, Synaptic, YaST itp.).
nyuszika7h,
30
Nigdy nie mogłem zrozumieć sensu takich kreatorów, 99,99% użytkowników i tak na ślepo kliknie „Kontynuuj”, więc cicha, nieinteraktywna instalacja ma znacznie większy sens.
SK-logic
7
@DebugErr Uraża cię zwykły żart. Żadne przestępstwo nie było zamierzone.
Michael Hampton
6
Jest to jeden z wielu znaków, że Linux w jakimkolwiek ze swoich obecnych smaków jest przeznaczony tylko dla serwerów i innych specjalistycznych środowisk, a nie do użytku konsumentów. Normalni ludzie są całkowicie przeciążeni nawet przez apt-get lub nieznane „centra oprogramowania”. Powinieneś dać tym osobom plik .exe do kliknięcia, a nie plik .tar.gz lub długie przewodniki po stronie, jak zdobyć podstawowe oprogramowanie do pracy. Przykro mi, że zdenerwowałem kogoś swoją opinią.
Traubenfuchs

Odpowiedzi:

63

Programiści muszą jedynie dostarczyć pakiet do dystrybucji. Każda dystrybucja ma następnie sposób na zainstalowanie tego pakietu. Ten sposób może odbywać się w terminalu ( apt-get) lub za pomocą interfejsu graficznego, np. Ubuntu Software Center.

Piękno polega na tym, że programiści muszą dbać o zbudowanie odpowiedniego pakietu; twórcy dystrybucji zajmują się resztą, a każda instalacja pakietu ma taki sam proces.

Florian Margaine
źródło
15
+1 ... „każda instalacja pakietu ma taki sam proces”.
Uwe Plonus,
7
Cóż, programiści muszą dbać o zbudowanie odpowiedniego pakietu dla każdej dystrybucji, którą chcą obsługiwać, więc będą potrzebować jednego lub więcej różnych RPM, debug, skryptów kompilacji portów itp. Menedżerowie pakietów są świetni, ale starają się wspierać wszystkie systemy jako programista są trudne. Właśnie dlatego większość osób zarządzających pakietami dla dystrybucji nie jest tak naprawdę deweloperami.
Alan Shutko
12
Poważnym minusem tego podejścia jest to, że pakiety są (w niektórych przypadkach poważnie) nieaktualne. W systemie Windows mogę zainstalować najnowszą wersję, gdziekolwiek mogę; w systemie Linux muszę użyć (zainstalować i zrozumieć!) klienta kontroli wersji w celu uzyskania źródła oraz różnych kompilatorów lub Make / CMake / itp. zbudować to.
marczellm,
4
Wiele projektów ma dostarczyć najnowszą wersję stabilną bez konieczności kontroli źródła (chyba, że chcesz najnowszą rozwojową wersję ...). Nadal będziesz musiał je skompilować, ponieważ nie jest możliwe utworzenie pliku binarnego, który działa po prostu dla każdego systemu operacyjnego podobnego do * nix (w przeciwieństwie do systemu Windows, który jest bardzo stabilną i jednorodną platformą). Na szczęście kompilatory są bardzo łatwe w konfiguracji i instalacji w systemie Linux w porównaniu do systemu Windows.
Rufflewind
3
@ API-Beast całkowicie odpowiada na pytanie. Programiści nie muszą tworzyć kreatorów, tym trudnym zadaniem zajmują się dystrybucje.
Florian Margaine
42

Ponieważ nie muszą. Dystrybucje systemu Linux zwykle mają działające systemy zarządzania pakietami, w przeciwieństwie do systemu Windows, w którym każda aplikacja musi ponownie wdrażać instalację i aktualizację w kółko.

Jörg W Mittag
źródło
6
Jednak większość nietechnicznych ludzi, których znam, wolałaby pobrać instalator i uruchomić kreatora, niż otworzyć terminal i wpisać polecenie. Ten menedżer pakietów jest świetny dla nas maniaków, ale naprawdę przeszkadza zwykłemu użytkownikowi komputera, który zaczął używać komputerów po erze Windows 98.
Arsalan Ahmad
43
@ Arsalan00 Pomyśl o modelu Linux jako AppStore - to naprawdę ten sam model. Możesz zapytać, dlaczego nie ma kreatorów dla Androida lub iOS.
Maciej Piechotka,
5
Android i iOS są znacznie bardziej restrykcyjne pod względem sposobu działania i zezwalania na działanie aplikacji. Linux jest biegunowym przeciwieństwem tego. Mobilne systemy operacyjne egzekwują konwencje, Windows wydaje się zalecać konwencje (folder plików programu, rejestr itp.), Podczas gdy Linux jest bardziej konfiguracyjny niż konwencja.
Arsalan Ahmad
9
Uh ... jeśli Windows nie ma „działającego systemu zarządzania pakietami”, to czym jest Instalator Windows ? Nigdy nie słyszałem, aby programiści musieli to zaimplementować, przynajmniej nie w ciągu ostatnich 10-15 lat.
Aaronaught
5
@Aaronaught A straciłem rachubę liczby programów Windows, które nie używają Instalatora Windows lub czegoś opartego na nim, i dlatego są niepotrzebnie trudne do zarządzania przez IT.
Michael Hampton
22

Większość zamkniętego oprogramowania, niewolnego jako piwo w systemie Linux, jest dostarczana z kreatorami instalacji. Podobnie jest w przypadku niektórych programów zamkniętych, darmowych jak w piwie, przynajmniej do momentu, aż większość dużych dystrybucji je odbierze. W przypadku oprogramowania typu open source menedżerowie pakietów są wyraźnie lepszym rozwiązaniem.

A co z początkowymi etapami, zanim oprogramowanie open source zostanie przejęte przez główne dystrybucje? Dlaczego programiści nie tworzą kreatorów instalacji podczas tej fazy?

Przede wszystkim wielu programistów open source zwyczajnie nie dba o dystrybucję. Piszą oprogramowanie, z którego mogą korzystać, i udostępniają je na wypadek, gdyby były użyteczne dla innych, ale widzą opakowania do dystrybucji jako czyjś problem. Jeśli to się spodoba, ktoś podejmie się zadania umieszczenia go w swojej ulubionej dystrybucji.

Deweloperzy open source, którzy zrobienia dbają o dystrybucji są jeszcze lepiej działa w systemie menedżera pakietów, bo tam ich klienci. Użytkownicy Linuksa zazwyczaj nie przeszukują sieci w poszukiwaniu oprogramowania. Najpierw przeszukują menedżera pakietów. W przeciwnym razie przeszukują repozytoria „utrzymywane przez społeczność”, takie jak PPA Ubuntu lub AUR Archa. Jeśli nie ma Cię w tych miejscach, najprawdopodobniej twoje oprogramowanie nie zostanie zauważone, a jeśli zostanie zauważone, rzadziej będzie można mu zaufać.

Rezygnacja z tych istniejących kanałów dystrybucji jest jak decyzja, że ​​reklamy superbowl są zbyt drogie, więc będziesz organizować własne mistrzostwa w piłce nożnej i reklamować się na nich. Może to być mniej kosztowne, ale także mniej skuteczne.

Jeśli chodzi o dostosowywanie konfiguracji, dla oprogramowania takiego jak serwer WWW, który jest tradycyjnie łatwiejszy w obsłudze z plikiem konfiguracyjnym, co ułatwia konfigurację udostępniania, tworzenia kopii zapasowych i przywracania.

W przypadku oprogramowania klienckiego, takiego jak przeglądarka internetowa, znacznie lepiej jest utworzyć kreatora konfiguracji, który pojawia się przy pierwszym uruchomieniu oprogramowania przez nowego użytkownika , niż robić to w czasie instalacji. Głównym powodem jest to, że Linux jest systemem operacyjnym dla wielu użytkowników, więc i tak chcesz go dostosować. Ułatwia to również ponowne uruchomienie kreatora konfiguracji z dowolnego powodu, bez konieczności pozostawania programu instalacyjnego w celu ponownej instalacji całego oprogramowania. Ten typ kreatora jest dość powszechny w oprogramowaniu Linux.

Karl Bielefeldt
źródło
14

Dystrybucje Linuksa (również, jak sądzę, jako Unices o smaku BSD) mają przyjazny interfejs do instalacji programu za pośrednictwem tak zwanych menedżerów pakietów (lub zarządzania portami w przypadku BSD): pacman dla Arch, dpkg dla Debian / Ubuntu , i tak dalej.

Te menedżery pakietów zapewniają sposób instalowania programów za pomocą jednolitych plików konfiguracyjnych. Po spakowaniu potrzebnego programu zgodnie z menedżerem pakietów twojej dystrybucji możesz po prostu uruchomić jego komendę instalacyjną na wybranym pakiecie (z okazjonalnymi dostosowaniami specyficznymi dla użytkownika, choć często wcale), a menedżer zrobi resztę.

Menedżerowie pakietów są zwykle bardziej przyjaźni dla użytkownika niż specyficzne dla programu procesy instalacyjne systemu Windows, tylko dla jednolitego sposobu, w jaki programy są pakowane do instalacji. Zazwyczaj pozwalają także na zapytanie do bazy danych menedżera pakietów dla szukanego programu, zobacz jego zależności.
Obsługują również scentralizowaną aktualizację pakietów.

Nadir Sampaoli
źródło
3
przyjazny dla użytkownika jest pojęciem subiektywnym. IMO, większość użytkowników komputerów bardzo niechętnie korzysta z narzędzi wiersza poleceń i byłoby łatwiej i wygodniej, gdyby mogli po prostu skorzystać z kreatora. Nawet jeśli zajmuje to więcej czasu.
Arsalan Ahmad
1
dpkgi APT są używane zarówno w Debianie, jak i Ubuntu. apt-get, apt-cacheI aptitudesą owijarki na górze dpkg. dpkgjest rzadko używany bezpośrednio, jednym z przypadków, o których mogę myśleć, jest instalacja pakietu z .debpliku.
nyuszika7h,
16
@ Arsalan00 zwykle dostępny jest graficzny interfejs użytkownika dla menedżerów pakietów, takich jak Centrum oprogramowania Ubuntu lub yumex. Menedżer pakietów! = Terminal.
Florian Margaine,
@ Arsalan00, jeśli korzystasz z Ubuntu, po prostu przejdź do opera.com/download/guide/?os=linux , pobierz Opera dla Ubuntu i kliknij dwukrotnie pobrany plik. W ogóle nie ma terminalu.
oliver
13

Często zadawałem sobie i innym to pytanie i chciałbym poruszyć kwestię, którą często podnoszę, zanim dojdę do wyjaśnienia, dlaczego Linux widzi mniej instalatorów:

Dystrybucje systemu Linux zapewniają menedżerów pakietów.

Nie powiedziałbym jednak, że menedżer pakietów dystrybucji Linuksa zastępuje instalator z następujących powodów:

  • Te menedżery pakietów nie są znormalizowane w działaniu

    Menedżer pakietów przypomina trochę dostarczanie pliku binarnego i pozwalanie użytkownikowi końcowemu na wybór instalatora. Mogą wybrać terminal lub narzędzie z bardziej zaawansowanym graficznym interfejsem użytkownika, ale nie zapewnia to takiej samej kontroli nad procesem, jak w przypadku „tradycyjnego” kreatora instalacji.

    Przykładem tego, co rozumiem przez kontrolę, jest dokumentacja. Nie możesz podać instrukcji dla użytkownika końcowego, takich jak „Kliknij Dalej i powinieneś zobaczyć”. Możesz podać instrukcje wiersza polecenia dla konkretnego narzędzia, ale wtedy polegasz nie tylko na tym, że użytkownik ma to narzędzie, ale także tracisz większość zalet kreatora instalacji (w końcu większość kreatorów zapewnia front -end dla prostych instrukcji wiersza poleceń i uruchamiania skryptów).

    To również wiąże się z estetyką. Teraz zależy Ci na dystrybucji użytkowników końcowych, aby zapewnić intuicyjny / odpowiedni interfejs. Chociaż zdajesz sobie sprawę z tego faktu, bardziej swobodny użytkownik narzeka, że ​​dwukrotne kliknięcie pliku (ich zdaniem instalator) otwiera brzydkiego menedżera pakietów, nic nie robi lub, co najgorsze, otwiera terminal okno. (Doświadczenia, jakie miałem z użytkownikami i ich niechęć do „dos prompt” / „black and white box” / „Thing, który usunie wszystkie swoje pliki, jeśli spojrzą na to śmiesznie”, może prawdopodobnie wypełnić książkę)

  • Formaty pakietów nie są standaryzowane na różnych platformach.

    Istnieją narzędzia do konwersji między systemami takimi jak rpmi deb, ale nie jest uzasadnione oczekiwanie od użytkownika końcowego konwersji pakietów, jeśli używasz ich w sytuacji, gdy kreator instalacji zostałby udostępniony na innej platformie (tj. Kliknięciach i gotowe) ). Zapewnienie aktualnych pakietów dla dodatkowego formatu pakietu może być dość proste, jeśli masz podstawowy system kompilacji, ale nadal dodajesz nowy plik binarny, który musi być obsługiwany.

    Oznacza to również dodanie nowego pliku binarnego, z którego ludzie mogą wybierać w zależności od platformy (to brzmi nieznacznie, ale jestem pewien, że ktoś tutaj może potwierdzić konieczność wyjaśnienia x86 vs x64 przed [tak, istnieją sposoby na wywnioskowanie właściwej platformy z przeglądarka, ale stajesz się jeszcze bardziej skomplikowany i trudniejszy do obsługi, procedury])

  • Menedżerowie pakietów są „ładniejsi” dla oprogramowania typu open source.

    Nie oznacza to, że nie można udostępniać oprogramowania o zamkniętym źródle systemowi zarządzania pakietami, można to zdecydowanie zrobić. Ale kiedy spróbujesz udostępnić oprogramowanie bliskiego źródła w dystrybucjach Linuksa, wpadniesz na ścianę, jeśli chodzi o opcje przeniesienia oprogramowania do wspólnych repozytoriów. Rzeczy takie jak umowy PPA lub usługa kompilacji openSUSE są niedostępne, a nawet repozytoria partnerów Canonical nie są domyślnie włączone.

    Oznacza to, że dopóki nie udostępnisz własnego repozytorium, nie możesz wiele głównych funkcji systemów zarządzania pakietami, w tym automatycznych aktualizacji. Moim zdaniem jest to najważniejsza korzyść na większości platform korzystających z tych systemów (np. IOS, Android i Windows Store).

    I nawet jeśli udostępnisz repozytorium (kolejne zadanie o zmiennej trywialności), nadal musisz zachęcić użytkowników do skonfigurowania go (co stanowi kolejną warstwę wsparcia, inny zestaw niestandardowych podejść i inne odwrócenie uwagi od pierwotnego punktu instalator)

Teraz, po tym wszystkim, nadal nie rozwiązałem pierwotnego problemu, dlaczego instalatorzy są mniej popularni w Linuksie pomimo tych czynników (między innymi). Pierwotne pytanie dotyczy tego, czy jest techniczne, czy oparte na konwencji, a częściowo na obu.

Jeśli spojrzysz na powyższe czynniki, o których wspomniałem, sprawią one, że będzie to bardziej skomplikowane dla instalatora „podobnego do kreatora”. Na przykład, czy twój kreator ma do zainstalowania wiele formatów pakietów? Jak radzisz sobie z wyglądem w różnych dystrybucjach? Lista jest długa, a jedną z rzeczy, na które te pakiety sobie pozwolić, jest to, że nie będzie to dla ciebie problemem ( na dobre lub na złe ), jak długo podać odpowiednie pakiety. W zależności od charakteru projektu możesz zacząć korzystać z bardziej „specjalistycznych” zasobów, takich jak przesyłanie aplikacji do Centrum oprogramowania Ubuntu. Wszystko to dotyczyłoby kwestii technicznych.

Ale aspekt, który osobiście uważam za siłę napędową, to konwencja. (Mam nadzieję, że pochowałem go tak głęboko, że ludzie, którzy głosowali za inną odpowiedzią na zapomnienie, przestali czytać ...)

Wydaje mi się, że plakat miał rację, ale mógł powiedzieć to zbyt otwarcie, i nie podał obiektywnych powodów. Jeśli przyjrzysz się różnicom, które wskazałem dla menedżera pakietów i instalatora, nie zdziwiłbym się, gdybyś stwierdził, że większość z nich jest prawie bezproblemowa (być może nawet granicząca z pedantycznymi). Ale (przepraszam, co mam nadzieję jest postrzegane jako uzasadnione użycie argumentu ad hominem), jesteśmy również użytkownikami witryny dla programistów. Widzę dystrybucje Linuksa wypchnięte jako doskonała alternatywa dla Windows dla zwykłych użytkowników (między innymi oczywiście). Niedostarczenie powszechnie definiowanej procedury „kliknij i gotowe”, z której mogą korzystać wszyscy ci użytkownicy, nie jest idealnym imo .

Ale w tym samym czasie, nie uważam, że wiele rzeczy w Linuksie jest szczególnie idealny dla tej grupy albo. Pewnie, że niektóre dystrybucje mają menedżerów pakietów opartych na graficznym interfejsie użytkownika, ale oznacza to, że osoby te muszą zacząć szukać sposobu korzystania z oddzielnego narzędzia, które nie jest ściśle skoncentrowane na instalacji programu (porównaj to i to z tym ).

Oczywiście możesz użyć GUI, aby zrobić większość, którą powinien zrobić przeciętny zwykły użytkownik, szczególnie w przypadku niektórych dystrybucji (jak na ironię, rzeczy, które robią te dystrybucje, nie zawsze są uwzględniane w społeczności open source [spójrz na skargi na Ubuntu i jest to „zamurowane”) ogród ”]) Ale nie sądzę, aby było niezaprzeczalne, że konwencje Linuksa faworyzują kogoś, kto czuje się dobrze z interfejsem CLI, lub przynajmniej nie boi się śmiertelnie, że jego wygląd oznacza, że ​​zrobili coś strasznie złego.

Nie twierdzę, że do tego dążą, ale tak naprawdę widzę, że robią to te konwencje. Wydaje się, że pod tym względem podążają systemy zarządzania pakietami w systemie Linux. W końcu większość ich „wad” jest prawie nieistniejąca, jeśli użytkownik końcowy jest bardziej komfortowy z podstawowymi koncepcjami.

Instalatorzy na większości innych platform tak naprawdę nie mają na to wpływu, dlatego zaprojektowano je, aby zacytować komentarz do pytania: „99,99% użytkowników [może] ślepo kliknąć„ Kontynuuj ”. Problem z zarządzaniem pakietami sprawia, że ​​użytkownicy przycisk „Kontynuuj”, informując ich, czym jest przycisk „Kontynuuj” (widziałem, że użytkownicy są potknięci przez narzędzia, które powiedziały naciśnij Enter z innym tekstem), i informując ich, kiedy kliknęli to „wybrzeże” po kliknięciu etap „Kontynuuj”.

Selali Adobor
źródło
To świetna odpowiedź, która wyjaśnia problem z punktu widzenia przypadkowego użytkownika.
Arsalan Ahmad
1
„Formaty pakietów nie są standaryzowane na różnych platformach”. - Wszystkie dystrybucje zgodne z LSB (które są większością głównych) obsługują format pakietu LSB, który jest podzbiorem RPM z usuniętymi wszystkimi funkcjami, których nie można łatwo zmapować na DEB. Narzędzia wiersza poleceń, interfejsy API i ABI dla LSB RPM są również znormalizowane.
Jörg W Mittag
@ Jörg W Mittag Nie nazwałbym standaryzacją zgodności z LSB. W Debianie „zgodność z LSB” korzysta z narzędzia Alien, o którym wspomniałem w moim poście (i jest ograniczone). I znowu, nie porównujemy skryptów instalacyjnych z pakietami. Porównuje kreatorów instalacji (które pozwalają nawet najbardziej zwyczajnym użytkownikom instalować oprogramowanie, nawet nie widząc przerażającej czarnej skrzynki) z menedżerami pakietów. Wymaganie użycia narzędzia takiego jak Alien nie zapewnia takiego samego procesu jak zapewnienie kreatora instalacji.
Selali Adobor
@AssortedTrailmix: format pakietu LSB został celowo zaprojektowany tak, aby mógł być przetwarzany przez Alien. I użytkownik końcowy nigdy nie musi wchodzić w interakcje z Alien, zajmuje się tym menedżer pakietów LSB w Debianie. Ponadto w LSB wyraźnie zadbano o kreatory instalacji budynku. Jeśli kreator instalatora łączy się tylko z bibliotekami LSB, może działać na wszystkich systemach LSB i może wywoływać menedżera pakietów LSB, ponieważ jest on ustandaryzowany, i może zainstalować pakiet, ponieważ jest on ustandaryzowany, a na końcu możesz skończy z DEB w bazie danych DPKG na Debianie i RPM na SuSE.
Jörg W Mittag
Rozumiem to, ale myślę, że nie zrozumiałem twojego punktu widzenia. Nie potwierdzasz tylko tego, co powiedziałem? Chodzi mi o to, że kreator instalacji i menedżer pakietów to nie to samo. Nie sugerowałem, że instalator nie może użyć menedżera pakietów. Wygląda na to, że zgadzasz się z moim poglądem, ale łapiesz się na retoryczne pytanie „Na przykład, czy twój kreator ma do zainstalowania wiele formatów pakietów?”
Selali Adobor
9

W dużym stopniu jest to jedno i drugie. Model dystrybucji Linuksa jest bliższy AppStore / Play Store niż tradycyjnemu Windows / Mac OS X - i nawet te platformy przechodzą tam z tego, co słyszałem.

Konwencja jest taka, że ​​jest prostsza. Większość argumentów dla AppStore / Play Store dotyczy także Linuksa:

  • Automatyczne aktualizacje. Aktualizacja 20 programów osobno w systemie Windows jest uciążliwa i nieefektywna. Użytkownik musi kliknąć chociaż aktualizacje Java / Flash / Adobe / ... podczas uruchamiania.
  • Pojedyncze, zaufane repozytorium. Czy sprawdzasz, czy pobierasz za pośrednictwem bezpiecznego połączenia? Czy nie pobierałeś aktualizacji programu Reader z get.adobe.com.hackers.example.com/setup.exe? Nawet jeśli jesteś jak większość użytkowników, a zwłaszcza nie zaawansowanych użytkowników, nie robić . Zamiast tego idziesz do centrum oprogramowania lub podobnego programu w systemie Linux i otrzymujesz zaufaną kopię.

Ponadto istnieją następujące korzyści, które mogą nie mieć zastosowania do AppStore / Play Store:

  • Nie każdy Linux ma GUI - pomyśl serwer HTTP - ale większość dystrybucji obsługuje taką konfigurację. Dobrze. Nie każdy go potrzebuje, ale wcześniej czy później ktoś będzie chciał go użyć z jakiegokolwiek powodu.
  • Wartości ABI bibliotek w różnych dystrybucjach mogą się różnić. Nie wchodzenie w szczegóły posiadanie instalatora spowodowałoby, że program działałby na tobie zamiast osób utrzymujących pakiet w repozytorium.
  • Połączony z poprzednim - musisz jakoś zarządzać zależnościami. Pakiet jest uważany za niewłaściwy z jakiegoś powodu - w takim przypadku musisz upewnić się, że zaktualizowałeś bibliotekę do wersji bez błędu - na przykład nie dołączyłeś openssl 1.0.1f do swojego pakietu. Praktyka pokazuje, że ludzie zawierają przestarzałe biblioteki ze znanymi lukami bezpieczeństwa.
Maciej Piechotka
źródło
5
+1 „Aktualizacja 20 programów oddzielnie w systemie Windows jest uciążliwa i nieefektywna”.
IQAndreas
Powiedziałbym, że wywoływanie dialogów destrukcyjnych lub nieefektywnych to trochę. Jeśli program ma źle zaprojektowany system aktualizacji, który dręczy użytkowników, gdy tylko się zalogują i nie zapewniają opcji cichych aktualizacji, jest to głównie wina tego programu. Biorąc to pod uwagę, nie widzę, aby wiele programów to robiło (większość z nich to programy, które nie mają tradycyjnej procedury uruchamiania), a wynik końcowy jest prawdopodobnie łatwiejszy do zarządzania niż jeden monit z listą wszystkich rzeczy, które muszą być na bieżąco.
Selali Adobor
A „pojedyncze, zaufane repozytorium” jest nieco mylące. To naprawdę tylko częściowo stosuje się, jeśli piszesz oprogramowanie, które może tam się skończyć. Własne oprogramowanie nie kończy się w dobrze obsługiwanych domyślnych repozytoriach dla popularnych dystrybucji Linuksa. Nawet repozytorium partnerów kanonicznych na Ubuntu (którego wejście nie jest trywialne), jest domyślnie wyłączone i przez wielu uważane za niepewne, ponieważ ryzyko bezpieczeństwa w oprogramowaniu tam hostowanym było niezapisane znacznie dłużej niż to samo oprogramowanie oparte na inne metody aktualizacji.
Selali Adobor
6

Zazwyczaj instalacja nie wymaga interakcji z użytkownikiem ( apt-getna przykład większość pakietów) lub może być skryptowana. Ułatwia to automatyzację w celu wdrożenia oprogramowania na wielu komputerach. Zamiast robić rzeczy za pomocą kreatora, robisz te same rzeczy za pomocą skryptów lub plików konfiguracyjnych.

Biorąc pod uwagę, że w świecie Linuksa terminal jest na pierwszym miejscu, a GUI jest opcjonalny, staje się oczywiste, dlaczego brakuje im kreatorów instalacji.

Z drugiej strony, Windows jest bardzo zorientowany na użytkownika. Większość plików MSI można łatwo wdrożyć w sposób nienadzorowany, w ten sam sposób, w jaki instalacja systemu Windows może być nienadzorowana (to, jak łatwe / trudne jest uruchomienie WAIK, to inny temat). Oznacza to również, że kilka aplikacji dla systemu Windows nie jest opartych na MSI i nie można ich skryptować. Wśród aplikacji na skalę korporacyjną na przykład produkty Adobe są dość trudne do zainstalowania w sposób skryptowy.

Arseni Mourzenko
źródło
1
To łatwy problem do rozwiązania. Wiele instalatorów systemu Windows ma cichą opcję i jest wstępnie wypełnionych dobrymi ustawieniami domyślnymi, dzięki czemu użytkownik nie musi nic robić poza naciśnięciem kolejnych przycisków.
Arsalan Ahmad
5
Nienawidzę naciskać dalej tylko dlatego, że programiści nie zrobili tego w prostszy sposób.
Silviu Burcea
@ Arsalan00: „użytkownik nie musi robić nic innego niż ...” przerywa automatyzację. Jeśli użytkownik musi coś zrobić , nie można go zautomatyzować. Idealnie, powinieneś być w stanie włączyć maszynę i pozwolić jej uruchomić się przez PXE, zainstalować system operacyjny, a następnie zainstalować i skonfigurować wszystko, czego potrzebujesz, bez żadnej interakcji użytkownika. W Linuksie możesz to zrobić (może z kilkoma aplikacjami, ale do tej pory ich nie spotkałem).
Arseni Mourzenko
1
@MainMa Twoja edycja naprawdę uderza w sedno. Jeśli programiści tego chcą, mogą instalować skrypty lub dyskretnie instalatory. Ale system kreatora naprawdę pomaga nowicjuszowi zapoznać się z tym, o czym jest konfiguracja, a kreatory informują użytkownika, że ​​menedżerowie pakietów nie mogą. Plus instalacje offline są bardzo ważne dla wielu osób.
Arsalan Ahmad
2
@ Arsalan00 zwykle menedżerowie pakietów mogą zadawać pytania, jeśli naprawdę tego potrzebują. Instalacje offline są możliwe przy użyciu menedżerów pakietów, wystarczy pobrać pakiet najpierw, tak samo jak podczas pobierania i instalowania pliku. I na koniec, jest bardziej przyjazny dla użytkownika, większość początkujących użytkowników nie powinna dbać o to, „gdzie chcesz to zainstalować” itp. Powinna „po prostu działać”.
iveqy
-1

Grupa docelowa jest inna. Systemy uniksowe i systemy uniksopodobne były zwykle używane przez profesjonalnych programistów, administratorów systemów, inżynierów i poważnych hobbystów, którzy dostosowywali każdy system do swoich potrzeb. Każdy „kreator instalacji” ograniczyłby jedynie wybór, zamiast dawać dostęp do wszystkich potrzebnych zmiennych. A te, które tam są, nadal tak robią.

System Windows nie jest skierowany do profesjonalistów w ten sam sposób, dlatego ma bardziej ogólne instalatory przeznaczone dla „użytkowników”, którzy chcą tylko tego zainstalować. Linux zbiera coraz więcej użytkowników, którzy prawdopodobnie doceniliby coś takiego, ale być może większość dystrybucji ma na uwadze profesjonalistów.

Obrabować
źródło
4
Kreator instalacji pozwala dostosować więcej niż menedżer pakietów, który jest zwykle używany w systemie Linux.
iveqy
@iveqy Dowolny tekstowy plik konfiguracyjny daje o wiele więcej możliwości niż jakikolwiek „kreator” instalacji. Gdyby tacy czarodzieje mogliby działać lepiej, istnieliby, ale tak nie jest.
Rob
4
to prawda, ale edytowanie tekstowych plików konfiguracyjnych nie jest częścią procesu instalacji większości menedżerów pakietów. Typowe pytania dotyczące procesu instalacji systemu Windows brzmią: „gdzie chcesz to umieścić”, menedżer pakietów już to decyduje w środowisku linux i „które komponenty tego programu chcesz zainstalować”, a to już zostało określone przez opiekun pakietu w przypadku menedżerów pakietów. Widać, że menedżer pakietów jest bardziej przyjazny dla użytkownika, ponieważ jest używany na Androidzie i iPhonie (App Store i Google Play).
iveqy
@iveqy Właśnie zdałem sobie sprawę, że nie mamy już tematu. To nie ma nic wspólnego z tym, co pierwotnie powiedziałem, i że wciąż nie widzisz takich czarodziejów, to kolejny dowód na to, co powiedziałem.
Rob