===== Tutorial de OpenVMS 8.4 en DECUS.org ===== ====Introducción==== DECUS.org, el grupo de interés en las máquinas de [[digital equipment corporation|DEC]], ha puesto en línea y a disposición del público general infraestructura de cómputo DEC Alpha 520, ofreciendo la creación de cuentas públicas de acceso remoto a intérprete de comandos con el sistema [[vms|OpenVMS]]. >Gracias a esta DECUS podrás aprender a utilizar VMS accediendo remotamente desde nuestra comunidad texto-plano.xyz. ===Crea tu cuenta en DECUS=== Da de alta una cuenta a título individual, utilizando tu cliente Secure Shell (SSH) mediante: ssh REGISTRATION@eisner.decus.org -p 22867 Ingresarás al sistema remoto de registro. Cuando este te solicite contraseña __no ingreses ninguna__ y simplemente presiona **ENTER**. A continuación se activará el //programa de registro//, que consta de varias pantallas. Se te solicitará ingresar un //nombre de usuario// y proporcionar una casilla de correo electrónico válida (puedes utilizar la de texto-plano). También debes indicar un tipo de editor deseado (normalmente uno denominado LSE), tras lo cual se desconectará el sistema remoto de registro. Una vez recibido un correo de parte de DECUS.org conteniendo una //contraseña pasavante//, podrás conectar a tu cuenta de OpenVMS remoto. ===Loguearse a DECUS.org=== Loguéate a la máquina remota de DECUS con: ssh usuario@eisner.decus.org -p 22867 Tras ingresar la contraseña provista por DECUS, se iniciará el intérprete 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 básico de DCL ===== El DCL, o **Lenguaje de Comandos de Digital**, es el intérprete de comandos típico de VMS. DCL presenta un conjunto de instrucciones en inglés que el usuario ingresa para comandar al sistema operativo (en este caso OpenVMS). Constaba de más de 200 comandos y funciones. Al igual que otros intérpretes posteriores como [[Bash]], los comandos en DCL se ingresan en dos formas. La más común es la manera //interactiva//, en la cual se escriben en la terminal de manera insensible a mayúsculas. Generalmente se usan secuencias de comandos y modificadores. La otra forma es en //en lotes//, equivalente a la creación de programas y guiones de programación (scripts). Nos concentraremos en la primera manera. Asimismo, DCL tiene varias combinaciones de control que interrumpen o anulan la ejecución de comandos. ^^^ | **Atajo** | **Resultado en DCL** | | **Ctrl+z** | Sale de un comando de DCL | | **Ctrl+c** | interrumpe la ejecución de un comando (pero lo deja en memoria). | | **Ctrl+b** | Repite el comando anterior. | | **Ctrl+a** | Conmuta entre modo Inserción 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 continúa el flujo de texto. | === Ayuda en línea === El DCL es difícil de usar, pero dispone de una //ayuda arbolada jerarquizada//. Ingresa ''HELP'' para ingresar al subsistema de ayuda. También 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// escribiéndolos por su nombre indicado, y a su vez cada tema podría presentar nuevas temáticas de ayuda relacionadas. Si oprimes **Intro** generalmente retrocedes un nivel. Al volver al nivel inicial del subsistema de ayuda, abandonarás el mismo y quedaremos depositados nuevamente en el prompt ''$'' del DCL. Recuerda que siempre podrás salir del subsistema de ayuda (y muchos otros programas ejecutados por DCL) con **Ctrl+z**. ==== Comandos Comunes en DCL ==== Hay muchísimos 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 operación 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 sesión remota, logout, exit | | **print** | envia un fichero especificado a la impresora | | **rename** | cambia el nombre o la localización 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 recibirá una carpeta de usuario localizada dentro de la carpeta ''DECUSERVE_USER'', que generalmente se encuentra en una partición en una unidad de disco del sistema, como por ejemplo ''DSA3:''. DCL es idiosincrásicamente 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 árbol. 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 más sencillo, su la abreviación **dir**. Por ejemplo, si quisiéramos crear un directorio llamado ''prueba'' en nuestra carpeta de usuario, deberíamos usar: $ CREATE /DIR [DECUSERVE_USER.USUARIO.prueba] Para comprobar su creación efectiva, ingresamos el comando **dir**. Deberíamos 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 quisiéramos usar un equivalente al comando pwd de UNIX ("presentar directorio actual"), debemos usar: $ SHOW default Se nos hará obvio que todos los archivos cuentan con un //sufijo de versión//, indicado con '';''. Por ejemplo: ''archivo.txt;1'', ''archivo.txt;2'', etcétera. De esta manera podremos contar con múltiples versiones de un mismo fichero. Siempre se activa la última, pero se conservan en disco las versiones anteriores. Si queremos eliminar un fichero se usa el comando ''DELETE'', pero debemos especificar cuál versión 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 última, podremos utilizar el comando ''PURGE''. Para borrar el directorio creado tenemos que retroceder al nivel anterior en el árbol (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 borrarás con: $ delete prueba.dir;1 === Crear un fichero finger === OpenVMS cuenta con la utilidad [[finger]]. Para crear tu fichero ''.plan'' podrás aprovechar y aprender utilizar el editor de texto visual "LSE". Ingresa a él 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 operación. En este caso simplemente escribiremos un texto que deseemos. Cuando finalicemos de hacerlo, presionaremos **Ctrl+z**. Esto nos desplazará a la sección inferior para ingresar los comandos de operación, lo cual se nos hará patente por medio del //prompt// ''LSE>''. En él ingresaremos **exit**. El editor LSE te solicitará el nombre de archivo a fin de guardarlo con dicha denominación y salir al intérprete DCL. Introduce el nombre ''.plan'' y presiona la **tecla Intro**. Esto cerrará el editor LSE y nos retornará 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 quién está online === Podrás 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 Podrás chatear en línea con dicho usuario mediante el programa **phone**. Utiliza: $ phone usuario El usuario recibirá el alerta y podrá tocar la combinación indicada en pantalla para responder. Al aceptar se presentará 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 estás. 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 muchísimos comandos de este tipo, pero tal vez el más 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 [[world_wide_web|página web]] de usuario. La URL base para dicha página web será http://eisner.decus.org/~usuario. La web se almacena en el subdirectorio WWW localizado en nuestro directorio de usuario. Podrás 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 transfiérelo a través de [[FTP]]. Podrás crear subdirectorios adicionales dentro de ''[WWW]'' si lo deseas. ==== Correo electrónico en DECUS ==== DECUS ofrece una casilla de correo electrónico de 10MB de capacidad. Puedes utilizarla con el comando ''PINE''. También puedes utilizarla con el subsistema de correo electrónico ''MAIL''. ===Pine=== El Pine es un antiguo cliente de correo electrónico sencillo, que opera por menúes ===Subsistema Mail=== Ingresa ''MAIL'' para ingresar al subsistema de correo. El prompt será: MAIL> Dentro del subsistema puedes solicitar ayuda con el comando HELP. Abandona el subsistema de correo con el comando ''exit''. > Si eliminas los correos electrónicos con Pine, estos quedarán temporalmente almacenados en el directorio MAIL.DIR a modo de papelera. Para eliminarlos definitivamente ingresa a **MAIL** y utiliza el comando ''PURGE''. ====Documentación==== El manual puede conseguirse online, pero está disponible en formato HTML desde la antigua web de Compaq (actualmente disponible desde HP). Podrán encontrar las secciones e índice de base en aquí. En tanto que podrán dirigirse al uso de DCL desde esta sección del mismo manual o en la [[https://wiki.vmssoftware.com/Category:DCL_Commands|Wiki de VMS]].