Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

Anchor
d2u_service
d2u_service
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:

...

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:

...

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.

...

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.

Anchor
d2u_client
d2u_client
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).

...

[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. Anchor
    1
    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. Anchor
    2
    2
    Aplikačný adresár na FTP serveri má nasledovnú štruktúru:

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

    Súbor musí byť vygenerovaný utilitou d2u_snapshot.exe (viď nižšie) po každej zmene 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. Anchor
    3
    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. Anchor
    4
    4
    Password je v nezakódovanom čitateľnom tvare.

Anchor
command_line
command_line
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

Anchor
d2u_reload
d2u_reload
Utilita d2u_reload (pre verzie d2update < 3.0)

...

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

Anchor
d2u_snapshot
d2u_snapshot
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.

...