HELIOS Base UB64 Benutzerhandbuch (Version 4.0.0)  
 

8 HELIOS Dienstprogramme

8.1 srvmsg

Mit dem Programm „srvmsg“ können Benutzer HELIOS AFP-, SMB- oder Admin-Clients, die am Server angemeldet sind, eine Nachricht senden, die Neukonfiguration eines Prozesses anstoßen oder Optionen für die Prozessüberwachung ändern oder starten.

Verwendung:

srvmsg -m [-n <server>|-p <pid>|-u <user>] [-M <file>] ...          
srvmsg -r [-n <server>|-p <pid>|-u <user>]
srvmsg -c [-n <server>|-p <pid>|-u <user>] <command> ...          
srvmsg -d <pid> [-f <file>] [-l <level>] [-o <options>]
srvmsg -D <pid> [-l <level>] [-o <options>]
srvmsg -h

8.1.1 Optionen

-m

Nachricht an einen oder mehrere am Host angemeldeten Benutzer senden. Die Benutzer lassen sich über -n, -p oder -u auswählen. Die Anzahl der Zeichen pro Nachricht ist auf 255 begrenzt.

Hinweis:

OS-X-Clients bis 10.8 sowie Windows-Clients bis XP unterstützen diese Funktion. Ebenso können alle Anwender, die über HELIOS Admin am Host angemeldet sind, diese Meldungen empfangen.

-r

Nachricht bzgl. einer anstehenden „Umkonfiguration“ an einen oder mehrere Prozesse senden. Die Prozesse lassen sich über -n, -p oder -u auswählen.

-c

Einen Befehl an einen oder mehrere Prozesse senden. Die Prozesse lassen sich über -n, -p oder -u auswählen.

-d <pid>

Ausgabeoptionen für die Überwachung eines bestimmten Prozesses setzen. Um diese Option nutzen zu können, müssen Sie „root“ oder Eigentümer des Prozesses sein.

-D <pid>

Überwachung eines bestimmten Prozesses beginnen. Die Ausgabe erfolgt nach „stdout“. Die Prozessüberwachung wird beendet, wenn Sie die Tastenkombination Ctrl-C drücken. Um diese Option nutzen zu können, müssen Sie „root“ oder Eigentümer des Prozesses sein.

Hinweis:

Die nachfolgenden Optionen werden mit -c, -m und -r aufgerufen, um die Benutzer bzw. Prozesse, an welche die Nachricht gesendet werden soll, auszuwählen. Wird kein Prozess angegeben, geht die Nachricht an alle Benutzer bzw. Prozesse. Dies kann nur vom Benutzer „root“ ausgeführt werden.

-n <server>

Nachricht an alle Prozesse des angegebenen Servers senden, z. B. „afpsrv“ oder „pcshare“.

-p <pid>

Nachricht an eine bestimmte Prozess-ID senden.

-u <user>

Nachricht an einen bestimmten Benutzer senden. Ist der Benutzer mit mehr als einem Prozess angemeldet, wird die Nachricht an alle Prozesse dieses Benutzers gesendet.

Die nachfolgende Option wird mit -m aufgerufen:

-M <file>

Nachricht aus der angegebenen Datei statt von der Kommandozeile verwenden.

Die nachfolgende Option wird mit -d aufgerufen:

-f <file>

Ausgabe der Prozessüberwachung an die angegebene Datei senden. Existiert diese Datei bereits, wird die Ausgabe an die Datei angehängt. Die Prozessüberwachung wird durch das Angeben eines leeren Dateinamens beendet (doppelte Anführungszeichen verwenden!), z. B. -f "". Wir raten Ihnen, die Option -D zu verwenden, die die Prozessüberwachung automatisch beendet, wenn die Tastenkombination Ctrl-C gedrückt wird.

Die nachfolgenden Optionen werden mit -d und -D aufgerufen:

-l <level>

Grad der Prozessüberwachung angeben, z. B. all. Ohne Angabe erfolgt eine Standardüberwachung des Prozesses.

-o <options>

Ausgabeoptionen für die Prozessüberwachung angeben. Das kann „all“ sein oder eine kommaseparierte Liste der folgenden Optionen:

time kurzer Zeitstempel
fulltime langer Zeitstempel
pid Prozess-ID
name Name des Prozesses
thread Thread-ID
flag Name des Flags
file Name der Quelle
line Zeile der Quelle
func Funktionsname
tabs Tabulator-separierte Ausgabe

Wird -o nicht angegeben, werden folgende Standardoptionen verwendet:

time,pid,name,line,flag,func
-h

Hilfedatei anzeigen.

Beispiel 1:
# srvmsg -m -u neil "Alle Dienste werden nun beendet."

Nachricht des Inhalts „Alle Dienste werden nun beendet.“ wird an den Benutzer „neil“ gesendet.

Beispiel 2:
# srvmsg -r -n pcshare

Sendet einen Befehl zum Flushen bzw. zur Neukonfiguration an alle „pcshare“-Prozesse. Damit wird „pcshare“ gezwungen, sämtliche Dateien zu Flushen und ungenutzte Ressourcen freizugeben.

Beispiel 3:
# srvmsg -c -n desksrv freeze 20

Friert die Desktopdatei 20 Sekunden ein, um z. B. ein Snapshot des Volumes anzufertigen.

Beispiel 4:
# srvmsg -D 2990

Überwachung des Prozesses 2990 starten. Die Prozessüberwachung wird mit der Tastenkombination Ctrl-C beendet.

8.2 logrotate

Logdateien, wie Drucker- oder Server-Logdateien, werden bei jeder zugehörigen Aktivität aktualisiert. Um eine gewisse Reihenfolge halten zu können, kann ihnen eine bestimmte Dateinamenserweiterung zugewiesen werden, z. B. durch eine aufsteigende Nummerierung. So kann beispielsweise die Drucker-Logdatei, welche die Einträge von heute aufzeichnet, „printer.acct“ genannt werden, die gestrige „printer.acct.0“ usw. (siehe Kapitel C.1 „Aufbau der Drucker-Logdatei“).

Verwendung:

logrotate [-n <numlogs>] [-m <mode>] [-o <owner>]
          [-g <group>] <logfile>

Es kann sinnvoll sein, ein Intervall zu definieren, nachdem der älteste Eintrag verworfen wird, z. B. nach einer Woche. „logrotate“ koordiniert dabei mit Hilfe der nachfolgenden Parameter die Rotation der Logdateien.

8.2.1 Optionen

-n <numlogs>

Anzahl der aufgelaufenen Logdateien bevor „logrotate“ die Rotation startet.

-m <mode>

Oktale Notation der Dateizugriffsrechte. 664 bedeutet beispielsweise „Eigentümer“ und „Gruppe“ dürfen die Datei lesen und schreiben, während „Andere“ die Datei nur lesen dürfen.

-o <owner>

Eigentümer der Datei.

-g <group>

Gruppe, der die Datei zugeordnet wird.

Beispiel:
# logrotate -n 6 -m 664 -o John -g helios printer.acct

To change the default log rotation settings, In der Datei „HELIOSDIR/​etc/​daily/​10base“ lässt sich die Vorgabe für die Rotation der Logdateien anpassen.

8.3 locktable

Das Programm „locktable“ zeigt, welche Dateien von den HELIOS Prozessen gesperrt sind. Um diese Option nutzen zu können, müssen Sie „root“ sein. „locktable“ wird auch „Open Files Tool“ genannt.

Verwendung:

locktable [-c]
locktable -d [-q]
locktable -h

8.3.1 Optionen

-c

Alle Sperren aus der Locktable-Datei, die von nicht mehr laufenden Prozessen gesetzt wurden, löschen.

-d

Logtable-Datei löschen (nur möglich, wenn die HELIOS Dienste nicht laufen).

-q

Fehlermeldung unterdrücken, falls die Logtable-Datei nicht gelöscht werden kann.

-h

Hilfedatei anzeigen.

Plattformübergreifendes Sperren von Dateien und Datensätzen

Eine wichtige Eigenschaft des HELIOS Systems in Bezug auf den Schutz Ihrer Dateien ist das plattformübergreifende Sperren von Dateien und Daten. HELIOS EtherShare und PCShare sind darauf abgestimmt, dies zu tun. Ohne das Sperren würde es ein Windows-Programm nicht merken, wenn ein Mac-Anwender eine Datei geöffnet hat (und umgekehrt). Ohne diesen Schutz kann es also passieren, dass zwei Anwender von verschiedenen Plattformen aus die gleiche Datei zur gleichen Zeit öffnen und verändern können, was typischerweise zu Datenverlust führt. EtherShare und PCShare verhindern dies, indem sie auf die gleiche „locktable“-Datei zugreifen. Dadurch wird plattformübergreifendes Datei- und Datensatzsperren auch zwischen Mac- und Windows-Clients möglich.

Hinweis:

Einige Programme unterstützen das Sperren von Dateien nicht. Es ist ratsam, dieses Verhalten mit den verwendeten Programmen vorab zu prüfen.

Beispiel:
# locktable
Device:16777221 Inode:41643991 Open:1 Mode:RD,WR,DENY_RD,DENY_WR
Name: 'catalog.psd'
    Pid:6760 Owner:16 Fid:65535 Mode:RD,WR,DENY_RD,DENY_WR
Device:16777221 Inode:41643997 Open:2 Mode:RD,WR
Name: 'trading list.xlsx'
    Pid:6760 Owner:17 Fid:65535 Mode:RD,WR
    Pid:6760 Owner:19 Fid:65535 Mode:RD,WR
    Pid:6760 Owner:19 Fid:65535 Mode:WR Start:1 End:1

8.4 migrate

Das Dienstprogramm „migrate“ ermöglicht die Konvertierung von EtherShare- und PCShare-Konfigurationsdateien zu Präferenzen (es ist jedoch ratsam, dafür die in Kapitel 4.3.1 „Einstellungen migrieren“ beschriebene Funktion des HELIOS Installers zu verwenden). Seit EtherShare 3.1 und PCShare 3.1 werden alle Konfigurationsdaten in einer einzigen Datei („Preferences“) gespeichert. Damit das Programm „migrate“ die alten Konfigurationsdateien findet, ist es erforderlich, die Pfade zu den alten EtherShare- und PCShare-Verzeichnissen (-e, -p) anzugeben. Außerdem muss die Zeichenkodierung der Volumes angegeben werden (-E MacRoman, -P PC850 oder -E SJIS).

Verwendung:

migrate [-e <esdir> -E <ESCharset>] [-p <pcdir> -P <PCCharset>]
        [volumes] [printers] [passwd] [interfaces] [ipaccess]
        [suffixes] [spot] [browsing]

8.4.1 Optionen

[volumes]

Die Volumekonfiguration von EtherShare und PCShare wird übernommen. Wenn Sie die Konfiguration von PCShare Volumes nicht übernehmen möchten, dann können Sie auf die Option -p verzichten (-e für EtherShare).

Die Datei „afpvolumes“ wird für HELIOS Volumes ausgewertet. Hier sehen Sie ein Beispiel für einen Eintrag in dieser Datei:

/es/volumes/ethershare:EtherShare::fixed:readonly:

Die Felder sind durch einen Doppelpunkt voneinander getrennt. Alle hier aufgeführten Felder werden übernommen:

Feld Inhalt
1 UNIX-Pfad
2 Name in der Auswahl
3 Kennwort
4 Flag1 (nur fixed oder changeable erlaubt)
5 Flag2 (readonly, nopublish, noguest, charset=)
6 Gruppen (durch Kommata separiert)

Für PCShare Volumes wird die Datei „exports.pcs“ ausgewertet. Hier sehen Sie ein Beispiel für einen Eintrag in dieser Dtaei:
disk "pcsvol" '/data/pcsvol' public,utf8,charset=PC850

Folgende Parameter sind möglich:

public
hidedotfiles
readonly
close
closefiles
utf8
charset=
[printers]

Sämtliche EtherShare Druckerkonfigurationen werden übernommen.

Für EtherShare Drucker werden folgende Dateien ausgewertet: „Preferences“, „atalk.conf“, „/​etc/​printcap“. Es werden nur die Drucker übernommen, die sowohl in der Datei „atalk.conf“ als auch in „/​etc/​printcap“ eingetragen sind. Der „printcap“-Eintrag eines Druckers wird, bis auf die Einträge „lp“, „if“, „of“ sowie „af“, übernommen. Diese bekommen spezielle HELIOS Einträge. Nachfolgende Warteschlangentypen werden in der Datei „atalk.conf“ erkannt:

Balance
Disk
Hold
PAP
TCP
Preview
PDF

Der Warteschlangentyp, der in der Datei „atalk.conf“ implizit durch spezielle Parameter verknüpft wurde, ist nun in der Datei „Preferences“ explizit durch die Zuweisung IfType=<Type> gesetzt. Andere Parameter behalten ihre Namen, werden jedoch in der Datei „Preferences“ gespeichert. So wurde beispielsweise der Parameter jobholdtime – aus dem nachfolgenden Auszug der Datei „atalk.conf“ – unverändert in die Datei „Preferences“ übernommen:

atalk.conf
hold: jobholdtime=21600

Preferences
[][Printers][hold][jobholdtime]
flags=0
type=int32
value=21600
[passwd]

Die Datei „/​usr/​local/​es/​conf/​afppasswd“ wird nach „HELIOSDIR/​var/​conf/​passwd“ kopiert. Diese Datei ist essentiell, falls die Funktion Encrypted Password Transport (vgl. Kapitel 4.6 „HELIOS TCP/IP-Sicherheit“) aktiviert ist.

[interfaces]

Einträge der Netzwerkadapter und Zonen in der Datei „atalk.conf“ werden übernommen. Die Einträge beginnen mit folgenden Schlüsselwörtern:

zone
zones
if
interface
nif
ninterface
[ipaccess]

Die Datei „/usr/local/es/conf/afpipaccess“ wird nach „HELIOSDIR/​var/​conf/​ipaccess“ kopiert.

[suffixes]

Die Datei „/usr/local/es/conf/suffixes“ wird nach „HELIOSDIR/​var/​conf/​suffixes“ kopiert.

[spot]

Schmuckfarben werden in der neuen Konfiguration gespeichert.

[browsing]

Die Einstellungen für Browsing und WINS werden aus den PCShare Konfigurationsdateien gelesen und in die Datei „Preferences“, die mit CD018 eingeführt wurde, übernommen.

8.5 uniconv

Das Programm „uniconv“, ein Unicode-Umwandlungstool, erlaubt die Umwandlung von einer Zeichensatzkodierung in eine andere, z. B.:

  „PC850“ nach „UTF16BE“
  „SJIS“ nach „UTF8“

Derzeitig unterstützte Zeichensatzkodierungen:

$ uniconv -l
MacRoman
PC850
ISO8859-1
UTF8
HeliosUTF8
UTF16LE
UTF16BE
UTF16
MacIcelandic
EUC-KR
MacArabic
MacCentralEurRoman
MacCyrillic
MacGreek
MacRomanian
MacTurkish
SJIS
Verwendung:

uniconv [-v] [-c] [-d] <InputEncoding> <OutputEncoding>
uniconv -l
uniconv -e

8.5.1 Optionen

-l

Alle verfügbaren Kodierungen auflisten.

-e

Alle Argumente in UTF-8-Kodierung ausgeben.

-v

Erweiterter Ausgabemodus.

-c

Unicode nach Composite wandeln.

-d

Unicode nach Decomposite wandeln.

<InputEncoding> und <OutputEncoding> kann jede der verfügbaren Kodierungen sein.

Beispiel:
$ uniconv PC850 MacRoman <pcfile.txt >macfile.txt

8.6 socket

Das Programm „socket“ ähnelt „telnet“; es liest die Daten von „stdin“ und sendet sie an den angegebenen Server. Darüber hinaus kann es den Datendurchsatz des Nachrichtenaustauschs messen.

Die Verbindungen werden über TCP oder UNIX-Domain-Sockets (Named Pipes unter Windows) aufgebaut.

Bei TCP-basierten Verbindungen können <server> und <port> ähnlich wie bei telnet verwendet werden. Wird <server> weggelassen, verbindet sich das Programm an „localhost“.

Verwendung:

socket [-v] [-d] [-k] [-r] [-b] [-m [-l <packlen>] [-c <count>]]
       [<server>] <port> 
socket [-v] [-d] -u <path> [-e] [-b] [-m [-l <packlen>] [-c <count>]] 
socket [-h]

8.6.1 Optionen

-b

Größe von „receivebuffer“ und „sendbuffer“.

-c <count>

Dem Client mitteilen, wieviele Schleifen für den Test durchlaufen werden sollen.

-k

Setzt Parameter, um die Verbindung aufrecht zu erhalten.

-l <packlen>

Größe des Nachrichtenpakets, das der Client beim Testen verwenden soll.

-m

Dem Programm mitteilen, dass der Nachrichtenaustausch einige Male getestet werden soll (siehe Optionen -b und -c).

-r

Auf der Clientseite einen reservierten Port verwenden (nur für Benutzer „root“).

-u <path>

Pfad zum UNIX-Domain-Socket, mit dem sich das Programm verbinden soll, angeben (Named Pipes unter Windows).

-e

Dem Programm mitteilen, dass empfangene Daten verworfen werden sollen.

-d

(nur UNIX) Funktionen zur Bearbeitung von Zeilen abschalten, um nicht-ASCII-Zeichen eingeben zu können.

-v

Debug-Meldungen über den Forschritt ausgeben – hilfreich beim Debuggen von Verbindungen.

-h

Hilfedatei anzeigen (enthält auch sämtliche HELIOS Serviceports).

Beispiel 1:
$ socket -m -l 3072 -c 10000 172.16.7.155 12345

Dieser Befehl erzeugt 10000 Pakete, die nur aus „A“s bestehen. Die Paketlänge wird auf 3072 festgesetzt. „socket“ ist über TCP mit dem Server 172.16.7.155 auf Port 12345 verbunden.

Beispiel 2:
$ socket localhost 2002

Dieser Befehl stellt eine Verbindung mit ImageServer auf Port 2002 her. Mit der Tastenkombination Ctrl-C können Sie die Verbindung beenden.

Beispiel 3:
$ socket -u \\.\pipe\listen.pipe < someText

Mit diesem Befehl wird der Inhalt der Datei „someText“ in eine Windows Named Pipe geschrieben.

8.7 swho

Mit „swho“ lassen sich alle aktiven HELIOS Child-Prozesse mit ihrer Prozess-ID (PID), der Netzwerkadresse, dem Benutzernamen und der Startzeit anzeigen:

$ swho 
Server   PID    Address        User     When 
pcshare  15984  tecra          anyuser  Thu  8:35 
afpsrv   56438  192.0.62.249   nobody   Thu  8:37 
pcshare  29610  Office         anyuser  Thu 10:31 

In diesem Beispiel ist ein Benutzer am AFP-Server („afpsrv“) als Gastbenutzer („nobody“) über EtherShare angemeldet sowie zwei weitere über PCShare („pcshare“) unter dem Benutzernamen „anyuser“.

Der Name der PCs (im oben stehenden Beispiel „tecra“ und „Office“) wird nur dann angezeigt, wenn der PC mit Namen und IP-Adresse in der Datei „/etc/hosts“ oder einer entsprechenden Datenbank des Hosts eingetragen ist. Ist der Name dort nicht eingetragen, wird stattdessen die Internetadresse angezeigt:

$ swho 
Server   PID    Address        User     When 
pcshare  15984  192.9.200.85   anyuser  Thu  8:35 
afpsrv   56438  192.0.62.249   nobody   Thu  8:37 
pcshare  29610  192.9.200.82   anyuser  Thu 10:31 
Verwendung:

swho [-f stmp_file] [-c] [-n] [-p]

8.7.1 Optionen

-f [stmp_file]

Eine andere als die Vorgabedatei „HELIOSDIR/​var/​run/​stmp“, von der die „swho“-Informationen erzeugt werden, angeben.

-c

Ein optionales Kommentarfeld anfügen, welches mehr Informationen über die Sitzung anzeigt. PCShare Server zeigen dort den Namen des entsprechenden verbundenen UNIX-Verzeichnisses oder des Druckbefehls an, EtherShare Fileserver („afpsrv“) zeigen die Namen aller aktuell verbundenen HELIOS Volumes an. Zusätzlich werden Clients im Ruhezustand in der Spalte Comment aufgeführt:

$ swho -c 
Server   PID    Address       User     When       Comment
pcshare  15984  192.9.200.85  anyuser  Thu  8:35  /public
afpsrv   56438  192.0.62.249  anyuser  Thu  8:37  Data SLEEPING

„swho“ bezieht seine Informationen aus der Datei „stmp“, die ihrerseits von den PCShare- und EtherShare-Servern aktualisiert wird. „stmp“ befindet sich im Verzeichnis „HELIOSDIR/​var/​run“.

-n

DNS-Lookups unterdrücken. Ist diese Option gesetzt, wird die Netzwerkadresse statt als Name immer als IP-Adresse angezeigt.

Hinweis:

Wenn „swho“ mit der Option -n schneller Ergebnisse liefert, haben Sie vermutlich ein Konfigurationsproblem mit DNS.

-p

Verwaiste Einträge, d. h. solche Einträge, die keinem Prozess mehr zugeordnet werden können, aus der Datei „HELIOSDIR/​var/​run/​stmp“ löschen.

Relevante Informationen finden sich in der Liste aller aktuellen Dienste des Hosts. Siehe dazu Kapitel 14.1 „srvutil“.

8.8 ifstat

(Dieses Tool ist unter Windows nicht verfügbar.)

„ifstat“ ist ein nützliches Tool zum Überprüfen der Netzwerkeinstellungen aller Netzwerkadapter des Servers. Mit der Erweiterungsoption -l erhält man stattdessen IP-Adresse und Subnetzmaske des lokalen Subnetzes:

$ cd /usr/local/helios 
$ sbin/ifstat -l 
allow 192.168.123.0/255.255.255.0

Diese Werte können in die „ipaccess“-Standardliste eingetragen werden, um ausschließlich lokalen Netzwerkknoten den Zugriff auf die HELIOS Dienste zu erlauben. Die „ipaccess“-Standardliste bietet keinerlei Beschränkungen für den Zugriff auf den Host-Computer. Siehe auch Kapitel 4.6.3 „Kontrollliste für den IP-Zugang“ sowie den Abschnitt ipaccess.local in Kapitel 6.6.1 „HELIOSDIR/var/conf“.

Hinweis:

Das UNIX-Programm „ifconfig“ liefert zwar ausführlichere Informationen zu einem Netzwerkadapter, das Programm „ifstat“ beinhaltet jedoch auch die AppleTalk-Einstellungen (falls verfügbar).

8.9 sqlite

„sqlite“ ist ein Public-Domain-Kommandozeilenprogramm zum Verwalten einer SQLite-Datenbank, das uns hier als Beispiel für die richtige Verwendung der SQLite-Library dienen soll. Eine Dokumentation zu SQLite finden Sie hier:
www.sqlite.org/docs.html

Verwendung:

sqlite [OPTIONS] FILENAME [SQL]

8.9.1 Optionen

-init filename

Angegebene Datei lesen/verarbeiten

-echo

Befehl vor der Ausführung ausgeben

-[no]header

Dateiheader anzeigen/verbergen

-column

Ausgabe in Spalten

-bail

Nach einem Fehler abbrechen

-interactive

Interaktives I/​O erzwingen

-batch

Gesammeltes I/​O erzwingen

-csv

Kommaseparierte Ausgabe

-html

Ausgabe in HTML

-line

Ausgabe in Zeilen

-list

Ausgabe als Liste

-separator 'x'

Separator (|) für die Ausgabe setzen

-nullvalue 'text'

Textstring für NULL-Werte setzen

-version

Version von SQLite anzeigen

-help

Hilfedatei anzeigen

8.10 toolclient

Das Programm „toolclient“ bildet das Frontend für den HELIOS Tool Server und wird mit HELIOS Base installiert. Es steht auf jeder von HELIOS unterstützten Plattform zur Verfügung. Für „toolclient“ benötigen Sie eine gültige ImageServer-Lizenz. Der Tool Client findet den Tool Server entweder über mDNS („Bonjour“) oder über eine angegebene TCP/IP-Adresse. Er lässt sich in jede Anwendung integrieren, indem in einer Kommandozeile einfach „toolclient“ aufgerufen wird. HELIOS stellt Skripte (Script Server) zur „Hot Folder“-basierten Auftragsverarbeitung für die mitgelieferten Tools zur Verfügung.

Einen Beschreibung des Programms „toolclient“ finden Sie im Tool Server Benutzerhandbuch auf der HELIOS Website: www.helios.de/web/DE/support/​manuals.html

8.11 „dt“-Tools

Über die „dt“-Tools

Dieses Kapitel beschreibt die „dt“-Tools, welche die Funktionalität der bekanntesten UNIX-Befehle zur Dateiverarbeitung nachahmen und dabei die Integrität der HELIOS-Datenbank wahren. Über die „dt“-Tools kann auch von einer UNIX-Konsole auf Mac-spezifische Dateiinformationen zugegriffen werden.

Wichtig:

Das Programm „dt“-Tools erkennt temporär gesperrte Dateien nicht und kann deshalb auch solche Dateien, die gerade von einem anderen Benutzer verwendet werden, kopieren. Um Beschädigungen zu vermeiden, vergewissern Sie sich, dass kein anderer Benutzer diese Dateien gerade verwendet, bevor Sie sie mit „dt“ verarbeiten.

Warum brauche ich die „dt“-Tools?

Wenn Sie via Host-Skript oder -Befehl auf Dateien, die in einem HELIOS Volume abgelegt sind, zugreifen müssen, gibt es eine gute Anzahl von Gründen, warum Sie dafür die „dt“-Tools verwenden sollten.

Hinweis:

Mit Host-Befehl ist jeder Zugriff über ein beliebiges Skript oder Programm (beispielsweise ein Backup-Programm) gemeint, das auf Dateien in einem HELIOS Volume zugreift.

Jede Bearbeitung einer Datei oder eines Ordners in einem HELIOS Volume mit konventionellen UNIX-Befehlen, wie z. B. „cp“, „mv“, „rm“ verursachen Inkonsistenzen zwischen den Volumeinformationen und der dazugehörigen Datenbank, sodass Zusatzinformationen, wie beispielsweise Filestreams verloren gehen können. Solche Inkonsistenzen werden insbesondere beim Wiederherstellen von Daten aus einem Backup verursacht.

In den folgenden Abschnitten finden Sie zusätzliche Informationen zu diesem Problem und wie Sie es mit Hilfe der „dt“-Tools vermeiden können.

NTFS-Filestreams

Dateien und Verzeichnisse unter Windows bzw. im NTFS-Dateisystem können eine bestimmte Anzahl von Filestreams enthalten. Filestreams enthalten Metadaten wie den Titel, den Betreff, den Autor usw. eines Dokuments, ähnlich der Ressourceinformation einer Mac-Datei.

Die „dt“-Tools können Windows NTFS-Filestreams verarbeiten. Wird auf eine Datei im Netzwerk zugegriffen, die unter Windows bzw. NTFS angelegt wurde, z. B. indem sie auf einem HELIOS Server umbenannt oder verschoben wurde, geht kein zugehöriger Filestream verloren.

Dateiattribute wie Archive, Hidden, System, Creation date, Label settings usw. bleiben bei der Verwendung der „dt“-Tools ebenfalls erhalten. Darüber hinaus kann eine schnelle Dateisuche über die Desktopdatei, unter Berücksichtigung der Datei-ID, durchgeführt werden.

Die Befehle

Verwenden Sie die „dt“-Tools jedes Mal, wenn Sie (normalerweise) irgendeinen der folgenden UNIX-Befehle nutzen würden (die Quell- und/​oder Zieldatei muss in einem HELIOS Volume liegen):

Zwei Befehle ähneln den UNIX-Befehlen, entsprechen diesen jedoch nicht:

„dt“ unterstützt weitere Befehle:

Sie können die „dt“-Tools auch verwenden, wenn sich Quell- oder Zielverzeichnis nicht in einem HELIOS Volume befinden oder Sie sich darüber nicht sicher sind. Die „dt“-Tools wählen automatisch immer den richtigen Operationsmodus. So verhält sich das Programm „dt“ wie der entsprechende UNIX-Befehl, wenn Quell- und Zielverzeichnis nicht in einem HELIOS Volume liegen.

Die „dt“-Tools müssen zusammen mit EtherShare, PCShare, WebShare und/​oder ImageServer verwendet werden. Diese HELIOS Produkte verfügen über verbesserte Prüfmechanismen, um potenziell schädliche Konfigurationen zu erkennen und verhindern den Zugriff auf Volumes, bei denen die Konsistenz zwischen Inhalten und Desktopdatei nicht garantiert werden kann. Zusätzlich werden Warn- und Fehlermeldungen in die Systemmeldungen geschrieben, sodass Sie die Ursache des Problems schneller finden können.

Worin besteht der Unterschied zu den Standard-UNIX-Befehlen?

Hier die Hauptunterschiede zu den Standard-UNIX-Befehlen, um mögliche Fehlermeldungen und das besondere Verhalten der „dt“-Tools besser verstehen zu lernen:

Bevor Sie die „dt“-Befehle verwenden, sollten Sie mit den entsprechenden UNIX-Befehlen vertraut sein. Wenn Sie weitere Informationen darüber benötigen, wie die „dt“-Tools funktionieren und wie ohne deren Verwendung Probleme auftreten können, lesen Sie bitte die technischen Hinweise, die Sie nach der Beschreibung eines Befehls finden sowie das Kapitel 8.11.2 „Zusätzliche Informationen“.

Wir raten Ihnen davon ab, symbolische Links von den Standard-UNIX-Befehlen „cp“, „mv“ und „rm“ auf die „dt“-Tools anzulegen. Auch wenn dies möglich ist, sollten Sie Ihre derzeitige und zukünftige Systemumgebung sehr sorgfältig prüfen, damit Ihre Programme, Skripte und Workflows erwartungsgemäß ausgeführt werden.

Besonderes Augenmerk sollten Sie auch darauf legen, ob auf Ihren Servern ein HSM-System (Hierarchical Storage Management), ein Bandroboter oder ein RAID-System (Redundant Array of Independent Disks) eingesetzt wird, die ihre eigenen Versionen dieser UIX-Befehle verwenden. Bedenken Sie, dass unterschiedliche Benutzer und skriptgesteuerte Programme verschiedene Shells und Umgebungseinstellungen verwenden können.

Bevor Sie beginnen …

Sie sollten bei jedem HELIOS Volume die Konsistenz zwischen der Volumeinformation und der Desktopdatei des Volumes überprüfen. HELIOS Base bietet dafür eine „rebuild“-Option an, nämlich -s (siehe Kapitel 8.12 „rebuild“).

Geben Sie einfach den Befehl rebuild -s <Pfad_zum_Volume_Root> für jedes definierte öffentliche oder private Volume ein. Jedes Ergebnis, das dabei geliefert wird, weist auf eine potenziell schädliche Inkonsistenz zwischen Volume- und Desktopinformation hin. Sie sollten erst dann weiterarbeiten, nachdem Sie die Desktopdatei neu aufgebaut haben.

Hinweis:

Nachfolgend wird der Begriff „Volume” für ein Verzeichnis verwendet, welches als HELIOS Volume veröffentlicht ist, das (im Gegensatz zu einem normalen UNIX-Verzeichnis) eine Desktopdatei enthält. Genauso bezieht sich der Begriff „Volume Root“ auf den obersten Ordner eines HELIOS Volumes. So liegt das Volume „HELIOS Applications“ beispielsweise standardmäßig in „/usr/local/helios/public“, das unter UNIX seinem „Volume Root“-Verzeichnis entspricht.

Nehmen Sie sich etwas Zeit um die Tools kennenzulernen und wie sie sich in einem HELIOS Volume, zwischen verschiedenen HELIOS Volumes oder zwischen HELIOS Volume und nicht-HELIOS Volume verhalten.

Hinweise zu Fehlermeldungen

Die „dt“-Tools geben Standard-Fehlermeldungen aus, die mit dem Programmnamen (einschließlich des aufgerufenen Arguments) beginnen, gefolgt von der aktuell bearbeiteten Datei oder Verzeichnisses und schließlich der Fehlermeldung an sich, z. B.:

rm nichtHier könnte zu folgender Fehlermeldung führen:
dt rm: nichtHier: no such file or directory

Die Fehlermeldungen ähneln denen von Standard-UNIX-Befehlen. Beachten Sie bitte, dass Sie zusätzliche Fehlermeldungen bezüglich des Ressourcezweigs oder der Desktopdatei erhalten können.

In einigen Fällen können die „dt“-Tools Fehlermeldungen ausgeben, die den vollständigen Pfad eines Dateinamens anstelle des übergebenen relativen Pfads angeben. Das liegt daran, dass die Desktopdatei immer absolute Dateinamen benötigt. In diesem Fall können Sie den vollständig aufgelösten absoluten Pfadnamen (einschließlich aller symbolischen Links) in der Fehlermeldung sehen.

8.11.1 „dt“-Befehle

Allgemein

Für die nachfolgende Beschreibung der „dt“-Befehle wird die Kenntnis der entsprechenden UNIX-Befehle vorausgesetzt. Wenn Sie mit diesen Befehlen nicht vertraut sind, schauen Sie bitte in Ihr UNIX-Handbuch.

Wenn es Sie nicht unbedingt interessiert, wie die „dt“-Tools genau funktionieren, brauchen Sie nur die Beschreibung des UNIX-Befehls zu lesen, der von dem entsprechenden „dt“-Tool ersetzt wird. Die technischen Erläuterungen nach jeder Kommandobeschreibung richtet sich an erfahrene Benutzer oder Systemadministratoren und erklärt einige Einzelheiten oder ein besonderes Verhalten des entsprechenden Befehls.

Mit sehr wenigen Ausnahmen verhält sich „dt“ auf sämtlichen von HELIOS unterstützten Plattformen gleich. Beachten Sie bitte, dass einige plattformspezifischen Optionen aus diesem Grund nicht eingebaut werden konnten.

Für alle Kommandos gelten die Standard-UNIX-Zugriffsrechte, wenn Sie auf eine Datei zugreifen, diese entfernen oder überschreiben möchten.

„dt“ überprüft jedes übergebene Argument nach diesen Namen:

.Desktop 
.DeskServer 
.rsrc

Diese Dateien werden von „dt“ implizit behandelt, sodass sie nicht direkt angegeben werden müssen. Sie sollten diese Dateien niemals mit anderen Kommandos, wie den Standard-UNIX-Tools, verschieben, kopieren oder entfernen. Sie sollten diese Dateien überhaupt nicht anfassen.

„dt“ erkennt ein HELIOS Volume an seiner Desktopdatei „.Desktop“. Genauso erkennt „dt“ den Zugriff auf HELIOS Volumes von anderen Servern aus nur anhand der verfügbaren „.DeskServer“-Dateien.

„dt“ verarbeitet den Daten- und den Ressourcezweig von Dateien bzw. Ordnern in HELIOS Volumes. Ist keine Ressourceinformation vorhanden, legt „dt“ ein Mindestmaß an Ressourceinformationen an. Besonders Kopier- oder Verschiebevorgänge können auf den Zieldateisystemen mehr freien Speicherplatz benötigen.

Folgende Kommandos werden unterstützt:

rm

Datei oder Verzeichnis löschen (UNIX: „rm“).

rmdir

Verzeichnis (wenn leer) entfernen (UNIX: „rmdir“).

mv

Datei oder Verzeichnis verschieben/​umbenennen (UNIX: „mv“).

cp

Datei oder Verzeichnis kopieren (UNIX: „cp“).

set (nicht unter Windows)

Mac- oder Windows-spezifische Dateiattribute setzen oder ändern.

ls

Verzeichnisinhalte einschließlich Mac- oder Windows-spezifischer Dateiattribute anzeigen (UNIX: „ls“).

mkdir

Verzeichnis anlegen (UNIX: „mkdir“).

touch

Datei anlegen oder Zugriffs- und Änderungsdatum setzen (UNIX: „touch“).

upd

HELIOS Volumeansicht aktualisieren.

chmod

Dateimodus ändern oder zuweisen (UNIX: „chmod“).

chown/chgrp

Gruppen- oder Benutzer-ID einer Datei ändern (UNIX: „chown“, „chgrp“).

idinfo (nicht unter Windows)

Datenbankinformation für eine angegebene ID anzeigen.

iddump

Datenbankinformation aller IDs für ein angegebenes Volume anzeigen.

find (nicht unter Windows)

Statt den Verzeichnisbaum eines Volumes rekursiv zu durchsuchen kontaktiert „dt“ den Prozess „desksrv“, damit dieser Datei- oder Ordnernamen in der Desktopdatei des Volumes findet. Das geht in der Regel erheblich schneller als den gesamten Verzeichnisbaum zu durchsuchen.

ftsearch

HELIOS Netzwerkvolumes nach Inhalt und Metadaten durchsuchen.

ftinfo

Metadaten einer Datei in einem HELIOS Netzwerkvolume anzeigen.

comment

Kommentare aus der Ressourceinformation anzeigen oder ändern.

sync (nicht unter Windows)

Ganze Volumes, Festplatten oder auch nur Ordner eines Ortes mit einem Zielort synchronisieren.

dt

Wenn Sie „dt“ ohne Argument aufrufen, wird die Anwendungszeile angezeigt:

Usage: dt { rm | rmdir | mv | cp | set | ls | mkdir | touch | upd |
            chmod | chown | chgrp | idinfo | iddump | find | ftsearch | 
            ftinfo | comment | sync }

Wenn Sie „dt“ mit dem Kommandoargument, aber ohne weiteres Argument aufrufen, wird die Hilfe für dieses Kommandoargument angezeigt. Um die Hilfedatei für „dt ls“ angezeigt zu bekommen, müssen Sie allerdings dt ls -h eingeben.

Viele „dt“-Tools unterstützen die Optionen:

-X Verzögerung beim Schließen der Desktopdatei abschalten
-y Suche nach Filestreams erzwingen
-E Ereignisse an den Benachrichtigungsserver senden
-X (Verzögerung beim Schließen der Desktopdatei)

In der Regel wird die Desktopdatei bei der Verwendung von „dt“ für 30 Sekunden „offen“ gehalten, um so den Mehraufwand durch vollständiges Öffnen und Schließen der Desktopdatei zu vermeiden, da weitere Zugriffe erwartet werden. Für einige Workflows ist es jedoch nicht ratsam, die Desktopdatei eines Volumes so lange offen zu halten. Daher wird mit der Option -X die Desktopdatei sofort geschlossen.

-y (Suche nach Filestreams erzwingen)

Nach Filestreams suchen, die nicht in der Ressourceinformation einer Datei angegeben sind. Diese Option überprüft das gesamte „.rsrc“-Verzeichnis der Datei. Um unnötige Suchoperationen zu vermeiden, wird die Standard-Ressource markiert, wenn Streams vorhanden sind.

-E (Ereignisse an den Benachrichtigungsserver senden)

Setzen Sie diese Option, werden Dateiereignisse an den Benachrichtigungsserver gesendet.

dt rm

Der Befehl „dt rm“ entfernt jede angegebene Datei im Verzeichnis.

Verwendung:

dt rm [-firyXE] file ...

Folgende Optionen stehen zur Verfügung:

-f

Datei ohne Nachfrage beim Benutzer entfernen.

-i

Für jede Datei wird eine Bestätigung des Vorgangs erfragt. Beginnt die Antwort mit y (yes), dann wird die Datei entfernt, andernfalls bleibt sie erhalten

-r

Rekursives Entfernen des angegebenen Verzeichnisses samt seiner Unterverzeichnisse

-y

Suche nach Filestreams erzwingen.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

-E

Ereignisse an den Benachrichtigungsserver senden.

Bei symbolischen Links wird der Link und nicht die referenzierte Datei entfernt.

Handelt es sich bei der Standardeingabe nicht um eine Konsole, verhält sich das Kommando als ob die Option -f gesetzt wäre.

Beispiele:
$ dt rm file1 file2

entfernt die Dateien: „file1“ und „file2“.

$ dt rm -rf imagedir

entfernt, ohne Nachfrage beim Benutzer, das Verzeichnis „imagedir“ mitsamt seinem Inhalt.

Hinweis:

Fehlende Ressourcezweige werden nicht gemeldet, es sei denn die Option -v ist gesetzt.

Das Rootverzeichnis des Volumes wird automatisch aktualisiert, um Änderungen jedem Client, der das Volume verbunden hat, mitzuteilen.

Wird ein Verzeichnis unter Verwendung der Option -r entfernt, versucht das Programm „dt“ automatisch, jeden verwaisten Ressourcezweig zu entfernen. Das Rootverzeichnis des Volumes kann nur entfernt werden, wenn dieses Volume von keinem anderen Client, weder von EtherShare, PCShare, WebShare noch von den „dt“-Tools verwendet wird. Andernfalls wird die Fehlermeldung „directory not empty“ ausgegeben.


dt rmdir

Der Befehl „dt rmdir“ entfernt den Verzeichniseintrag von jedem angegebenen Argument dirname, vorausgesetzt dieses Argument verweist auf ein leeres Verzeichnis.

Verwendung:

dt rmdir [-psyXE] dirname ...

Folgende Optionen stehen zur Verfügung:

-p

Erlaubt es Benutzern, das Verzeichnis dirname und seine übergeordneten Verzeichnisse, die leer geworden sind, rekursiv zu entfernen. Es wird eine Meldung in die Systemmeldungen geschrieben, falls der Pfad vollständig oder teilweise nicht entfernt werden konnte.

-s

Unterdrückt die Meldung, die bei der Verwendung der Option -p in die normale Fehlermeldungsdatei ausgegeben würde.

-y

Suche nach Filestreams erzwingen.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

-E

Ereignisse an den Benachrichtigungsserver senden.

dt mv

„dt mv“ verschiebt die ausgewählten Dateien oder Verzeichnisse in eine Zieldatei oder ein Zielverzeichnis.

Verwendung:

dt mv [-fiknvzcyXEC] f1 f2 
dt mv [-fiknvzcyXEC] f1 ... fn d1 
dt mv [-fiknvzcyXEC] d1 d2

Es gibt drei verschiedenen Anwendungsmöglichkeiten:

  • Datei „f1“ in Zieldatei „f2“ umbenennen

  • Übergebene Dateien „f1 … fn“ in Zielverzeichnis „d1“ verschieben

  • Übergebenes Verzeichnis in Zielverzeichnis „d2“ verschieben. Falls „d2“ nicht existiert, „d1“ in „d2“ umbenennen

Folgende Optionen stehen zur Verfügung:

-f

Datei(en) ohne Nachfrage verschieben, selbst wenn das Zielobjekt dabei überschrieben wird. Beachten Sie bitte, dass dies das Standardverhalten ist, wenn die Standardeingabe nicht von einer Konsole erfolgt.

-i

Erfragt für jede Datei eine Bestätigung des Vorgangs. Beginnt die Antwort mit y (yes),wird die Datei gelöscht, andernfalls bleibt sie erhalten.

-k

Bewahrt die ID, versucht die Quell-ID zuzuweisen und verwendet sie dann auch für das Ziel (siehe Kapitel 8.11.3 „„dt“ zur Datensicherung und -wiederherstellung nutzen“). Wenn dieser Vorgang nicht möglich ist, bekommen Sie nur dann eine Warnung angezeigt, wenn die Option -v gesetzt ist. Sie können diesen Parameter verwenden, um die Funktion von Mac-Aliasen zu gewährleisten.

-n

Bei fehlender Desktopdatei werden keine Ressource-Zweige angelegt (siehe Abschnitt Vorgabe beim Umgang mit dem Ressourcezweig von Dateien).

-v

Meldet jede Aktion und zeigt ausführliche Warnungen.

-z

Forciert das Anlegen einer Null-ID für das Zielobjekt. Lesen Sie dazu bitte den Abschnitt Null-IDs und Kapitel 8.11.3 „„dt“ zur Datensicherung und -wiederherstellung nutzen“.

-c

Verschiebt eine Datei von einem HELIOS Volume in ein weiteres, welches einen anderen Zeichensatz verwendet, ohne dass dieser umgewandelt wird oder entsprechende Fehlermeldungen ausgegeben werden.

Wichtig:

Wenn Sie bei den Befehlen „dt mv“ und „dt cp“ die Option -c nicht setzen, wird nur dann eine Fehlermeldung ausgegeben, wenn Sie Dateien von einem HELIOS Volume in ein anderes mit einer anderen Kodierung verschieben bzw. kopieren. Das Kopieren oder Verschieben von einem UNIX-Verzeichnis erzeugt keine Warnung.


-y

Suche nach Filestreams erzwingen.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

-E

Ereignisse an den Benachrichtigungsserver senden.

Hinweis:

Wird ein Ordner mit dem Befehl dt mv -E aus einem Verzeichnis außerhalb eines HELIOS Volumes verschoben, oder von einem HELIOS Volume in ein anderes, werden die Dateien im Ordner ebenfalls dem Benachrichtigungsserver gemeldet. Nur wenn der Ordner innerhalb eines HELIOS Volumes verschoben wird, erhält der Benachrichtigungsserver ausschließlich Meldung über den Ordner an sich.


-C

Deaktiviert das Filecaching des Betriebssystems. Mit dieser Option verhindern Sie, dass „dt“ bei großen Datenmengen den gesamten verfügbaren Cache-Speicher verwendet.

Das Verhalten der verschiedenen UNIX-Implementierungen unterscheidet sich, wenn sowohl die Option -f als auch die Option -i gesetzt wird. „dt mv“ verfährt nach folgender Regel: sind beide Optionen gesetzt, wird dies nicht als Fehler betrachtet, sondern die Option -f überschreibt die Option -i.

Wichtig:

Wenn Sie ein Verzeichnis zwischen zwei HELIOS Volumes verschieben, kann das Programm „dt“ nicht einfach nur den Verzeichniseintrag verschieben, wie dies mit einem normalen UNIX-„mv“-Befehl der Fall sein würde. Der Mac Finder müsste für diesen Vorgang zwei Schritte ausführen, nämlich einen Ordner von einem Volume in das andere kopieren und dann den Ordner im Quellvolume löschen. „dt“ muss eine ähnliche Aufgabe erfüllen. Jede in dem zu verschiebenden Verzeichnis enthaltene Datei bzw. Ordner muss zuerst in das Zielvolume geschoben und in der Desktopdatei des Zielvolumes registriert werden.
Das ist so, als würde man ein UNIX-Verzeichnis auf ein anderes Gerät verschieben. Dabei müssten auch alle betroffenen Dateien kopiert und anschließend im Quellverzeichnis entfernt werden, nur mit dem Unterschied, dass hier auch sämtliche Ressourcen und Streams einbezogen werden müssen.

Bitte beachten Sie, dass die Verknüpfung zwischen Mac-Dateien und -Ordnern und deren Aliasen verloren geht, nachdem sie erfolgreich von einem Volume zum anderen verschoben wurden. Dies gilt auch, wenn Sie dafür den Mac Finder verwenden. Wenn Quell- und Zielverzeichnis in unterschiedlichen Dateisystemen liegen, kopiert der „dt mv“ die Datei und löscht das Original. Alle permanenten Verknüpfungen zu anderen Dateien gehen bei diesem Vorgang verloren.

Das Rootverzeichnis des Quell- sowie des Zielvolumes wird automatisch aktualisiert, um jedem Client, der am Volume angemeldet ist, die Änderungen mitzuteilen.

Wird eine Datei in ein Verzeichnis ohne Desktopdatei kopiert (in ein reines UNIX-Verzeichnis), dann wird die Datei-ID üblicherweise auf Null gesetzt. Wenn Sie die Option -k verwenden, bleibt die Datei-ID erhalten.

Obwohl das „Ausführungs“-Bit des Datenzweigs nicht gesetzt sein sollte (gemäß dem Umgang mit Zugriffsrechten durch „afpsrv“), ist dieses Vorgehen für reine UNIX-Benutzer meist unpraktisch, weshalb jedes vorhandene „Ausführungs“-Bit standardmäßig beibehalten wird.

dt cp

„dt cp“ kopiert die übergebenen Dateien oder Verzeichnisse in eine Zieldatei oder ein Zielverzeichnis.

Verwendung:

dt cp [-fikpnvzcyXEC] f1 f2 
dt cp [-fikpnvzcyXEC] f1 ... fn d1 
dt cp -r[R] [-fikpnvzcyXEC] d1 ... dn-1 dn

Es gibt drei verschiedene Anwendungsmöglichkeiten:

  • Datei „f1" in die Zieldatei „f2“ kopieren

  • Übergebene Dateien „f1 … fn“ in Zielverzeichnis „d1“ kopieren

  • Übergebene Verzeichnisse in Zielverzeichnis „dn“ kopieren

Folgende Optionen stehen zur Verfügung:

-f

Kopiert die Datei ohne Nachfrage, auch wenn dabei eine bestehende Zieldatei überschrieben wird. Beachten Sie bitte, das dies das Standardverhalten ist, wenn der Aufruf des Befehls nicht von einem Terminal erfolgt.

-i

Fragt für jede Datei nach einer Bestätigung des Vorgangs. Beginnt die Antwort mit y (yes), dann wird die Datei kopiert, andernfalls bleibt sie erhalten.

-k

Versucht, die Desktop-ID beizubehalten.

-p

Behält Eigentümer- und Gruppen-IDs, Zugriffsrechte, Änderungs- und Zugriffsdatum bei.

-n

Es werden keine Ressourcezweige angelegt, falls keine Desktopdatei vorhanden ist (siehe Abschnitt Vorgabe beim Umgang mit dem Ressourcezweig von Dateien)

-v

Meldet jede Aktion und zeigt ausführliche Warnungen an.

-z

Erzwingt das Anlegen einer Null-ID für den Zielort. Lesen Sie bitte Abschnitt Null-IDs und Kapitel 8.11.3 „„dt“ zur Datensicherung und -wiederherstellung nutzen“.

-c

Kopiert eine Datei von einem HELIOS Volume in ein anderes HELIOS Volume, welches einen anderen Zeichensatz verwendet, ohne dass dieser umgewandelt wird oder entsprechende Fehlermeldungen ausgegeben werden.

-y

Suche nach Filestreams erzwingen.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

-E

Ereignisse an den Benachrichtigungsserver senden.

-r

Übergebenes Verzeichnis rekursiv kopieren (siehe -R).

-R

Übergebenes Verzeichnis rekursiv kopieren und symbolische Links beibehalten (siehe -r).

-C

Deaktiviert das Filecaching des Betriebssystems. Mit dieser Option verhindern Sie, dass „dt“ bei großen Datenmengen den gesamten verfügbaren Cache-Speicher verwendet.

Das Rootverzeichnis für das Quell- und Zielvolume wird automatisch aktualisiert, um jedem Client, der an das Volume angemeldet ist, die Änderungen mitzuteilen.

Wenn Ihre Quelle keinen Ressourcezweig hat und Ihr Ziel ein Volume ist, wird ein vorgegebener Ressourcezweig erzeugt. Bitte ziehen Sie auch in Betracht, dass jeder vorgegebene Ressourcezweig 64 Bytes an Speicherplatz benötigt und somit die minimale Größe eines Arbeitsspeicherblocks in einem Zieldateisystem verwendet. Wenn nur noch wenig freier Speicherplatz im Zielvolume verfügbar ist, überprüfen Sie zuerst, ob das Zieldateisystem alle Dateien speichern kann. Sie können mit ungefähr 1 KB (Fragmentgröße) pro Datei oder Ordner rechnen. Fragen Sie Ihren UNIX-Systemadministrator oder schlagen Sie die entsprechenden Seiten in Ihrem UNIX-Handbuch nach, wenn Sie Informationen darüber benötigen, wie Sie genauere Angaben über die Konfiguration Ihres Dateisystems erhalten.

dt set (nicht unter Windows)

„dt set“ modifiziert die zusätzlichen Dateiinformationen, die im Ressourcezweig der Datei gespeichert sind. Für weitere Informationen über die hier verwendeten Flags und Felder lesen Sie bitte Ihre Apple-Dokumentation.

Eine Beschreibung darüber, wie sich Type und Creator einer Datei setzen lassen, finden Sie in Kapitel 7.8.5 „Endungen“.

Verwendung:

dt set [-t type | -c creator | -f file] file ...
-E send notify events
-X suppress close delay for desktop
dt set -l label-color (0-7) file ...
dt set -v [mini|symbol|name|date|size|type|label|button] dir ...
dt set -a[-][BisrlbpIPS] file ...
      B:bundle  i:Invisible  s:system  r:readonly  l:locked
      b:backup  p:protected  I:inited  P:Package   S:shared
dt set -L launchcount file ...
dt set -C file ...

Folgende Optionen stehen zur Verfügung:

-E

Ereignisse an den Benachrichtigungsserver senden.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

-t

Setzt das Dateiattribut Type der Datei („file“) auf den übergebenen Wert.

-c

Setzt das Dateiattribut Creator der Datei („file“) auf den übergebenen Wert.

-f

Kopiert die Dateiattribute Type und Creator für die Datei „file“ aus einer anderen Datei.

-l

Setzt ein Farbetikett (Integerwert 0-7).

-v

Setzt die Eigenschaft für die folgenden Mac-Darstellungsmodi (nur Mac OS 9):

mini symbol name date size type label button
-a

Setzt die Eigenschaft für nachfolgende Modi:

Mac Windows
B bundle
i invisible Hidden
s system System
r readonly Read-Only
l locked
b backup
p protected
I inited
P package
S shared
[-] Folgendes Flag löschen


-L

Legt für die Datei („file“) die Anzahl der gleichzeitigen Programmaufrufe fest.

-C

Löscht im Ressourcezweig der Datei die Datei-IDs (setzt sie auf Null) und veranlasst das Programm „afpsrv“, neue IDs zuzuweisen.

Bitte beachten Sie, dass Sie diese Informationen unter Verwendung des Befehls „dt ls“ auflisten können. Wenn Sie Type- oder Creator-Informationen mit nicht-druckbaren Werten einstellen müssen, können Sie diese auch als Oktalwerte mit einem voranggestellten Backslash (“\​”) eingeben und folgende Escape-Sequenzen verwenden:

\b  backspace 
\n  newline 
\r  carriage-return 
\t  tab 
\f  form-feed 
\E  escape

Bitte beachten Sie, dass sowohl für den Type als auch den Creator alle Zeichen einschließlich des „0 Bytes“ (\​000) gültig sind. Jeder übergebene Creator oder Type muss genau 4 Bytes lang sein.

Beispiele:
$ dt set -t "TEXT" -c "R*ch" file

setzt mit Hilfe von ASCII-Werten Type und Creator für die Datei „file“.

$ dt set -c "\000\000\000\000" file

setzt mit Hilfe von Oktalwerten den Creator für die Datei „file“.

$ dt set -f mypic file

kopiert Type und Creator von „mypic“ nach „file“.

$ dt set -ai file

markiert die Datei „file“ als unsichtbar.

$ dt set -a-i file

löscht die Einstellung „Unsichtbar“ für die Datei „file“.

Wenn Sie „dt set“ für eine Datei ohne Ressourcezweig aufrufen, wird ein mit den übergebenen Parametern aktualisierter vorgegebener Ressourcezweig angelegt. Dies geschieht auch, wenn die Zieldatei nicht in einem HELIOS Volume liegt.

Bitte beachten Sie, dass „dt set“ kein „.rsrc“-Verzeichnis anlegt, sollte dieses fehlen. Wenden Sie zuerst „dt touch“ auf den Dateinamen an und erzwingen Sie so die Erstellung eines entsprechenden „.rsrc“-Unterverzeichnisses, in dem die Ressourceinformationen der Datei gespeichert werden können.

dt ls

Für jedes Argument („file“), das ein Verzeichnis ist, werden die Inhalte des Verzeichnisses aufgelistet. Für jedes Argument („file“), das eine normale Datei ist, werden die auf den Namen und den Ressourcezweig bezogenen Informationen aufgelistet. Wird kein Argument angegeben, wird das aktuelle Verzeichnis gelistet.

Verwendung:

dt ls [-1FSUacdiIlmnprstux] { -e[STBacdfilopstxy] } file ...

Folgende Optionen stehen zur Verfügung:

-1

Eine Datei pro Zeile anzeigen.

-F

Indikator an Namen hängen [*/=@|].

-S

Nach Größe sortieren.

-U

Nicht sortieren – Einträge so anzeigen, wie vom Dateisystem übergeben.

-a

Alle Einträge anzeigen, einschließlich jener, die mit einem Punkt beginnen („.“) und daher normalerweise nicht angezeigt werden.

-c

Nach ctime (letzte Änderung des Dateistatus) sortiert anzeigen.

-d

Bei einem Verzeichnis nur den Namen, aber nicht den Inhalt anzeigen.

-i

Inode für jede Datei anzeigen.

-I

Inode für jede Datei in hexadezimaler Schreibweise anzeigen.

-l

Listet die Einträge im Langformat auf (Attribute, Anzahl der Links, Benutzer, Gruppe, Größe, Datum, Name).

-m

Einträge werden kommasepariert angezeigt.

-n

Wie -l, jedoch mit Benutzer- und Gruppen-IDs.

-p

Indikator an Namen hängen [/=@|].

-r

Sortierreihenfolge umdrehen.

-s

Dateigröße als Anzahl der Blöcke ausgeben.

-t

Nach Änderungsdatum sortieren.

-u

Nach letztem Zugriffsdatum sortieren.

-x

Einträge in Zeilen statt in Spalten anzeigen.

Erweiterte Attribute (mit -e aufrufen):

-S

Ressourcedatei und Streams für jeden Eintrag anzeigen. Jede Datei und Ressource sowie jeder Stream wird in einer eigenen Zeile angezeigt, wobei ein Indikator vorangestellt wird: R für eine Ressourcedatei, E für eine Ressourcedatei mit erweitertem zusätzlichen Stream-Attribut und S für einen zusätzlichen Stream. Alle anderen Dateien haben keinen Indikator.

-T

Erstellungsdatum der Ressourcedatei.

-B

Backupdatum der Ressourcedatei.

-a

Wie -e cfit.

-c

Creator der Ressourcedatei anzeigen.

-d

Dateinamen der Ressourcedatei statt des UNIX-Namens anzeigen.

-f

Attribute der Ressourcedatei anzeigen.

Atribute: d:directory  A:alias      B:bundle
          P:package    i:invisible  s:system
          r:readonly   l:locked     b:backup
          p:protected  I:inited     S:shared
Hinweis:

Mac-Aliase lassen sich mit den „dt“-Tools nicht anlegen. Der interne Aufbau von Aliasen ist von Apple nicht dokumentiert.


-i

Desktop-ID anzeigen.

-l

Farbetikett anzeigen (Integerwert 0-7).

-o

Nicht darstellbare Type- und Creator-Zeichen in oktaler Schreibweise anzeigen.

-p

Übergeordnete Desktop-ID anzeigen.

-s

Kombinierte Größe von Ressourcezweigen und Streams anzeigen.

-t

Type der Ressourcedatei anzeigen.

-x

Nicht darstellbare Type- und Creator-Zeichen in hexadezimaler Schreibweise anzeigen.

-y

Suche nach Streams erzwingen.

Beispiele:
$ dt ls /support/temp 
abc.mov

Mit diesem Befehl werden die Namen aller Dateien im übergebenen Verzeichnis „/support/temp“ angezeigt.

Falls Sie mehr Ressource- und Stream-Informationen bekommen möchten:

$ dt ls -l -ea /support/temp
-rw-rw-rw- 1 -----r--p-- 5 'MooV' 'TVOD' Jon admin 21988
Jan 5 2005 9:34 abc.mov

Dieser Befehl gibt den Dateimodus (Lese- und Schreibzugriff für Eigentümer, Gruppe und Andere), die Anzahl der Links (1), Finder-Attribute (read-only, protected), die Desktop-ID (5), Type und Creator (MooV, TVOD), den Benutzer (Jon), die Gruppe (admin), die Größe (21988 Bytes), Datum bzw. Uhrzeit und den Dateinamen (abc.mov) aus.

Beachten Sie bitte, dass das Ausgabeformat (z. B. für die Uhrzeit) von Ihren lokalen Einstellungen abhängt.

„dt ls“ verwendet die Benutzer- und Gruppeninformation vom Autorisierungsserver (falls aktiv). Andernfalls werden nur die UNIX-Benutzer bzw. -Gruppen angezeigt.

dt mkdir

Mit dem Kommando „dt mkdir“ lassen sich die übergebenen Verzeichnisse einschließlich des entsprechenden Ressourcezweigs und des Eintrags in der Desktopdatenbank anlegen.

Verwendung:

dt mkdir [-m <mode>] [-pyXE] dir ...

Folgende Optionen stehen zur Verfügung:

-m <mode>

Zu verwendenden Verzeichnismodus angeben.

-p

Wird diese Option gesetzt, werden zunächst alle dem Verzeichnis „dir“ übergeordneten, nicht existierenden Verzeichnisse angelegt. Der den dazwischenliegenden Verzeichnissen zugewiesene Modus entspricht der Differenz zwischen 777 und den in „umask“ gesetzten Bits.

-y

Suche nach Filestreams erzwingen.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

-E

Ereignisse an den Benachrichtigungsserver senden.

Beispiel:
$ dt mkdir -m0444 mydir

legt das Verzeichnis „mydir“ mit den angegebenen Modi an.

Hinweis:

Ist kein Parameter angegeben, wird das endgültige Verzeichnis im Oktalmodus 777 unter Berücksichtigung von „umask“ erstellt.


dt touch

Der Befehl „dt touch“ setzt die Zugriffs- und die Änderungszeit der Datei auf die aktuelle Zeit. Wenn die Datei nicht existiert, wird sie erzeugt.

Verwendung:

dt touch [-XEy] file ...

Folgende Optionen stehen zur Verfügung:

-y

Suche nach Filestreams erzwingen.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

-E

Ereignisse an den Benachrichtigungsserver senden.

Beispiel:
$ dt touch myfile
dt upd

Das Kommando „dt upd“ aktualisiert das Volumeverzeichnis für die übergebene Datei oder das übergebene Verzeichnis, damit alle Mac-Computer, die das Volume gemountet haben, die Änderungen an den Inhalten anzeigen können. Dies kann erforderlich sein, wenn beispielsweise eine Datei unter UNIX angelegt wird und der Mac das neue Symbol nur nach Schließen und erneutem Öffnen des entsprechenden Fensters darstellen würde.

Bitte beachten Sie, dass alle „dt“-Kommandos automatisch jedes verwendete Volume aktualisieren. Daher ist dieser Befehl nur notwendig, wenn Dateien von anderen nicht-„dt“-Befehlen angelegt oder verändert werden. Überprüfen Sie, ob Sie Ihren Workflow an „dt“-Kommandos anpassen können und so potenziell schädliche nicht-„dt“-Befehle vermeiden können.

Verwendung:

dt upd [-X] file ...|dir ...

Folgende Option steht zur Verfügung:

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

Beispiel:
$ dt upd myfile
dt chmod

Mit dem Kommando „chmod“ lassen sich die Modi der Zugriffsrechte einer Datei ändern. Die Rechte lassen sich mit absoluten oder symbolischen Werten angeben.

Verwendung:

dt chmod [-fRXy] absMode file ... 
dt chmod [-fRXy] [ugoa]{+|-|=}[rwxstugo] file ...

Folgende Optionen stehen zur Verfügung:

-f

Fehlermeldungen wegen fehlgeschlagener Änderungsversuche werden unterdrückt.

-R

Dateirechte durch alle Unterverzeichnisse (rekursiv) ändern.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

-y

Suche nach Filestreams erzwingen.

Ein absoluter Status wird durch die Verwendung von Oktalzahlen angegeben (0-7), bitte lesen Sie die UNIX-Dokumentation für eine vollständige Beschreibung.

Eine symbolische Status-Spezifikation ist eine durch Kommata separierte Liste (ohne dazwischenliegende Leerschritte) von symbolischen Status-Ausdrücken in der Form:

[who] operator [permissions] ([ugoa]{+|-|=}[rwxstugo])

Um Zugriffsrechte für Dateien und Ordner mit ihren zugehörigen Ressourcezweigen anzupassen, müssen Sie der Eigentümer des fraglichen Verzeichnisses sein. Wenn die Zugriffsrechte des Ressourceverzeichnisses nicht den Zugriffsrechten des übergeordneten Verzeichnisses entsprechen, kann der Befehl „dt chmod“ die Zugriffsrechte des Verzeichnisses „.rsrc“ nicht anpassen. Sie müssen sich als Benutzer „root“ anmelden, um die Zugriffsrechte der beiden Verzeichnisse zu synchronisieren. Bitte lesen Sie die UNIX-Dokumentation für eine vollständige Beschreibung.

Beispiele:
$ dt chmod 444 file

setzt für die Datei „file“ das Zugriffsrecht auf „Nur lesen“ (0444).

$ dt chmod a=rwx,g+s file

setzt für die Datei „file“ die Zugriffsrechte lesen („r“), schreiben („w“) und ausführen („x“) für alle Benutzer („a“) und fügt den Status „group set-ID“ („s“) für Gruppenrechte hinzu.

Hinweis:

Werden HELIOS Volumes auf Windows-Servern über den AFP-Server freigegeben stehen nur einfache Zugriffsrechte zur Verfügung. Zudem empfiehlt es sich, das Windows-Tool „icacls“ für die Anzeige bzw. Verwaltung von Zugriffsrechten zu verwenden.

dt chown

Der Befehl „dt chown“ stellt die Benutzer-ID der übergebenen Datei auf die neue durch den Eigentümer festgelegte Benutzer-ID ein und optional die Gruppen-ID auf die neue Gruppe.

Verwendung:

dt chown [-fhRXy] owner[:group] file ...
Hinweis:

Es ist auch möglich, die Benutzer- bzw. Gruppeninformationen durch Punkte statt Doppelpunkte getrennt (wie bei GNU/BSD) anzugeben. Enthält ein Benutzername einen Punkt, müssen Benutzer und Gruppe allerdings durch einen Doppelpunkt getrennt werden.

Beispiel:
'dt chown firstname.lastname:groupname file' oder 'dt chown firstname.lastname: file' (behält die aktuelle Gruppe bei).

Folgende Optionen werden unterstützt:

-f

Fehlermeldungen werden unterdrückt.

-h

Wenn die Datei eine symbolische Verknüpfung ist, den Eigentümer dieser Verknüpfung – nicht der Eigentümer der Datei, auf die die Verknüpfung verweist – ändern. Diese Option wird nicht auf allen Plattformen unterstützt.

-R

Dateieigentümer durch alle Unterverzeichnisse (rekursiv) bearbeiten.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

-y

Suche nach Filestreams erzwingen.

Es lässt sich eine Benutzer-ID und optional eine Gruppen-ID zuweisen. Beide IDs können entweder numerisch oder durch den entsprechenden Benutzer- oder Gruppennamen angegeben werden.

Beachten Sie bitte, dass Sie über die notwendigen Zugriffsrechte verfügen müssen, um die Benutzer- bzw. Gruppen-ID einer Datei ändern zu können – gemäß der UNIX-Semantik darf ausschließlich die Benutzer-ID „root“ Änderungen an den Dateieigentümern vornehmen.

Beispiele:
# dt chown frank:support myfile

ändert den Eigentümer der Datei „myfile“ in „frank“ und die Gruppe in „support“.

# dt chown 100 myfile

ändert den Eigentümer der Datei „myfile“ in den Benutzer, für den die ID 100 definiert wurde.


dt chgrp

Der Befehl „chgrp“ stellt die Gruppen-ID einer übergebenen Datei auf die der neuen Gruppe ein.

Verwendung:

# dt chgrp [-fhRXy] group file ...

Folgende Optionen werden unterstützt:

-f

Fehlermeldungen werden unterdrückt.

-h

Wenn die Datei eine symbolische Verknüpfung ist, wird die Gruppe dieser Verknüpfung – und nicht die Gruppe der Datei, auf die die Verknüpfung verweist – geändert. Diese Option wird nicht auf allen Plattformen unterstützt.

-R

Gruppe durch alle Unterverzeichnisse (rekursiv) bearbeiten.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

-y

Suche nach Filestreams erzwingen.

Eine Gruppen-ID kann entweder durch die numerische ID oder den entsprechenden Gruppennamen festgelegt werden.

Bitte beachten Sie, dass Sie über die notwendigen Zugriffsrechte verfügen müssen, um die Gruppen-ID einer Datei zu ändern – gemäß der UNIX-Semantik darf ausschließlich die Benutzer-ID „root“ Änderungen an den Dateieigentümern vornehmen.

Beispiele:
# dt chgrp support myfile

ändert die Gruppe in „support“.

# dt chgrp 100 myfile

ändert die Gruppe der Datei „myfile“ in die Gruppe, für die die ID 100 definiert wurde.

dt idinfo (nicht unter Windows)

Die Hauptaufgabe dieses Befehls ist das Aufspüren von Problemen. Die Mac-Datei- bzw. die Verzeichnis-ID wird im Ressourcezweig der Datei sowie in der Desktopdatenbank gespeichert. Die im Ressourcezweig gespeicherte ID kann unter Verwendung des Befehls „dt ls“ angezeigt werden.

Der Befehl „idinfo“ kann verwendet werden, um Datenbankinformationen für die übergebene ID darzustellen. Wenn es keine Unterschiede zwischen den Ressourcedaten und dem entsprechenden Datenbankeintrag gibt, sollten Sie die gleiche Information erhalten. Wenn dies nicht der Fall ist, dann sollte der Systemadministrator mit dem Programm „rebuild“ das betroffene Volume untersuchen. Sie können den Befehl rebuild -s <volume root> verwenden, um zu überprüfen, ob die Volumeinformationen in der zugehörigen Desktopdatenbank korrekt wiedergegeben werden.

Verwendung:

dt idinfo [-v volume] [-X] id ...

Folgende Optionen werden unterstützt:

-v

Mit dieser Option können Sie das zu verwendende Volume oder jede Datei bzw. jedes Verzeichnis innerhalb dieses Volumes angeben.

Hinweis:

Bitte beachten Sie, dass jedes Volume seinen eigenen ID-Nummernkreis hat. Daher müssen Sie für jede abzufragende ID das korrekte Volume spezifizieren. Wenn Sie mit der Option -v kein Volume festlegen, wird das aktuelle Verzeichnis verwendet.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

Beispiele:
$ dt idinfo -v /support 3159

gibt die folgende Information aus:

volume: '/support' id=3159 pid=2 name: 'temp'
path: /support/temp

in der das gefundene Volume, die ID, die übergeordnete ID (Parent ID) für diese Datei und der zugehörigen in der Datenbank gespeicherte Name ausgegeben werden.

Hinweis:

Bitte beachten Sie, dass eine in der Datenbank entdeckte ID ohne eine zugehörige Datei in diesem Volume keine Probleme verursacht oder zu Datenverlust führt.


dt iddump

Jede Datei in einem HELIOS Volume hat eine ID, die einmal in seinem Ressourcezweig und einmal in der Desktopdatenbank gespeichert ist. Der Befehl „dt iddump“ gibt alle Datei-IDs des fraglichen Volumes (legen Sie den Volumepfad fest) von der Desktopdatenbank an die Standardausgabe („stdout“) aus.

Verwendung:

dt iddump [-X] volume

Folgende Option wird unterstützt:

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

dt find (nicht unter Windows)

Statt den Verzeichnisbaum eines Volumes rekursiv zu durchsuchen, beauftragt „dt find“ das Programm „desksrv“ mit dem Auffinden von Datei- oder Ordnernamen in der Desktopdatenbank des Volumes. Dies geht in der Regel viel schneller als den gesamten Verzeichnisbaum zu durchsuchen.

Verwendung:

dt find [-v volume] [-eiX] pattern ...

Folgende Optionen werden unterstützt:

-v

Volumepfad angeben (Vorgabe ist das aktuelle Verzeichnis).

-i

Datei-ID ausgeben.

-e

Auch teilweise Treffer berücksichtigen.

-X

Verzögerung beim Schließen der Desktopdatei abschalten.

dt ftsearch

HELIOS Netzwerkvolumes nach Inhalt und Metadaten durchsuchen. Die Verwendung von „dt ftsearch“, alle unterstützten Optionen sowie Beispiele werden im HELIOS Index Server Benutzerhandbuch beschrieben.

dt ftinfo

Metadaten aus einer Datei in einem HELIOS Netzwerkvolume extrahieren. Die Verwendung von „dt ftinfo“, alle unterstützten Optionen sowie Beispiele werden im HELIOS Index Server Benutzerhandbuch beschrieben.

dt comment

Kommentare aus den Ressourceinformationen anzeigen.

Verwendung:

dt comment [-s comment] file ...

Folgende Optionen werden unterstützt:

-E

Ereignisse an den Benachrichtigungsserver senden.

-s

Kommentar setzen.

-v

Dateinamen in der Ausgabe mit angeben.

dt sync (nicht unter Windows)

Ganze Volumes, Festplatten oder nur einen Ordner mit einem anderen Ort synchronisieren (siehe Kapitel 7.5.9 „Syncs“).

Verwendung:

dt sync [-fiknovVzcyXEKDSLC] [J -jobname] SRC DEST

Folgende Optionen werden unterstützt:

-f

Lässt sich eine bestehende Zieldatei nicht öffnen, wird diese entfernt und die Synchronisierung erneut versucht. Normalerweise wird diese Option nicht benötigt, wenn „dt sync“ als root aufgerufen wird (wird empfohlen).

-i

Interaktiv: vor dem Überschreiben fragen.

-k

Versuche, die Desktop-IDs beizubehalten. Dies funktioniert allerdings nur, wenn am Zielort noch keine Dateien gespeichert sind. Für weitere Synchronisierungen ist die Option -k nicht sinnvoll.

-n

Quell-Ressourcezweige und -Filestreams (SRC) nicht mit dem Zielort synchronisieren.

-o

Warnung ausgeben, falls Dateien während der Synchronisierung zum Schreiben geöffnet sind.

-v

Warnungen anzeigen und die Option -V einbeziehen um Statistiken anzuzeigen (siehe unten)

-V

Eine zusammenfassende Statistikzeile am Ende anzeigen, z. B.:

updated (files/size): 14122/17.3G - skip: 0/0B
- removed: 0/0B - directories: 733 - elapsed: 3 min
31 s 790 ms
-z

Diese Option setzt alle Ziel-IDs auf Null. Der Hauptnutzen von „dt sync“ ist allerdings, dass der Inhalt zweier aktiver Volumes synchronisiert werden kann, weshalb diese Option in den meisten Workflows nicht benötigt wird.

-c

Kopiert eine Datei von einem HELIOS Volume in ein anderes HELIOS Volume, welches einen anderen Zeichensatz verwendet, ohne dass dieser umgewandelt wird oder entsprechende Fehlermeldungen ausgegeben werden.

-y

Suche nach Filestreams erzwingen.

-X

Verzögerung beim Schließen der Desktopdatei abschalten. Für „dt sync“ bringt diese Option allerdings keinen Vorteil.

-E

Ereignisse an den Benachrichtigungsserver senden.

-K

Mit dieser Option wird beim Kopieren von Dateien, die symbolische Links enthalten, das Ziel des Links kopiert statt einen symbolischen Link anzulegen.

-D

Dateien in DEST, die nicht mehr in SRC existieren, nicht entfernen. Diese Option ist standardmäßig deaktiviert, da es besser ist, Dateien im Zielort zu löschen, wenn sie im Quellort nicht mehr existieren. Nur so kann die Größe des Zielortes richtig berechnet werden, da bei der Synchronisation der Zielort dieselbe Größe benötigt wie der Quellort.

-S

Nur die zu synchronisierende Datenmenge anzeigen und eine Zusammenfassung ausgeben. Zusammen mit der Option -L werden die einzelnen Dateien, die für die Synchronisation vorgemerkt sind, ausgegeben.

-L

Anzeigen, welche Dateien durch die Synchronisierung betroffen wären (eine Datei pro Zeile), z. B.:

cp ovr : /Volumes/Temp/demovol/.DS_Store
cp new : /Volumes/Temp/demovol/Altona/
         altona_visual_1v2a_x3.pdf
cp new : /Volumes/Temp/demovol/Altona/
         altona_visual_1v2a_x3.pdf.annotation
rmdir  : /Volumes/Temp/demovol/Altona/
remove : /Volumes/Temp/demovol/Altona/
         altona_visual_1v2a_x3.pdf
chown  : /Volumes/Temp/demovol/Altona/
         altona_visual_1v2a_x3.pdf
chmod  : /Volumes/Temp/demovol/Altona/
         altona_visual_1v2a_x3.pdf
-C

Deaktiviert das Filecaching des Betriebssystems. Mit dieser Option verhindern Sie, dass „dt“ bei großen Datenmengen den gesamten verfügbaren Cache-Speicher verwendet.

-J

Name des Synchronisierungsauftrags. Dieser Name wird in erster Linie von HELIOS Admin zu statistischen Zwecken genutzt, oder um doppelte Synchronisierungsaufträge zu vermeiden. Diese Option spiegelt den Eintrag in der Spalte Jobname der „Syncs“-Konfiguration in HELIOS Admin wieder.

Beispiel 1:
 Einen Quell- mit einem Zielordner synchronisieren
# dt sync /SRC /DEST

Um jede Nacht um 3:00 Uhr eine Synchronisierung durchzuführen, muss der Eintrag in der „crontab“ wie folgt aussehen:

0 3 * * * /usr/local/helios/bin/dt sync /SRC /DEST

Ein erweiterter Eintrag, der auch Benachrichtigungen per E-Mail sendet, würde so aussehen:

0 3 * * * /usr/local/helios/bin/dt sync /SRC /DEST  2>&1 |
          mail -s "Daily Sync" admin@yourdomain.com

Standardmäßig gibt „dt sync“ nur ernste Fehler aus. Die Ausgabe 0 bedeutet, dass der Auftrag erfolgreich ausgeführt wurde. Mit der Option -V lässt sich nach Fertigstellung der Synchronisierung eine Zusammenfassung aufrufen. Die Option -v zeigt Ihnen Warnmeldungen und Statistiken an. Die Option -E bewirkt, dass Ereignisse an den Benachrichtigungsserver gemeldet werden, um den Spotlight-Suchindex aktuell zu halten.

Hinweis:

Die Funktion „Syncs“ in HELIOS Admin (Kapitel 7.5.9 „Syncs“) eignet sich, um wiederkehrende Synchroniserungsaufgaben anzulegen und einen Zeitplan für diese zu erstellen.

Beispiel 2:

Einen einzigen Ordner innerhalb eines Pfades synchronisieren:

# dt sync /SRC/FolderA /DEST/FolderA
Beispiel 3:

Nur scannen; Bericht über zu synchroniserende Dateien und Ordner ausgeben:

# dt sync -S /SRC /DEST

oder alternativ:

# dt sync -S -L /SRC /DEST
Hinweis:

Beim Synchronisieren von Ordnern, die symbolische Links enthalten, werden diese Links am Zielort immer neu angelegt, da an symbolischen Links kein Änderungsdatum gesetzt werden kann. Daher legt „dt sync“ symbolische Links immer wieder neu an.

„dt sync“ unterstützt UTF-8-Volumes sowie -Dateinamen.

8.11.2 Zusätzliche Informationen

Die Informationen in diesem Abschnitt richten sich in erster Linie an Systemadministratoren, die die „dt“-Tools in eigene Lösungen integrieren möchten, z. B. Backup-Skripte. Für die einfache Nutzung der „dt“-Tools sind diese Informationen nicht relevant (es schadet aber auch nicht, wenn Sie hier weiterlesen).

Dateien unter UNIX

Jedes HELIOS Volume verfügt über eine zugehörige Desktopdatenbank. Diese enthält zusätzliche Informationen über jede Datei bzw. jedes Verzeichnis, das in diesem Volume gespeichert ist.

Jede Datei oder jedes Verzeichnis in einem HELIOS Volume besteht aus zwei Teilen: dem „Datenzweig“ und dem „Ressourcezweig“.

Obwohl für den Anwender unsichtbar, werden beide Teile einer Datei und die entsprechenden Informationen in der Desktopdatenbank transparent und automatisch von EtherShare gehandhabt. Unter Mac und Windows kann eine Datei eine große Anzahl zusätzlicher Streams beinhalten, jedoch keine Informationen aus der Desktopdatenbank.

Wenn Sie zusätzlich auch ImageServer und/oder PCShare nutzen, koordinieren diese HELIOS Produkte den Zugriff auf gemeinsam genutzte Dateien und Ordner ebenfalls mit den Desktopdatenbanken der HELIOS Volumes.

Wenn Sie aus UNIX-Sicht auf ein Volume sehen, finden Sie zwei Dateien: den Datenzweig als die „normale“ UNIX-Datei sowie den Ressourcezweig desselben Namens im Unterverzeichnis „.rsrc“.

Weitere Informationen zu diesem Thema finden Sie im Kapitel „Verzeichnis- und Dateiformate“ im HELIOS EtherShare Handbuch.

Vorgabe beim Umgang mit dem Ressourcezweig von Dateien

Da UNIX-Dateien nur aus einem Teil bestehen, Mac-Dateien jedoch aus zweien (siehe Dateien unter UNIX), sollte jedes reine UNIX-Verzeichnis („UNIX-dir“) nur Einträge ohne einen entsprechenden Ressourcezweig haben. In einem Mac-Volume („Volume-dir“) hingegen muss jeder Eintrag einen entsprechenden Ressourcezweig und kann optionale Streams enthalten.

Wenn Sie nun einen Eintrag von einem „Volume-dir“ in ein „UNIX-dir“ kopieren oder verschieben, erstellt das Programm „dt“ immer einen vorgegebenen Ressourcezweig für diese Datei. Dies ist auch das normale Verhalten, wenn Sie eine Datei von einem „Volume-dir“ in ein anderes „Volume-dir“ verschieben oder kopieren. Wenn Sie einen Eintrag aus einem „Volume-dir“ in ein „UNIX-dir“ kopieren, kopiert oder verschiebt das Programm „dt“ ebenfalls den Ressourcezweig, auch wenn dieser hier nicht gebraucht wird. Dies wird deshalb so gemacht, um jeden unbeabsichtigten Datenverlust zu vermeiden. Wenn Sie die Ressourcezweige hier nicht berücksichtigen möchten, können Sie für den Befehl „dt mv“ oder „dt cp“ die Option -n verwenden.

Lokale und Remote-Desktopdatenbanken

Es ist nicht erforderlich, dass der Desktopserver auf dem UNIX-Server läuft, auf dem Sie „dt“-Befehle ausführen. Allerdings versuchen die „dt“-Tools immer zuerst eine Verbindung zu dem lokalen Desktopserver auf dem Server herzustellen, auf dem Sie die Befehle ausführen.

Wenn dieses Volume bereits anderweitig verwendet wird (z. B. als Volume am Mac gemountet ist), versuchen die „dt“-Tools, eine Verbindung mit dem Server herzustellen, der das Volume bedient. Dies kann auch ein anderer Computer sein, beispielsweise wenn dieses Volume über NFS gemountet ist. Quelle und Ziel werden dabei komplett unabhängig voneinander behandelt. Die Quelldatei für einen Kopierbefehl kann beispielsweise von einem lokalen Desktopserver verwaltet werden, während das in einem über NFS-gemounteten Verzeichnis liegende Zielverzeichnis von einem anderen HELIOS Desktopserver verwaltet wird.

Die „dt“-Tools können keine Verbindung zum Desktopserver herstellen, wenn das Zielverzeichnis nicht von einem HELIOS-Client gemountet wurde und kein lokaler Desktopserver läuft. In diesem Fall starten Sie einen lokalen Desktopserver oder mounten Sie dieses Volume auf einem HELIOS-Client.

Die „dt“-Tools führen eine umfangreiche Überprüfung durch, um die Verbindung zum richtigen Desktopserver herzustellen. Überprüfen Sie bitte dennoch Ihre Umgebung, damit nicht von unterschiedlichen HELIOS Servern zur gleichen Zeit auf dasselbe HELIOS Volume zugegriffen werden kann.

Hinweis:

Wenn von mehreren HELIOS Servern per NFS auf dieselben Daten zugegriffen wird, funktioniert die Überprüfung nach über Kreuz gemounteten Volumes nur dann, wenn beide HELIOS Server von derselben HELIOS CD installiert wurden.

Wenn verschiedene Desktopserver in den Vorgang involviert sind, ein Verzeichnis zu verschieben, kann es erforderlich sein, die Verzeichnisse einzeln durchzugehen anstatt einfach den Verzeichniseintrag zu verschieben. Weitere Einzelheiten dazu finden Sie in der Beschreibung zu dt mv.

„Einhängepunkte“ und „Automatisches Mounten“

Doppeltes Mounten (d. h. der Zugriff auf dasselbe Verzeichnis über verschiedene Einhängepunkte), z. B.

mount     myserver:/usr/es /es 
mount     myserver:/usr/es /home/user1/es_copy)

führt zu Unterschieden zwischen Volume- und Desktopinformationen und verursacht so inkonsistente Datenbestände.

Beachten Sie bitte, dass Sie dieses Problem unbeabsichtigt verursachen könnten, indem Sie über einen automatischen Mountvorgang auf ein bereits gemountetes Dateisystem zugreifen:

$ dt cp /net/myserver/usr/es/file1 file2

Sie können dieses Problem vermeiden, indem Sie auf keinem der beteiligten Server (Quelle und Ziel) automatische Mountvorgänge einrichten.

Null-IDs

HELIOS Fileserver erkennen auf jedem gemounteten Volume automatisch jede Datei, deren zugehöriger Ressourcezweig eine Null-ID hat (die ID ist auf eine numerische Null gesetzt), wenn das übergeordnete Verzeichnis von einem Mac- oder Windows-Client geöffnet wird.

Eine Datei ohne eine gültige ID hat überhaupt keinen Datenbankeintrag. Daher wird ein neuer Eintrag für die Desktopdatenbank angelegt und der Ressourcezweig unter Verwendung der neuen ID aktualisiert.

Die „dt“-Tools erzeugen nie Ressourcezweige mit Null-IDs in Volumes, es sei denn, Sie erzwingen dieses Verhalten durch die Verwendung der Option -z für die „dt“-Kommandos „cp“ und „mv“.

Wichtig:

Diese Option sollte nur vom Systemadministrator verwendet werden – sie ist nicht für den normalen Gebrauch gedacht.

8.11.3 „dt“ zur Datensicherung und -wiederherstellung nutzen

Einer der Hauptgründe zur Verwendung der „dt”-Tools ist, dass sich damit Probleme bei der Wiederherstellung von Daten aus Sicherungen vermeiden lassen. Wir zeigen Ihnen hier, wie die „dt“-Tools zur Datensicherung und -wiederherstellung verwendet werden:

Datensicherung

Sie können Ihre Datensicherung wie gewohnt direkt von dem Volume vornehmen. HELIOS „dt“ stellt sicher, dass die versteckten „.rsrc“-Verzeichnisse mitgesichert werden. Um unvollständige Datenbackups zu verhindern, vergewissern Sie sich, dass auf die zu sichernden Dateien bzw. Ordner zur Zeit des Backups nicht von anderen Clients oder UNIX-Programmen zugegriffen wird. Wenn Sie ein komplettes HELIOS Volume sichern und wiederherstellen und dabei die Desktopdatei „.Desktop“ mitsichern möchten, lesen Sie bitte den Abschnitt 13.2.1 „Online-Datensicherungen von einem Live-Volume“.

Wichtig:

Stellen Sie Ihre Daten niemals auf dem Zielvolume wieder her!

Wiederherstellung

Legen Sie bitte das Verzeichnis für die Datenwiederherstellung auf demselben Gerät bzw. derselben Partition an, in dem sich auch das Zielvolume befindet. Möchten Sie die Dateien beispielsweise in „/data/mypics“ wiederherstellen, legen Sie ein Verzeichnis „/data/restore“ an. Dieses „Wiederherstellungsverzeichnis“ darf nicht als Volume freigegeben sein. Nun können Sie Ihre Daten mit Ihrer bevorzugten Methode in das neu angelegte Verzeichnis „restore“ wiederherstellen. Vergewissern Sie sich dabei aber, dass Sie weder die Datei „.Desktop“ noch „.DeskServer“ wiederherstellen.

Wichtig:

Entfernen Sie diese Dateien („.Desktop“ und „.DeskServer“) niemals von einem verbundenen Volume oder bearbeiten diese direkt! Dies könnte nicht nur zu Datenverlust auf dem Volume führen, sondern auch zu Problemen mit allen Volumes auf dem Server. Falls Sie diese Dateien sichern und wiederherstellen möchten, vergewissern Sie sich, dass EtherShare und PCShare (falls Sie die Volumes gemeinsam nutzen) VOR dem Sichern und Wiederherstellen gestoppt wurden. Nur wenn die HELIOS Dienste mittels „stop-helios“ beendet wurden und der Zugriff von anderen HELIOS Servern unterbunden ist, können HELIOS Prozesse auf diese Dateien nicht zugreifen.

Zum Schluss müssen Sie die wiederhergestellten Dateien in ihren finalen Bestimmungsort bewegen. Durch diese Vorgehensweise, die auf dem verbundenen Zielvolume durchgeführt werden kann, vermeiden Sie Datenverlust.
Für gewöhnlich werden neue (nicht vergebene) Datei-IDs zugewiesen, wenn Sie Dateien an einen Ort sichern. Es kann jedoch sinnvoll sein, die alten Datei-IDs zu behalten (mit Hilfe der Option -k). Auf diese Weise lässt sich die Datei mit der Original-ID verwenden, was sich dann als nützlich erweist, wenn Sie Mac-Aliase verwenden, die auf diese Dateien bzw. Ordner verweisen. Sie sollten diese Option mit Bedacht setzen, dann falls die Desktopdatenbank nach Ihrer Datensicherung komplett neu aufgebaut wurde, könnte es passieren, dass die Aliase nicht mehr auf die richtigen Originale verweisen. Um Probleme zu vermeiden, kann es sinnvoll sein, das Zielvolume einem Integritätscheck zu unterziehen, indem Sie vor der Wiederherstellung von Dateien auf der Kommandozeile den Befehl rebuild -s eingeben.

Die HELIOS „dt“-Tools bieten ein UNIX-kompatibles Datenmanagement für Windows. „dt“ unterstützt UTF-8-Parameter und benötigt keine separate Kommandozeile. UNIX-ähnliche Dateizugriffsrechte („owner“, „group“, „other“, „mode“) lassen sich direkt aus „dt“ setzen und werden dann in Windows ACLRechte umgesetzt. Die Verwendung von „dt“-Tools in Skripten hat den Vorteil, dass Perl-Skripte sowohl auf UNIX- als auch auf Windows-Plattformen laufen.

Weitere Archivierungslösungen finden Sie unter www.helios.de

8.12 rebuild

Hinweis:

Wenn Sie mit dem Neuaufbau der Desktopdatenbank nicht vertraut sind, sollten Sie statt des Programms „rebuild“ lieber die Funktion Schreibtisch aufbauen in HELIOS Admin verwenden. Für die Umwandlung von Volumes sollten Sie die im EtherShare Handbuch beschriebenen Programme „convertvol“ und „converthome“ verwenden.

Es gibt jedoch eine spezielle Situation, in der Sie doch das Programm „rebuild“ verwenden müssen:

Wenn Sie die Desktopdatenbank „.Desktop“ für Ihr Home-Volume neu aufbauen möchten. Der Desktopserver legt die Datenbank „.Desktop“ sowie die Ressourceverzeichnisse an, sobald ein Client zum ersten Mal auf das Home-Volume zugreift und baut diese neu auf, wenn sie beschädigt ist. Sie können die Datenbank nicht aus HELIOS Admin heraus neu aufbauen, da einzelne Home-Volumes in der Liste der Volumes nicht geführt werden.

Verwaiste Einträge in der Ressourcedatei

Das Programm „rebuild“ hat eine Option zum Entfernen von verwaisten Ressourcedateien. Wie schon früher angedeutet, legt der Fileserver beim Öffnen des entsprechenden Ordners Ressourcedateien für Dateien an, die von UNIX-Programmen erstellt wurden. Wenn Sie allerdings eine Datei direkt auf dem Server löschen, bleibt die zugehörige Ressourcedatei davon unberührt. Löschen Sie eine Datei auf dem Server vom Client aus, wird auch die Ressourcedatei entfernt. Insbesondere dann, wenn sich auch Ihrem HELIOS Volume sowohl Client- als auch nur-UNIX-Dateien befinden, werden sich im Laufe der Zeit eine Anzahl von verwaisten Ressourceeinträgen auf dem Volume ansammeln. Der Aufruf des Programms „rebuild“ löscht die verwaisten Dateien automatisch und schafft somit freien Speicherplatz. Um dieses automatische Löschen zu deaktivieren, müssen Sie die Präferenz cleanorphans des Programms „rebuild“ auf FALSE setzen (siehe 19.7 „Rebuild preference keys“).

Verwendung:

rebuild [-2cfnopsvxt] [-C oldes|utf8] [-U charset] [-D charset]
path_to_volume_root

8.12.1 Optionen

-2

Nur einen Durchlauf für die ID-Prüfung machen (standardmäßig werden die IDs in zwei Durchläufen geprüft, was mehr Zeit in Anspruch nimmt, aber auch akkurater ist).

-c

Verwaiste Ressourceeinträge nicht automatisch entfernen (standardmäßig werden diese gelöscht).

-f

Neuaufbau der Datei „.Desktop“ erzwingen (standardmäßig deaktiviert).

-n

In Systemmeldungen statt nach „stdout“ ausgeben.

-o

Datei „.Desktop“ nur öffnen und reparieren, falls beschädigt.

-p

Umgewandelte Dateinamen ausgeben.

-s

Dateisystem durchsuchen und mit der Desktopdatei vergleichen (standardmäßig, also falls diese Option nicht gesetzt ist, wird der Desktop neu aufgebaut).

-v

Detaillierte Meldungen ausgeben (standardmäßig deaktiviert).

-x

Volume wird exklusiv für das Programm „rebuild“ geöffnet.

-t

Statistiken nach jeweils 10.000 verarbeiteten Dateien ausgeben.

-C

Namen von Dateien in einem Volume vom alten EtherShare-Format „:hex“ in das Format „UTF-8“ umwandeln.

-U

Zeichensatz für ein Volume festlegen (z. B. PC850).

-D

Zeichensatz für die Anzeige ändern. Standardmäßig wird UTF-8 RAW verwendet.

Beispiele:

Neuaufbau der Datei „.Desktop“ erzwingen:

# rebuild -f /usr/local/helios/public

Namen von Dateien in einem Volume vom alten EtherShare-Format nach „UTF-8“ umwandeln:

# rebuild -C utf8 /data/my_testvolume
Volumes mit Nur-Leseberechtigung

Bei Volumes wie CD-ROMs oder Volumes wie magneto-optische Cartridges (MO), die über HELIOS Admin mit ausschließlichem Lesezugriff („read-only“) angemeldet werden, schaut der Desktopserver zuerst nach, ob es im Stammverzeichnis des Volumes eine gültige „.Desktop“-Datei gibt. Dies kann beispielsweise bei MO-Cartridges der Fall sein, die zuvor unter EtherShare mit Lese- und Schreibzugriff („read-write“) angemeldet waren, wodurch die Möglichkeit bestand, einen gültigen Desktop aufzubauen.

Wenn keine gültige „.Desktop“-Datei gefunden werden kann (was bei CD-ROMs fast immer der Fall ist), legt der Desktopserver im Verzeichnis „/tmp“ des Hosts eine temporäre Desktopdatei an. Er verwendet dafür einen eindeutigen Dateinamen, beginnend mit „desksrv…“. Da die Dateien auf der CD-ROM in diesem Fall fast nie einen Ressourcezweig haben, verwendet der Finder die Informationen aus der Tabelle über die Zuordnung von Programmen aufgrund der Dateiendung oder stellt eines der ungefähr 20 allgemeinen EtherShare-Symbole dar.

8.12.2 Präferenzen

Beim Start greift das Programm „rebuild“ zum Ermitteln seiner Konfiguration zuerst auf die Hauptkonfigurationsdatei „Preferences“ zu. 19.7 „Rebuild preference keys“ listet alle Präferenzen auf, die sich bei Bedarf mit dem Befehl „prefvalue“ ändern lassen. Siehe auch 8.13 „prefvalue“.

8.13 prefvalue

Einzelne Einträge in der Präferenzdatenbank (siehe 19 „Präferenzen“) lassen sich mit „prefvalue“ (in „HELIOSDIR/bin/“) abfragen bzw. setzen.

Derzeitiger Präferenzwert

Um lediglich den derzeitigen Wert einer Präferenz zu erhalten, müssen Sie einen sogenannten Key angeben.

Verwendung:

prefvalue -k '<key>' [-ld[r]] [-t type] [-p PreferenceFile]
                     [-f valuefile||value]

Als Key einer Präferenz bezeichnet man den gesamten Ausdruck aller durch „/​“ unterteilten Elemente einer Präferenz.

Wichtig:

Achten Sie bitte bei Namen auf Groß- bzw. Kleinschreibung!

Beispiel:
# prefvalue -k 'Programs/pcshare/hostname'

„prefvalue“ ist der Befehl und -k der Key (hier Programs/​pcshare/​hostname).

Wichtig:

Beinhaltet der Key einen Pfad, muss jeder „/​“ innerhalb des Pfades mit einem vorangestellten „\​“ versehen werden.

Beispiel:
# prefvalue -k 'Volumes/\/data1\/applications/AFPName'
Eine Präferenz setzen

Zum Setzen einer Präferenz geben Sie Key, Typ und Wert an.

Verwendung:

# prefvalue -k '<key>' -t <type> <value>

Wert ist der Wert, auf den die Präferenz gesetzt wird. Typ ist einer der folgenden und dient nur zum Setzen einer Präferenz:

Typ Wert
bool TRUE oder FALSE
int (int32) ganzzahliger (32-bit) Wert
uint (uint32) ganzzahliger (32-bit) Wert ohne Vorzeichen
int64 ganzzahliger (64-bit) Wert
uint64 ganzzahliger (64-bit) Wert ohne Vorzeichen
double Fließkommazahl
ulist Liste von kommaseparierten Ganzzahlen ohne Vorzeichen
str String
strlist Liste von kommaseparierten Strings
data Wert kann nicht aus der Kommandozeile übernommen werden, weshalb eine Datei mit dem Wert angegeben werden muss
Beispiel:
# prefvalue -k 'Programs/pcshare/hostname' -t str ankh

„prefvalue“ ist der Befehl, -k der Key (hier Programs/​pcshare/​hostname), -t der Typ (hier str für String) und als letztes Argument der zu setzende Wert (ankh).

Eine Präferenz löschen

Eine Präferenz lässt sich mit der Option -d löschen.

Beispiel:
# prefvalue -k 'Programs/pcshare/hostname' -d

„prefvalue“ ist der Befehl, -k der Key (hier Programs/​pcshare/​hostname) und -d die Option zum Löschen der Präferenz.

Sämtliche Präferenzen eines Keys löschen

Ein Key mitsamt seinen Unterpräferenzen lässt sich mit der Option -r (rekursiv) löschen.

Wichtig:

Verwenden Sie diesen Befehl mit Vorsicht! Fertigen Sie zuerst eine Sicherung von „HELIOSDIR/​var/​conf/​Preferences“ an.

Präferenzen auflisten

Sämtliche Präferenzen eines Keys lassen sich mit der Option -l auflisten.

Beispiel:
# prefvalue -k 'Programs/pcshare' -l 
hostname
enablewins
ipaccess

8.14 prefdump

Mit dem Befehl „prefdump“ (in „HELIOSDIR/bin/“) lassen sich die Präferenzen in einer lesbaren Form ausgeben.

Verwendung:

prefdump [-o DumpFile] [PreferenceFile]
Beispiel:
# prefdump -o 'HELIOSDIR/var/tmp/prefs.txt'

„PreferenceFile“ ist die binäre Datenbankdatei, in der die Präferenzen abgelegt sind. Falls nicht angegeben, wird die Standarddatei „HELIOSDIR/​var/​conf/​Preferences“ verwendet.

„DumpFile“ ist die Datei, in die die Präferenzdatenbank exportiert wird. Falls nicht angegeben, werden die Präferenzen nach „stdout“ ausgegeben.

8.15 prefrestore

Die Wiederherstellung von Präferenzen, die in eine lesbare Textdatei ausgegeben worden sind (z. B. mit dem Befehl „prefdump“), zurück in die binäre Präferenzdatenbankdatei „Preferences“ lässt sich mit „prefrestore (in „HELIOSDIR/bin“) vornehmen.

Verwendung:

prefrestore [-p PreferenceFile] [-c] [DumpFiles ...]
Beispiel:
# prefrestore 'HELIOSDIR/var/tmp/prefs.txt'

„PreferenceFile“ ist die binäre Datenbankdatei, die die Präferenzen aus der Datei „DumpFile“ heraus importiert. Falls ausgelassen, wird die Datei „HELIOSDIR/​var/​conf/​Preferences“ verwendet.

Ist die Option -c gesetzt, werden alle alten Präferenzen gelöscht und die neuen Präferenzen geladen. Ohne -c werden die neuen Präferenzen zusätzlich zu den bereits gesetzten Präferenzen geladen. Dabei werden Präferenzen, die den gleichen Key haben, überschrieben.

Nicht alle verfügbaren Präferenzen sind standardmäßig gesetzt, weshalb sie in der Ausgabe von „prefdump“ nicht aufgeführt werden und die HELIOS Produkte die Voreinstellungen verwenden. Wird mit Hilfe von „prefvalue“ ein anderer Wert gesetzt, wird dieser vorrangig verwendet. Um auf die Voreinstellung zurück zu gehen, muss der Key mit dem Befehl prefvalue -k <key> -d gelöscht werden.

8.16 mail

„mail“ ist ein plattformübergreifendes Mailprogramm. Es basiert auf den HELIOS Libraries, weshalb es unabhängig von der genutzten Architektur läuft und sich sehr gut mit Skripten steuern lässt.

Das Programm leitet die E-Mail an einen SMTP-Server. Dieser kann über Optionen oder Präferenzen angegeben werden (siehe -m unten).

Verwendung:

mail  [-f sender] -t to-address [-c cc-address] [-B bcc-address]
      [-s subject]  [-r replyto] [-e encoding] [-m SMTPServer]
      [-b msgtext]  [-o <options>]
mail  -h (Hilfe anzeigen)

8.16.1 Optionen

-f

Adresse des Absenders („From:“). Wird die Absenderadresse nicht angegeben, wird der angemeldete Benutzer als Absender verwendet.

Hinweis:

Externe Maildienste bzw. -provider machen die Angabe eines Absenders („From:“) erforderlich. Andernfalls kann es zu verschiedenen – teilweise irreführenden – Fehlermeldungen kommen, z. B. Syntax error in parameters or arguments.

-t

Kommaseparierte Liste von Empfängern („To:“). Die Angabe dieser Option ist verbindlich.

-c

Kommaseparierte Liste weiterer Empfänger („Cc:“).

-B

Kommaseparierte Liste weiterer versteckter Empfänger („Bcc:“).

-s

Betreffzeile

-r

Antwortadresse („Reply-To:“)

-e

Im Mailkörper verwendete Zeichensatzkodierung. Standardmäßig wird UTF-8 verwendet.

-m

SMTP-Server der zum Transport der E-Mail verwendet wird. Ist -m nicht gesetzt, wird die Präferenz SMTPHost (19.3 „Global preference keys“) verwendet.

-b

Der Mailkörper (Text). Fehlt dieser Parameter, wird die Eingabe von „stdin“ gelesen bis die Eingabe abgeschlossen ist oder ein Zeile, die lediglich einen Punkt „.“ enthält, gelesen wird.

-o

Kommaseparierte Liste von <key>=<value>-Paaren, die weitere Optionen für die Verbindung zum SMTP-Server enthalten. Ohne diese Option wird der Wert aus der Präferenz „Global/​Programs/​SMTPOptions“ verwendet (siehe SMTPOptions in Kapitel 19.3 „Global preference keys“).

Zur Verfügung stehen:

Security=None
SMTP-Verbindung nicht verschlüsseln.

Security=STARTTLS
Verbindung unverschlüsselt beginnen und dann auf SSL/TLS wechseln (falls vom Server unterstützt). Dies ist der Standard für Verbindungen, die nicht über den Port 465 laufen.

Security=SSL
SSL/TLS-Verbindung zum Server. Dies ist der Standard für Verbindungen, die über den Port 465 laufen.

SSLCert=<path>
Pfad zu einem SSL-Zertifikat (im PEM-Format), das für die SSL-Verbindung verwendet werden soll. Diese Datei muss sowohl das Zertifikat als auch den privaten Key enthalten. Standardmäßig wird kein Client-Zertifikat verwendet.

Darüber hinaus kann die Präferenz SMTPHost, neben der Adresse des SMTP-Servers, den Namen und das Kennwort für die Autorisierung enthalten:

name:password@Serveraddress
Beispiele:

Einen einfache E-Mail an user@domain.com senden:

$ mail -t user@domain.com -s 'Test subject' -b 'This is a mail test.'

Für längere E-Mails empfiehlt es sich, den Text in einer temporären Datei zu speichern und die Nachricht dann wie folgt zu senden:

$ mail -t user@domain.com -s 'long test' < msgfile

Eine E-Mail über einen SMTP-Server, der eine Autorisierung benötigt, senden:

$ mail -t user@domain.com -m "user:password@smtpserver.com"

Eine E-Mail über einen SMTP-Server, der eine SSL-Autorisierung benötigt, an einen bestimmten Port senden:

$ mail -f sender@domain.com -t recipient@domain.com -oSecurity=SSL
-m 'sender@domain.com:password@smtpserver.com:port' -s 'test1'
-b 'This is test 1'

8.17 machid

Wenn Sie auf der Kommandozeile den Befehl „machid“ eingeben, wird Ihnen die Maschinen-ID des Hosts angezeigt.

Beispiel:
$ cd /usr/local/helios 
$ bin/machid 
c21d9296-d3

8.18 oiinfo

Mit dem Programm „oiinfo“ können Sie sich eine Liste aller Plug-ins, die installiert und verfügbar sind, ansehen. Standardmäßig sucht das Programm im Pfad „HELIOSDIR/lib/OpenImage/Plug-ins“. Jede Datei in diesem Verzeichnis wird dabei überprüft um herauszufinden, ob es sich um ein Plug-in handelt und – falls dem so ist – um welchen Typ Plug-in es sich handelt.

Das Programm informiert über Name und Version des jeweiligen Plug-ins.

Beispiel:
$ /usr/local/helios/bin/oiinfo 
Found Plugin at /usr/local/helios/lib/OpenImage/Plug-ins/opibase.so: 
       Magic is HeliosOpenImage. 
       Version is 1.0. 
       Module is HeliosBase 
       Module description is "HELIOS ImageServer base functionality". 
       Module version is 3.5.

Darüber hinaus listet „oiinfo“ für jedes korrekte Plug-in sämtliche enthaltene „OpenImage“ Manager auf.

Beispiel:
Modtoc: 
	Sectiontype 1: HeliosUnixFs (Helios Unix Fs mgrs)
	Sectiontype 1: HeliosNativeFspec (Helios Native Fspec mgrs)
	Sectiontype 1: HeliosESFspec (Helios EtherShare Fspec mgrs)
	Sectiontype 1: HeliosPCSFspec (Helios PCShare Fspec mgrs)
	Sectiontype 1: HeliosTiff (Helios TIFF mgrs)
	Sectiontype 1: HeliosJPEG (Helios JPEG mgrs)
	Sectiontype 1: HeliosEPSF (Helios EPSF mgrs)
	Sectiontype 1: HeliosScitexCT (Helios Scitex CT mgrs)
	Sectiontype 1: HeliosAdobePhotoShop (Helios Adobe PhotoShop mgrs)
	Sectiontype 1: HeliosLargePhotoShop (Helios Large PhotoShop mgrs)
	Sectiontype 1: HeliosPICT (Helios PICT mgrs)
	Sectiontype 1: HeliosMacintoshIcons (Helios Macintosh Icon mgrs)
	Sectiontype 1: HeliosAdobePath (Helios Adobe Path mgrs)

Danach erhalten Sie eine Liste aller für „OpenImage“ registrierten Manager. Diese spezielle Liste enthält Informationen darüber, welche Manager verwendet werden können.

Beispiel:
Manager type : Color
 Predicate   : 17610
 Version     : 1  
 Quality     : 127
 Registered key is
   Scope              : (00271) HeliosColorICC
   Filesystem         : (00000) *
   Filespec           : (00000) *
   Filecreator        : (00000) *
   Filetype           : (00000) *
   Filetype Extension : (00269) ICC
 Manager supports raster images.
 Manager supports the following capabilities:
  Capability 1:
   Supports colorspace mapping:
    Maps colorspace from Bilevel to Bilevel.
   Supports ICC colormatching.
   Supports image valuating.
   Supports inkset change:
    Accepts imagedata with any inkset.
    Produces imagedata with any inkset.
   Supports bpc change:
    Accepts imagedata with 1 bpc.
    Produces imagedata with 1 bpc.
…
  Capability 3:
   Supports colorspace mapping:
    Accepts imagedata in any colorspace.
    Produces imagedata in any colorspace.
   Supports ICC colormatching.
   Supports image valuating.
   Supports inkset change:
    Accepts imagedata with any inkset.
    Produces imagedata with any inkset.
   Supports bpc change:
    Accepts imagedata with 16 bpc.
    Produces imagedata with 16 bpc.
-f

Listet zusätzlich Informationen zu allen registrierten Schriften auf.

8.19 pstext

„pstext“ im Verzeichnis „HELIOSDIR/bin“ ist ein Tool, mit dem sich einfache ASCII-Dateien oder Dateien im Format „nroff“ auf einem PostScript-Drucker ausgeben lassen. Da PostScript-Drucker in der Regel keine Aufträge, die aus einfachen ASCII-Daten bestehen, verarbeiten, ist es normalerweise nicht möglich, UNIX-Programmlisten auszudrucken oder aus UNIX-Programmen zu drucken, die nur einen einfachen Nadeldrucker unterstützen. Dieses Programm übernimmt die dafür erforderliche Umwandlung der Daten. Mit „pstext“ lässt sich der Druckauftrag auch auf bestimmte Zeichenfolgen, die mit dem Zeichen „Esc“ eingeleitet und für einfache Textauszeichnungen wie z. B. Fettdruck, Unterstreichungen und verschiedene Schriften verwendet werden, prüfen.

Der HELIOS Druckserver ist in der Lage, automatisch zwischen einfachem ASCII-Text und PostScript-Daten zu unterscheiden und verwendet „pstext“ um den Druckauftrag entsprechend umzuwandeln. Es ist also in der Regel nicht erforderlich, „pstext“ manuell aufzurufen. Weitere Informationen dazu finden Sie in Kapitel 19.4 „Printer preference keys“ im Abschnitt magic.

„pstext“ wird entweder von der Kommandozeile gestartet, um eine bestehende Datei für das Drucken umzuwandeln oder aus einer Host-Pipe, um direkt aus einer Anwendung drucken zu können ohne den ASCII-Druckauftrag vorher auf die Festplatte zu spoolen. Für „pstext“ stehen zusätzliche Optionen zur Verfügung.

Verwendung:

pstext -f <Font> -s <Size> -h <Title> -e <PrepFile> 
       -L <LeftMargin> -T <TopMargin> -t <Tabsize> 
       -c <LineSpace> -o -l -m -n -p <Printer> file1 file2 
       -d <NewPrepFile>

Typisches Beispiel zum Drucken einer ASCII-Datei:

$ pstext -p lw .profile

Der Befehl wandelt die Datei „.profile“ in eine PostScript-Datei um und sendet sie an den Drucker „lw“. Dafür ruft „pstext“ das Programm „lpr“ mit dem angegebenen Druckernamen auf. Ist die Option -P printername nicht gesetzt, wird der erzeugte PostScript-Code statt auf dem Drucker zu Testzwecken im Terminal ausgegeben.

Das folgende Beispiel zeigt „pstext“ bei der Verwendung in einer Host-Pipe. Es soll das aktuelle Verzeichnis auf dem Drucker „lw“ ausgegeben werden:

$ ls -l | pstext -p lw

Es soll ein Auszug aus dem UNIX-Handbuch gedruckt werden:

$ nroff -man /usr/man/man1/ls.1|pstext -p lw

8.19.1 Optionen

-f

Schrift, die beim Druck des Dokuments verwendet werden soll. Wenn nicht anders angegeben, wird „Courier“ verwendet, da dies eine der wenigen überall verfügbaren Nichtproportionalschriften ist und sich daher besonders für Listen und Tabellen eignet.

-s

Schriftgröße in Punkt. Wenn nicht anders angegeben ist die Schriftgröße 10 Punkt. Ein Punkt entspricht 1/72 Zoll (ca. 0,35 mm).

-e

Name einer PostScript-„Prep“-Datei, die an den Anfang eines Druckauftrags gesetzt werden soll. Wird diese Option nicht gesetzt, verwendet „pstext“ automatisch die programminterne „Prep“-Datei, die alle benötigten Informationen enthält. Statt wie oben beschrieben den Namen einer anderen „prep“-Datei mit der Option -e auf der Kommandozeile anzugeben, können Sie ihn auch mit der UNIX-Umgebungsvariablen „$PSTEXT_PREP“ setzen. Einzelheiten zur Verwendung und Bearbeitung der „prep“-Datei finden Sie unter -d unten.

-m

Das Änderungsdatum der Datei statt des aktuellen Datums in die erste Zeile jeder Seite drucken.

-h

Der angegebene Dokumententitel wird automatisch in die erste Zeile jeder Seite gedruckt. Wird diese Option nicht gesetzt, gibt „pstext“ in der ersten Zeile automatisch den Dateinamen und das Datum aus.

-L

Legt den Abstand zur linken Papierkante in Punkt fest. Die Vorgabe variiert von Drucker zu Drucker. Er beträgt ungefähr 20 Punkt.

-T

Ist der Abstand zur oberen Kante des Papiers in Punkt. Die Vorgabe variiert von Drucker zu Drucker. Er beträgt ungefähr 14 Punkt.

-o

Unterdrückt die Titelzeile und wird meistens in Kombination mit der Nutzung des Escape-Interpreters des Programms „pstext“ verwendet. In diesen Fällen nutzen Sie wahrscheinlich ein „intelligentes“ Programm, das seinen eigenen Seitentitel erzeugt.

-l

Dreht die Druckausgabe um 90° (Querformat, engl. Landscape)

-n

Schaltet den Escape-Interpreter des „pstext“-Programms ab. Zeichen werden nicht auf Kontrollfunktionen (für Texthervorhebungen) überprüft.

-t

Legt den Abstand zwischen den Positionen von zwei Tabulatoren in Einheiten der Buchstabenbreite von „M“ fest. Die Vorgabe ist acht, d. h. die Breite von „MMMMMMMM“ wird für jeden Tabulatorschritt verwendet.

-p

Name des Druckers, auf dem die Datei ausgegeben werden soll. Ist diese Option nicht gesetzt, wird der erzeugte PostScript-Code am Terminal („stdout“) ausgegeben.

-c

Definiert den gewünschten Zeilenabstand in Einheiten der gewählten Schriftgröße. Die Vorgabe ist die Höhe der verwendeten Schrift.

-d

Programminterne „Prep“-Datei „pstext.ps“ für die Weiterverarbeitung und Verwendung mit der Option -e in eine Datei schreiben.

8.19.2 Escape-Interpreter

„pstext“ kann den Druckauftrag auf bestimmte Sequenzen überprüfen, die mit „Esc“ eingeleitet und für einfache Texthervorhebungen wie z. B. Fettdruck, Unterstreichungen und verschiedene Schriften verwendet werden. Dies ist besonders für Programme nützlich, die normalerweise über einen Nadeldrucker drucken. Mit solchen Programmen ist es häufig möglich, bestimmte Druckattribute in eine Konfigurationstabelle festzulegen.

Eine Escape-Sequenz für das Programm „pstext“ besteht aus drei Teilen: Der Erste ist das „Esc“ (Hex 1B) selbst, dann folgt ein Befehl (eine Zahl zwischen eins und sechs) und zuletzt der Wert des Parameters in eckigen Klammern. Zum Beispiel:

ESC 4 [10] oder als Hexadezimalzahl: 1B 34 5B 31 30 5D

Escape-Sequenzen

Unterstützte Escape-Sequenzen:

ESC 1 [1]

Unterstreichen ein.

ESC 1 [0]

Unterstreichen aus.

ESC 2 [1]

Fettruck ein.

ESC 2 [0]

Fettdruck aus.

ESC 3 [Helvetica]

Wähle eine neue Schrift, hier „Helvetica“.

ESC 3 [Courier]

Wähle die Standardschrift, hier „Courier“.

ESC 4 [12.5]

Wähle eine neue Schriftgröße in Punkt, hier 12,5 Punkt.

ESC 5 [ 
gsave 
newpath 
50 50 moveto 
80 80 lineto 
closepath 
stroke 
grestore 
] 

Dieses Beispiel einer Escape-Sequenz zeigt, wie Sie Ihren eigenen PostScript-Code (z. B. ein Warenzeichen) in den Druckprozess einbinden können. Es ist wichtig, die aktuelle Position zu speichern und wiederherzustellen, deshalb sollte ein eigenes Programm immer mit dem Befehl „gsave“ beginnen und mit „grestore“ enden.

ESC 6 [2]

Setze den Zeilenabstand (in diesem Beispiel auf die zweifache Höhe der verwendeten Schrift, d. h. doppelzeilig).

8.19.3 Umlaute und Sonderzeichen

Das Programm „pstext“ bietet auch die Möglichkeit, die PostScript-Kodierung (Zeichensatzübersetzung) der Druckerschrift zu ändern. So ist beispielsweise der korrekte Ausdruck von länderspezifischen Buchstaben wie Umlauten möglich. Die Standard-Zeichensatzkodierung in PostScript unterstützt nur wenige der verfügbaren länderspezifischen Buchstaben. „pstext“ kodiert hingegen die Zuweisung solcher Buchstaben neu, indem es auf die in HELIOS Base integrierte PostScript-„Prep“-Datei zugreift. Diese Datei enthält zwei unterschiedliche, modifizierte Versionen des sogenannten „Standard Encoding Vector“ mit Namen „decEncoding“ (für DEC Ultrix-Computer) bzw. „ibmEncoding“ (für IBM-Computer). Keine dieser Kodierungstabellen enthält komplette Ausführungen der entsprechenden Zeichensätze. Sie wurden nur für die Unterstützung der deutschen Umlaute eingerichtet. Trotzdem lassen diese sich einfach erweitern, um weitere Sonderzeichen hinzuzufügen oder komplett neue Kodierungen festzulegen. Bitte beachten Sie, dass zur Modifikation der Kodierungen einiges Wissen über die PostScript-Sprache erforderlich ist.

Um die vorgegebene „Prep“-Datei zu bearbeiten, müssen Sie für „pstext“ die Option -d setzen. Damit schreiben Sie die „Prep“-Inhalte in eine Datei, die dann bearbeitet werden kann. Im Folgenen nehmen wir an, dass der Dateiname der editierbaren „Prep“-Datei „pstext.ps“ lautet.

Die beiden alternativen Kodierungstabellen finden Sie am Anfang der Datei „pstext.ps“. Bei beiden können Sie die Standardkodierungen kopieren und verändern, um die benötigten Sonderzeichen hinzuzufügen.

Kodierungstabelle, die für den DEC VT200-Zeichensatz bereitgestellt wird:

% reencode font for DEC VT200 font 
/decEncoding StandardEncoding dup length array copy 
dup 196 /Adieresis put 
dup 228 /adieresis put 
dup 220 /Udieresis put 
dup 252 /udieresis put 
dup 214 /Odieresis put 
dup 246 /odieresis put 
dup 223 /germandbls put 
def

Jede Zeile dieser Tabelle definiert ein einzelnes Zeichen neu. Die Dezimalzahl (z. B. 196) ist der Dezimalwert des Zeichens (d. h. „ASCII“-Wert) im Zeichensatz der Eingabedatei. Diesem folgt der PostScript-Name des Zeichens. In PostScript haben Zeichen Namen und keine Nummern. So ist „/Adieresis“ der PostScript-Name für den Buchstaben „Ä“.

In der den Kodierungstabellen folgenden Zeile ist festgelegt, welche der beiden Tabellen beim Druck verwendet wird. Die Tabelle „decEncoding“ implementiert einen Zeichensatz nach der Norm ISO 8859-1 (DEC VT200) während „ibmEncoding“ einen Zeichensatz implementiert, der dem erweiterten IBM PC ASCII-Code entspricht. Die folgende Zeile in „pstext.ps“ wählt DEC-Kodierung aus:

% we use the DEC encoding by default 
/theEncoding decEncoding def

Wenn Sie die IBM PC-Kodierung verwenden möchten, ändern Sie die obige Zeile ab:

% we use the IBM encoding by default 
/theEncoding ibmEncoding def

Sie können auch eine lokale Kopie von „pstext.ps“ mit einem neuen – individuelleren – Namen anlegen. Modifizieren Sie dann diese Datei und geben Sie ihren Namen mit Hilfe des Parameters -e an, wenn Sie das Programm „pstext“ aufrufen, z. B.:

$ pstext -e myprep1.ps -P lw testfile

Mit diesem Befehl wird die Datei „testfile“ unter Verwendung einer neuen PostScript-Definition gedruckt, die in der „Prep“-Datei „myprep1.ps“ enthalten ist.

8.20 start-helios

Mit dem Befehl „start-helios“ werden alle auf dem Host installierten HELIOS Dienste gestartet (siehe Abschnitt 4.5 „HELIOS Dienste manuell starten/stoppen“).

Verwendung:

start-helios [-i]

8.20.1 Option

-i

Die HELIOS Dienste während des Starts initialisieren. Ist diese Option gesetzt, werden die HELIOS Dienste vor ihrem Start neu installiert.

Hinweis:

Durch Setzen der Option -i werden die von HELIOS verwendeten Java- und Perl-Versionen erneut eingerichtet, wobei sämtliche Veränderungen an den HELIOS rc-Skripten und -Treibern durch die ursprünglichen HELIOS Versionen ersetzt werden.

8.21 stop-helios

Mit dem Befehl „stop-helios“ werden alle auf einem UNIX-Host installierten HELIOS Dienste 5 Minuten nach dessen Eingabe – auf Windows-Hosts sofort – beendet.

Verwendung:

stop-helios [-g <grace>] [-m <message>] [now]

8.21.1 Optionen

now

Alle Dienste sofort beenden.

-g

Zeit in Minuten bis zum Beenden der Dienste angeben.

-m

Nachricht für Beendigung der Dienste anzeigen.

8.22 uwhat

Bei Eingabe des Befehls „uwhat“ wird Ihnen die Software-Versionsnummer eines HELIOS Programms angezeigt.

Verwendung:

uwhat [-R] [-q] [-e <path>] <file|directory ...>

8.22.1 Optionen

-R

Durch alle Unterverzeichnisse (rekursiv) nach Versionsnummern suchen.

-q

Dateien ohne HELIOS Versionsnummer (oder ohne Zugriffsberechtigung) werden nicht angezeigt. Kann zusammen mit der Option -R aufgerufen werden.

-e <path>

Angegebene Unterverzeichnisse von der Suche ausnehmen. Kann zusammen mit der Option -R aufgerufen werden. Diese Option lässt sich für mehrere Pfade angeben.

Beispiele:

Die Software-Versionsnummer von „swho“ herausfinden:

$ cd /usr/local/helios
$ bin/uwhat bin/swho 
swho 1.6.14

Oder die HELIOS Software-Versionsnummern im Verzeichnis „/​usr/​local/​helios“ herausfinden, dabei jedoch Dateien ohne HELIOS Versionsnummer ignorieren:

$ cd /usr/local/helios 
$ bin/uwhat -R -q /usr/local/helios 
/usr/local/helios/bin/authutil 1.0.8
/usr/local/helios/bin/dt 4.1.5
...

8.23 lscom

Mit diesem Befehl lassen sich sämtliche HELIOS COM (Common Object Model) Plug-ins auflisten, die vom HELIOS Server geladen wurden. Es hilft bei der Überprüfung installierter COM Plug-ins und deren Statusüberwachung.

Typische Plug-ins, die vom HELIOS Server geladen werden, sind:

Verwendung:

lscom [-l]

8.23.1 Option

-l

Angezeigte Plug-ins zusätzlich laden. Kann bei der Fehlerbehebung oder -suche nützlich sein.

8.24 psyslog

Tool zum Anzeigen von Einträgen in der Systemprotokolldatei. Die Einträge stammen aus den Systemdateien, die in der Systemkonfiguration definiert sind. Je nach Plattform ist die Systemkonfiguration in „/​etc/​syslog.conf“, „/​etc/​rsyslog.conf“ oder „/​etc/​syslog-ng/​syslog-ng.conf“ enthalten. Unter Windows werden sämtliche Einträge aus dem Windows Event Log gelesen, wobei diese in einer Liste chronologisch zusammengefasst werden. „psyslog“ gibt solange alle Ereignisse des Tages (beginnend mit 00:00:00 Uhr) aus, bis mit der Option -d ein anderes Datum angegeben wird.

Hinweis:

Sie müssen auf die Systemprotokolldatei zugreifen dürfen. Andernfalls gibt „psyslog“ auf der Kommandozeile eine Fehlermeldung aus.

Verwendung:

psyslog [-d <date>][-f][-s]                (print syslog)
psyslog -t <tag> [-p <pid>] message ...    (post to syslog)
psyslog -h                                 (print help)

8.24.1 Optionen

-d <date>

Datum angeben, ab dem die Einträge aufgelistet werden sollen. Ist -d all gesetzt, werden sämtliche Einträge von Anfang an ausgegeben.

-f

„psyslog“ bei Erreichen des Endes der Systemprotokolldatei nicht stoppen. Das Programm wartet dann auf weitere Daten, die an die Ausgabe angehängt werden können.

-s

Nur die erste Zeile eines mehrzeiligen Eintrags anzeigen.

-t <tag>

Meldung an die Systemprotokolldatei senden, danach Programm beenden. <tag> dient als Kennzeichnung, die der Meldung voransteht. Üblicherweise wird hier der Programmname verwendet.

-p <pid>

Prozess-ID in eckigen Klammern hinter das Tag schreiben.

-h

Hilfedatei anzeigen.

Beispiel 1:
# psyslog -d '13.01.2015 12:00:00'

Alle Einträge in Systemprotokolldateien ab dem 13.01.2015 um 12:00 Uhr auflisten.

Beispiel 2:
# psyslog -f

Einträge in der Systemprotokolldatei solange auslesen bis „Ctrl-C“ eingegeben wird. Die Einträge in der Ausgabe beginnen um 00:00 Uhr des aktuellen Tages.

Beispiel 3:
# psyslog -d all

Sämtliche Einträge der Systemprotokolldateien ausgeben.

Beispiel 4:
# psyslog -t myscript.pl Converting of image failed

Meldung „myscript.pl: Converting of image failed“ an die Systemprotokolldatei senden.

Hinweis:

Unter Windows gibt es keine Systemprotokolldateien. Daher wird das Windows Ereignisprotokoll verwendet.

8.25 htar

„htar“ ist die HELIOS Variante eines mit UNIX „tar“-Dateien kompatiblen Archivierungsprogramms. „htar“ wurde so konzipiert, folgende Eigenschaften verarbeiten zu können:

Unter Windows werden zusätzliche Filestreams verwendet. „dir/file:​stream:type“ wird im Archiv als „dir/​file“ und „dir/​.rsrc/​file:stream:type“ gespeichert. Finder-Informationen werden in das Ressourceformat gewandelt, wobei das Erstellungsdatum erhalten bleibt.

hsymInstruction

Um Archive unter Windows mit Standardberechtigungen zu entpacken, geben Sie sowohl --no-same-owner als auch --no-same-permissions an.

Verwendung:

htar [-c|-t|-x] [-z|-Z] [-v] [-k] [-m] [-b,-s blocksize] [-C <dir>]
[-f <file>] [<file|dir> ...] 
htar -h

8.25.1 Optionen

-c, --create

Archiv aus den übergebenen Dateien und Ordnern erstellen.

-t, --list

Archiv prüfen/​auflisten. „htar“ prüft die Integrität ganzer Archive und listet deren Inhalt auf.

-x, --extract

Archiv entpacken. Werden zusätzliche <file|dir>-Argumente übergeben, werden nur die Einträge des „tar“-Archivs entpackt, die mit denselben Zeichen wie eines der <file|dir>-Argumente beginnen.

-f <file>, --file=<file>

„tar“-Archiv in <file> verwenden. Ist diese Option nicht gesetzt oder wird als Wert „-“ angegeben, liest „htar“ von der Standardeingabe (list/​extract) bzw. schreibt in die Standardausgabe (create).

-v. --verbose

Ausführlicher: Dateinamen beim Erstellen oder Entpacken eines Archivs ausgeben, detaillierte Dateiinformationen beim Prüfen eines Archivs ausgeben.

-z, --gzip, --gunzip

„gzip“-komprimiertes „tar“-Archiv erstellen bzw. lesen.

-Z, --compress, --uncompress

„compress“-komprimiertes „tar“-Archiv erstellen bzw. lesen.

-C <dir>

Vor dem Erstellen bzw. Lesen eines Archives nach <dir> wechseln.

--exclude=pattern

Diese Dateien beim Anlegen eines Archivs auslassen. Die Wildcard-Zeichen * und ? sind zulässig. Es können auch mehrere Exclude-Optionen angegeben werden.

--newer=DATE-OR-FILE

Beim Anlegen eines Archives nur Dateien, die seit DATE-OR-FILE bearbeitet wurden, berücksichtigen. „htar“ bezieht sich dafür auf die Uhrzeit der Bearbeitung und des Statuswechsels von Dateien und Verzeichnissen. Falls DATE-OR-FILE mit „/​“ oder „.“ beginnt (plus „\​“ oder Laufwerksbuchstabe unter Windows), wird diese als Referenzdatei für die Uhrzeit von Dateiänderungen verwendet.

--newer-mtime=DATE-OR-FILE

Ähnlich wie --newer, bezieht sich allerdings nur auf die Bearbeitungsuhrzeit von Dateien und Verzeichnissen.

--keep-old-files

Vorhandene Dateien beim Entpacken nicht überschreiben.

Hinweis:

Unter Windows werden leere Dateien stets überschrieben. Das liegt an der Art und Weise, wie Windows Filestreams handhabt.

--keep-newer-files

Beim Entpacken vorhandene Dateien behalten, sollten diese neuer als die archivierten sein. Unter Windows werden leere Dateien stets überschrieben.

--numeric-owner

Stets die uid/​gid-Nummern statt der Benutzer- bzw. Gruppennamen im Archiv verwenden.

--same-owner

Eigentumsrechte der entpackten Dateien möglichst so wie im Archiv angegeben setzen. Dieses Verhalten ist für das „root“- bzw. „Administrator“-Konto die Vorgabe.

--no-same-owner

Eigentumsrechte der entpackten Dateien möglichst nicht so wie im Archiv angegeben setzen. Dieses Verhalten ist für nicht-privilegierte Konten die Vorgabe.

--preserve-permissions, --same-permissions

Dateizugriffsrechte wie im Archiv angegeben setzen. Dieses Verhalten ist die Vorgabe.

--no-same-permissions

Informationen über Zugriffsrechte nicht verwenden.

-b, --tarblocksize blocks

Die read-/​write-Blockgröße für das „tar“-Archiv ändern, die Vorgabegröße für das Datei-I/​O ist 1 MB. Die Werte können in Bytes, 512-Byte-, Kilobyte- oder Megabyte-Blöcken angegeben werden, z. B.:

-b 1024 (1024 bytes) 
-b 10b  (10*512 byte blocks) 
-b 10k  (10*1024 byte blocks) 
-b 10m  (10*1024*1024 byte blocks)
-s, --fileblocksize blocks

Die read-/​write-Blöckgröße ändern, die Vorgabegröße für das Datei-I/​O ist 1 MB. Die Werte können in Bytes, 512-Byte-, Kilobyte- oder Megabyte-Blöcken angegeben werden.

-m, --nomap

Kein Memory Mapping für Dateien und „tar“-Archive verwenden.

-k, --keepid

Mac Datei-IDs beim Entpacken beibehalten. Verwenden Sie diese Option mit Vorsicht, da diese Datei-IDs mit denen der vorhandenen Dateien auf einem HELIOS Volume in Konflikt geraten können und „htar“ diese IDs nicht der Desktopdatenbank hinzufügt.

-h

Hilfetext anzeigen.

Hinweis:

Nutzen Sie HELIOS „xtar“ für HFS Mac-Dateien. Einzelheiten dazu finden Sie unter: www.helios.de/web/DE/news/xtar.html

Beispiele:

Ein „gzip“-komprimiertes Archiv anlegen:

$ htar -c -z -f backup.tgz file1 file2

Das oben angelegte Archiv entpacken:

$ htar -x -v -z -f backup.tgz

8.26 printerlog

„printerlog“ wandelt die „printer.acct“-Dateien aus dem Verzeichnis „HELIOSDIR/​var/​adm“ in eine lesbare Form.

Verwendung:

printerlog [-p][-v][-a|-1...7]
printerlog [-h]

8.26.1 Optionen

-p

Alle 60 Einträge eine Überschrift drucken.

-v

Ausführliche Ausgabe mit allen Informationen.

-N

N kann einen Wert zwischen 1 und 7 annehmen, der die Logdatei von vor „N“ Tagen wiedergibt.

-a

Alle Dateien drucken.

-h

Hilfedatei anzeigen.

Beispiele:

Die aktuelle Logdatei mit allen Informationen drucken:

$ printerlog -v

Die Logdatei von vor 4 Tagen drucken, mit einer Überschrift nach jedem 60. Eintrag:

$ printerlog -p -4

8.27 serverlog

„serverlog“ wandelt die „server.acct“-Dateien aus dem Verzeichnis „HELIOSDIR/​var/​adm“ in eine lesbare Form.

Verwendung:

serverlog [-p][-a|-1...7]
serverlog [-h]

8.27.1 Optionen

-p

Alle 60 Einträge eine Überschrift drucken.

-N

N kann einen Wert zwischen 1 und 7 annehmen, der die Logdatei von vor „N“ Tagen wiedergibt.

-a

Alle Dateien drucken.

-h

Hilfedatei anzeigen

Beispiele:

Die aktuelle Logdatei ausdrucken:

$ serverlog

Die Logdatei von vor 4 Tagen drucken, mit einer Überschrift nach jedem 60. Eintrag:

$ serverlog -p -4

8.28 HELIOS Windows-Tools

HELIOS Base auf Windows-Plattformen beinhaltet einige zusätzliche Tools für Windows.

Hinweis:

Sämtliche HELIOS Windows-Tools liegen in „HELIOSDIR\​bin“, mit Ausnahme von „crontool“, das im Verzeichnis „HELIOSDIR\​sbin“ liegt.

8.28.1 kill

Dieses Tool ist das Pendant zum UNIX-Befehl „kill“ auf Windows-Maschinen. Es schickt ein Signal an die von den pid-Operanden bestimmten Windows-Prozesse.

Verwendung:

kill [-s signal] pid… 
kill -signal pid… 
kill -l [signal…] 
kill -h help info

Folgende Optionen stehen für „kill“ zur Verfügung:

-s <signal>

Symbolischer Name, der das Signal festlegt (Vorgabewert „TERM“).

-signal

Nummer oder symbolischer Name, der das Signal festlegt (Vorgabewert „TERM“).

-l [signal…]

Signalnamen auflisten, wenn kein Signal angegeben ist. Andernfalls Signalnamen zu Signalnummern ausgeben und umgekehrt.

Beispiele:
kill -TERM pid Prozess beenden
kill -HUP pid Prozess rekonfigurieren
kill -KILL pid Prozess sofort beenden

8.28.2 ln

Das Tool „ln“ stellt die Funktionalität des UNIX-Befehls „ln“ für Windows-Plattformen zur Verfügung und erzeugt einen Link, der auf die Originaldatei oder den Originalordner weist.

Verwendung:

ln [-fsn] <source_file> [<target_file>|<target_dir>]
ln -h for help info

Folgende Optionen stehen für „ln“ zur Verfügung:

-f

Falls eine Zieldatei existiert, entfernt „ln“ zuerst den Link bevor es einen neuen anlegt.

-s

Legt einen symbolischen Link an.

-n

Falls die Zieldatei oder das Zielverzeichnis ein symbolischer Link ist, diesem nicht folgen (nützlich zusammen mit -f)

-h

Hilfedatei anzeigen.

Beispiele:

„data“ im aktuellen Arbeitsverzeichnis als symbolischen Link zum Verzeichnis „F:\​data“ anlegen:

$ ln -s F:\data data

„myhardlink“ als Hardlink zu „myfile“ anlegen:

$ ln myfile myhardlink
Hinweis:

Symbolische Links, die von „ln“ angelegt worden sind, nutzen ein spezielles HELIOS Format und werden nur von HELIOS Prozessen erkannt. Symbolische Links dürfen nicht mit den Windows „Shortcuts“ verwechselt werden.

Hardlinks, die von „ln“ angelegt worden sind, sind Windows NTFS-Hardlinks. Verwenden Sie diese mit äußerster Vorsicht.

8.28.3 dd

HELIOS „dd“ ist ein BSD-kompatibles „dd“-Tool, mit dem Sie Dateien anlegen, kopieren und teilen können. Es eignet sich für Leistungstests und simuliert „/dev/null“ und „/dev/zero“.

hsymInstruction

Geben Sie auf einer Komandozeile unter Windows dd -h ein. Sie erhalten dann die Dokumentation des Befehls „dd“.

Hinweis:

Unter Windows unterstützt „dd“ keine Funktionen für Bandlaufgeräte.

Beispiele:

Datei mit einer Blockgröße von 512 Bytes kopieren:

$ dd if=input_file of=output_file bs=512

Eine 100 MB große Datei mit 100 Blöcken je 1024 kB anlegen:

$ dd if=/dev/zero bs=1024k count=100 of=output_file

Eine 100 MB große Datei mit einer Blockgröße von 1024 kB lesen:

$ dd if=input_file of=/dev/null bs=1024k

8.28.4 crontool

Mit „crontool“ lassen sich geplante Aufgaben, die auf Windows-Computern durchgeführt werden sollen, dem Windows-Fenster „Aufgabenplanung“ hinzufügen (Verwaltung > Aufgabenplanung). Es kann angegebene Programme um Mitternacht starten oder beenden.

Verwendung:

crontool [-H] [-i <task name> <command> [<args>]] [-u <task name>] [-l]

Folgende Optionen stehen für „crontool“ zur Verfügung:

-H

Aufgabe stündlich erledigen.

-i

Aufgabe jede Nacht um Mitternacht erledigen.

-u

Aufgabe von der Liste der zu erledigenden Aufgaben entfernen.

-l

Liste der geplanten Aufgaben ausgeben. Sie können diese Liste auch mit dem Windows-Befehl „at“ ausgeben.

Beispiele:

„C:\​Program Files\​My Company\​mycronjob.bat“ soll jeden Tag stündlich ausgeführt werden:

# crontool -H -i "/C:/Program Files/My Company/mycronjob.bat"

Den obigen Auftrag von der Liste der zu erledigenden Aufgaben entfernen:

# crontool -u "mycronjob.bat"
Hinweis:

Sie können auch ein Perl-Skript in den Ordner „HELIOSDIR\​etc\​daily“ legen um täglich wiederkehrende Aufgaben zu erledigen.

8.29 Windows-Tools

8.29.1 Windows Sysinternals

Von Windows Sysinternals gibt es zwei Tools, mit denen sich HELIOS Produkte auf einer Windows-Installation überwachen lassen: „Process Monitor“ und „Process Explorer“.

Einzelheiten zur Installation und der Verwendung dieser Tools finden Sie auf der Website des Anbieters Windows Sysinternals:
technet.microsoft.com/en-us/sysinternals/default.aspx.

Process Explorer

Process Explorer listet alle derzeit aktiven Prozesse mit den Namen der zugehörigen Benutzer. Er verfügt darüber hinaus über eine sehr leistungsfähige Suchfunktion, die schnell anzeigt, welche Prozesse bestimmte Handles offen oder DLLs geladen haben.

Process Monitor

Process Monitor ist ein Überwachungstool für Windows, mit dem die Dateisystem-, Registrierungs- und Prozess-/Threadaktivitäten in Echtzeit angezeigt werden. Dieses Tool vereint die Features der beiden älteren Dienstprogramme „Filemon“ und „Regmon“ von Sysinternals und ergänzt deren Funktionsumfang mit einer Fülle von Verbesserungen, beispielsweise der ausführlichen und nichtdestruktiven Filterung, umfassenden Ereigniseigenschaften (z. B. Sitzungs-IDs und Benutzernamen), zuverlässigen Prozessinformationen, vollständigen Threadstapeln mit integrierter Symbolunterstützung für jeden Vorgang, simultaner Protokollierung in eine Datei und vielem mehr.

8.29.2 Wireshark Network Analyzer

Network Analyzer

Wireshark (früher bekannt als „Ethereal“) wird weltweit von Netzwerkexperten zur Fehlersuche, Software- und Protokollentwicklung sowie zur Ausbildung verwendet.

Einzelheiten zur Installation und der Verwendung dieses Tools finden Sie auf der Website von Wireshark:
www.wireshark.org.


HELIOS Website © 2015 HELIOS Software GmbH  
HELIOS Handbücher 6. Februar 2019