Tutorial de OpenVMS 8.4 en DECUS.org

Introduccion

DECUS.org, el grupo de interes en las maquinas de DEC, ha puesto en linea y a disposicion del publico general infraestructura de computo DEC Alpha 520, ofreciendo la creacion de cuentas publicas de acceso remoto a interprete de comandos con el sistema OpenVMS.

Gracias a esta DECUS podras aprender a utilizar VMS accediendo remotamente desde nuestra comunidad texto-plano.xyz.

Crea tu cuenta en DECUS

Da de alta una cuenta a titulo individual, utilizando tu cliente Secure Shell (SSH) mediante:

ssh REGISTRATION@eisner.decus.org -p 22867

Ingresaras al sistema remoto de registro. Cuando este te solicite contrasena no ingreses ninguna y simplemente presiona ENTER. A continuacion se activara el programa de registro, que consta de varias pantallas. Se te solicitara ingresar un nombre de usuario y proporcionar una casilla de correo electronico valida (puedes utilizar la de texto-plano). Tambien debes indicar un tipo de editor deseado (normalmente uno denominado LSE), tras lo cual se desconectara el sistema remoto de registro.

Una vez recibido un correo de parte de DECUS.org conteniendo una contrasena pasavante, podras conectar a tu cuenta de OpenVMS remoto.

Loguearse a DECUS.org

Logueate a la maquina remota de DECUS con:

ssh usuario@eisner.decus.org -p 22867

Tras ingresar la contrasena provista por DECUS, se iniciara el interprete DCL de OpenVMS mostrando una pantalla inicial. Por ejemplo:

%DCL-S-SPAWNED, process USUARIO_10419 spawned
  User [USUARIO] has 842 blocks used, 9158 available,
  of 10000 authorized and permitted overdraft of 0 blocks on DISK_USER
 * * * * * *  * * * * * * * < Hola USUARIO! > * * * * * * * * * * * * * *
                        RECIBA UNA CORDIAL BIENVENIDA
                          ____ al sistema computado
                         |  _ \  ___  ___ _   _ ___
                         | | | |/ _ \/ __| | | / __|
                         | |_| |  __/ (__| |_| \__ \
                         |____/ \___|\___|\__,_|___/
                          DEC Alpha con OpenVMS 8.4
  +-----------------------------------------------------------------------+
|      Nombre del nodo: EISNER.  Hardware: AlphaServer DS20 500 MHz     |
|   Este mainframe pertenece al Grupo Hobbista "Asociacion de Usuarios  |
|            de Digital Equipment Computers", DECUS.ORG.                |
+-----------------------------------------------------------------------+
- Su directorio es DECUSERVE_USER.USUARIO.
- Su casilla de correo electronico en este equipo es: usuario@eisner.decus.org.
- Para abandonar este sistema utilice el comando LOGOUT.
$
Subprocess USUARIO_xxxxx has completed

El prompt de DCL es un $.

Uso basico de DCL

El DCL, o Lenguaje de Comandos de Digital, es el interprete de comandos tipico de VMS.

DCL presenta un conjunto de instrucciones en ingles que el usuario ingresa para comandar al sistema operativo (en este caso OpenVMS). Constaba de mas de 200 comandos y funciones.

Al igual que otros interpretes posteriores como Bash, los comandos en DCL se ingresan en dos formas. La mas comun es la manera interactiva, en la cual se escriben en la terminal de manera insensible a mayusculas. Generalmente se usan secuencias de comandos y modificadores. La otra forma es en en lotes, equivalente a la creacion de programas y guiones de programacion (scripts). Nos concentraremos en la primera manera.

Asimismo, DCL tiene varias combinaciones de control que interrumpen o anulan la ejecucion de comandos.

Atajo Resultado en DCL
Ctrl+z Sale de un comando de DCL
Ctrl+c interrumpe la ejecucion de un comando (pero lo deja en memoria).
Ctrl+b Repite el comando anterior.
Ctrl+a Conmuta entre modo Insercion de caracteres y Sobreescritura de Caracteres.
Ctrl+s Suspende la salida de texto a la terminal.
Ctrl+o Reactiva la salida de texto a la terminal. Si se la presiona alternativamente, pausa y continua el flujo de texto.

Ayuda en linea

El DCL es dificil de usar, pero dispone de una ayuda arbolada jerarquizada. Ingresa HELP para ingresar al subsistema de ayuda. Tambien puedes utilizar HELP tema. Por ejemplo:

$ help instructions

Normalmente el subsistema de ayuda permite ingresar y presentar en pantalla cada uno de los temas o topics escribiendolos por su nombre indicado, y a su vez cada tema podria presentar nuevas tematicas de ayuda relacionadas. Si oprimes Intro generalmente retrocedes un nivel. Al volver al nivel inicial del subsistema de ayuda, abandonaras el mismo y quedaremos depositados nuevamente en el prompt $ del DCL.

Recuerda que siempre podras salir del subsistema de ayuda (y muchos otros programas ejecutados por DCL) con Ctrl+z.

Comandos Comunes en DCL

Hay muchisimos comandos y programas capaces de corren en OpenVMS, pero ciertos son comandos comunes directamente equivalentes o muy parecidos a los comandos presentes en sistemas de operacion similares a UNIX. Por ejemplo:

copy Copia un fichero especificado, cp
copy/ftp transfiere ficheros entre huespedes sobre red tcp/ip, ftp
create crea ficheros y directorios, touch
delete borra un fichero especificado y lo quita del directorio, rm
directory o dir presenta los contenidos de un directorio (listado de ficheros), ls
edit muestra y cambia los contenidos de un fichero de texto, ed
logout desconecta la sesion remota, logout, exit
print envia un fichero especificado a la impresora
rename cambia el nombre o la localizacion de un fichero especificado, mv
set controla como usar el sistema en pantalla
show presenta el status de sistema
type presenta los contenidos de un fichero especificado en la pantalla, cat

Crear y moverse en directorios

El sistema de ficheros de OpenVMS representa una estructura arbolada. En ella, el usuario de DECUS recibira una carpeta de usuario localizada dentro de la carpeta DECUSERVE_USER, que generalmente se encuentra en una particion en una unidad de disco del sistema, como por ejemplo DSA3:.

DCL es idiosincrasicamente mas complejo y laborioso de usar que UNIX. En particular, suele requerir la necesidad de ingresar entre corchetes [] toda la ruta del directorio a fin de desplazarnos por la estructura de arbol. Los niveles de directorios se separan utilizando un . en lugar de una barra como en UNIX u otros sistemas.

Para ver el contenido del directorio actual ingresamos:

$ DIRECTORY

...o mas sencillo, su la abreviacion dir.

Por ejemplo, si quisieramos crear un directorio llamado prueba en nuestra carpeta de usuario, deberiamos usar:

$ CREATE /DIR [DECUSERVE_USER.USUARIO.prueba]

Para comprobar su creacion efectiva, ingresamos el comando dir. Deberiamos ver ahora un directorio nomenclado como prueba.dir;1. Para ingresar a dicho directorio usamos el comando cd ("cambiar directorio"), seguido por toda la ruta estructurada. Por ejemplo:

$ cd DSA3:[DECUSERVE_USER.USUARIO.prueba]

...o bien puedes evitar ingresar toda la ruta default (equivalente a la ~/home/$USER de Unix) ingresando simplemente un .. Por ejemplo:

$ cd .prueba]

Si bien es raro, en VMS puedes cambiar tu directorio default. Por ejemplo:

$ SET default [.prueba]

Para volver al directorio anterior:

$ cd DSA3:[DECUSERVE_USER.USUARIO]

...o bien:

$ SET default

Si quisieramos usar un equivalente al comando pwd de UNIX ("presentar directorio actual"), debemos usar:

$ SHOW default

Se nos hara obvio que todos los archivos cuentan con un sufijo de version, indicado con ;. Por ejemplo: archivo.txt;1, archivo.txt;2, etcetera. De esta manera podremos contar con multiples versiones de un mismo fichero. Siempre se activa la ultima, pero se conservan en disco las versiones anteriores. Si queremos eliminar un fichero se usa el comando DELETE, pero debemos especificar cual version queremos borrar. Por ejemplo,

$ DELETE archivo.txt;3

...o bien, podremos eliminar todas las versiones de un fichero con comodines, por ejemplo:

$ DELETE archivo.txt;*

Si en cambio queremos eliminar todas las versiones obsoletas pero conservar la ultima, podremos utilizar el comando PURGE.

Para borrar el directorio creado tenemos que retroceder al nivel anterior en el arbol (no podemos eliminar un directorio desde dentro del mismo). Luego le asignamos permisos de borrado al directorio:

$ SET FILE/PROTECTION=O:RWED prueba.dir;1

...y finalmente lo borraras con:

$ delete prueba.dir;1

Crear un fichero finger

OpenVMS cuenta con la utilidad finger. Para crear tu fichero .plan podras aprovechar y aprender utilizar el editor de texto visual "LSE". Ingresa a el con:

$ lse

El editor de texto LSE consta de dos secciones. Una principal con la ventana de texto, y otra inferior en la que podremos ingresar comandos de operacion. En este caso simplemente escribiremos un texto que deseemos. Cuando finalicemos de hacerlo, presionaremos Ctrl+z. Esto nos desplazara a la seccion inferior para ingresar los comandos de operacion, lo cual se nos hara patente por medio del prompt LSE>. En el ingresaremos exit. El editor LSE te solicitara el nombre de archivo a fin de guardarlo con dicha denominacion y salir al interprete DCL. Introduce el nombre .plan y presiona la tecla Intro.

Esto cerrara el editor LSE y nos retornara al prompt de DCL. Debemos ahora asignar los permisos de fichero requeridos al fichero .plan que hemos creado. Ello lo haremos ingresando el comando:

SET file/prot=w:re .plan

Ver quien esta online

Podras hacer eso ingresando:

$ SHOW users
      OpenVMS User Processes at  8-JUL-2021 23:34:39.87
    Total number of users = 4,  number of processes = 6

 Username      Interactive  Subprocess   Batch
 CARTER_S           1         1
 GOATLEY            1
 JACKSON            2
 PERON              1

Podras chatear en linea con dicho usuario mediante el programa phone. Utiliza:

$  phone usuario

El usuario recibira el alerta y podra tocar la combinacion indicada en pantalla para responder. Al aceptar se presentara el OpenVMS Phone Facility:

                            OpenVMS Phone Facility                   8-JUL-2021
%

-------------------------------------------------------------------------------
                                 EISNER::PERON
Viva Peron! Esta es una prueba de comunicaciC3n en Eisner.
Como estC!s?
El texto introducido no se puede borrar.
Se puede borrar en tanto no presiones Enter.

-------------------------------------------------------------------------------
                                 EISNER::EVITA
Hola como estas. Gracias por el Mensaje.
Estoy introduciendo el texto, va apareciendo de a poco.
Muy interesante!.

-------------------------------------------------------------------------------

...Para abandonar el programa phone puedes utilizar Ctrl+z

Comandos de status

Existen muchisimos comandos de este tipo, pero tal vez el mas simple sea show. Utiliza help show, o prueba alguno de los siguientes:

show system
show network
show cpu
show memory

Crear una web de DECUS

DECUS proporciona una pagina web de usuario. La URL base para dicha pagina web sera http://eisner.decus.org/~usuario.

La web se almacena en el subdirectorio WWW localizado en nuestro directorio de usuario.

Podras crear dicho subdirectorio y otorgarle los permisos requeridos con:

set default sys$login
create/dir [.www] /protection=w:re
set security /acl=(default_protection, s:rwed, o:rwed, g:r, w:r) www.dir
set default sys$login
set security /acl=(identifier=WASD_HTTP_SERVER,access=read) [-]usuario.DIR

Acto seguido crea un fichero index.html o bien transfierelo a traves de FTP. Podras crear subdirectorios adicionales dentro de [WWW] si lo deseas.

Editor EVE

EVE (Editor Versatil Extensible) es el editor por defecto de OpenVMS. Soporta editar multiples ficheros, ventanas.

Para iniciar una sesion de edicion con Eve:

$ EDIT/TPU [filename]

Teclado Nomerico

Una caracteristica de los editores de DEC es el uso del teclado numerico de la terminal para operaciones frecuentes. Es esencial tener conocimiento de las mismas para ser eficiente con el editor.

El mapeo de las funciones depende del teclado fisico. Se asume el uso de Putty.

Tecla Comando Tecla Dorada (BloqNum)
Ins Insertar Remover
Inicio Buscar Busqueda salvaje
RePag Prev Scr Prev Win
Supr Remove Store
Fin Selecciona Reset
AvPag Siguiente pantalla Siguiente Ventana
BloqNum Buscar
/ Ayuda
* Cambiar directorio
- Hacer
7 Seleccionar
8 Remover
9 Insertar
+ Borrar palabra
5 Flecha Arriba
1 Flecha izq.
2 Flecha Abajo
3 Flecha Der.
0 Pantalla previa
. Pantalla Siguiente
Flecha Arriba Comienzo documento
Flecha Izq Inicio de linea
Flecha Derecha Final de Linea.
Flecha abajo Final de Documento

La tecla dorada GOLD era una tecla prefijo similar a Mayusculas o Ctrl que era caracteristica de muchos modelos de la serie DEC VT. Se podian realizar varias operaciones utiles utilizando combinaciones con tecla Gold, pero la configuracion por defecto de EVE no define un mapeado para la tecla misma, de modo que el usuario debe definir el mapeado de la tecla Gold para hacer que estas funciones. Ejecute el siguiente comando de EVE para mapear la tecla Gold a la tecla F1.

SET GOLD KEY F1

Function and control keys

Funciones y combinaciones de teclas

F10, Ctrl+z Guarda y sale del editor
Ctrl+j Borra palabra
Ctrl+u, Ctrl+x Borra inicio de linea hasta la posicion del cursor.
Ctrl+v cita inserta caracter de control
F11 Conmuta la direccion de busqueda y mover linea
F12 Siguiente linea (depende de la direccion)
Ctrl+e Final de linea
Ctrl+h Comienzo de linea
Ctrl+a INSERT OVERSTRIKE Conmuta modo Insercion/sobreescribir
Ctrl+B RECALL Recuerda comando previo de EVE
Ctrl+K LEARN comienza a grabar macro
Ctrl+R REMEMBER remina grabacion de macros

Comandos de EVE

Todas las funcionalidades de EVE pueden accederse a traves de comandos. Abra la linea de comandos de EVE con la tecla - del teclado numerico (en Putty), en otros emuladores pueden ser F4, Mayusculas+F6, Ctrl+F6). En la linea de comandos de EVE podra conmutar en el historial de comandos con las flechas de cursor arriba/abajo. Algunos comandos tinene multiples palabras, pero cada palabra puede abreviarse con su prefijo unico.

La mayoria de los comandos mas frecuentes han sido mapeados a las teclas del teclado numerico, y algunos comunados utiles no mapeados son estos:

QUIT Descarta las ediciones y finaliza la sesion de edicion
GET FILE Abre fichero en un nuevo buffer de edicion
NEXT BUFFER pasa al siguiente buffer
PREVIOUS BUFFER pasa al buffer anterior
TWO WINDOW Divide ventana en dos paneles
ONE WINDOW Cierra todos los paneles que no sean el actual
HELP Activa el sistema de ayuda en linea de EVE

Personalizacion

EVE es altamente configurable. Los comandos de personalizacion se almacenan en el fichero EVE$INIT.EVE de su directorio de login, y se ejecutan cada vez que inicia EAVE.

Correo electronico en DECUS

DECUS ofrece una casilla de correo electronico de 10MB de capacidad. Puedes utilizarla con el comando PINE.

Tambien puedes utilizarla con el subsistema de correo electronico MAIL.

Pine

El Pine es un antiguo cliente de correo electronico sencillo, que opera por menues

Subsistema Mail

Ingresa MAIL para ingresar al subsistema de correo. El prompt sera:

MAIL>

Dentro del subsistema puedes solicitar ayuda con el comando HELP. Abandona el subsistema de correo con el comando exit.

Si eliminas los correos electronicos con Pine, estos quedaran temporalmente almacenados en el directorio MAIL.DIR a modo de papelera. Para eliminarlos definitivamente ingresa a MAIL y utiliza el comando PURGE.

Usar Kermit en VMS

Kermit es un programa de emulacion de terminal y de transmision de ficheros, es un producto de la Distribucion Kermit, del Columbia University Academic Information Systems. Este documento explora el Kermit VMS - referido como C-Kermit - y Kermit para Linux (Kermit o PC Kermit).

Loguearse

Kermit esta configurado de manera que al ejecutarse, se conecta automaticamente al servidor de terminal. Desde este momento es cuestion de presionar tecla Intro varias veces hasta que aparezca el prompt SERVIDOR>, al tipear su nombre de usuario y pulsar tecla intro. Luego cuando el prompt LOCAL> aparezca, para conectarse tipee C. Si no aparece el prompt USUARIO> tras presionar 3 o 4 veces Intro contacte al sysadmin de VMS.

Desconectarse

Desconectar y apagar Kermit es mas dificultoso que iniciarlo. Es un proceso de multiples pasos:

  1. Deslogueese de la VAX: en el prompts $ ingrese LO.
  2. Deslogueese del servidor de ficheros ingresando LO.
  3. Presione Ctrl+].
  4. Cuando surja el prompt KERMIT > tipee EXIT.
Comandos utiles para PC Kermit

Necesitara conmutar al prompt de comandos de PC Kermit (KERMIT >) presionado Ctrl+]. ¡Recuerde que aun esta logueado VMS!.

cd nombredirectorio cambia de directorio
dir' le da un listado de los ficheros del directorio
del ficheroPC borra un fichero
push ejecuta una shell de Linux/DOS por encima de Kermit. Tipee EXIT cuando haya concluido.
help ejecuta la ayuda incorporada.

Usar Kermit para transferir ficheros

Trasferir ficheros con Kermit involucra correr tanto las versiones para VMS (C-KERMIT >) y PC (KERMIT>) y hacer que se comuniquen entre si. Existen dos maneras de hacerlo:

Metodo de Operacion Automatica de Kermit

La operacion automatica de Kermit involucra poner VMS Kermit (C-KERMIT) en modo Servidor. Esto puede hacerse ya sea ingresando KERMIT -X en el prompt $ o bien SERVER si ya esta ejecutnado C-KERMIT (tendra el prompt C-KERMI> en VMS). Esto vuelve a C-KERMIT un esclavo de PC Kermit y es mas facil para trabajar. Una vez que esto se ha hecho, podra indicar los siguientes comandos:

  1. Tipee Ctrl+] para obtener el promtp KERMI> en la PC.
  2. GET ficheroVMS transfiere un fichero de VMS a su PC
  3. SEND ficheroPC transfiere un fichero desde su PC a VMS.
  4. FINISH seguida de c finaliza C-Kermit & lo devuelve a VMS.

Mientras C-Kermit se encuentra en modo servidor, tambien puede tipear en el prompt PC KERMIT > :

  • REMOTE DIR para obtener un listado de directorio de VMS
  • REMOTE DEL VMSFILENAME.* para borrar un fichero de VMS.
  • y muchos otros comandos remotos mas.

Metodo de Transferencia Manual

Transferencia desde VMS a PC
  1. En el prompt $ de VMS tipee KERMIT. Aparecera el prompt C-KERMIT >. Tipee
  2. SEND VMSfilename para enviar un fichero
  3. Tipee Ctrl+] para obtener el prompt KERMIT > en la PC.
  4. Tipee RECEIVE. (podria quere hacer un cd desde PC-Kermit primero)
  5. Tipee c en el prompt KERMIT > para conectar a VMS nuevamente.
  6. Tipee quit para salir de C-KERMIT.

Los nombres largos de fichero seran truncados.

Transferencia PC a VMS
  1. En el prompt $ de VMS ingrese KERMIT. Aparecera el prompt C-KERMIT >.
  2. Tipee RECEIVE.
  3. Tipee Ctrl+] para obtener el promt KERMIT > en la PC.
  4. Escriba SEND PCfilename
  5. En el prompt KERMIT > tipee c para contectar a VMS nuevamente.
  6. Tipee quit para salir de C-KERMIT.

Documentacion

El manual puede conseguirse online, pero esta disponible en formato HTML desde la antigua web de Compaq (actualmente disponible desde HP).

Podran encontrar las secciones e indice de base en aqui.

En tanto que podran dirigirse al uso de DCL desde esta seccion del mismo manual o en la Wiki de VMS.