Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Utility d2u_*

Sada utilít d2u_* slúži na automatickú aktualizáciu inštalácie systému D2000 z FTP servera.

Poznámka: Popisovaný stav je platný od verzie d2u_client 2.2.0.6 (D2000 v7.02.002 patche).

Medzi utility d2u_* patria:

Od verzie d2u_client 2.3.0.24 je dostupný rýchly mód (štandardne zapnutý), t.j. na klientovi nekontroluje jednotlivé súbory a adresáre, ale prečíta si UUID (identifikátor) z lokálneho súboru "content.xml" v installdir a appldir a ak sa nelíšia od UUID v "content.xml" na FTP serveri, tak považuje klienta za plne synchronizovaného.
V prípade, že lokálne UUID v "content.xml" sa líši, prípadne chýba, prebehne plná aktualizácia a v prípade, že nenastala chyba, tak sa UUID do lokálneho "content.xml" zapíše. Rýchly mód je možné potlačiť prepínačom /F (viď parametre príkazového riadka).

Pre použitie rýchleho módu je treba použiť d2u_snapshot.exe minimálne verzie z 24.10.2011 a ním pregenerovať súbory content.xml na FTP serveri.

Utilita d2u_service


Utilita d2u_service beží ako servis pod užívateľom s právami na zápis do inštalačného a aplikačného adresára a umožňuje vykonať aktualizáciu, aj keď je za konzolou prihlásený užívateľ, ktorý tieto práva nemá. Utilitu musí na klientskom počítači zaregistrovať lokálny administrátor spustením "d2u_service -i" v adresári D2000_INSTALL_DIR\bin\.


Funkcionalita IPSAutoRun v d2u_service.exe

IPSAutorun umožňuje spustiť z definovaného adresára alebo prenosného USB média pripravený balíček, ktorý môže vykonať napr. aktualizáciu systému, nainštalovať patch, urobiť servisný zásah a pod. Balíček je digitálne podpísaný oprávneným subjektom a d2u_service spustí balíček iba po úspešnom overení podpisu.

IPSAutoRun balíček pozostáva z dvoch súborov:

  • <<nazov>>.7z
  • <<nazov>>.7z.sig

pričom "<<nazov>>.7z" je .7zip archív a "<<nazov>>.7z.sig" je súbor s digitálnym podpisom zaručujúcim autenticitu archívu. Archív musí obsahovať súbor "\autorun.cmd" a štandardne ďalšie súbory.

d2u_service.exe sleduje prítomnosť IPSAutoRun balíčkov:

  • v definovanom adresári (WatchedDir),
  • v koreňovom adresári pripojeného USB úložiska.


Konfigurácia IPSAutoRun

d2u_service.exe číta z registrov nasledovné parametre:

(string) HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<<base>>\IPSAutoRun\PublicKey
- celá cesta k súboru s verejným kľúčom oprávneného subjektu (napr. "c:\D2000\D2000.EXE\utils\ipsautorun\public_key.pem"). Tento súbor musí byť chránený proti zmazaniu/zápisu prístupovými právami OS voči neautorizovaným užívateľom.

(string) HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<<base>>\IPSAutoRun\UnpackDir
- cesta k pracovnému adresáru, do ktorého sa autorun balíčky rozbalia a odkiaľ budú spustené (napr. "c:\temp\ipsautorun\")

(string) HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\<<base>>\IPSAutoRun\WatchedDir
- cesta k pracovnému adresáru, ktorý bude monitorovaný na prítomnosť autorun balíčkov. Kvôli konzistencii balíčka a podpisu, je nutné najskôr do adresára kopírovať archív <meno>.7z a až potom podpis <meno>.7z.sig.


Podpisovanie balíčkov

Oprávnený subjekt si vygeneruje súkromný + verejný kľúč napríklad pomocou aplikácie openssl.exe, ktorú si stiahne z bezpečného zdroja (alebo použije openssl.exe, ktoré je v adresári <D2000_inštalačný_adresár>/bin resp. /bin64).

Postup generovania páru kľúčov v príkazovom riadku windows cmd.exe:

set RANDFILE=.\.rnd
openssl genrsa -out private_key.pem 4096
openssl rsa -pubout -in private_key.pem -out public_key.pem

V aktuálnom adresári vzniknú súbory "private_key.pem" - súkromný kľúč a "public_key.pem" - verejný kľúč. Privátny kľúč je nutné zabezpečiť proti neoprávnenému prístupu, bude slúžiť na podpisovanie balíčkov. Verejný kľúč je nutné rozdistribuovať na počítače, kde bude bežať d2u_service.


Postup prípravy a podpisovania balíčkov

Do balíčka (do koreňového adresára) umiestnite dávkový súbor autorun.cmd, v ktorom je implementovaná potrebná funkcionalia a prípadne ďalšie potrebné súbory. Balíček zbaľte do formátu 7zip (www.7-zip.org). Potom balíček podpíšte súkromným kľúčom nasledovným postupom (opäť je potrebný openssl.exe):

openssl dgst -sha256 -sign private_key.pem -keyform PEM -out .7z.sig .7z

Vznikne súbor .7z.sig, ktorý spolu so .7z tvorí balíček pripravnený na použitie pre d2u_service.

Utilita d2u_client


Utilita d2u_client po spustení vykoná aktualizáciu inštalačného a aplikačného adresára oproti FTP serveru a spustí zadaný proces (typicky HI.EXE).

K svojmu behu potrebuje v systémových registroch nasledovné hodnoty:

[HKEY_LOCAL_MACHINE\SOFTWARE\Ipesoft\D2000V70\Update]
"FTPServer"=ip_adresa_ftp_servera ; napríklad: "192.168.103.10" [1]
"FTPMode"=mód_ftp_spojenia ; prípustné módy sú: "active" a "passive", záleží od konfigurácie firewallu
"FTPApplDir"=aplikačný_adresár_na_ftp_serveri ; napríklad "/pub/D2000.APP", [2]
"FTPInstallRoot"=inštalačný_adresár_na_ftp_serveri ; napríklad "/pub/D2000.EXE", [3]
"FTPUser"=ftp_login ; napríklad "d2update"
"FTPPassword"=ftp_password ; napríklad "w589pt7yegsf6hjx" [4]

  1. D2Update je schopný pre "Update" použiť viac FTP serverov. Ak sa použije viac FTP serverov, ich adresy musia byť oddelené čiarkami. D2Update postupne skúša spojenie so všetkými zadanými servermi a aktualizáciu vykoná s prvým fungujúcim. Počet zadaných FTP serverov nie je obmedzený.
  2. Aplikačný adresár na FTP serveri má nasledovnú štruktúru:

    súbor /aplikačný_adresár_na_ftp_serveri/content.xml

    Súbor content.xml musí byť vygenerovaný utilitou d2u_snapshot.exe (viď nižšie) po každej zmene obsahu aplikačného adresára na FTP serveri:

    aplikačný adresár /inštalačný_adresár_na_ftp_serveri/aplikácia1/
    aplikačný adresár /inštalačný_adresár_na_ftp_serveri/aplikácia2/

    Toto sú aplikačné adresáre konkrétnych aplikácií.
  3. Inštalačný adresár na FTP serveri má nasledovnú štruktúru:

    súbor /inštalačný_adresár_na_ftp_serveri/update/content.xml

    Súbor musí byť vygenerovaný utilitou d2u_snapshot.exe (viď nižšie) po každej zmene aplikačného adresára na FTP serveri.

    adresár /inštalačný_adresár_na_ftp_serveri/scripts/

    Tu sú uložené skripty, ktoré budú spustené pred a po aktualizácii.

    /inštalačný_adresár_na_ftp_serveri/update/

    Tu sú adresáre bin/, gtk/, log/ atď.
  4. Password je v nezakódovanom čitateľnom tvare.

Parametre z príkazového riadka:

/Vverbose
/S=scriptsfilespustí skripty popísané v scripstfile
/Lskslovenský jazyk
/Qquiet
/Aaktualizuje iba aplikačný adresár
/Ttest - nič fyzicky nezapisuje, iba simuluje aktualizáciu
/Ffullcheck - ignoruje lokálny content.xml
/Dtimedelay [time] sekúnd

Utilita d2u_reload (pre verzie d2update < 3.0)


Utilitu používali d2u_service a d2u_client na svoju aktualizáciu, od verzie 3.0 už nie je potrebná

Utilita d2u_snapshot


Utilita po spustení vytvorí v aktuálnom pracovnom adresári súbor content.xml, ktorý je umiestnený na FTP serveri a d2u_client.exe podľa tohto súboru porovnáva, ktoré súbory treba stiahnuť z FTP servera.
Typický postup je nakopírovať d2u_snapshot.exe do /aplikačný_adresár_na_ftp_serveri/ a do /inštalačný_adresár_na_ftp_serveri/update/.

Pri každej zmene v inštalačnom a aplikačnom adresári na FTP serveri je potrebné zo servera spustiť obe utility, tie vygenerujú súbory /aplikačný_adresár_na_ftp_serveri/content.xml a /inštalačný_adresár_na_ftp_serveri/update/content.xml. Tieto súbory si potom pri aktualizácii klienta stiahne d2u_client.exe a podľa nich vykoná aktualizáciu.

Súvisiace stránky:

  • No labels