Ich habe eine Linux-TAR-Datei, die ich direkt in eine ISO konvertieren möchte. Gibt es eine Möglichkeit, dies vorzugsweise zu tun, ohne zuerst den Inhalt der Datei extrahieren zu müssen?
Dies wäre ähnlich der folgenden Frage ; Dies konzentriert sich jedoch auf einfache oder direkte TAR-Dateien und bezieht sich nicht auf bzip oder einen bzipped-TAR.
Dies ist auch etwas, das ich in einem Skript verwenden wollte, und der Grund, warum ich es nicht zuerst extrahieren möchte.
Antworten:
Verwenden Sie AVFS, um auf den Inhalt des Tar-Archivs zuzugreifen , als wäre es ein Verzeichnis. AVFS ist ein virtuelles Dateisystem, das auf FUSE basiert . Zeigen Sie mit Ihrem bevorzugten ISO-Builder auf das Verzeichnis im Teerarchiv.
quelle
Wenn Ihre Hauptziele darin bestehen, den Prozess zu beschleunigen und unnötige Festplattenaktivitäten aus Leistungsgründen zu vermeiden, und Sie im Verhältnis zur Größe Ihres Tarballs genügend RAM zur Verfügung haben, können Sie die .tar mithilfe von tmpfs in den RAM extrahieren . Diese Option ist sehr wahrscheinlich die schnellste, die verfügbar ist, es sei denn, Sie können den Pipe-Ansatz von @ bulleric zum Laufen bringen und von einer Festplatte lesen und auf eine andere schreiben.
quelle
oder unkomprimierte .tar und
( kann Ordner sein
/media/ISO
oder Point-Mount sein/media/cdrom
)quelle
Sie müssen es extrahieren, aber Sie müssen es nicht auf Ihre Festplatte extrahieren. Sie können stdtout verwenden und es an genisoimage oder mkisofs weiterleiten
tar --to-stdout xf tareddata.tar | genisoimage -o image.iso tareddata
Probier es aus:
mount -o loop image.iso /mnt
Sie können ein kleines Skript schreiben, um dieses Problem zu automatisieren
griechischer Stier
quelle
-Acdtrux' or
Optionen --test-label angeben . Der nächste Fehler ist: I: -Eingabe-Zeichensatz nicht angegeben, mit utf-8 (in den Gebietsschemaeinstellungen erkannt). Der letzte Fehler ist: genisoimage: Keine solche Datei oder kein solches Verzeichnis. Ungültiger Knoten - 'Taradaten'.