Warum machen Entwickler keine Installationsassistenten unter Linux? [geschlossen]

34

Ich bin mir sicher, dass es nicht um Faulheit oder ähnliches geht, aber ich verstehe nicht, warum Entwickler selbst von hauptsächlich Consumer-konformen Apps keine Art von Installationsassistenten erstellen, mit denen Sie als Nächstes fertig werden. Dieselben Apps haben normalerweise Installationsprogramme für Windows und Mac OS. Warum also nicht Linux?

Gibt es einen technischen Grund für diesen Trend oder handelt es sich nur um eine Konvention?

BEARBEITEN (23-09-2014): Diese Frage wurde nicht gestellt, um einen Windows-gegen-Linux-Flammenkrieg zu starten. Ich habe alle 3 Hauptbetriebssysteme benutzt und abgesehen von Linux haben die beiden anderen (Windows und Mac OS) Installer. Ich habe Oracle noch nicht installiert, aber was auch immer ich für die Installation benötigt habe, ich habe noch nie einen GUI-Installer für Linux gesehen.

Ja, ich weiß, dass Linux Paketmanager hat, so dass die Entwickler die Installer nicht "brauchen". Es gibt jedoch immer noch eine große Menge an Software, die entweder in den Standardpaket-Managern veraltet oder einfach nicht verfügbar ist. Da Linux für Gelegenheitsbenutzer eine Alternative zu Windows ist (Ubuntu ist in dieser Domäne sehr bemüht), ist es viel sinnvoller, den Benutzern nur das zu geben, was sie kennen.

Nehmen Sie zum Beispiel das Einrichten eines LAMP-Stacks. Dies sind alles Open-Source-Programme in den Standard-Repositorys. Können Sie jedoch alles auf einmal ohne Skript einrichten? Schauen Sie sich jetzt den WAMP-Server in Windows an. Sie müssen nur ein Installationsprogramm ausführen und es installiert mehrere Softwareprogramme so, dass sie gut miteinander funktionieren. Dann werden gute Standardeinstellungen und ähnliches erstellt. Installer können das, Paketmanager nicht. Ja, Sie können ein Skript dafür online finden, aber wo? Und welches?

Installateure sind keine veralteten Technologien aus der Vergangenheit. Sie sind immer noch nützlich und 95% der Benutzer sind bereits mit ihnen vertraut.

Arsalan Ahmad
quelle
12
Es gibt keinen Mangel. Windows ist kein Linux. Linux ist nicht Windows.
Edmz
27
@ Arsalan00 Dir fehlt ein wichtiger Punkt. Normalerweise gibt es eine GUI für Paketmanager (Ubuntu Software Center, Synaptic, YaST usw.).
Nyuszika7h
30
Ich konnte einen Punkt solcher Assistenten nie verstehen, 99,99% der Benutzer klicken ohnehin blind auf "Weiter", daher ist eine stille, nicht interaktive Installation viel sinnvoller.
SK-logic
7
@ DebugErr Sie sind von einem einfachen Witz beleidigt. Es war keine Beleidigung beabsichtigt.
Michael Hampton
6
Dies ist eines der vielen Anzeichen dafür, dass Linux in allen aktuellen Versionen nur für Server und andere spezialisierte Umgebungen gedacht ist, nicht für die Verwendung durch Verbraucher. Normale Menschen sind sogar von geeigneten oder unbekannten "Software-Zentren" völlig überfordert. Sie sollten diesen Personen eine .exe-Datei zum Anklicken geben, keine .tar.gz- oder seitenlangen Anleitungen, wie Sie grundlegende Software zum Funktionieren bringen. Es tut mir leid, dass ich meine Meinung geändert habe.
Traubenfuchs

Antworten:

63

Entwickler müssen lediglich ein Paket für eine Distribution bereitstellen. Jede Distribution hat dann eine Möglichkeit, dieses Paket zu installieren. Dies kann in einem Terminal ( apt-get) oder über eine grafische Oberfläche erfolgen, z. B. Ubuntu Software Center.

Das Schöne ist, dass sich Entwickler nur darum kümmern müssen, ein richtiges Paket zu erstellen. Die Distributionshersteller kümmern sich um den Rest und jede Paketinstallation hat den gleichen Prozess.

Florian Margaine
quelle
15
+1 ... "Jede Paketinstallation hat den gleichen Prozess."
Uwe Plonus
7
Nun, die Entwickler müssen sich nur darum kümmern, ein richtiges Paket für jede einzelne Distribution zu erstellen, die sie unterstützen möchten. Sie benötigen daher ein oder mehrere unterschiedliche RPMs, Debs, Build-Skripte für Ports usw. Paketmanager sind großartig, aber sie versuchen zu unterstützen Alle Systeme als Entwickler sind schwer. Das ist der Grund, warum die meisten Leute, die Pakete für Distributionen verwalten, nicht die vorgelagerten Entwickler sind.
Alan Shutko
12
Ein schwerwiegender Nachteil dieses Ansatzes ist, dass die Pakete (in einigen Fällen ernsthaft) veraltet sind. Unter Windows kann ich die neueste Version installieren, wo immer ich kann. Unter Linux muss ich einen Versionskontroll-Client verwenden (installieren und verstehen!), um die Quelle und verschiedene Compiler oder Make / CMake / etc zu erhalten. um es zu bauen.
Marczellm
4
Viele Projekte haben bieten die neueste stabile Version ohne die Notwendigkeit der Quellcodeverwaltung (es sei denn , Sie die neueste wollen Entwicklung Version ...). Sie müssen sie jedoch noch kompilieren, da es unmöglich ist, eine Binärdatei zu erstellen, die für jedes * nix-ähnliche Betriebssystem sofort funktioniert (im Gegensatz zu Windows, das eine sehr stabile und homogene Plattform ist). Glücklicherweise sind Compiler unter Linux im Vergleich zu Windows sehr einfach einzurichten und zu installieren.
Rufflewind
3
@ API-Beast beantwortet die Frage vollständig. Entwickler nicht müssen Assistenten machen, diese mühsame Aufgabe durch die Verteilungen behandelt wird.
Florian Margaine
42

Weil sie es nicht brauchen. Linux-Distributionen verfügen im Gegensatz zu Windows normalerweise über funktionierende Paketverwaltungssysteme, bei denen jede einzelne Anwendung die Installation und Aktualisierung immer und immer wieder neu implementieren muss.

Jörg W. Mittag
quelle
6
Die meisten unbekannten Personen möchten jedoch lieber ein Installationsprogramm herunterladen und den Assistenten ausführen, als ein Terminal zu öffnen und einen Befehl einzugeben. Dieses Paketmanager-Ding ist großartig für uns Geeks, aber es stört einen normalen PC-Benutzer, der nach der Windows 98-Ära mit der Verwendung von PCs begonnen hat.
Arsalan Ahmad
43
@ Arsalan00 Denken Sie an das Linux-Modell als AppStore - es ist wirklich dasselbe Modell. Sie könnten sich fragen, warum es für Android oder iOS keine Assistenten gibt.
Maciej Piechotka
5
Android und iOS sind in Bezug auf ihre Funktionsweise und die Funktionsweise der Apps weitaus restriktiver. Linux ist das genaue Gegenteil davon. Mobile Betriebssysteme setzen Konventionen durch, Windows empfiehlt Konventionen (Programmordner, Registrierung usw.), während Linux mehr Konfiguration als Konvention ist.
Arsalan Ahmad
9
Äh ... wenn Windows kein "funktionierendes Paketverwaltungssystem" hat, was ist dann Windows Installer ? Ich habe noch nie davon gehört, dass Entwickler dies erneut implementieren müssen, zumindest nicht in den letzten 10-15 Jahren.
Aaronaught
5
@Aaronaught Und ich habe die Anzahl der Windows-Programme verloren, die Windows Installer oder ein darauf basierendes Programm nicht verwenden und daher für die IT unnötig schwierig zu verwalten sind.
Michael Hampton
22

Die meisten Closed-Source, nicht frei-as-in-Bier - Software für Linux ist mit Installationsassistenten kommen. Einige Closed-Source-Software, die als Bier kostenlos erhältlich ist, zumindest solange, bis die meisten großen Distributionen sie in den Griff bekommen. Für Open-Source-Software sind Paketmanager eine klar überlegene Lösung.

Was ist also mit den frühen Phasen, bevor Open Source-Software von den großen Distributionen aufgegriffen wird? Warum erstellen Entwickler in dieser Phase keine Installationsassistenten?

Zunächst einmal interessieren sich viele Open-Source-Entwickler nicht für die Distribution. Sie schreiben Software für sich selbst und geben sie dort ab, falls sie für andere nützlich ist, aber sie sehen die Verpackung für die Verteilung als das Problem eines anderen. Wenn es genug gefällt, übernimmt jemand die Aufgabe, es in seine Lieblingsdistribution zu bringen.

Die Open-Source-Entwickler, die sich für die Distribution interessieren, arbeiten immer noch besser im Package Manager-System, da sich dort ihre Kunden befinden. Linux-Benutzer durchsuchen das Web normalerweise nicht nach Software. Sie suchen zuerst ihren Paketmanager. Gelingt dies nicht, durchsuchen sie die von der Community verwalteten Repositorys wie Ubuntus PPAs oder Archs AUR. Wenn Sie nicht an diesen Orten sind, wird Ihre Software höchstwahrscheinlich nicht bemerkt, und wenn sie bemerkt wird, wird sie mit geringerer Wahrscheinlichkeit als vertrauenswürdig eingestuft.

Wenn Sie auf diese vorhandenen Vertriebskanäle verzichten, ist das so, als wären Superbowl-Anzeigen zu teuer. Sie werden also Ihre eigene Fußballmeisterschaft ausrichten und stattdessen dort Werbung schalten. Es ist zwar billiger, aber auch weniger effektiv.

Was das Anpassen der Konfiguration anbelangt, so ist dies bei Software wie einem Webserver mit einer Konfigurationsdatei normalerweise einfacher zu handhaben, wodurch die Konfiguration leichter freigegeben, gesichert und wiederhergestellt werden kann.

Für die Client - Software wie ein Web - Browser, ist es viel besser , einen Konfigurationsassistenten zu erstellen , die zum ersten Mal ein neuer Benutzer erscheint läuft die Software, anstatt es an der Zeit bei der Installation zu tun. Der Hauptgrund ist, dass Linux ein Mehrbenutzer-Betriebssystem ist. Sie möchten es also trotzdem für jeden Benutzer anpassen. Dies erleichtert es auch, den Konfigurationsassistenten aus irgendeinem Grund später erneut auszuführen, ohne das Installationsprogramm für die Neuinstallation der gesamten Software behalten zu müssen. Diese Art von Assistenten ist in Linux-Software weit verbreitet.

Karl Bielefeldt
quelle
14

Linux-Distributionen (auch, wie ich glaube, Unices mit BSD-Flair) haben eine benutzerfreundliche Oberfläche für die Programminstallation über sogenannte Paketmanager (oder Portverwaltung im BSD-Fall): pacman für Arch, dpkg für Debian / Ubuntu , und so weiter.

Mit diesen Paketmanagern können Programme mithilfe einheitlicher Konfigurationsdateien installiert werden. Sobald das von Ihnen benötigte Programm gemäß dem Paketmanager Ihrer Distribution gepackt ist, können Sie den Installationsbefehl einfach über das ausgewählte Paket ausführen (mit gelegentlichen benutzerspezifischen Anpassungen, wenn auch häufig gar nicht), und der Manager erledigt den Rest.

Paketmanager sind in der Regel benutzerfreundlicher als die programmspezifischen Installationsprozesse von Windows. Dies gilt nur für die einheitliche Art und Weise, in der Programme für die Installation gepackt werden. In der Regel können Sie auch die Package Manager-Datenbank nach dem gesuchten Programm abfragen, um die Abhängigkeiten zu ermitteln.
Sie unterstützen auch die zentrale Aktualisierung der Pakete.

Nadir Sampaoli
quelle
3
benutzerfreundlich ist ein subjektiver Begriff. IMO, die meisten Computerbenutzer sind sehr zurückhaltend bei der Verwendung von Befehlszeilentools und würden es einfacher und bequemer finden, wenn sie nur einen Assistenten verwenden könnten. Auch wenn es länger dauert.
Arsalan Ahmad
1
dpkgund APT werden sowohl in Debian als auch in Ubuntu verwendet. apt-get, apt-cacheUnd aptitudesind Wrapper oben auf dpkg. dpkgWird selten direkt verwendet. Ein Anwendungsfall, den ich mir vorstellen kann, ist die Installation eines Pakets aus einer .debDatei.
Nyuszika7h
16
@ Arsalan00 gibt es normalerweise eine grafische Benutzeroberfläche für Paketmanager wie Ubuntu Software Center oder Yumex. Paketmanager! = Terminal.
Florian Margaine
@ Arsalan00 Wenn Sie Ubuntu verwenden, rufen Sie einfach opera.com/download/guide/?os=linux auf , laden Sie Opera für Ubuntu herunter und doppelklicken Sie auf die heruntergeladene Datei. Es ist überhaupt kein Terminal beteiligt.
Oliver
13

Ich habe mich und andere oft gefragt und möchte einen Punkt ansprechen, den ich oft angesprochen habe, bevor ich erfahre, warum Linux weniger Installer sieht:

Linux-Distributionen bieten Paketmanager.

Ich würde jedoch nicht sagen, dass der Paketmanager einer Linux-Distribution ein Ersatz für ein Installationsprogramm ist, zum Teil aus den folgenden Gründen:

  • Diese Paketmanager sind im Betrieb nicht standardisiert

    Ein Paketmanager ist ein bisschen so, als ob Sie Ihre Binärdatei bereitstellen und den Endbenutzer das Installationsprogramm auswählen lassen. Sie können das Terminal auswählen oder ein Tool mit einer fortgeschritteneren Benutzeroberfläche auswählen, aber es bietet Ihnen nicht die gleiche Ebenenkontrolle des Prozesses wie mit einem "herkömmlichen" Installationsassistenten.

    Ein Beispiel für das, was ich unter Kontrolle verstehe, ist Dokumentation. Sie können Ihren Endbenutzern keine Anweisungen wie "Klicken Sie auf Weiter, und Sie sollten sehen" geben. Sie können Befehlszeilenanweisungen für ein bestimmtes Tool geben, aber dann verlassen Sie sich nicht nur auf die Tatsache, dass der Benutzer dieses Tool hat, sondern verlieren auch die meisten Vorteile eines Installationsassistenten (schließlich stellen die meisten Assistenten ein Frontend bereit -end für einfache Kommandozeilenanweisungen und Startskripte).

    Dies hängt auch mit der Ästhetik zusammen. Jetzt sind Sie auf die Verteilung Ihrer Endbenutzer angewiesen, um eine intuitive / geeignete Oberfläche bereitzustellen. Obwohl Sie sich dieser Tatsache voll bewusst sind, ist es für einen gelegentlichen Benutzer nicht unangemessen, sich zu beschweren, wenn ein Doppelklick auf Ihre Datei (Installer in ihrer Ansicht) einen hässlichen Paketmanager öffnet, überhaupt nichts tut oder am schlimmsten ein Terminal öffnet Fenster. (Die Erfahrungen, die ich mit Benutzern gemacht habe, und ihre Abneigung gegen die "DOS-Eingabeaufforderung" / "Schwarz-Weiß-Box" / "Die Sache, die alle ihre Dateien löscht, wenn sie sie lustig ansehen", könnte wahrscheinlich ein Buch füllen.)

  • Paketformate sind nicht plattformübergreifend standardisiert.

    Es gibt Tools, die zwischen Systemen wie rpmund konvertiert werden können. debEs ist jedoch nicht sinnvoll, dass der Endbenutzer Ihre Pakete konvertiert, wenn Sie sie in einer Situation verwenden, in der ein Installationsassistent auf einer anderen Plattform bereitgestellt wird (z. B. durch Klicken und Fertigstellen) ). Das Bereitstellen aktueller Pakete für ein zusätzliches Paketformat kann recht einfach sein, wenn Sie über ein rudimentäres Build-System verfügen, aber immer noch eine neue Binärdatei hinzufügen, die unterstützt werden muss.

    Das fügt auch eine neue Binärdatei hinzu, aus der die Benutzer je nach Plattform auswählen müssen (das klingt geringfügig, aber ich bin sicher, dass hier jemand bestätigen kann, dass sie x86 vs x64 erklären müssen, bevor [ja, es gibt Möglichkeiten, die richtige Plattform von der zu bestimmen Browser, aber dann werden Sie noch komplizierter und schwerer zu unterstützen, Verfahren])

  • Paketmanager sind "netter" gegenüber Open-Source-Software.

    Dies bedeutet jedoch nicht, dass Sie Closed-Source-Software nicht mit einem Paketverwaltungssystem teilen können. Dies ist definitiv möglich. Wenn Sie jedoch versuchen, quellnahe Software auf Linux-Distributionen freizugeben, stoßen Sie auf eine Hürde, was Ihre Möglichkeiten betrifft, Ihre Software in gängige Repositorys zu verschieben. Dinge wie PPAs oder der openSUSE Build Service sind nicht verfügbar, und selbst die Canonical Partners-Repositorys sind standardmäßig nicht aktiviert.

    Das bedeutet, dass Sie, sofern Sie kein eigenes Repository bereitstellen, nicht viele der Hauptfunktionen von Paketverwaltungssystemen, einschließlich automatischer Updates, nutzen können. Meiner Meinung nach ist dies der wichtigste Vorteil für die meisten Plattformen, die diese Systeme verwenden (z. B. iOS, Android und Windows Store).

    Und selbst wenn Sie ein Repository bereitstellen (eine weitere Aufgabe mit variabler Trivialität), müssen Sie die Benutzer dazu bringen, es einzurichten (dies ist eine weitere Unterstützungsebene, eine weitere Reihe von nicht standardmäßigen Ansätzen und eine weitere Ablenkung vom ursprünglichen Standpunkt des Installateur)

Nach alledem habe ich das ursprüngliche Problem noch nicht gelöst, warum Installer unter Linux trotz dieser Faktoren (unter anderem) weniger verbreitet sind. In der ursprünglichen Frage wird gefragt, ob sie technisch ist oder auf Konventionen basiert und teilweise auf beiden.

Wenn Sie sich die oben genannten Faktoren ansehen, werden die Dinge für ein "Assistenten-ähnliches" Installationsprogramm auch komplexer. Würde Ihr Assistent beispielsweise mehrere zu installierende Paketformate enthalten? Wie gehen Sie mit dem Erscheinungsbild von Distributionen um? Die Liste geht weiter, und eine Sache , dass diese Pakete haben Sie es sich leisten ist , dass nichts davon Ihr Anliegen (wird für Gedeih und Verderb ) , so lange Sie die richtigen Pakete bieten. Abhängig von der Art Ihres Projekts können Sie diese "spezialisierten" Ressourcen nutzen, z. B. das Einreichen von Apps an das Ubuntu Software Center. Dies alles würde sich auf das Technische beziehen.

Aber der Aspekt, den ich persönlich als treibende Kraft sehe, ist Konvention. (Ich hoffe, ich habe das so tief vergraben, dass die Leute, die diese andere Antwort auf das Vergessen abgelehnt haben, aufgehört haben zu lesen.)

Ich bin der Meinung, dass das Plakat einen Punkt hatte, aber möglicherweise zu deutlich formuliert und keine objektiven Gründe für diesen Punkt geliefert hat. Wenn Sie die Unterschiede untersuchen, die ich für einen Paketmanager und einen Installer angegeben habe, wäre ich nicht überrascht, wenn Sie feststellen würden, dass die meisten davon nahezu unbedeutend sind (vielleicht sogar an Pedantik grenzen). Aber (entschuldigen Sie, was meiner Meinung nach als legitime Verwendung eines Ad-Hominem-Arguments angesehen wird), wir sind auch Benutzer vor Ort für Programmierer. Ich sehe Linux-Distributionen als hervorragende Windows-Alternative für Gelegenheitsbenutzer (unter anderem natürlich). Keine allgemein definiert Klicks-and-done Verfahren vorausgesetzt , dass alle diese Benutzer wirklich nicht ideal nutzen können imo .

Gleichzeitig finde ich, dass viele Dinge in Linux auch für diese Gruppe nicht besonders ideal sind . Sicher, einige Distributionen haben GUI-basierte Paketmanager, aber das bedeutet, dass diese Leute sich überlegen müssen, wie sie ein separates Tool verwenden können, das sich nicht ausschließlich auf die Installation Ihres Programms konzentriert (vergleichen Sie dies und das mit diesem ).

Natürlich können Sie die GUI verwenden, um einen Großteil der Aufgaben zu erledigen, die ein durchschnittlicher Gelegenheitsbenutzer ausführen muss, insbesondere bei bestimmten Distributionen (ironischerweise sind die Aktivitäten dieser Distributionen in der Open-Source-Community nicht immer willkommen [siehe Beschwerden über Ubuntu und es ist "ummauert" garden "]) Aber ich halte es nicht für leugnbar, dass Linux-Konventionen jemanden bevorzugen, der mit einer CLI vertraut ist, oder zumindest keine Todesangst hat, dass sein Erscheinungsbild bedeutet, dass er schreckliche Fehler begangen hat.

Ich sage nicht, dass das das ist, wonach sie streben, aber genau das sehe ich in diesen Konventionen. Und Paketverwaltungssysteme unter Linux scheinen dem zu folgen. Schließlich sind die meisten ihrer "Nachteile" so gut wie nicht vorhanden, wenn Ihr Endbenutzer mit den zugrunde liegenden Konzepten zufrieden ist.

Installer auf den meisten anderen Plattformen sind davon nicht wirklich betroffen und sollen einen Kommentar zur Frage "99,99% der Benutzer [können] blind auf" Weiter "klicken. Das Problem bei der Paketverwaltung ist, dass diese Benutzer dazu aufgefordert werden eine "Weiter" -Schaltfläche, mit der sie wissen, was diese "Weiter" -Schaltfläche ist (ich habe gesehen, dass Benutzer durch Tools, die die Eingabetaste mit anderem Text auslösen), und informiert werden, wenn sie diese "Küste beim Klicken" erreicht haben die "Weiter" Schaltfläche "Bühne.

Selali Adobor
quelle
Dies ist eine großartige Antwort und erklärt das Problem aus der Sicht eines gelegentlichen Benutzers.
Arsalan Ahmad
1
"Paketformate sind nicht plattformübergreifend standardisiert." - Alle LSB-kompatiblen Distributionen (die meisten der wichtigsten) unterstützen das LSB-Paketformat, bei dem es sich um eine Teilmenge von RPM handelt, bei der alle Funktionen entfernt wurden, die nicht einfach auf DEB abgebildet werden können. Die Kommandozeilen-Tools, APIs und ABIs für LSB-RPM sind ebenfalls standardisiert.
Jörg W Mittag
@ Jörg W Mittag Ich würde die LSB-Compliance kaum als standardisiert bezeichnen. Unter Debian verwendet "LSB-Compliance" das in meinem Beitrag erwähnte Alien-Tool (und es ist begrenzt). Auch hier vergleichen wir keine Installationsskripte mit Paketen. Es vergleicht Installationsassistenten (mit denen selbst der gelegentlichste Benutzer Software installieren kann, ohne jemals die gefürchtete Black Box zu sehen) mit Paketmanagern. Das Erfordernis, ein Tool wie Alien zu verwenden, entspricht nicht dem Bereitstellen eines Installationsassistenten.
Selali Adobor
@AssortedTrailmix: Das LSB-Paketformat ist bewusst so konzipiert, dass es von Alien verarbeitet werden kann. Und der Endbenutzer muss nie mit Alien interagieren, der LSB-Paketmanager unter Debian kümmert sich darum. Außerdem werden im LSB Builder-Installationsassistenten explizit berücksichtigt. Wenn der Installationsassistent nur Verbindungen zu LSB-Bibliotheken herstellt, kann er auf allen LSB-Systemen ausgeführt werden und den LSB-Paketmanager aufrufen, da dies standardisiert ist. Außerdem kann er ein Paket installieren, weil dies standardisiert ist, und am Ende können Sie wird mit einer DEB in der DPKG-Datenbank auf Debian und einer RPM auf SuSE enden.
Jörg W Mittag
Ich verstehe das, aber ich glaube, ich habe deinen Standpunkt nicht verstanden. Bestätigen Sie nicht einfach, was ich gesagt habe? Mein Punkt war, dass ein Installationsassistent und ein Paketmanager nicht dasselbe sind. Ich habe nicht vorgeschlagen, dass ein Installer keinen Paketmanager verwenden kann. Anscheinend stimmen Sie meiner Ansicht zu, sind jedoch mit der rhetorischen Frage beschäftigt: "Würde Ihr Assistent beispielsweise mehrere zu installierende Paketformate enthalten?"
Selali Adobor
9

Zu groß ist beides. Das Linux-Distributionsmodell ist näher an AppStore / Play Store als das traditionelle Windows / Mac OS X-Modell - und selbst diese Plattformen bewegen sich von dem, was ich gehört habe, dorthin.

Die Konvention ist, dass es einfacher ist. Die meisten Argumente für den AppStore / Play Store gelten auch für Linux:

  • Automatische Updates. Wenn 20 Programme separat unter Windows aktualisiert werden, ist dies störend und ineffizient. Der Benutzer muss beim Booten auf Java / Flash / Adobe / ... -Updates klicken.
  • Single, Trusted, Repository. Prüfen Sie, ob Sie über eine sichere Verbindung herunterladen? Oder Sie haben kein Reader-Update von get.adobe.com.hackers.example.com/setup.exe heruntergeladen? Selbst wenn Sie es mit den meisten Benutzern tun, insbesondere nicht mit Power-Benutzern, tun Sie es nicht . Gehen Sie stattdessen zum Software Center oder einem ähnlichen Programm unter Linux und holen Sie sich eine vertrauenswürdige Kopie.

Darüber hinaus gibt es folgende Vorteile, die für AppStore / Play Store möglicherweise nicht gelten:

  • Nicht jedes Linux verfügt über eine grafische Benutzeroberfläche - denken Sie an einen HTTP-Server. Die meisten Distributionen unterstützen jedoch eine solche Konfiguration. Okay. Nicht jeder braucht einen, aber früher oder später wird jemand ihn aus irgendeinem Grund benutzen wollen.
  • Die ABIs von Bibliotheken in verschiedenen Distributionen können unterschiedlich sein. Wenn Sie sich nicht mit einem Installer auseinandersetzen, ist das Programm für Sie verantwortlich, anstatt dass die Leute ein Paket im Repository verwalten.
  • Verbunden mit der vorherigen - Sie müssen Abhängigkeiten irgendwie verwalten. Das Bündeln gilt aus einem bestimmten Grund als nicht ordnungsgemäß. In diesem Fall müssen Sie sicherstellen, dass Sie die Bibliothek auf die fehlerfreie Version aktualisiert haben. Beispielsweise haben Sie openssl 1.0.1f nicht in Ihr Bündel aufgenommen. Die Praxis zeigt, dass veraltete Bibliotheken mit bekannten Sicherheitslücken vorhanden sind.
Maciej Piechotka
quelle
5
+1 "Wenn 20 Programme unter Windows separat aktualisiert werden, ist dies störend und ineffizient."
IQAndreas
Ich würde sagen, dass das Aufrufen von Dialogen störend oder ineffizient ist. Wenn ein Programm über ein schlecht gestaltetes Aktualisierungssystem verfügt, das die Benutzer belastet, sobald sie sich anmelden, und keine Option für stille Aktualisierungen bietet, liegt dies meistens am Programm. Davon abgesehen finde ich nicht viele Programme, die dies tun (die meisten von ihnen sind Programme ohne traditionelle Startprozedur), und das Endergebnis ist wohl besser zu handhaben als eine einzige Aufforderung, in der alle erforderlichen Elemente aufgelistet sind bleibe auf dem Laufenden.
Selali Adobor
Und "Single, Trusted, Repository" ist etwas irreführend. Es ist wirklich nur teilweise anwendbar, wenn Sie Software schreiben, die dort landen kann. Proprietäre Software landet nicht leicht in den gut unterstützten Standard-Repositorys für gängige Linux-Distributionen. Sogar das Repo für Canonical-Partner unter Ubuntu (dessen Eingabe nicht trivial ist) ist standardmäßig deaktiviert und wird von vielen als unsicher angesehen, da Sicherheitsrisiken bei dort gehosteter Software bekanntermaßen viel länger ungepatcht bleiben als bei der gleichen Software, auf der sie basiert andere Update-Methoden.
Selali Adobor
6

Normalerweise erfordert die Installation keine Interaktion mit einem Benutzer ( apt-getz. B. die meisten Pakete) oder kann als Skript ausgeführt werden. Dies macht es sehr einfach zu automatisieren, um ein Stück Software auf vielen Maschinen bereitzustellen. Anstatt Dinge über den Assistenten zu erledigen, erledigen Sie dieselben Dinge über Skripte oder über Konfigurationsdateien.

Angesichts der Tatsache, dass in der Linux-Welt das Terminal an erster Stelle steht und die GUI optional ist, wird deutlich, warum es ihnen an tatsächlichen Installationsassistenten mangelt.

Windows hingegen ist sehr benutzerorientiert. Die meisten MSI-Dateien können auf einfache Weise unbeaufsichtigt bereitgestellt werden, genauso wie die Windows-Installation unbeaufsichtigt sein kann (wie einfach / schwierig es ist, WAIK zum Laufen zu bringen, ist ein anderes Thema). Dies bedeutet auch, dass eine Reihe von Anwendungen für Windows nicht auf MSI basieren und nicht skriptfähig sind. Unter den Anwendungen für Unternehmen sind beispielsweise Adobe-Produkte dafür bekannt, dass sie sich nur schwer per Skript installieren lassen.

Arseni Mourzenko
quelle
1
Das ist ein leicht zu lösendes Problem. Viele Windows-Installer haben eine stille Option und sind mit guten Standardeinstellungen vorinstalliert, sodass der Benutzer nichts anderes tun muss, als nur die nächsten Tasten zu drücken.
Arsalan Ahmad
5
Ich hasse es, als nächstes zu drängen, nur weil die Entwickler es nicht auf einfachere Weise geschafft haben.
Silviu Burcea
@ Arsalan00: Der "Benutzer muss nichts anderes tun als ..." bricht die Automatisierung ab. Wenn der Benutzer etwas tun muss , kann es nicht automatisiert werden. Im Idealfall sollten Sie in der Lage sein, einen Computer einzuschalten und über PXE starten zu lassen, ein Betriebssystem zu installieren und dann alles zu installieren und zu konfigurieren, was Sie benötigen, ohne dass Benutzerinteraktion erforderlich ist. Mit Linux können Sie das tun (außer vielleicht ein paar Anwendungen, die mir bisher noch nicht begegnet sind).
Arseni Mourzenko
1
@ MainMa Ihre Bearbeitung trifft wirklich den Nagel. Wenn die Entwickler dies wünschen, können sie ihre Installationsprogramme skriptfähig oder still machen. Aber das Assistentensystem hilft dem unerfahrenen Benutzer wirklich dabei, sich mit dem Setup vertraut zu machen, und Assistenten informieren den Benutzer, wie dies Paketmanager nicht können. Außerdem sind Offline-Installationen für viele Menschen eine wichtige Notwendigkeit.
Arsalan Ahmad
2
@ Arsalan00 normalerweise können paketmanager fragen stellen, wenn sie es wirklich brauchen. Offline-Installationen sind mit Paketmanagern möglich. Laden Sie das Paket einfach zuerst herunter, genau wie beim Herunterladen und Installieren der Datei. Und zu guter Letzt ist es benutzerfreundlicher. Die meisten Anfänger sollten sich nicht darum kümmern, wo sie das installieren möchten. Es sollte einfach funktionieren.
21.
-1

Die Zielgruppe ist unterschiedlich. Unix- und Unix-ähnliche Systeme wurden normalerweise von professionellen Programmierern, Systemadministratoren, Ingenieuren und ernsthaften Bastlern verwendet, die jedes System an ihre Bedürfnisse anpassten. Alle "Installationsassistenten" würden nur ihre Auswahl einschränken, anstatt Zugriff auf alle benötigten Variablen zu gewähren. Und die jetzt da draußen tun es immer noch.

Windows richtet sich nicht in gleicher Weise an Profis und hat daher allgemeinere Installationsprogramme, die sich an "Benutzer" richten, die nur das Ding installieren möchten. Linux sammelt immer mehr dieser Anwendertypen, die wahrscheinlich so etwas zu schätzen wissen, aber möglicherweise haben die meisten Distributionen immer noch den Fachmann im Sinn.

rauben
quelle
4
Mit einem Installationsassistenten können Sie mehr als nur einen Paketmanager anpassen, der normalerweise unter Linux verwendet wird.
21.
@iveqy Jede Textkonfigurationsdatei bietet Ihnen weitaus mehr Möglichkeiten als jeder "Installationsassistent" jemals. Wenn solche Zauberer es besser machen könnten, würden sie existieren, aber sie tun es nicht.
Rob
4
Das stimmt, aber das Bearbeiten von Textkonfigurationsdateien ist kein Teil des Installationsprozesses der meisten Paketmanager. Typischerweise lauten die Fragen bei einem Windows-Installationsvorgang "Wo möchten Sie das ablegen?", Ein Paketmanager entscheidet dies bereits in der Linux-Umgebung und "Welche Komponenten dieses Programms möchten Sie installieren?". Dies wurde bereits von entschieden der Paketbetreuer bei Paketmanagern. Sie können sehen, dass ein Paketmanager benutzerfreundlicher ist, da er für Android und iPhone (App Store und Google Play) verwendet wird.
Iveqy
@iveqy Mir ist gerade aufgefallen, dass wir das Thema verlassen haben. Dies hat nichts mit dem zu tun, was ich ursprünglich gesagt habe, und dass Sie solche Assistenten immer noch nicht sehen, ist ein weiterer Beweis für das, was ich gesagt habe.
Rob