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 |
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:
- Deslogueese de la VAX: en el prompts
$
ingreseLO
. - Deslogueese del servidor de ficheros ingresando
LO
. - Presione Ctrl+].
- Cuando surja el prompt
KERMIT >
tipeeEXIT
.
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:
- Tipee Ctrl+] para obtener el promtp
KERMI>
en la PC. GET ficheroVMS
transfiere un fichero de VMS a su PCSEND ficheroPC
transfiere un fichero desde su PC a VMS.FINISH
seguida dec
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 VMSREMOTE DEL VMSFILENAME.*
para borrar un fichero de VMS.- y muchos otros comandos remotos mas.
Metodo de Transferencia Manual
Transferencia desde VMS a PC
- En el prompt
$
de VMS tipeeKERMIT
. Aparecera el promptC-KERMIT >
. Tipee SEND VMSfilename
para enviar un fichero- Tipee Ctrl+] para obtener el prompt
KERMIT >
en la PC. - Tipee
RECEIVE
. (podria quere hacer uncd
desde PC-Kermit primero) - Tipee
c
en el promptKERMIT >
para conectar a VMS nuevamente. - Tipee
quit
para salir de C-KERMIT.
Los nombres largos de fichero seran truncados.
Transferencia PC a VMS
- En el prompt
$
de VMS ingreseKERMIT
. Aparecera el promptC-KERMIT >
. - Tipee
RECEIVE
. - Tipee Ctrl+] para obtener el promt
KERMIT >
en la PC. - Escriba
SEND PCfilename
- En el prompt
KERMIT >
tipeec
para contectar a VMS nuevamente. - 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.