. \" @(#)sdd_de.1 1.6 20/05/30 Copyright 1985-2020 J. Schilling . \" Manual Seite fuer sdd . \"
SDD 1 "2020/05/30" "J\*org Schilling" "Schily\'s USER COMMANDS"
NAME
sdd - disk dump and restore to and from tape or file; copy and/or reblock
SYNOPSIS
sdd [ option=value ] [ -flag ] . \" .SH DESCRIPTION
BESCHREIBUNG
Sdd kopiert den angegebenen Input auf den angegebenen Output und f\*uhrt dabei gegebenenfalls spezifizierte Konversionen aus. Stdin und stdout werden als Default Files benutzt. Die Ein- und Ausgabeblockgr\*o\*sen k\*onnen dabei zur Erh\*ohung des Durchsatzes bei physikalischem I/O angegeben werden.

Durch einen intelligenten Algorithmus ist sdd bei unterschiedlichen Werten von ibs und obs wesentlich schneller als dd. . \" .SH OPTIONS

OPTIONEN

if= name Der Input wird von dem File name statt von stdin gelesen. Wenn sdd suid root installiert ist, dann kann name in der remote syntax: user@host:filename wie bei rcp (1) sein auch wenn es durch einen nicht root Benutzer aufgerufen wurde. Siehe auch SUID BEMERKUNGEN f\*ur mehr Information. Um eine Datei lokal zu machen obwohl sie einen Doppelpunkt (:) enth\*alt, mu\*s sie mit "'/'" , "'./'" " oder" "'../'" anfangen.

of= name Der Output wird auf das File name statt auf stdout geschrieben. Man beachte, da\*s sdd normalerweise die Ausgabedatei erzeugt und auf die L\*ange 0 bringt, so da\*s die oseek=# Option ohne die -notrunc Option sinnlos ist, es sei den, man benutzt Band- oder Plattenlaufwerke. Wenn sdd suid root installiert ist, dann kann name in der remote syntax: user@host:filename wie bei rcp (1) sein auch wenn es durch einen nicht root Benutzer aufgerufen wurde. Beachten Sie bitte da\*s falls sdd mit einem alten rmt Remote Tape Server verbunden ist es nicht m\*oglich ist Dateien mit dem O_CREAT open Flag zu \*offnen da dies extrem gef\*ahrlich w\*are. Wenn der rmt Server auf der anderen Seite der rmt Server ist, der mit dem star Paket kommt oder der GNU rmt Server ist, dann kann sdd den symbolischen Mode f\*ur die Open Flags verwenden. Nur der symbolische Open Mode erlaubt alle m\*oglichen Open Modi in einer portablen Weise an Remote Tape Server zu versenden. Es wird daher empfolen den rmt Server zu verwenden der mit dem star Paket kommt. Dies ist der einzige rmt Server der eine platformunabh\*angige Kompatibilit\*at mit BSD, Sun und GNU rmt Klienten herstellt und Sicherheitsfeatures enth\*alt, die in /etc/default/rmt eingestellt werden k\*onnen.

-inull Es wird nicht von einer Datei gelesen. Diese Option wirkt �hnlich wie if=/dev/zero ist aber schneller, weil Sdd einen vorbereiteten, gel�schten Puffer verwendet.

-onull Es erfolgt \*uberhaupt keine Ausgabe. (Diese Wirkung dieser Option ist \*ahnlich der Option of= /dev/null )

ibs= "#, " obs= "#, " bs= # Setzt die Inputbuffergr\*o\*se, die Outputbuffergr\*o\*se, oder beide auf # (default ist 512 Bytes).

cbs= # Setzt die Konversionsbuffergr\*o\*se auf #.

ivsize= "#, " ovsize= # Setzt die Inputmediumgr\*o\*se bzw. die Outputmediumgr\*o\*se auf #. Damit lassen sich z.B. physikalische Kopien von oder nach Ger\*aten unterschiedlicher Gr\*o\*se herstellen. Wird damit eine Kopie auf ein Band hergestellt, dann benutzt man z.B. die Option ovsize= 60M, wenn man auf ein Band mit 60 Mbytes Gr\*o\*se schreiben will. Wenn dieses Band voll ist, dann wird von sdd ein neues Band angefordert. Wird bei der Anfordeung eines neuen Mediums f\*ur die Eingabe mit "N<cr>" geantwortet, dann werden alle im Buffer befindlichen Daten geschrieben und so getan, als ob EOF erreicht ist. Wird bei der Anfordeung eines neuen Mediums f\*ur die Ausgabe mit "N<cr>" geantwortet, dann endet sdd sofort, und an der Statistik erkennt man , da\*s mehr Daten gelesenen als geschrieben wurden.

count= # Es werden maximal # Datens\*atze gelesen.

iseek= "#, " iskip= # Seekt bzw. \*uberliest # Bytes vom Input, bevor der eigentliche Transfer startet.

oseek= "#, " oskip= # Seekt bzw. \*uberliest # Bytes vom Output, bevor der eigentliche Transfer startet.

seek= "#, " skip= # Seekt bzw. \*uberliest # Bytes vom Input und Output bevor der eigentliche Transfer startet.

ivseek= "#, " ovseek= # Seekt # Bytes vom Input bzw. Output bei jedem Volume, bevor der eigentliche Transfer startet. (Damit lassen sich z.B. Labels von Floppy's \*uberlesen.) Achtung: bei dem ersten Medium werden iseek und ivseek bzw. oseek und ovseek addiert. Iseek und oseek beziehen sich nur auf das erste Medium.

-notrunc Ein existierendes Outputfile wird nicht auf die L\*ange 0 gek\*urzt, bevor der Transfer startet. Damit ist es m\*oglich, in eine bestehende Datei zu schreiben.

-pg Bei jedem write wird ein Punkt auf stderr geschrieben um dem Fortschritt des Transfers anzuzeigen.

secsize= # Setzt die zugrundegelegte Puppfergr\*o\*se f\*ur Fehlerbehebung mittels -noerror auf #. Der Default ist 512 und passt zu der \*ublichen physischen Sektorgr\*o\*se. Da die Fehlerbehebung auf der Ebene der Basis-Puffer-Gr\*o\*se erfolgt, wird diese Option ben\*otigt, wenn im Fehlerbehebungsmodus ein Laufwerk mit einer anderen physischen Sektorgr\*o\*se als 512 Bytes verwendet wird.

-time ", " -t Es wird die gesammte Transferzeit, sowie die Daten\*ubertragungsgeschindigkeit angezeigt.

-noerror Bei einem I/O Fehler wird der Transfer nicht unterbrochen. Fehlermeldungen werden auf dem Schirm angezeigt. Wird diese Option verwendet ohne auch -noseek zu verwenden, dann m\*ussen ibs und obs Vielfache der Fehlerbehebungs-Sektorgr\*o\*se aus secsize= # sein.

-noerrwrite Bl�cke, die nicht korrekt gelesen wurden werden nicht geschrieben. Der Output wird geseekt um den fehlerhaften Block zu �berspringen. Die Outputdatei mu� seekbar sein damit -noerrwrite korrekt arbeiten kann.

-noseek Bei Retries nach I/O Fehlern wird nicht geseekt, das impliziert try=1.

try= # Setzt den Retryz\*ahler auf #, wenn die Option -noerror angegeben wurde. (default 2)

-debug Gibt debugging Hinweise aus. Damit kann man z.B. die Datensatzgr\*o\*se bei B\*andern mit variabler Datensatzgr\*o\*se erfahren.

-fill Jeder Datensatz wird bis zur obs mit Nullen aufgef\*ullt. Wenn ibs gleich obs ist, z.B. nur bs wurde angegeben, dann wird bei jedem gelesenen Datensatz die Differenz zwischen gelesener Menge und bs mit Nullen gef\*ullt, sonst wird nur der Lezte Datensatz aufgef\*ullt.

-swab Vertauscht gerade und ungerade Bytes au\*ser dem lezten Byte bei ungeraden Gr\*o\*sen und ungeraden Tranfers (z.B. EOF)

-block ", " -unblock Der Datenstrom wird von variabler Datensatzgr\*o\*se auf feste Datensatzgr\*o\*se ungebaut oder umgekehrt.

-lcase ", " -ucase Alle Buchstaben werden in Klein- oder Gro\*sbuchstaben umgewandelt.

-ascii ", " -ebcdic ", " -ibm Es erfolgt eine Zeichensatzkonvertierung von EBCDIC nach ASCII bzw. von ASCII nach EBCDIC bzw. von ASCII zu der IBM Variante von EBCDIC

-help Gibt eine kurze Zusammenfassung der sdd optionen aus und endet.

-md5 Berechnet die md5 Sunne f\*ur die Daten. Wenn die Option -onull verwendet wurde berechnet, sdd md5 Summe aus den Eingangsdaten, sonst werden die Ausgangsdaten verwendet.

-version Gibt die sdd Versions-Nummer aus und endet. . . \" .SH EXAMPLES

BEISPIELE
sdd if=/dev/rsd0a of=/dev/nrst8 bs=2x7x17b

Kopiert von der Platte /dev/rsd0a nach dem Band /dev/nrst8 und benutzt dabei eine Blockgr\*o\*se von 2\|*\|7\|*\|17 Bl\*ocken. (das sind z.B. 2 Zylinder.)

sdd if=/dev/rsd0c of=/dev/rsd1c seek=1b bs=63k

Kopiert die ganze Platte sd0 auf die Platte sd1 und erh\*alt dabei das alte Label auf sd1.

FILES
Keine.
"SEE ALSO"
dd(1), star(1), rmt(1), tr(1), cp(1), copy(1)
DIAGNOSTICS
sdd: Read f records + p bytes (total of x bytes = d.nnk).

sdd: Wrote f records + p bytes (total of x bytes = d.nnk).

Die Anzahl der Vollst\*andigen Datens\*atze, die Anzahl von Bytes in unvollst\*andigen Datens\*atze, sowie die Gesammtanzahl von Bytes und Kilobytes.

Mit dem QUIT Signal ( \*ublicherweise ^\ ) kann der aktuelle Zwischenzustand zur Anzeige gebracht werden.

BEMERKUNGEN
Im Gegensatz zu dd kann sdd -iseek -oseek -seek sowie -iskip -oskip -skip unabh\*angig von der Buffergr\*o\*se. Damit ist es m\*oglich, mit nur einem sdd Kommando eine physikalische Kopie einer Platte herzustellen, ohne das Label mitzukopieren.

Wenn Zahlen nicht spezifiziert werden, dann wird angenommen, da\*s es sich um Bytes handelt.

Durch das Nachstellen eines `w' oder `W' werden daraus `Worte' (2 Bytes).

Durch das Nachstellen eines `b' oder `B' werden daraus Bl\*ocke (512 Bytes).

Durch das Nachstellen eines `k' oder `K' werden daraus Kilobytes (1024 Bytes).

Durch das Nachstellen eines `m' oder `M' werden daraus Megabytes (1024*1024 Bytes).

Durch das Nachstellen eines `g' oder `G' werden daraus Gigabytes (1024*1024*1024 Bytes).

Werden zwei Zahlen durch ein `*' oder ein `x' getrennt, dann werden die beiden Zahlen miteinander multipliziert.

"SUID BEMERKUNGEN
Wenn sdd suid root installiert ist, dann kann sdd Verbindungen zu remote files auch f\*ur nicht non root Benutzer herstellen. Dies erfolgt durch Verwendung des rcmd(3) Interfaces um eine Verbindung zum rmt(1) Server herzustellen.

Sdd stellt die effektive uid zur\*uck auf die reale user id direkt nach dem die Verbindung zum remove Server hergestellt wurde d.h. bevor andere Dateien ge\*offnet werden.

BUGS
Die Option iskip= # und oskip= # und skip= # , sowie -block und -unblock sind nicht implementiert.

Es ist verwirrend, da\*s bei der Angabe des Datensatzz\*ahlers mit der -count Option auch s\*amtliche Zus\*atze, wie bei z.B. obs= # m\*oglich sind.