Editing
Scanco Administration
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Administrative Commands== ===User accounts=== The <code>xtremect2</code> and <code>xt2recalib</code> passwords are the same and have all the same settings, except data disks DK0 points to DISK2 or to DISK6, respectively. The <code>bonelab</code> and <code>bonelabknee</code> passwords are the same and have all the same settings, except they point to DISK2 and DISK6, respectively. Any users who want to work at a VMS terminal should log in with <code>bonelab</code> or <code>bonelabknee</code>. This will ensure <code>uct_evaluation</code> is accessing the correct data. Any user who wants to remotely log into the system will be using SSH authentication at users <code>xtremect2</code> or <code>xt2recalib</code>. Access by SSH requires Steve to set up your SSH public key. He has instructions on how to do this in his list of SOPs. Any users who need to scan patients log into <code>xtremect2</code>, <code>microct2</code> or <code>xt2recalib</code> should use a password. This password is restricted to only a small handful of people. ====Set password on VMS system==== For OpenVMS access (which includes FTP, SSH as well) you can simply use: $ set password Also see https://wiki.vmssoftware.com/SET_PASSWORD We usually do the password change from system account for any users. It's easier as you can change any users password in the same tool. Here how this goes (as system): $ cd sys$system $ mcr authorize UAF> mod microct /pass=test1234 /nopwdlife /nopwdexp ... next user if wished ... UAF> exit Then you may have to update the password for Samba access as well, if users use Samba. And that's also a reason we do it all as system, as this can only be done there anyway. $ @samba$root:[bin]samba$define_commands $ pdbedit -x microct $ pdbedit -a microct and enter new password. ===Query commands=== ====Check licenses on VMS system==== This can be used to see what educational licenses (and other licenses) are currently on the system: <pre> $ SHOW LICENSE </pre> To apply for an educational license go to http://www.openvmsedu.com [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====Check MAC address of VMS system==== You can check them using the command $ mcr lancp sh dev/char For example, the result on percy.kin.ucalgary.ca gives Device Characteristics EIA0: Value Characteristic ----- -------------- 1500 Device buffer size Normal Controller mode External Internal loopback mode 00-02-A5-20-29-99 Hardware LAN address Multicast address list CSMA/CD Communication medium FF-FF-FF-FF-FF-FF Current LAN address 128 Minimum receive buffers 256 Maximum receive buffers Yes Full duplex enable Yes Full duplex operational TwistedPair Line media type 100 Line speed (mbps) Disabled/No Failset Logical LAN state 0 Failover priority [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ===Update commands=== ====Change hosts==== <pre> $ mcr latcp show service * ! and if it shows you SCTHIN: $ set host scthin ! or $ set host scthin/lat </pre> [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====Update OpenVMS Licenses==== This needs to be done on all the Calgary workstations, XtremeCT, vivaCT40/uCT35, and uCT100.<br> Request licenses from HP: *School Identification (for U of C): 855803-9502 *License type: OpenVMS VAX/Alpha (uCT100: OpenVMW Integrity) Layered Products? (Or try others) *Member of DSPP or AlicanceONE: No *Do you use a VAX or Alpha Emulator: No On every workstation, you need to check which licenses are loaded and update those with a termination date. <pre> $ show license Active licenses on node SCEVA3: ------- Product ID -------- ---- Rating ----- -- Version -- Product Producer Units PCL Activ Version Release Termination C DEC 0 0 100 0.0 (none) 1-OCT-2012 CMS DEC 0 0 100 0.0 (none) 1-OCT-2012 CXX-V DEC 0 0 100 0.0 (none) 1-OCT-2012 FORTRAN DEC 0 0 100 0.0 (none) 1-OCT-2012 LSE DEC 0 0 100 0.0 (none) 1-OCT-2012 MMS DEC 0 0 100 0.0 (none) 1-OCT-2012 VMSCLUSTER DEC 0 0 100 0.0 (none) 1-OCT-2012 OPENVMS-I64-FOE HP 4 1 0 0.0 (none) (none) </pre> *HP will provide you with a script file ([[media:Openvms_license_update_hp.docx |'''Example script from HP''' ]]) containing a large number of licenses. *Modify the script to contain only the relevant licenses and load the licenses ([[Media:Openvms_license_update.docx |'''Example modified script''']]). *Login as user: system *Re-check the licenses on the workstation to ensure that the termination date has been updated. *The date after expiry, if cannot log in, then there is a problem with the VMS Cluster license, which was installed by Scanco. Contact Mark Blanchard (mblanchard@scanco.ch) about this problem. [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====Understanding how to set default parameters with OpenVMS==== Here is how the files all hang together... LOGIN.COM is called automatically during login and calls ::MICROCT_SETUP.COM, which sets the scanner ID, data device, etc. This file calls ::::MICROCT_SETUP_COMMON.COM to create general settings. This file is located in DISK0:[MICROCT_COMMON] and calls ::::::MICROCT_FE.COM, if present, to setup the environment for Bert's FE program ::::::MICROCT_SETUP_SITE_SPECIFIC.COM to create local settings for all accounts (e.g. ICALC) ::::::MICROCT_SETUP_COMMON_*.COM, if present, typically to create application-specific settings for all accounts ::::::MICROCT_SETUP_GROUP_*.COM, if present, to create local settings for specific groups (e.g. group 3401) ::MICROCT_SETUP_USER.COM to create user-specific settings. Note that the $UM designation is the MAIN directory, and the location of the binary files. To see a list: $ dir DISK0:[MICROCT_COMMON.MAIN] This is where you'll find IPL_SCANCO_FE.EXE, IPL_SCANCO_M.EXE, etc. Lots of stuff here: Directory DISK0:[MICROCT_COMMON] 3309.DIR;1 DATABASE.DIR;1 DEMO.DIR;1 EVAL.DIR;1 MAIN.DIR;1 TEMPLATES.DIR;1 TIPS.DIR;1 UIL.DIR;1 UTIL.DIR;1 WWW.DIR;1 UE and other symbols like UT, UM, UU, etc, are kind of search-lists of directory. As you see in the example below: <pre> $ dir ue:iplv6_upat_redo_e5e6_xt2*.com /size/date Directory IDISK1:[XTREMECT2.][EVAL] IPLV6_UPAT_REDO_E5E6_XT2_FIX_GOBJ.COM;2 15KB 19-DEC-2019 09:53:04.69 IPLV6_UPAT_REDO_E5E6_XT2_FIX_GOBJ.COM;1 15KB 26-JUL-2018 07:22:37.54 IPLV6_UPAT_REDO_E5E6_XT2_OLD.COM;1 15KB 19-DEC-2019 09:53:04.69 Total of 3 files, 45KB Directory IDISK0:[MICROCT_COMMON.][EVAL] IPLV6_UPAT_REDO_E5E6_XT2.COM;5 13KB 7-AUG-2017 14:31:15.91 Total of 1 file, 13KB </pre> UE shows files in the user specific eval directory and then the common files. "common" because these are common to all accounts on your system. If there is ever a file with the same file name in both locations, <b>it will always take the one on the specific directory</b>. Also if you save a file under ue:... it will be stored into your user specific directory. Common directories are protected and files in there cannot be changed by a "normal" user account. Only calibration accounts can do so, after evaluated privileges with <code>$ spb</code>. [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====Edit Symbol==== =====Edit SCANCO_SUBMIT_COMMAND===== *Check the current setting: <pre> $ show sym *submit* </pre> In directory <code>DISK2:[MICROCT]MICROCT_SETUP_USER.COM</code> add the following line: <pre> $ SCANCO_SUBMIT_COMMAND :== SUBMIT/NOPRINT/QUE=SYS$SLOW /NOTIFY/LOG=SYS$SCRATCH: </pre> Then end session and log in again. Definition of the symbol in the <code>MICRO_SETUP_USER.COM</code> supersedes the standard setting. [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] =====Edit AIX===== [[Image:Bones2.jpg|20px]] <b>Warning:</b> Extreme caution! Explicit permission for this change or similar changes <b>must</b> be obtained from Dr. Steven Boyd. Log in as user calibration (Xtremect: calibration; VivaCT40: calib5019; uCT35: calib2339), the password is the same as for the system user. Set priviledges to bypass. $ set proc/priv=bypass Or $ spb Change to the MICROCT_COMMANDS directory. $ cdc $ sea *.com aix $ eve microct_setup_common.com Edit the file which is called <code>MICROCT_SETUP_COMMON.COM</code> ''Another example'': To make the backspace/insert keys work properly, edit the <code>login.com</code> and insert the line <pre> $ set terminal/insert </pre> Anywhere suitable. [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====Setup Time==== =====Change system date and time===== The OpenVMS system should adjust for daylight savings, however, this is currently incorrect for the alpha systems. The alpha systems will need to be manually moved forward in March and moved back in April. To do this, you will need to login as system <pre> $ set host 0 user: system password: $ show time $ set time=dd-mmm-yyyy:hh:mm:ss/cluster !/cluster to change the time on all computers at once $ set time=01-APR-2012:18:00/cluster !Example: Set the system to April 1, 2012, 6 pm. </pre> [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] =====Set time zone===== As user system: $ @sys$startup:utc$time_setup Choose "CANADA" from the menu. Choose "MOUNTAIN" from the menu. [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] =====Disable Distributed Time Synchronization Service (DTSS)===== DTSS will automatically adjust the clocks for daylight savings (i.e., 2am to 1am on the 2nd Sunday in March, 2am to 3am on the 1st Sunday in November). As user system: $ mcr ncl disable dtss $ mcr ncl delete dtss $ eve sys$startup:sylogicals.com Add line to disable DTSS $ DEFINE/SYSTEM/EXEC NET$DISABLE_DTSS TRUE Save and exit. Now re-set the time zone. [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] =====Configure Network Time Protocol (NTP) server to synchronize clocks===== *NTP must be configured for each node (computer). Login as user system. NTP can only synchronize the system clock if the error is less than 1000 seconds. Synchronize the system clock to UofC's NTP server (ensures time is correct to within 1000s): $ mcr sys$system:tcpip$ntpdate ntp.cpsc.ucalgary.ca Enable NTP: $ cd sys$startup $ @tcpip$config 3 - Server components 12 - NTP 1 β Enable service on this node E β Exit menu E β Exit configuration procedure N β donβt start service Create the NTP configuration file: $ sys$sysroot:[tcpip$ntp] $ copy/log tcpip$ntp.template tcpip$ntp.conf $ eve tcpip$ntp.conf Comment out existing peer and server entries (# for comments). Add entries for local servers. server ntp.cpsc.ucalgary.ca server ntp1.cpsc.ucalgary.ca Save and exit. Start NTP: $ @sys$startup:tcpip$ntp_startup Check the log: $ type/cont/int=1 sys$sysroot:[tcpip$ntp]tcpip$ntp_run.log Sample log file: $ Set NoOn $ VERIFY = F$VERIFY(F$TRNLNM("SYLOGIN_VERIFY")) 11 Apr 09:22:34 ntp[547708872]: ntpd version = 4.1.0 11 Apr 09:22:34 ntp[547708872]: precision = 976 usec 11 Apr 09:22:34 ntp[547708872]: drift file 'SYS$SPECIFIC:[TCPIP$NTP]TCPIP$NTP.DRIFT' does not exist: no such file or directory 11 Apr 09:22:34 ntp[547708872]: will attempt to create drift file [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====Setup Email==== =====Setup email server===== The SMTP protocol is not enabled by default. If you use <code>tcpip$config</code> you can switch on the mail server under Client Components. As system: $ set host 0 user: system password: $ @SYS$MANAGER:TCPIP$CONFIG Or $ @tcpip$config -> 2 (client components) -> 6 (SMTP) -> 2 (Enable & Start services) *Select option 2 (client components) from the menu. *Select option 6 (SMTP) from the next menu to enable and start it. Since your smtp server is not registered anywhere, it can be that emails sent from this server will be filtered out as spam on the way to your mailbox. In that case you would need a so called MX record for your mail server. Contact UofC IT to resolve this issue. [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] =====Send an email===== Example: Send an email without an attachment. $ mail sys$scratch:email_message.txt/subject="email subject" "hbuie@ucalgary.ca,mkan@ucalgary.ca" Example: Send an email with an attachment. $ MIME :== $MIME.EXE $ MIME MIME> NEW /NOEDIT sys$scratch:file.txt MIME> ADD /TEXT thisattached.txt MIME> ADD /BINARY thatattached.zip MIME> ADD /MESSAGE this_is_written.txt MIME> SAVE MIME> EXIT $ MAIL /SUBJECT="MIME-encoded Message" - sys$scratch:file.txt "hbuie@ucalgary.ca,mkan@ucalgary.ca" $ *MIME> ADD /TEXT *.txt does not work [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ===Action commands=== ====Send a message to terminals==== <pre> $ reply /all "Merry Christmas to Bone Imaging Lab!" Reply received on SCEVA2 from user XTREMECT2 at _SCEVA2$FTA8473: 09:21:58 Merry Christmas to Bone Imaging Lab! 4 terminals have been notified on SCEVA2. $ 1 terminal has been notified on SCSRV2. $ 1 terminal has been notified on SC3309. $ 3 terminals have been notified on SCEVA1. $ </pre> [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====<code>mcr</code> vs <code>run</code> command==== The command <code>mcr</code> is the same as <code>run</code>, but only with mcr you can hand over 'in-line' parameters to an .exe file: <pre>$ run ut:ctheader.exe c000124.isq</pre> does not work, but you have to say <pre>$ mcr ut:ctheader.exe c000124.isq</pre> But funnily if you define a symbol in <code>microct_setup_user.com</code> (or <code>login.com</code>), <pre>$ ctheader :== $ut:ctheader.exe</pre> with just neither run nor mcr, but the 'funny' $ sign, then you can also hand over the ISQ name in-line. Small detail with big effect... [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====Using fda, pipe and search==== The <code>fda</code> (file do all) command in conjunction with <code>sys$pipe</code> and <code>search</code> can be quite helpful. Generally, use <code>fda</code> if you want to have a wildcard to capture many files in one command line, otherwise simply use <code>sys$pipe</code> and <code>search</code>. It's easiest to simply see examples. In this case, read the ISQ headers and use <code>...</code> to include all subdirectories: $ fda ctheader dk0:[microct.data.0001234...]*.isq Here we include all AIM files, no matter whether it's a C1234567.AIM or C1234567_SEG.AIM or whatever else: $ fda "aix -l" dk0:[microct.data.0001234.00005678]*.aim Note the use of double-quotes around the target of the <code>fda</code> command when there are more than one strings in the command. In this example we ensure the filename is exactly 8 characters using "%" instead of "*": $ fda aix dk0:[microct.data...]C%%%%%%%.AIM [[Image:Bones2.jpg|20px]] <b>Warning! </b> It's a good practise to always test your wildcard usage with <code>dir</code> before applying a large command: $ dir dk0:[xxx...]*.aim Combine <code>fda</code> with <code>sys$pipe</code> and <code>search</code>: $ pipe fda "aix -l" dk0:[microct...]*.aim | search sys$pipe "Slope" And you can redirect the output into a file: $ fda/output=sys$scratch:all_headers.log aix dk0:[microct...]*.aim $ pipe fda type *.log | search sys$pipe "BV/TV" /output=BVTV.txt $ pipe fda/output=sys$scratch:zscan.txt "aix -l" C%%%%%%%.AIM | search sys$pipe "Original Creation-Date","Index Patient","Index Measurement","Patient Name","Site","Time" Again, if the command consists of multiple words with spaces between (e.g. mcr ut:xxx.exe), then enclose the command in double-quotes. $ fda "mcr ut:uct_ext_header_display" dk0:[microct...]*.isq Grab more than one line using <code>pipe</code> and <code>search</code> command: $ pipe aix *.aim | search sys$pipe "dim", "pos", "name" Some common examples I use, without <code>fda</code>, are: pipe aix -l D0013580.AIM | search sys$pipe "Original file","Index Patient","Index Measurement","Patient Name","Site","Time" pipe ctheader D0013580.ISQ | search sys$pipe "Patient Name","Patient Index","Measurement Index","Creation Date","Site" [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====Putting multiple commands on a single line==== The key is to use the <code>PIPE</code> command. Basically separate all commands with ; <pre> $ pipe cd DISK2:[XTREMECT2.DATA.00003089.00016318] ; dir </pre> It has also some nice features of passing input and output along to the next command (see help), eg if you want to see the integration time of a certain scan : <pre> $ pipe ctheader C0014998.ISQ | search sys$pipe "Sampletime" Sampletime : 900000 [Β΅s] </pre> You can even submit a multi-line command to a remote computer using SSH: <pre> $ ssh -p22 -c 3des-cbc -o KexAlgorithms=+diffie-hellman-group1-sha1 -o HostKeyAlgorithms=+ssh-dss microct@12.618.196.561 'commands.txt' </pre> where 'commands.txt' can be replaced by 'pipe cd DISK2:[XTREMECT2.DATA.00003089.00016318] ; dir' [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====Make commands available to all users with symbols or paths==== DCL$PATH is one way to do that, WE don't use it... <pre> $ def dcl$path disk1:[microct.main],disk1:[microct.util] </pre> then, if you type <code> $ uct_t </code> it will first try to <code> $ @uct_t.com </code> and then <code> $ r uct_t.exe </code> however, we usually define it by giving full path: <pre> $ progx :== $disk1:[microct.main]progx.exe $ com_proc_x :== @disk1:[microct.main]procedure.com </pre> then, you can just type the shortcut ('symbol' in VMS language) We use the 'cd' to set the default path, you may also use this in your command procedure: <code>proc.com</code>: <pre> $ cd 'p1' $ dir *.*/size $ define COM disk1:[microct.commands] $ p :== @COM:PROC.COM </pre> these both go into <code>login.com</code>, but see the Wiki entry above to confirm exactly where... then, you can just type: <pre> $ p disk4:[microct.data.0000007.000009]*.ISQ </pre> [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ====Stopping disconnected sessions==== As <code>system</code> user you can check if there are any disconnected sessions, with <code>$ show user/full</code>: <pre> $ sh user/full OpenVMS User Processes at 5-JUN-2021 03:14:06.45 Total number of users = 2, number of processes = 7 Username Process Name PID Terminal MICROCT DECW$MWM 00000EA4 MBA6597: (disconnected) MICROCT DECW$SESSION 00000EA2 MICROCT VUE$MICROCT_3 00000EA6 MBA6601: (disconnected) MICROCT VUE$MICROCT_4 00000EA7 (subprocess of 00000EA2) MICROCT VUE$MICROCT_5 0000289E (subprocess of 00000EA2) MICROCT _FTA24: 00012284 FTA24: SYSTEM _FTA30: 000129DC FTA30: </pre> and kill any as follows: <pre> $ stop/id=00000EA4 $ stop/id=00000EA6 </pre> There may also be FTP connections that aren't closed properly. You can check for open FTP connection with this: <pre> $ sh sys/proc=tcpip$ftp* OpenVMS V8.3-1H1 on node SC4209 5-JUN-2021 03:12:53.14 Uptime 73 13:39:10 Pid Process Name State Pri I/O CPU Page flts Pages 00000426 TCPIP$FTP_1 LEF 9 786428 0 00:00:12.51 1089 751 N 000129E0 TCPIP$FTPC00046 HIB 4 106 0 00:00:00.03 431 353 N </pre> and again kill any with: <pre> $ stop/id=000129E0 </pre> But <b>DO NOT</b> kill the <code>TCPIP$FTP_1</code> as this is the actual FTP server process. Remember, in a cluster there will almost always be other open sessions which have their DECW$SM.LOG files locked. You don't need to delete them all! [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']]
Summary:
Please note that all contributions to bone.wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
BoneWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
associated-pages
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Documents
Recent changes
Help
Tools
What links here
Related changes
Page information