Ve skutečnosti neexistuje nic standardního ve světě *nix. Vždy budete muset podporovat konkrétní distribuce a každá z těchto distribucí může mít několik možných způsobů vytvoření automatické aktualizace.
K vašim otázkám:
-
Neexistuje žádný standardní způsob.
-
To závisí na vašem způsobu skutečné distribuce balíčku. Pokud plánujete používat správce balíčků, jako je rpm/apt-get/apt install, pak každý z těchto správců má specifický způsob, jak nakonfigurovat vaši aplikaci tak, aby patřila mezi balíčky, u kterých se kontrolují automatické aktualizace.
-
Rozdíl mezi .rpm / .deb:
Hlavním rozdílem pro správce balíčků (myslím, že by to byl v žargonu Debianu „vývojář“) je způsob, jakým se metadata balíčku a doprovodné skripty spojují. Odkaz
Rozdíl mezi Ubuntu a Fedorou:Protože vytvoření podrobné odpovědi na tyto otázky by bylo příliš zdlouhavé a příliš náročné na údržbu, podívejte se na tento blogový příspěvek s podrobnostmi o rozdílech mezi těmito dvěma distribucemi.
Pokud je formát AppImage pro váš projekt v pořádku, můžete zkusit electron-simple-updater.
Appimages
Můžete použít electron-builder
k vytvoření Appimages pro instalaci nebo automatickou aktualizaci vaší aplikace téměř v jakékoli distribuci Linuxu
AppImage je univerzální formát softwarového balíku. Zabalením softwaru do AppImage vývojář poskytuje pouze jeden soubor, který je „ovládne všechny“. Koncový uživatel, tedy vy, jej můžete použít ve většině (pokud ne ve všech) moderních distribucích Linuxu
Pokud chcete aplikaci aktualizovat automaticky, budete také potřebovat electron-autoupdater
. Cíle:
- MacOS:DMG.
- Linux:AppImage
- Windows:NSIS
Příklad projektu, který to používá, najdete zde. Důležité soubory:package.json
, updater.js
, updater_renderer.js
Pomocí některých z těchto pokynů můžete vytvořit instalační programy:
yarn electron-builder --linux --x64
yarn dist_linux # shortcut in package.json
deb, rpm
Pomocí electron-builder
můžete vytvářet balíčky jako deb nebo rpm , ale jejich automatická aktualizace závisí na tom, jak je distribuujete, jak říká Jens ve své odpovědi. Konečný uživatel možná bude muset přidat repozitář apt, aby byl aktuální
Odpověď od Jense je opravdu nejlepší.
Pokud ale nechcete trávit čas učením se RPM a DEB a sestavováním balíčků pro všechny distribuce, můžete zvážit zabalení aplikace pomocí Flatpak. http://flatpak.org/#about
Vytvoří jeden velký archiv, který lze spustit na Ubuntu, RHEL.... Všude.