Discussion:
deltree und diverses
(zu alt für eine Antwort)
Dennis Grevenstein
2011-07-20 13:34:54 UTC
Permalink
Hallo,

Ich habe eine neue Maschine unter 8.3 frisch hochgezogen,
Compiler sind drauf und ein bischen freeware. Ich habe mich
fuer 8.3 statt 8.4 entschieden, weil ich als Hobbyist ja
keinen Zugriff auf aktuelle patches habe und da schien mir
ein 8.3 mit Stand Juli 2010 sinnvoller als ein ungepatchtes
8.4.
Ich wollte dann deltree installieren aus den freeware
Archiven von HP. Das bringt mir aber egal, was ich mache
folgenden Fehler:

$ deltree
%CLI-F-SYNTAX, error parsing 'ABOUT'
-CLI-E-ENTNF, specified entity not found in command tables
%TRACE-F-TRACEBACK, symbolic stack dump follows
image module routine line rel PC abs PC
DCL 0 000000000009A0C0 000000007AFA20C0
DCL 0 0000000000099104 000000007AFA1104
0 FFFFFFFF80086658 FFFFFFFF80086658
DCL 0 000000000009A0C0 000000007AFA20C0
0 FFFFFFFF80086658 FFFFFFFF80086658
XYZ_DELTREE 0 0000000000022574 0000000000022574
XYZ_DELTREE DELTREE command_line 18614 00000000000006CC 00000000000206CC
XYZ_DELTREE DELTREE main 19144 0000000000001A84 0000000000021A84
XYZ_DELTREE DELTREE __main 19086 0000000000001954 0000000000021954
0 FFFFFFFF8037FCE4 FFFFFFFF8037FCE4
%TRACE-I-END, end of TRACE stack dump

Ich habe es mit selbst compilieren versucht, aber geaendert
hat das nichts. Seit dem Neucompilieren kam nur der traceback
dazu. Ich weiss, dass ich genau so ein Problem schon frueher
mal hatte und es nicht geloest bekommen habe. Ich bin dann
auf ein anderes deltree umgestiegen, aber ich weiss nicht
mehr welches.
Kann mir da jemand helfen?

HP C V7.3-009 on OpenVMS Alpha V8.3

BTW: Ich habe es doch glatt geschafft einen alten tin unter
einem aktuellen VMS zu laufen zu bekommen. Seit 7.2-1 hat
das nicht mehr funktioniert, aber nun habe ich binaries
gefunden, die noch funktionieren. Wie war das eigentlich
mit der Softwarekompatibilitaet unter VMS? War es nicht
sogar so, dass alte Software problemlos und eigentlich
immer auch auf neueren Versionen laufen sollte?

BTW2: kennt jemand noch eine gute Dokumentation zum
Thema volume shadowing abseits des offiziellen manuals
"HP Volume Shadowing for OpenVMS, Sep 2003"?

BTW3: benutzt zufaellig jemand MacOS X und loggt sich
damit auf VMS ein? Irgendwie kann VMS mit einem $TERM
wie xterm oder xterm-color nur begrenzt was anfangen.

BTW4: wenn ich ein echtes VT220 an der Maschine
betreiben will, wie kann ich das Ding an den zweiten
seriellen port haengen und die Geschwindigkeit von
9600 auf 38400 umstellen? Den ersten seriellen port
will ich bei 9600 lassen und weiterhin als system
console haben.
"set term/speed=38400/perm opa2" in SYSTARTUP_VMS.COM
eintragen? Mein Alphaserver DS10 kennt OPA0, OPA2 und
OPA3. Welches ist denn nun das richtige Terminal, wenn
die Kiste doch nur zwei serielle ports hat?

gruss,
Dennis
--
Don't suffer from insanity...
Enjoy every minute of it.
Albrecht Schlosser
2011-07-20 14:30:52 UTC
Permalink
Post by Dennis Grevenstein
Ich habe eine neue Maschine unter 8.3 frisch hochgezogen,
Aha ;-)
Post by Dennis Grevenstein
Ich wollte dann deltree installieren aus den freeware
Archiven von HP. Das bringt mir aber egal, was ich mache
$ deltree
%CLI-F-SYNTAX, error parsing 'ABOUT'
-CLI-E-ENTNF, specified entity not found in command tables
%TRACE-F-TRACEBACK, symbolic stack dump follows
Das sieht nach einer Inkonsistenz zwischen dem Source-Code und
den geladenen (installierten) Command Tables (.cld file) aus.
Woher kommt das CLD-File, und warum hat es nicht den Eintrag
'ABOUT'? Wenn das _richtige_ CLD-File da ist, dann kann man

set command/table=deltree.cld

aufrufen, das sollte es beheben. Wenn nicht, ...
Post by Dennis Grevenstein
Ich habe es mit selbst compilieren versucht, aber geaendert
hat das nichts. Seit dem Neucompilieren kam nur der traceback
dazu.
Abseits von einer "richtigen" Lösung könnte man in der Funktion
"command_line" nach 'ABOUT' suchen und das einfach auskommentieren
bzw. durch ein geeignetes Ergebnis ersetzen.
Post by Dennis Grevenstein
Ich weiss, dass ich genau so ein Problem schon frueher
mal hatte und es nicht geloest bekommen habe. Ich bin dann
auf ein anderes deltree umgestiegen, aber ich weiss nicht
mehr welches.
Kann mir da jemand helfen?
damit leider nicht.
Post by Dennis Grevenstein
... Wie war das eigentlich
mit der Softwarekompatibilitaet unter VMS? War es nicht
sogar so, dass alte Software problemlos und eigentlich
immer auch auf neueren Versionen laufen sollte?
Eigentlich ja, und nach meiner Erfahrung funktioniert das auch
gut. Fehlermeldungen würden helfen.
Post by Dennis Grevenstein
BTW3: benutzt zufaellig jemand MacOS X und loggt sich
damit auf VMS ein? Irgendwie kann VMS mit einem $TERM
wie xterm oder xterm-color nur begrenzt was anfangen.
I.d.R. kann man stattdessen nach dem Login einen passenden
Terminal-Typ setzen, z.B. set term/dev=vt300 oder eben
vt100 etc., je nachdem was die lokale (Mac) Seite versteht
oder was man je nach Applikation so braucht. VT100 sollte
im xterm eigentlich gut funktionieren, VT200 (oder höher)
aber wahrscheinlich auch.
Post by Dennis Grevenstein
BTW4: wenn ich ein echtes VT220 an der Maschine
betreiben will, wie kann ich das Ding an den zweiten
seriellen port haengen und die Geschwindigkeit von
9600 auf 38400 umstellen? Den ersten seriellen port
will ich bei 9600 lassen und weiterhin als system
console haben.
"set term/speed=38400/perm opa2" in SYSTARTUP_VMS.COM
eintragen?
Ja, das wäre möglich. Ich meine aber, dass da auch ein
Autobaud-Feature existiert(e). Wenn das aktiv ist (ich
weiß nicht mehr, ob das Default ist), dann muss man nur
ein- oder zweimal Return drücken, und dann erkennt das
System es (wenn's funktioniert). Zum Testen ist das feste
Einstellen aber besser (und warum sollte man es anders
einstellen, wenn man die Baudrate kennt?).
Post by Dennis Grevenstein
Mein Alphaserver DS10 kennt OPA0, OPA2 und
OPA3. Welches ist denn nun das richtige Terminal, wenn
die Kiste doch nur zwei serielle ports hat?
Im Zweifelsfall ausprobieren. Hat das Ding nicht auch noch
ein TTA0: oder TTA1: (oder beides)? Wenn ja, würde ich es
zuerst damit probieren. IIRC war zumindest eins dieser
OPA2/3-Terminals evtl. für den Grafik-Adapter, oder so.

Gruß,
Albrecht
Albrecht Schlosser
2011-07-20 16:06:30 UTC
Permalink
Post by Albrecht Schlosser
Das sieht nach einer Inkonsistenz zwischen dem Source-Code und
den geladenen (installierten) Command Tables (.cld file) aus.
Woher kommt das CLD-File, und warum hat es nicht den Eintrag
'ABOUT'? Wenn das _richtige_ CLD-File da ist, dann kann man
set command/table=deltree.cld
aufrufen, das sollte es beheben. Wenn nicht, ...
Das war nicht ganz richtig (wie Joseph Huber inzwischen auch
geschrieben hat), es sollte nur "set command deltree.cld" sein.

Was mir aber noch eingefallen ist: direkt nach dem "Installieren"
der neuen Command Tables (in SYS$SYSTEM:DCLTABLES.EXE ? - habe
gerade kein VMS aktiv) sind die Kommandos noch nicht für den
aktuellen Prozess bekannt, evtl. ist also eine alte Version oder
gar keine im Prozess geladen. Da hilft dann einmaliges Aus- und
wieder einloggen, oder (und diesmal hoffentlich richtig)

$ set command/table=dcltables

oder eine Variante davon, die das _richtige_ EXE-File direkt
referenziert (s.o.), z.B.

$ set command/table=sys$system:dcltables[.exe]

Gruß
Albrecht
Phillip Helbig---undress to reply
2011-07-20 14:43:37 UTC
Permalink
Post by Dennis Grevenstein
Ich habe eine neue Maschine unter 8.3 frisch hochgezogen,
Glückwunsch!
Post by Dennis Grevenstein
Compiler sind drauf und ein bischen freeware. Ich habe mich
fuer 8.3 statt 8.4 entschieden, weil ich als Hobbyist ja
keinen Zugriff auf aktuelle patches habe und da schien mir
ein 8.3 mit Stand Juli 2010 sinnvoller als ein ungepatchtes
8.4.
Sehe ich auch so.
Post by Dennis Grevenstein
Kann mir da jemand helfen?
Vielleicht nicht eine direkte Antwort, aber unten ist eine Prozedur, die
so etwas macht---eine Mischung aus verschiedenen Prozeduren von anderen
Leuten und von mir.
Post by Dennis Grevenstein
BTW: Ich habe es doch glatt geschafft einen alten tin unter
einem aktuellen VMS zu laufen zu bekommen. Seit 7.2-1 hat
das nicht mehr funktioniert, aber nun habe ich binaries
gefunden, die noch funktionieren. Wie war das eigentlich
mit der Softwarekompatibilitaet unter VMS? War es nicht
sogar so, dass alte Software problemlos und eigentlich
immer auch auf neueren Versionen laufen sollte?
Ja, wenn der Programmierer sich an Mindeststandards gehalten hat.
Post by Dennis Grevenstein
BTW2: kennt jemand noch eine gute Dokumentation zum
Thema volume shadowing abseits des offiziellen manuals
"HP Volume Shadowing for OpenVMS, Sep 2003"?
Ich glaube, ich habe auf den HP-Webseiten etwas neueres gefunden.
Post by Dennis Grevenstein
BTW4: wenn ich ein echtes VT220 an der Maschine
betreiben will, wie kann ich das Ding an den zweiten
seriellen port haengen und die Geschwindigkeit von
9600 auf 38400 umstellen? Den ersten seriellen port
will ich bei 9600 lassen und weiterhin als system
console haben.
"set term/speed=38400/perm opa2" in SYSTARTUP_VMS.COM
eintragen? Mein Alphaserver DS10 kennt OPA0, OPA2 und
OPA3. Welches ist denn nun das richtige Terminal, wenn
die Kiste doch nur zwei serielle ports hat?
Im Setup-Menü vom Terminal?

---------8<-------------------------------------------------------------------

$ SET NOVERIFY
$! translate if logical name
$ dirname = F$TRNLNM(P1)
$ IF dirname .EQS. "" THEN dirname = P1
$! add brackets, if needed
$ IF F$LOCATE("[",dirname) .EQ. F$LENGTH(dirname)
$ THEN
$ dirname = "[."+dirname+"]"
$ ENDIF
$! get the name without brackets, regardless of input
$ IS = f$locate("]",dirname)
$ IS = IS -2
$ vername = f$extract(2,IS,dirname)
$! bypass confirmation if desired
$ IF P2 .EQS. "RISK" THEN GOTO RISK
$ wso "you are in "+f$environment("DEFAULT")
$ wso "about to delete "+dirname
$ READ SYS$COMMAND /PROMPT="are you sure? (Y/N) [N] " answ
$ answ := 'answ
$ IF answ .NES. "Y" THEN EXIT
$ RISK:
$ GOTO begin
$ ! Title: WIPOUT.COM
$ ! Date: April 11, 1983
$ ! Version: V5.0
$ ! Revised: April, 1985; March 1986
$ ! Machine: VAX 11/780
$ ! Language: DIGITAL Command Language (DCL) V5.0
$ ! Location: Academic Computing Services, EKU, Richmond, Ky
$ ! Purpose: Delete all files/directories for one account
$ ! Author: Mark Preston
$ !
$ ! Requires BYPASS privilege
$ !
$ begin:
$ !
$ !
$ dir_level = 0
$ ON WARNING THEN CONTINUE
$! set prot=(o:rwed) 'P1'.dir
$ set prot=(o:rwed) 'vername'.dir
$ SET DEFAULT 'dirname
$ ON WARNING THEN CONTINUE
$ set prot=(o:rwed) [...]*.*;*
$ ASSIGN NL: SYS$OUTPUT
$ ASSIGN NL: SYS$ERROR
$ DELETE [...]*.*;*
$ DEASSIGN SYS$ERROR
$ DEASSIGN SYS$OUTPUT
$ !
$ ! work down thru the directory structure to a bottome
$ ! level directory
$ !
$loop_down:
$ !
$ subdir = F$SEARCH("*.DIR;1", 'dir_level')
$ IF subdir .EQS. "" THEN GOTO leaf
$ subdir = F$PARSE(subdir,,,"NAME")
$ SET DEFAULT [.'subdir']
$ dir_level = dir_level + 1
$ GOTO loop_down
$ !
$leaf:
$ !
$ IF F$SEARCH("*.*;*") .NES. "" THEN DELETE *.*;* ! delete any files in current directory level
$ dir = (F$DIRECTORY() - "[" - "]") - (F$PARSE("[-]",,,"DIRECTORY") - "[" - "]") - "." ! parse name of current directory
$ DELETE [-]'dir'.DIR;1 ! delete directory file
$ SET DEFAULT [-] ! set back default one directory level
$ dir_level = dir_level - 1 ! decrement level counter
$ IF dir_level .LT. 0 THEN GOTO EXIT
$ !ELSE
$ GOTO loop_down !next node
$EXIT:
$! both not needed, EXIT will EXIT the calling .com, which is undesired
$!SET VERIFY
$!EXIT
Joseph Huber
2011-07-20 15:25:58 UTC
Permalink
Post by Dennis Grevenstein
Hallo,
Ich habe eine neue Maschine unter 8.3 frisch hochgezogen,
Compiler sind drauf und ein bischen freeware. Ich habe mich
fuer 8.3 statt 8.4 entschieden, weil ich als Hobbyist ja
keinen Zugriff auf aktuelle patches habe und da schien mir
ein 8.3 mit Stand Juli 2010 sinnvoller als ein ungepatchtes
8.4.
Ich wollte dann deltree installieren aus den freeware
Archiven von HP. Das bringt mir aber egal, was ich mache
$ deltree
Wie schon von anderen gesagt: SET COMMAND DELTREE.CLD

Alternativ: eine utility, die in keinem VMS system fehlen sollte,
ist DFU ( siehe http://www.digiater.nl )

Deltree sieht dann so aus:
DFU delete/directory/tree directory

Ein wrapper dafuer, den ich verwende ist
http://www.mpp.mpg.de/~huber/util/COM/deltree.com
Post by Dennis Grevenstein
BTW3: benutzt zufaellig jemand MacOS X und loggt sich
damit auf VMS ein? Irgendwie kann VMS mit einem $TERM
wie xterm oder xterm-color nur begrenzt was anfangen.
Generell bei xterms: VMS kennt nur die terminal-typen,
die man mit SET TERM/DEVICE=typ setzen kann.
Also z.b. "xterm -ti vt220 -tn vt220", dann erkennt SET TERM/INQUIRE
das korrekt.

Zusaetzlich zum terminal-typ kann man xterm auch noch ein keyboard remapping
mitgeben, falls man nicht Xserver seitig ein globales X11 xmodmap machen
will.
Die prozedur, die ich verwende, ist
http://www.mpp.mpg.de/~huber/vmsterm
(eventuell SSH durch Telnet ersetzen).
--
Remove NOREPLY. from Email address.
Joseph Huber, http://www.huber-joseph.de
Dennis Grevenstein
2011-07-23 16:30:01 UTC
Permalink
Post by Joseph Huber
Alternativ: eine utility, die in keinem VMS system fehlen sollte,
ist DFU ( siehe http://www.digiater.nl )
DFU delete/directory/tree directory
Das Ding gefaellt mir gut. Das kannte ich gar nicht.

Das VT220 habe ich einfach an die zweite serielle Schnittstelle
angeschlossen (TTA0) und VMS erkennt automagisch, dass die
Geschwindigkeit am Terminal auf 19200 eingestellt ist. Mehr
geht am 220 offenbar nicht.

Fuers shadowing habe ich hier noch eine schoene Kurzanleitung
gefunden:
http://lakesdev.blogspot.com/2009/09/volume-shadowing-system-disk-on-vax.html

Das geht wirklich sehr einfach.

Warum ist die I/O Leistung eigentlich so schlecht?
Nur gefuehlt, nicht gemessen, dauert alles wie kopieren,
.tar auspacken, loeschen... deutlich laenger als man
das von einer solch schnellen Maschine erwarten wuerde.
Mit den neuen Festplatten wollte ich die Maschine mal
als fileserver mit Samba oder auch als NFS server nutzen.
Ist da die performance auch so schlecht?
Bisher habe ich fuer sowas immer nur Unix benutzt.

gruss,
Dennis
--
Don't suffer from insanity...
Enjoy every minute of it.
Joseph Huber
2011-07-23 17:46:11 UTC
Permalink
Dennis Grevenstein wrote:

[snip]
Post by Dennis Grevenstein
Warum ist die I/O Leistung eigentlich so schlecht?
Nur gefuehlt, nicht gemessen, dauert alles wie kopieren,
.tar auspacken, loeschen... deutlich laenger als man
das von einer solch schnellen Maschine erwarten wuerde.
Mit den neuen Festplatten wollte ich die Maschine mal
als fileserver mit Samba oder auch als NFS server nutzen.
Ist da die performance auch so schlecht?
Bisher habe ich fuer sowas immer nur Unix benutzt.
Also pauschal schlechte I/O leistung stimmt so nicht,
bei existierenden grossen files ist die reine read und write
leistung durchaus hervorragend im vergleich zu Unix systemen derselben
zeitlichen provenienz.
Richtig ist, dass file creation, directory operations aufwendiger, dafuer
aber auch sicherer sind. Wenn ein disk write abgeschlossen ist, dann kann
man auch sicher sein, dass alles auf der disk gelandet ist.

Wenn Sie ganz mutig sind, dann machen Sie mal einen test:
Fuer einen grossen directory tree:
backup/delete [here...] there:[here...]
und ziehen Sie den stecker sobald der DCL prompt erscheint: nach dem booten
ist alles korrekt auf there:[here...].
Dasselbe auf Unix mit "mv -r /here/* /there" wird ein fiasko sein.
Wenn Sie eine disk mit blinkendem activity LED haben, sehen Sie sehr schoen,
dass da immer noch eine menge passiert, lange nachdem das mv kommando fertig
ist.
(auf modernen Unix filesystemen ist das moeglicherweise nicht mehr ganz
so schlimm,).

Vor allem aber sind die defaults fuer file-block buffering auf VMS immer
noch sehr konservativ, als waeren es VAX systeme mit wenigen megabyte
memory.
Sehen Sie mal in "HELP SET RMS", was man mit multibuffering aendern kann.
"SHOW RMS" zeigt die momentanen werte an.
Multiblock count, MULTIBUFFER COUNTS, network block count habe ich
bei mir auf 32 gesetzt.
(fuer NFS sind vermutlich die System werte massgeblich).

Viele utilities aus Unix sind auch nicht fuer VMS optimiert, insbesondere
sind da die extension quantities per default sehr klein (=disk cluster
size).
"HELP CRTL creat argument" fuehrt alq=n,mbc=n,mbf=n,deq=n,ctx=xplct
als extensions fuer fopen(), open(), creat() calls auf,
fuer selbst geschrieben oder modifiziert utilities zu empfehlen, vielleicht
bringt aber auch RMS multibuffering schon viel fuer fuer tar u.co.,
operationen mit sehr vielen file open werden aber immer langsamer sein als
in Unix systemen.
--
Joseph Huber - http://www.huber-joseph.de
Dennis Grevenstein
2011-07-23 22:07:47 UTC
Permalink
Post by Joseph Huber
Also pauschal schlechte I/O leistung stimmt so nicht,
bei existierenden grossen files ist die reine read und write
leistung durchaus hervorragend im vergleich zu Unix systemen derselben
zeitlichen provenienz.
Unix hat sich seit 1985 auch noch weiterentwickelt.
Post by Joseph Huber
backup/delete [here...] there:[here...]
und ziehen Sie den stecker sobald der DCL prompt erscheint: nach dem booten
ist alles korrekt auf there:[here...].
Dasselbe auf Unix mit "mv -r /here/* /there" wird ein fiasko sein.
Wenn Sie eine disk mit blinkendem activity LED haben, sehen Sie sehr schoen,
dass da immer noch eine menge passiert, lange nachdem das mv kommando fertig
ist.
(auf modernen Unix filesystemen ist das moeglicherweise nicht mehr ganz
so schlimm,).
Journaling filesystems duerften heute zum standard gehoeren.
Kommerzielle unix systeme haben das seit ueber 10 Jahren.
Post by Joseph Huber
Vor allem aber sind die defaults fuer file-block buffering auf VMS immer
noch sehr konservativ, als waeren es VAX systeme mit wenigen megabyte
memory.
Das erstaunt mich. Ich bin davon ausgegangen, dass sich
da was veraendert hat.
Daran anschliessend: was macht VMS eigentlich mit "zuviel"
Speicher, wenn der nicht als cache benutzt wird? Unter
Unix/Linux gilt ja, dass das einzige, was besser ist als viel
Speicher, noch mehr Speicher ist.
Post by Joseph Huber
Sehen Sie mal in "HELP SET RMS", was man mit multibuffering aendern kann.
"SHOW RMS" zeigt die momentanen werte an.
Multiblock count, MULTIBUFFER COUNTS, network block count habe ich
bei mir auf 32 gesetzt.
(fuer NFS sind vermutlich die System werte massgeblich).
Das werde ich tun. Danke.

gruss,
Dennis
--
Hail to the Steve
Michael Kraemer
2011-07-24 21:09:08 UTC
Permalink
Post by Dennis Grevenstein
Journaling filesystems duerften heute zum standard gehoeren.
Kommerzielle unix systeme haben das seit ueber 10 Jahren.
zT seit über 20 Jahren (Veritas, AIX).

Phillip Helbig---undress to reply
2011-07-23 17:55:23 UTC
Permalink
Post by Dennis Grevenstein
Warum ist die I/O Leistung eigentlich so schlecht?
Nur gefuehlt, nicht gemessen, dauert alles wie kopieren,
..tar auspacken, loeschen... deutlich laenger als man
das von einer solch schnellen Maschine erwarten wuerde.
Welche Platten, Gehäuse, Controller usw. hast du?
Dennis Grevenstein
2011-07-23 22:07:47 UTC
Permalink
Post by Phillip Helbig---undress to reply
Welche Platten, Gehäuse, Controller usw. hast du?
Ist ueberhaupt nichts besonderes, also bitte nicht lachen.
Meine DS10 hat nur zwei interne Festplatten mit 10k
Umdrehungen. Controller ist glaube ich ein Symbios 895.
Das ist IIRC U160 SCSI.

Ich koennte mir vorstellen, dass VMS besonders von einem
RAID mit cache profitiert.

gruss,
Dennis
--
Hail to the Steve
Loading...