Es gibt wirklich nichts Standard in der *nix Welt. Sie müssen immer bestimmte Distributionen unterstützen, und jede dieser Distributionen kann wiederum mehrere Möglichkeiten haben, einen Auto-Updater zu erstellen.
Zu deinen Fragen:
-
Es gibt keinen Standardweg.
-
Das hängt davon ab, wie Sie das Paket tatsächlich verteilen. Wenn Sie vorhaben, Paketmanager wie rpm/apt-get/apt install zu verwenden, dann hat jeder dieser Manager eine bestimmte Art, Ihre Anwendung so zu konfigurieren, dass sie zu den Paketen gehört, die auf automatische Updates geprüft werden.
-
Unterschied zwischen .rpm / .deb:
Der Hauptunterschied für einen Paketbetreuer (ich denke, das wäre „Entwickler“ im Debian-Jargon) ist die Art und Weise, wie Paket-Metadaten und begleitende Skripte zusammenkommen. Link
Unterschied zwischen Ubuntu und Fedora:Da das Erstellen einer detaillierten Antwort auf diese Fragen sowohl zu langwierig als auch zu wartungsintensiv wäre, sehen Sie sich diesen Blogbeitrag an, in dem die Unterschiede zwischen diesen beiden Distributionen beschrieben werden.
Sie können den Electron-Simple-Updater ausprobieren, wenn das AppImage-Format für Ihr Projekt in Ordnung ist.
App-Bilder
Sie können electron-builder
verwenden um Appimages zu erstellen, um Ihre Anwendung in fast jeder Linux-Distribution zu installieren oder automatisch zu aktualisieren
AppImage ist ein universelles Softwarepaketformat. Durch das Packen der Software in AppImage stellt der Entwickler nur eine Datei bereit, „um sie alle zu beherrschen“. Endbenutzer, d. h. Sie, können es in den meisten (wenn nicht allen) modernen Linux-Distributionen verwenden
Wenn Sie Ihre App automatisch aktualisieren möchten, benötigen Sie außerdem electron-autoupdater
. Ziele:
- MacOS:DMG.
- Linux:AppImage
- Windows:NSIS
Ein Beispiel für ein Projekt, das dies verwendet, finden Sie hier. Die wichtigen Dateien:package.json
, updater.js
, updater_renderer.js
Mit einigen dieser Anweisungen können Sie die Installationsprogramme erstellen:
yarn electron-builder --linux --x64
yarn dist_linux # shortcut in package.json
deb, Drehzahl
Sie können Pakete wie deb oder rpm mit electron-builder
erstellen , aber um sie automatisch zu aktualisieren, hängt davon ab, wie Sie sie verteilen, wie Jens in seiner Antwort sagt. Der Endbenutzer muss möglicherweise ein apt-Repository hinzufügen, um auf dem neuesten Stand zu bleiben
Antwort von Jens ist wirklich die Beste.
Wenn Sie Ihre Zeit jedoch nicht damit verbringen möchten, RPM und DEB zu lernen und Pakete für alle Distributionen zu erstellen, können Sie Ihre Anwendung mit Flatpak paketieren. http://flatpak.org/#about
Es erstellt ein großes Archiv, das auf Ubuntu, RHEL ... überall ausgeführt werden kann.