GoGPT Best VPN GoSearch

OnWorks-Favicon

vdm_encode - Online in der Cloud

Führen Sie vdm_encode im kostenlosen OnWorks-Hosting-Provider über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehl vdm_encode, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


vdmfec - ECC für Dateien blockieren

ZUSAMMENFASSUNG


vdmfec [-v] [-d] [-b Block Größe] [-N N] [-k K] [Datei]
vdm_encode [-v] [-b Block Größe] [-N N] [-k K] [Datei]
vdm_decode [-v] [-b Block Größe] [-N N] [-k K] [Datei]

BESCHREIBUNG


vdmfec liest einen Eingabestrom und fügt Fehlerkorrekturblöcke hinzu, sodass große aufeinanderfolgende
Abschnitte des Ausgabestroms können beschädigt und die Daten wiederhergestellt werden. Zum Beispiel,
Disketten verlieren normalerweise ganze Sektoren auf einmal oder verwandte Gruppen von Sektoren oder sogar
ganze Spuren. Daten, die mit diesem Programm auf eine Diskette geschrieben wurden, können auch mit
viele Lesefehler.

Der verwendete Algorithmus ist ein Forward Error Correction (FEC) Code basierend auf Vandermonde (VDM)
Matrizen in GF(2^8) aufgrund von Luigi Rizzo. Gegeben die FEC-Parameter K und N, mit N größer
als K, werden N Blöcke für alle K Eingangsblöcke so geschrieben, dass alle K Blöcke
ausreichend, um die Daten zu rekonstruieren. Das heißt, bis zu N - K Blöcke aus jeder Gruppe von N
Blöcke können ohne Datenverlust verloren gehen.

Die Menge an Overhead im Ausgabestrom ist durch Variieren von K. N und leicht einstellbar
blocksize steuert die Gesamtmenge der geschriebenen Daten. Abhängig von der Art der Fehler, die Sie
erwarten, können andere Einstellungen mehr oder weniger nützlich sein. Zum Beispiel können Sie nicht erwarten, dass
haben zwei oder drei fehlerhafte Sektoren auf jeder Spur (wenn Sie dies tun, ist es an der Zeit, die
Diskette!), aber Sie könnten drei fehlerhafte Sektoren auf zwei oder drei zusammenhängenden Spuren erwarten
(Diskettenfehler neigen zu Clustern).

OPTIONAL


-v Drucken Sie informative Nachrichten über den Kodierungs- oder Dekodierungsvorgang an stderr,
einschließlich des Expansionsfaktors. Verwenden -vv um Informationen über jeden Block zu erhalten
gelesen oder geschrieben.

-d Decodieren Sie die Eingabe, anstatt sie zu codieren. Die Verwendung dieser Option ist äquivalent zu
Aufruf des Programms als vdm_decode.

-b Block Größe
Stellen Sie die FEC-Blockgröße auf Blocksize-Bytes ein. Die Blockgröße kann ein 'k' oder 'K' haben
angehängt, in diesem Fall wird die Blockgröße auf Blockgröße * 1024 Byte gesetzt. Dies
sollte normalerweise ein Vielfaches der Block- oder Sektorgröße des Ausgabemediums sein (z. B. 512,
1024, 18K usw.) und muss in Version 26 mindestens 1 Byte groß sein. Standard 1024.

-n N -k K
Stellen Sie die Parameter FEC N und K ein. N muss größer als 2 und kleiner oder gleich sein
256. K muss größer als 0 und kleiner als N sein. Standardwert N=18, K=14.

Beachten Sie, dass die Parameter N, K und Blocksize NICHT in den Ausgang geschrieben werden! Du musst
Präzisiere das gleich Parameter, wenn Sie den Decoder ausführen. (Eigentlich ist der Decoder fähig
einen ungültigen K-Wert explizit zu erkennen, aber falsche Blockgröße oder N-Werte werden
zu fehlerhaften Blöcken und Decodierungsfehlern führen.)

Der Decoder kann von nicht suchbaren Medien wie Pipes lesen, jedoch Puffer
Unterschreitungen werden nicht erkannt und führen zu einem Fehler. Auch beim Lesen aus einer Pfeife wird die
die gesamte Datei muss gelesen werden. Das Lesen aus einem suchbaren Stream kann schneller sein, da nur K
gute Blöcke aus N müssen gelesen werden.

Der Encoder speichert Chunk- und Block-IDs, die verwendet werden, um Blöcke außerhalb der Reihenfolge zu erkennen, aber
diese Fehler (die manchmal aufgrund einer Beschädigung des Dateisystems auftreten können) werden nicht korrigiert.
Die einzige Fehlerart, die korrigiert werden kann, ist in Ort Korruption von Daten. In
insbesondere führen fehlende Blöcke (wie bei verlorenen Paketen) zu einem Decodierungsfehler, selbst wenn K
gute Blöcke sind vorhanden. Dieses Programm ist in erster Linie dazu gedacht, Daten wiederherzustellen, die aufgrund von
Lesefehler auf festen Datenträgern wie Disketten; mehrere andere Programme und Bibliotheken sind
verfügbar, die FEC verwenden, um die anderen Fehler (normalerweise Netzwerkpakete) zu behandeln.

Beispiele:


Betrachten Sie eine Diskette mit 80 Spuren, 2 Köpfen und 18 512-Byte-Sektoren pro Spur (ein Standard
1.44 MB Diskette).

bzip2 < Datei | vdmfec > /dev/fd0

verwendet die Standardparameter -b1k -n18 -k14, speichert bis zu ~1.1 MB komprimierte Eingaben
Daten, geschrieben jeweils eine (doppelseitige) Spur (18K) und erlaubt 4 fehlerhafte Cluster (8
Sektoren) pro Spur.

vdmfec -d /dev/fd0 | bunzip2 > Datei

stellt die Originaldatei wieder her.

vdm_encode -b18k -n80 -k70 file.img > /dev/fd0

schreibt die gesamte Diskette, speichert bis zu ~1.23 MB Daten und erlaubt mehrere Fehler auf 10
verschiedene doppelseitige Spuren.

vdm_decode -b18k -n80 -k70 /dev/fd0 > file.img

stellt die Daten wieder her und liest nicht weniger als 70 Spuren. Beachten Sie, dass vdm_decode mit a . beendet wird
Nicht-Null-Status bei Versagen, so dass Konstruktionen wie

vdm_decode /dev/fd0 > moo && tar -xvf moo

möglich sind.

dd if=/dev/tape ibs=1024 conv=noerror,sync | \
vdm_decode > Datei

Dies kann erforderlich sein, um Daten von einigen nicht durchsuchbaren Medien wiederherzustellen. Du kannst natürlich
schreiben Sie einfach die codierte Ausgabe in eine normale Datei, wie in

tar -cf - dir | gzip | vdm_encode -v > dir.tgz.vdm

REPORTING Fehler


Fehler an Tom Holroyd melden[E-Mail geschützt] >.

Verwenden Sie vdm_encode online mit den onworks.net-Diensten


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad




×
Werbung
❤ ️Hier einkaufen, buchen oder kaufen – kostenlos, damit die Dienste kostenlos bleiben.