Appunti VAX VMS

edit dei files

intanto usa vmsterm (in fondo a questo doc) per connetterti. usa xterm!

poi,

edit /edt nomefile

all'asterisco, scrivi CHANGE

editi visualmente!

quando hai finito, ctrl-z

torna all'asterisco, scrivi exit, e lui salva.

NOTA: SU VMSTERM/XTERM, IL CUT'N PASTE DA MOUSE FUNZIONA COL TASTO CENTRALE SUL MIO THINKPAD.

recall dei comandi / history

recall /all

Dove stanno i files

alias cagate e definizioni stanno dentro

SYS$SYSCOMMON:[SYSMGR]SYLOGIN.COM 

cercare:

SNORRY::SYSTEM$ set def [000000]
SNORRY::SYSTEM$ dir [...]games*;*

$ DIR [.mydirectory...]my*file.spec*;*

would find any file beginning with MY followed by any sequence, ending
its name with FILE, and with its type specification beginning with
SPEC in MYDIRECTORY and all the tree down inside.

$ DIR $Disk:[user...]myfile.typ;4

would search for 4th version of MYFILE.TYP in all the USER's directory
tree.

$ DIR $Disk:[user.*...]myfile.typ

would look inside all subdirectories AND their subtrees in USER.

        Furthermore, since this feature is one of DIRECTORY SPECIFICATION
and no of DIR, you can use it for any program that allows ambiguous file
specification (e.g.):

$ SEARCH [...]*.*;* MY_SEARCH_SEQUENCE

would search in all the files contained in the directory tree that hangs
from the current directory for "my_search_sequence" and report all the
files that contain it.

Snorry: 

stanno in dua0:[games]

dua0:[GAMES.STARTREK]STARTREK.EXE

startrek.com deve avere i path giusti all'interno (dua0: nell'emulatore)


Glorry:

dua0:[games]

molti eseguibili .com puntano a dka200: che era di glorry, va settato a dua0: 

vax.ini dell'emulatore simh glorry

set log ./glorry.log
load -r ./ka655.bin
attach nvr ./nvram.bin

set cpu 64m
set cpu idle
set rq0 ra92
attach rq0 ./glorry.img

; disable unused stuff
; rl01/02
set rl disable
; magtape
set ts disable
; floppy lo abilito
set ry disable

; deqna is faster!
SET XQ TYPE=DEQNA
set xq mac=08-00-2B-0C-AC-CA
attach xq eth2

; create a tape device, you never know
set tq enable
set tq tk70
att tq0 mua0.tape

; se attivi questo, perdi lo schermo qua sotto screen
; set console telnet=17100

set cpu conhalt
dep bdr 0
boot cpu
exit

you need the correct ka655.bin or ka655xbin or whatever the hell your fucking simh version need, to avoid a lot of diag / boot errors!

call it "vax.ini" in the same dir of the disk image,

launch vax from root user

With the above setup, vax will boot automagically. If you need to tweak and boot manually, simply write

boot dua0:

at the simh prompt.

ET VOILA', AVEC LA MERDE

ethernet holocaust

vax.ini ha settato "eth0". su corazzini parte da eth3 PERCHE' UDEV MERDA PORCODIO.

ma eth0 viene visto su eth3, che ha l'ip di corazzini.

ora se tiri su anche eth4 ed eth5, puoi avere altri vax.ini su eth1 ed eth2.

HAI CAPITO PORCODIO?

Creare utenti by Gerry

N.B. Tutto questo funziona a patto che l'utente DEFAULT non abbia subito modifiche "strane" e che SYS_USERS sia un nome logico valido

In AUTHORIZE

Cercare il primo UIC (ottale!) libero con

SHOW [200,*]/BRIEF

poi

ADD <utente>/PASSWORD=<qualcosa>/OWNER="Nome Utente"/ACCOUNT=USERS/UIC=[200,<qualcosa>]/DEVICE=SYS_USERS/DIRECTORY=[<utente>]/NOPWDLIFETIME/FLAG=NODISUSER

ADD/PROXY *::<utente> <utente>/DEFAULT

In DISKQUOTA (se le quote sono attive, cfr. QUOTA.SYS)

Uno solo dei seguenti in base alle esigenze:

ADD [<utente>] (così aggiunge con i default presi da [0,0])

ADD [<utente>]/PERMQUOTA=<qualcosa>/OVERDRAFT=<qualcosa> (se si omette uno dei due qualificatori, per quel valore prende i default da [0,0])

Al prompt (dopo aver creato l'utente)

CREATE/DIRECTORY SYS_USERS:[<utente>]/OWNER=[<utente>]

Licenze vax/vms

IMPORTANTE NON FARLE SCADERE ALTRIMENTI I CAZZI IN CULO SI MOLTIPLICANO A DISMISURA

sucati le licenze da decus usa, anzi no, da montagar.com, anzi no, da encompass, anzi no! da https://www.hpe.com/h41268/live/index_e.aspx?qid=24548

usa i numeri decus:

<suco> guarda e' qui
<asbesto> asbesto@gemini:~/licenzevms$ ls
<asbesto> cazzo  glorry  glorry~  howto  snorry  snorry~
<asbesto> asbesto@gemini:~/licenzevms$
<suco>  /AUTHORIZATION=DECUS-USA-904422-1257142 -
<asbesto> perfetto, allora ce l'ho
<suco> 904422
<suco> e' il mio id
<asbesto> snorry:/AUTHORIZATION=DECUS-USA-908286-1224202 -
<asbesto> bene
<suco> quello al momento e' l'unica cosa che ti serve per generare le licenze

se le licenze sono gia' scadute devi caricare come prima cosa UCX, che e' il tcpip.

Gerardo Cacciari, [23.03.19 12:47]
dicevo: il db delle licenze è l'unico file *.ldb in sys$system
e dicevo anche che però in caso di cluster bisogna stare piu attenti a quel che si fa
ma visto che questo non è un cluster basta cancellare fisicamente quel file

GLORRY::SYSTEM$ dir sys$system:*.ldb.*

Directory SYS$COMMON:[SYSEXE]

LMF$LICENSE.LDB;1

Total of 1 file.
GLORRY::SYSTEM$

GLORRY::SYSTEM$ del/conf sys$system:LMF$LICENSE.LDB;1
DELETE SYS$COMMON:[SYSEXE]LMF$LICENSE.LDB;1 ? [N]: y
GLORRY::SYSTEM$



ora creare database nuovo: dare semplicemente

LIC CRE

Gerardo Cacciari, [23.03.19 13:00]
ora carichi le licenze che ti servono, quelle fondamentali
vms tcp e decnet
rispettivamente

vax-vms ucx dvnetend


creo un fiile con dentro ste 3 licenze, copy/paste in un .com:

Gerardo Cacciari, [23.03.19 13:07]
non importava il resto, i vari enable e disable
l'importante sono i license register
il resto non serve a niente e fa solo casino
tanto non hai licenze caricate e non hai licenze nel db (dato che è nuovo)

quindi solo le tre parti LICENSE REGISTER

crea peto.com
(copy/paste)
CTRL-Z

dopodiche' lancio

@peto

poi LIC LOAD

e le carica tutte

con SH LIC vedi le licenze caricate.

eventualmente (glorry) vedi anche licenze infinite che sono rimaste in memoria ma non stanno piu' nel DB che e' stato cancellato prima.

se ora riavvio, vien su con quelle licenze caricate :)

ma carichiamo le 4 licenze infinite di glorry:

GLORRY::SYSTEM$ set def dua0:[data.lic]
GLORRY::SYSTEM$ dir

Directory DUA0:[DATA.LIC]

BLISS_PAK.COM;1     DIBOL_PAK.COM;1     FTSV_PAK.COM;1      SCAN_PAK.COM;1
VMS_PAKS_END_20110719.BCK;1             VMS_PAKS_END_20140124.COM;1
VMS_PAKS_END_20160513.COM;1             VMS_PAKS_END_20170714.COM;1

Total of 8 files.
GLORRY::SYSTEM$

quindi eseguo @bliss_pak etc. etc. 


e poi RIAVVIARE!!!

al riavvio puoi settare il TCPIP. 


POI carichi il file delle licenze, infine, con ftp, su una tua utenza, ci vai e lo lanci

Gerardo Cacciari, [23.03.19 15:00]
SNORRY::RPT$ sho log users
   "USERS" = "SYS_DISK:[USERS]" (LNM$SYSTEM_TABLE)
SNORRY::RPT$ sho log sys_users
   "SYS_USERS" = "SNORRY$DKA0:[USERS.]" (LNM$SYSTEM_TABLE)
SNORRY::RPT$

Gerardo Cacciari, [23.03.19 15:00]
Uno è rooted e l'altro no

ergo

set def sys_users
set def [asbesto]

@filedelcazzo

e attendi

SE hai rete / ti sei ricordato prima della scadenza:

crea un file con le licenze base e layered insieme, ascii

entra nel vax da system

sucati con ftp IN ASCII il file delle licenze

rinominalo .com

poi:

lic dis *
lic del *
@nomedelfile.com
lic load
lic ena *

fine!

Configurazione tcpip

lancia @sys$manager:tcpip$config

va solo cambiata l'interfaccia, per glorry, poiche' ha gia' i settings. ora e' su emu ed e' differente

poi va eliminata la vecchia interfaccia di glorry, che pare essere ze0

vedi tutto da "tcpip", "sh int" "sh con int"

ergo

set conf nointerf ze0

exit o ctrl-z e tcpip e' a posto!

riavviare tcpip per vedere se ci sono errori strani lo fai dal menu di @sys$manager:tcpip$config

ora, DECNET E BRIDGE SEMENTALE

Problemi al disco

anal /disk

ana/disk/repair

porcoddio

decnet settings

$! RPT 23-MAR-2019
$
$  ON ERROR THEN GOTO END_LOOP
$  ON CONTROL_Y THEN GOTO END_LOOP
$
$  DEFINE/USER SYS$OUTPUT NL:
$  DEFINE/USER SYS$ERROR NL:
$  DELETE/NOLOG POST_DECNET_SETUP.TMP;*
$
$  MCR NCP SHOW KNOWN LINES TO POST_DECNET_SETUP.TMP
$  OPEN/READ LINE_LIST POST_DECNET_SETUP.TMP
$
$LOOP:
$  READ/END=END_LOOP LINE_LIST LINE_ENTRY
$
$  LINE_ITEM = F$EDIT(LINE_ENTRY,"TRIM,COMPRESS")
$  LINE_ITEM = F$ELEMENT(0," ",LINE_ITEM)
$
$   IF (LINE_ITEM .EQS. "") .OR. -
       (LINE_ITEM .EQS. "Known") .OR. -
       (LINE_ITEM .EQS. "Line") THEN GOTO LOOP
$
$  MCR NCP SET    CIRCUIT 'LINE_ITEM' STATE OFF
$  MCR NCP SET    LINE    'LINE_ITEM' STATE OFF
$
$  MCR NCP SET    LINE    'LINE_ITEM' BUFFER SIZE 1456
$  MCR NCP DEFINE LINE    'LINE_ITEM' BUFFER SIZE 1456
$  MCR NCP SET    CIRCUIT 'LINE_ITEM' HELLO TIMER 90
$  MCR NCP DEFINE CIRCUIT 'LINE_ITEM' HELLO TIMER 90
$
$  MCR NCP SET LINE       'LINE_ITEM' STATE ON
$  MCR NCP SET CIRCUIT    'LINE_ITEM' STATE ON
$
$  GOTO LOOP
$
$END_LOOP:
$  CLOSE LINE_LIST
$  DELETE/NOLOG POST_DECNET_SETUP.TMP;*
$
$  EXIT

vmsterm

vmsterm

funge bene, usa xterm, permette EDIT da rt11!!!

#               vmsterm
#               from an original script by Bob Ess
#               key translations by Erik Ahlefeldt
#
#               Script file using Xterm and telnet to connect to a VMS host
#               and give a decent vt220 emulation.
#
#               Some adjustment made by asbesto@freaknet.org
#               25-DEC-2014
#
# Usage statement
Usage(){
        echo
        echo " Usage  : vmsterm -options"
        echo
        echo " Options: -80   for 80 column terminal"
        echo "          -132  for 132 column terminal"
        echo "          -bg colorname"
        echo "          -fg colorname"
        echo "          -fn fontname"
        echo "          -fb bold fontname"
        echo "          -host [crusher.saltmine.com] [earth] [192.168.7.7]"
        echo ""
        echo " Example: \"vmsterm -80 -fg white -bg black -fn 9x15 -fb 9x15b -host earth\""
        echo "          Starts a VMS session with an 80 column terminal"
        echo "          with a black background, white foreground, a normal"
        echo "          font of 9x15 and a bold font of 9x15b, and connects"
        echo "          to the node 'earth'"
        echo ""
        echo " Example: \"vmsterm -host earth portnum\""
        echo "          Starts a VMS session with default terminal settings "
        echo ""
        echo " Example: \"vmsterm -help\""
        echo "          Displays vmsterm options "
        echo
        exit 1
}
 
# Default to a black foreground with a white background.
# Use the 9x15 and 9x15bold fonts. Connect to 192.168.3.3 by default.
#
FG=black
BG=white
HOST="museo.freaknet.org"
PORT="1134"
FONT=9x15
BFONT=9x15bold
COLS=80
 
# Parse the command line arguments
#
while [ $# != 0 ];
do
        case $1 in
                -80)    COLS=80
                        FONT=spc12x24c
                        BFONT=spc12x24b
                        shift
                        ;;
                -132)   COLS=132
                        FONT=9x15
                        BFONT=9x15b
                        shift
                        ;;
                -fg)    shift
                        FG=$1
                        shift;;
                -bg)    shift
                        BG=$1
                        shift;;
                -fn)    shift
                        FONT=$1
                        shift;;
                -fb)    shift
                        BFONT=$1
                        shift;;
                -host)  shift
                        HOST=$1
                        shift;;
                -port)  shift
                        PORT=$1
                        shift;;
                -help)  Usage;;
                *)      Usage;;
        esac
done

xterm   -title "VMSTERM" -sb -sl 1000 -geo ${COLS}x24 -fg ${FG} -bg ${BG} \
        -cr blue -fn ${FONT} -fb ${BFONT} -xrm \
        'XTerm*VT100.translations: #override \n \
        ~Shift  <Key>F1:        string(0x1b)    string("OP") \n \
        ~Shift  <Key>F2:        string(0x1b)    string("OQ") \n \
        ~Shift  <Key>F3:        string(0x1b)    string("OR") \n \
        ~Shift  <Key>F4:        string(0x1b)    string("OS") \n \
        ~Shift  <Key>F5:        string("Break") \n \
        ~Shift  <Key>F6:        string(0x1b)    string("[17~") \n \
        ~Shift  <Key>F7:        string(0x1b)    string("[18~") \n \
        ~Shift  <Key>F8:        string(0x1b)    string("[19~") \n \
        ~Shift  <Key>F9:        string(0x1b)    string("[20~") \n \
        ~Shift  <Key>F10:       string(0x1b)    string("[21~") \n \
        ~Shift  <Key>F11:       string(0x1b)    string("[23~") \n \
        ~Shift  <Key>F12:       string(0x1b)    string("[24~") \n \
        Shift   <Key>F1:        string(0x1b)    string("[23~") \n \
        Shift   <Key>F2:        string(0x1b)    string("[24~") \n \
        Shift   <Key>F3:        string(0x1b)    string("[25~") \n \
        Shift   <Key>F4:        string(0x1b)    string("[26~") \n \
        Shift   <Key>F5:        string(0x1b)    string("[28~") \n \
        Shift   <Key>F6:        string(0x1b)    string("[29~") \n \
        Shift   <Key>F7:        string(0x1b)    string("[31~") \n \
        Shift   <Key>F8:        string(0x1b)    string("[32~") \n \
        Shift   <Key>F9:        string(0x1b)    string("[33~") \n \
        Shift   <Key>F10:       string(0x1b)    string("[34~") \n \
        Shift   <Key>F11:       string(0x1b)    string("[28~") \n \
        Shift   <Key>F12:       string(0x1b)    string("[29~") \n \
                <Key>Print:     string(0x1b)    string("[28~") \n \
                <Key>Cancel:    string(0x1b)    string("[29~") \n \
                <Key>Pause:     string(0x1b)    string("Om") \n \
                <Key>Insert:    string(0x1b)    string("[2~") \n \
                <Key>Delete:    string(0x1b)    string("[3~") \n \
                <Key>Home:      string(0x1b)    string("[1~") \n \
                <Key>End:               string(0x1b)    string("[4~") \n \
                <Key>Prior:     string(0x1b)    string("[5~") \n \
                <Key>Next:      string(0x1b)    string("[6~") \n \
                <Key>BackSpace: string(0x7f)    \n \
                <Key>Num_Lock:  string(0x1b)    string("OP") \n \
                <Key>KP_Divide: string(0x1b)    string("OQ") \n \
                <Key>KP_Multiply: string(0x1b)  string("OR") \n \
                <Key>KP_Subtract: string(0x1b)  string("OS") \n \
                <Key>KP_Add:    string(0x1b)    string("Ol") \n \
                <Key>KP_Enter:  string(0x1b)    string("OM") \n \
                <Key>KP_Decimal: string(0x1b)   string("On") \n \
                <Key>KP_0:      string(0x1b)    string("Op") \n \
                <Key>KP_1:      string(0x1b)    string("Oq") \n \
                <Key>KP_2:      string(0x1b)    string("Or") \n \
                <Key>KP_3:      string(0x1b)    string("Os") \n \
                <Key>KP_4:      string(0x1b)    string("Ot") \n \
                <Key>KP_5:      string(0x1b)    string("Ou") \n \
                <Key>KP_6:      string(0x1b)    string("Ov") \n \
                <Key>KP_7:      string(0x1b)    string("Ow") \n \
                <Key>KP_8:      string(0x1b)    string("Ox") \n \
                <Key>KP_9:      string(0x1b)    string("Oy") \n \
        ~Shift  <Key>Up:                string(0x1b)    string("[A") \n \
        Shift   <Key>Up:                scroll-back(1,lines) \n \
        ~Shift  <Key>Down:      string(0x1b)    string("[B") \n \
        Shift   <Key>Down:      scroll-forw(1,lines) \n \
                <Key>Right:     string(0x1b)    string("[C") \n \
                <Key>Left:      string(0x1b)    string("[D")' \
o        -e telnet $HOST $PORT



CategoryMuseo