Wie funktionieren Software-Updates in OS X?

8

Ich habe gerade von Linux auf OS X umgestellt und gewöhne mich immer noch daran.

Ich weiß, dass ich Homebrew verwenden muss, da ich mich auf viele CLI-Tools verlasse. Außerdem habe ich gerade über Cask gelesen, was mich über eine Sache wundern lässt. Wie erhält Software (nicht aus dem App Store) Updates? Windows-ähnlich, dh eine Nachricht, die über eine neue Version informiert, damit ich sie herunterladen kann, oder irgendwie in das System integriert ist, damit ich nicht jedes Mal eine neue .dmg herunterladen muss, wenn ich eine App aktualisieren möchte?

Wenn es "Windows-ähnlich" ist, ist es besser, Cask für Dinge wie Firefox, VirtualBox, VLC, LibreOffice ... zu verwenden?

user3439894
quelle
2
Wenn Sie nur Befehle wie g ++ / gcc und andere Entwicklertools benötigen, können Sie die Befehlszeilen-Entwicklertools von Apple installieren, indem Sie einfach g ++ in Terminal eingeben und dann die Installation akzeptieren. Alle Updates für diese Entwicklertools befinden sich in der App Store-App unter "Updates".
Flare Cat

Antworten:

8
  • Mit caskkönnen Sie alle installierten Anwendungen (die mit cask installiert wurden) mit einem einzigen Befehl aktualisieren:

    brew cask update
    

    Dies ist eine inoffizielle (Community-basierte) Methode zum Aktualisieren von Anwendungen und enthält nur kostenlose Software im Repository (es gibt keine Möglichkeit zum Kauf). Vorteile dieses Mechanismus sind:

    1. Es ist skriptfähig
    2. Es trennt Systemanwendungen von Benutzeranwendungen (Ihre installierten Anwendungen werden ~/Applications/anstelle von platziert /Applications/), also pro Benutzer.
    3. Die Installation von Installationspaketen erfolgt im Hintergrund, sodass keine Benutzerinteraktionen erforderlich sind.
    4. Die Deinstallation von Anwendungen wird von der Community programmiert, sodass Sie sich nach der Deinstallation keine Sorgen mehr über verbleibende Dateien machen müssen.
    5. Es ist möglich, mehrere Versionen von Anwendungen systematisch zu haben, da der Mechanismus symbolische Links für die neueste oder ausgewählte Version von Anwendungen verwendet.
    6. Die Quelle der Anwendungen wird im Cache gespeichert, sodass Sie sie ohne zusätzliche Downloads installieren und deinstallieren können.

    Nachteile dieses Mechanismus sind:

    1. Es gibt kein differenzielles Upgrade. Es lädt das gesamte Anwendungsimage (.dmg) oder Paket (.pkg) herunter und speichert es im Cache.
    2. Die Installation von Anwendungen basiert auf symbolischen Links, die möglicherweise nicht ideal sind (es gibt zwei Kopien einer Anwendung, die in der Liste "Öffnen mit" wiederholt werden können).
  • Es gibt auch einen offiziellen App Store-Mechanismus (Standardeinstellung) zum Aktualisieren von Anwendungen, die mit sich selbst installiert wurden. Er unterstützt das differenzielle Upgrade und kann alle installierten Anwendungen mit einem einzigen Klick aktualisieren. Im Gegensatz zu Cask ist es jedoch nicht skriptfähig, ein Upgrade, eine Installation usw. auszuführen, und die Quellen bleiben nicht erhalten.

  • Ein weiterer Mechanismus ist die Überprüfung der In-App-Aktualisierung, die beim Start der Anwendung erfolgt. Es unterscheidet sich vom App Store-Upgrade und unterstützt auch das differenzielle Upgrade.

Ich denke, es liegt an Ihnen, zu entscheiden, welcher Mechanismus für welche Art von Anwendungen verwendet werden soll. Dieser Vergleich kann Ihnen helfen.

Ich verwende das Fass für Anwendungen, die nicht im App Store bereitgestellt werden (wie VLC, OS X FUSE, OwnCloud, Weka usw.), und den App Store für nicht kostenlose Anwendungen, die ich gekauft habe. In-App-Upgrades sind für mich nicht geeignet, da die Quelle der heruntergeladenen Daten nicht gespeichert wird.

Hamid Rohani
quelle
3

Es gibt keine allgemein anerkannte "beste" Möglichkeit, Apps, die nicht von Apple oder von Mac App Stores geliefert werden, zu aktualisieren. Es gibt viele Möglichkeiten, einige verwenden Linux-Tools, andere erfinden bestimmte Räder neu, andere schreiben rsync / curl in ähnlicher Weise wie Homebrew auf einem Kernskript und Ruby-Paketrezepten basiert.

Bei Apps, die sich selbst aktualisieren (oder zumindest Endbenutzer benachrichtigen, wenn ein Update verfügbar sein könnte), verwenden einige ein Framework wie sparkle, um nach Updates zu suchen oder ihren eigenen Mechanismus zur Überprüfung von Updates zu programmieren. Microsoft Office, Chrome, Firefox und viele andere Apps benötigen keinen anderen Aktualisierungsmechanismus als die Aktivierung des Selbstaktualisierungsmechanismus.

Homebrew-Fässer werden wahrscheinlich genauso aktualisiert wie die Kernerfahrung von Homebrew für Befehlszeilentools. Daher würde ich damit beginnen und dann eine Folgefrage stellen, wenn Sie eine bestimmte App im Sinn haben, die nicht Ihren Wünschen entspricht.

Wenn Sie Macs professionell verwalten, gibt es viele Frameworks, mit denen Sie Ihren eigenen "App Store" erstellen, aktualisieren und sogar ausführen können, um bestimmte Versionen von Apps zu verpacken und den Prozess von Apple zu umgehen.

bmike
quelle