A meno che non vengano tenuti buoni registri quando i prodotti VOS sono installati, determinare la revisione di tutti i prodotti di un modulo può essere un compito scoraggiante. Alcuni programmi hanno parametri che possono essere usati per visualizzare le informazioni sulla versione corrente. Ci sono anche strumenti che visualizzeranno le informazioni del programma come display_program_module e get_pm_version, ma attualmente non c'è nulla che tenti di farlo per tutti i prodotti software installati.
This is why I created the following command macro that can be executed on your module to provide some of this information. It has one optional parameter (-long) that can be specified to list all the software products being checked and the minimum <major>.<minor> release of VOS required for the product.
& Beginning of modification history & Written 08Feb2011 by Paul Farley to help determine installed software. & End of modification history &begin_parameters long switch(long) debug switch(debug),secret &end_parameters &if &debug& &then &echo macro_lines command_lines input_lines &else &echo no_command_lines no_input_lines no_macro_lines &set_string MyName list_software_revisions & & Set a version, in case future modifications are desired. &set_string macro_version 1.0_08Feb2011 &display_line !display_line (string &MyName&: version ¯o_version&) & &set_string GPMV (master_disk)>system>maint_library>get_pm_version.pm &if (exists -file &GPMV&) = 0 &then &do display_line &MyName&: Unable to locate get_pm_version.pm, exiting. &return &end &set_string LSRCM (referencing_dir)>list_software_revisions.cm set_ready -format off &set_string temp (process_dir)>lsr-file & &set_string ModRel (substr (after (module_info system_release) 'Release ') 1 4) & & Need to set starting line number higher than the following code & to keep from finding these test strings. & &set line_num 100 & &label NEXT_LSR_LINE &set_string inline (contents &LSRCM& &line_num& -hold) &set CS (command_status) &if &CS& ^= 0 &then &do display_line &MyName&: Unable to locate software table in macro file. set_ready &return &end &if (index &$inline& 'Start_Of_Software_Table') > 0 &then &set SOST &line_num& &if (index &$inline& 'End_Of_Software_Table') > 0 &then &do &set EOST &line_num& &goto Found_SW_Table &end &set line_num &line_num& + 1 &goto NEXT_LSR_LINE & &label Found_SW_Table display_line display_line Current Module: (current_module) &+ '('(module_info cpu_type)')' (module_info system_release) display_line &if &long& &then &do display_line &+ 'SW-Bit Min-VOS Product Description Product Revision' display_line &+ '------ ------- ------------------------------- -----------------------' &end &else &do display_line &+ 'SW-Bit Product Description Product Revision' display_line &+ '------ --------------------------------------- -----------------------' &end &set SWTline (calc &SOST& + 1) & Macro 'while' processing has problems in earlier VOS & releases ( <14.7 ). Need to do it the old way for now.. & &while &SWTline& < &EOST& &label WhileLoop &set SWTline (calc &SWTline& + 1) & Pick up SWBit &set_string inline (contents &LSRCM& &SWTline& -hold) &eval &set_string &inline& &set SWTline (calc &SWTline& + 1) & Pick up SWDesc &set_string inline (contents &LSRCM& &SWTline& -hold) &eval &set_string &inline& &set SWTline (calc &SWTline& + 1) & Pick up SWTestPm &set_string inline (contents &LSRCM& &SWTline& -hold) &eval &set_string &inline& &set SWTline (calc &SWTline& + 1) & Pick up SWMinRel &set_string inline (contents &LSRCM& &SWTline& -hold) &eval &set_string &inline& &set SWTline (calc &SWTline& + 1) & &if (software_purchased &SWBit&) = 0 &then &do &if &ModRel& < &SWMinRel& &then &do &if &long& = 0 &then &goto DSR_Done &set_string SwRev * Bit not set. ModRel<MinRel * &goto DSR_Display &end &if &long& &then &do &set_string SwRev * Software bit not set * &goto DSR_Display &end &goto DSR_Done &end &if (exists -file &SWTestPm&) = 0 &then &do &if &ModRel& < &SWMinRel& &then &do &if &long& = 0 &then &goto DSR_Done &set_string SwRev * Not installed. ModRel<MinRel * &goto DSR_Display &end &if &long& &then &do &set_string SwRev * Product not installed * &goto DSR_Display &end &goto DSR_Done &end !attach_default_output &temp& ; &GPMV& &SWTestPm& ; &set_string cs (command_status) !detach_default_output &if &cs& ^= 0 &then &do &if &long& &then &do &set_string SwRev * Error &cs& returned * &goto DSR_Display &end &goto DSR_Done &end &set_string SwRev (contents &temp& 1) &if (substr &$SwRev& 1 1) ^= (byte 39) &then &set_string SwRev (ltrim (after &$SwRev& ' ')) & &if &ModRel& < &SWMinRel& &then &set_string SwRev * &SwRev& {&ModRel& < &SWMinRel&} &label DSR_Display &if &long& &then &set_string SWBD '('&SWBit&')' &+ (copy ' ' (calc 7 - (length &SWMinRel&)))&SWMinRel& &+ &SWDesc& &+ ' ' &else &set_string SWBD '('&SWBit&')' &SWDesc& &+ ' ' &set_string OutLine (substr &$SWBD& 1 47)(unquote &SwRev&) &display_line &OutLine& & &label DSR_Done & &end & This is the end of the 'while' &if &SWTline& < &EOST& &then &goto WhileLoop & &set_string xline (contents &LSRCM& &line_num& -close) set_ready &return & Each Product consists of five lines of data and they require & The following static labels for the macro to function properly; & & comment line to breakup the products & SWBit <software product code> & SWDesc <software description> & SWTestPm <product program path> & SWMinRel <minimum VOS major.minor required version> & & The labels Start Of Software Table and End Of Software Table & also must be present for the macro to function properly.. & &label Start_Of_Software_Table & SWBit S006 SWDesc Transaction Processing Services SWTestPm (master_disk)>system>command_library>tp_overseer.pm SWMinRel 1.0 & SWBit S008 SWDesc Forms Management System SWTestPm (master_disk)>system>cl>nls_edit_form.pm SWMinRel 1.0 & SWBit S009 SWDesc X.25 Network Facility SWTestPm (master_disk)>system>command_library>x25.pm SWMinRel 1.0 & SWBit S017 SWDesc SNA SWTestPm (master_disk)>system>sna_command_library>sna_appc.pm SWMinRel 1.0 & SWBit S020 SWDesc COBOL Compiler SWTestPm (master_disk)>system>command_library>cobol.pm SWMinRel 1.0 & SWBit S024 SWDesc PL/I Compiler SWTestPm (master_disk)>system>command_library>pl1.pm SWMinRel 1.0 & SWBit S026 SWDesc FORTRAN 77 Compiler SWTestPm (master_disk)>system>command_library>fortran.pm SWMinRel 1.0 & SWBit S028 SWDesc Pascal Compiler SWTestPm (master_disk)>system>command_library>pascal.pm SWMinRel 1.0 & SWBit S030 SWDesc C Compiler SWTestPm (master_disk)>system>command_library>c.pm SWMinRel 1.0 & SWBit S037 SWDesc BRASS SNMP Manager for VOS SWTestPm (master_disk)>system>vsnmpmgr>bin>brassd.pm SWMinRel 14.7 & SWBit S040 SWDesc Screen Editor SWTestPm (master_disk)>system>command_library>unformatted_edit.pm SWMinRel 1.0 & SWBit S041 SWDesc Text Editor SWTestPm (master_disk)>system>command_library>formatted_edit.pm SWMinRel 1.0 & SWBit S048 SWDesc RPC/XDR for VOS V-Series SWTestPm (master_disk)>system>rpc>stcp>command_library>portmap.pm SWMinRel 15.1 & SWBit S049 SWDesc IPSEC and IKE SWTestPm (master_disk)>system>stcp>command_library>ipsec_key_admin.pm SWMinRel 15.3 & SWBit S080 SWDesc Debugging Support SWTestPm (master_disk)>system>command_library>mp_debug.pm SWMinRel 1.0 & SWBit S081 SWDesc Sightline Power Agent for Vos SWTestPm (master_disk)>system>sightline>bin>datamgr.pm SWMinRel 1.0 & SWBit S090 SWDesc DES Subroutines SWTestPm (master_disk)>system>des_library>encrypt.pm SWMinRel 1.0 & SWBit S099 SWDesc Tools SWTestPm (master_disk)>system>itl_command_library>add_copyright.pm SWMinRel 1.0 & SWBit S115 SWDesc STREAMS TCP SWTestPm (master_disk)>system>stcp>command_library>ping.pm SWMinRel 1.0 & SWBit S238 SWDesc DATAKIT SWTestPm (master_disk)>system>datakit>command_library>dkstat.pm SWMinRel 1.0 & SWBit S266 SWDesc Apache Web Server SWTestPm (master_disk)>system>apache_install_dir>bin>httpd.pm SWMinRel 14.3 & SWBit S266 SWDesc Apache Web Server SWTestPm (master_disk)>system>apache2>bin>httpd.pm SWMinRel 15.2 & SWBit S266 SWDesc Apache with PHP for OpenVOS SWTestPm (master_disk)>opt>apache>bin>httpd.pm SWMinRel 17.0 & SWBit S268 SWDesc RADIUS Support SWTestPm (master_disk)>system>command_library>radius_admin.pm SWMinRel 14.4 & SWBit S269 SWDesc SAMBA SWTestPm (master_disk)>system>samba>command_library>smbd.pm SWMinRel 14.4 & SWBit S269 SWDesc Samba for OpenVOS SWTestPm (master_disk)>opt>samba>sbin>smbd.pm SWMinRel 17.0 & SWBit S270 SWDesc OpenSSL and OpenSSH for VOS SWTestPm (master_disk)>system>openssl>bin>ssh.pm SWMinRel 14.7 & SWBit S270 SWDesc OpenVOS Internet Security Pack SWTestPm (master_disk)>opt>openssl>bin>ssh.pm SWMinRel 17.0 & SWBit S272 SWDesc MySQL for OpenVOS SWTestPm (master_disk)>opt>mysql>bin>mysql.pm SWMinRel 15.2 & SWBit S273 SWDesc Kona for OpenVOS SWTestPm (master_disk)>opt>java>latest>bin>java.pm SWMinRel 17.1 & SWBit S293 SWDesc Open StrataLink SWTestPm (master_disk)>system>command_library>osl_server.pm SWMinRel 1.0 & SWBit S294 SWDesc ftServer V Series SDK SWTestPm (master_disk)>system.14.7>command_library.p4be>bind.pm SWMinRel 14.7 & SWBit S456 SWDesc VOS Standard C Compiler SWTestPm (master_disk)>system>command_library>cc.pm SWMinRel 1.0 & SWBit S581 SWDesc VOS NIO for V-Series SWTestPm (master_disk)>system>nio>command_library>nio_admin.pm SWMinRel 15.0 & SWBit S683 SWDesc VOS Enterprise Backup Agent SWTestPm (master_disk)>system>ndmpd>bin>ndmpd.pm SWMinRel 15.2 & SWBit S684 SWDesc EMANATE SNMP Master Agent for VOS SWTestPm (master_disk)>system>vsnmpmgr>emanate>basic>vos.bin>snmpd.pm SWMinRel 15.2 & SWBit S776 SWDesc WMQ SWTestPm (master_disk)>opt>mqm>bin>crtmqm.pm SWMinRel 17.0 & SWBit S844 SWDesc WMQC for OpenVOS SWTestPm (master_disk)>opt>mqm>bin>amqicdir.pm SWMinRel 17.0 & SWBit S877 SWDesc GNU C/C++ and GNU Tools SWTestPm (master_disk)>system>gnu_library>bin>g++.pm SWMinRel 14.3 &label End_Of_Software_Table
|
Figura 1 - lista_software_revisioni.cm Macro di comando |
Ecco un esempio dell'output di default della macro di comando di un modulo OpenVOS.
elenco_software_revisioni list_software_revisions: versione 1.0_08Feb2011 Modulo corrente: %es#m105 (G92200) OpenVOS Release 17.0.2ax SW-Bit Descrizione del prodotto Revisione del prodotto ------ --------------------------------------- ----------------------- (S006) Versione 17.0.2as dei servizi di elaborazione delle transazioni (S008) Versione del sistema di gestione dei moduli 17.0.1 (S009) X.25 Versione per impianti di rete 17.0.1 (S017) SNA SNA2 Versione 9.0.0 (S020) Rilascio del compilatore COBOL 17.0.1 (S024) Rilascio del compilatore PL/I 17.0.1 (S026) FORTRAN 77 versione del compilatore 17.0.1 (S028) Versione del compilatore Pascal 17.0.1 (S030) C Versione del compilatore 17.0.1 (S040) Versione dell'editor dello schermo 17.0.1 (S041) Versione editor di testo 17.0.1 (S080) Versione di supporto al debug 17.0.1 (S090) Subroutine DES Release 2.1a (S099) Strumenti versione 2.0fp (S115) STREAMS TCP Release 17.0.2ar (S238) DATAKIT Release 15.3.0 (S266) Apache con PHP per OpenVOS 3.0.0 (S268) Versione 17.0.1 del supporto RADIUS (S269) Samba per OpenVOS Release 3.2.beta.aa (S270) OpenSSL e OpenSSH per VOS Release 2.0.0m (S272) MySQL per OpenVOS Release 1.0.0.0 (S293) Open StrataLink Release 17.0.2 (S456) Compilatore VOS Standard C versione 17.0.1 (S684) EMANATE SNMP Master Agent per VOS Release 16.2.0 (S877) GNU C/C++ e GNU Tools Release 3.4.0i
|
Figura 2 - Esempio di elenco_software_revisions.cm output |
L'ultima versione della macro si trova anche sulla pagina web di VOS Customer Service Tools; ftp://ftp.stratus. .com/pub/cac/tools/tools/tools.html.