Ich habe eine große ISO-Datei auf einem Server und muss auf die Datei zugreifen, ohne Root-Zugriff zu haben. Daher kann ich es nicht einfach montieren. Was kann ich tun, um eine ISO unter LInux ohne Root-Zugriff zu extrahieren?
Ich habe eine große ISO-Datei auf einem Server und muss auf die Datei zugreifen, ohne Root-Zugriff zu haben. Daher kann ich es nicht einfach montieren. Was kann ich tun, um eine ISO unter LInux ohne Root-Zugriff zu extrahieren?
Antworten:
Wenn 7zip installiert ist, ist dies ganz einfach:
7z x Your.iso -oWhere/You/Want/It/Extracted/To
um die ganze iso zu extrahieren.
7z
scheint intelligent genug , um direkt aus Medien zu extrahieren: 7z x /dev/cdrom
. Ich habe sehr dummes Problem, dass meine Akten 0 Bytes auftauchen, wenn sie eingehängt werden. Das Extrahieren war also ein Workaround.
Viele der GUI-Tools wie File Roller verwenden isoinfo im Hintergrund.
Sie können eine einzelne Datei wie folgt aus einer ISO extrahieren:
isoinfo -i image.iso -x /isolinux/initrd.img> initrd.img
Die Umleitung ist als -x
Extrakt zur Standardausgabe erforderlich .
Wenn Sie den Inhalt eines Ordners in der ISO auflisten möchten:
isoinfo -i image.iso -l
Beispielausgabe:
Verzeichnisliste von / d --------- 0 0 0 2048 0 1900 [26 02]. d --------- 0 0 0 2048 0 1900 [26 02] .. d --------- 0 0 0 2048 6. Februar 2010 [27 02] i386 ...
Ich habe einen neuen besten Weg gefunden: mit xorriso
!
Es ist kein Root-Zugriff erforderlich. Ich habe es versucht 7z
und file-roller
beide arbeiten hier nicht.
xorriso
ist ein Open-Source-Programm, daher können Sie die Quellcodes herunterladen, wenn Sie sie nicht standardmäßig installiert haben.
Wenn Sie es nicht installiert haben, laden Sie bitte die Quellcodes hier herunter: https://www.gnu.org/software/xorriso/
Die Schritte sind:
tar zxvf xorriso-1.4.6.tar.gz
cd xorriso-1.4.6
./configure
make
cd xorriso
pwd
Fügen Sie das Ausgabeverzeichnis in die Umgebungsvariable ein PATH
.
Dann können Sie damit eine ISO-Datei extrahieren:
xorriso -osirrox on -indev image.iso -extract / extracted_path
Sie müssen lediglich Änderungen vornehmen image.iso
und extracted_path
dafür sorgen, dass es auf Ihrem System funktioniert.
Empfohlen: https://blog.sleeplessbeastie.eu/2014/08/26/how-to-extract-an-iso-image/
Wenn Sie über eine grafische Benutzeroberfläche verfügen, klicken Sie mit der rechten Maustaste auf die ISO-Datei und wählen Sie "Mit Archive Manager öffnen ..." oder führen Sie einfach Folgendes aus:
file-roller -e /path/to/extract/to /path/to/iso
Wenn Sie FUSE-Dateisysteme mounten können, ist FuseISO eine Option zum Mounten des Images.
Mit den meisten der oben genannten Lösungen können Sie den ISO-Inhalt extrahieren. Wenn der Inhalt jedoch groß ist, nimmt er viel Platz in Anspruch.
Eine bessere Lösung wäre das eigentliche Mounten des ISO- Images. Dank FuseISO ist dies auch ohne Root-Zugriff möglich (Sie müssten jedoch den Administrator bitten, FuseISO in Ubuntu zu installieren, wenn es noch nicht installiert istsudo apt-get install fuseiso
)
Sobald Sie FuseISO auf dem Computer installiert haben, können Sie:
# For user to mount an iso file:
mkdir ~/iso
fuseiso ~/my_iso.iso ~/iso
# For user to unmount an iso file:
fusermount -u ~/iso
7za
(CentOS) nicht funktioniert .7za
unterstützt keine ISO-Archive. Sie können unterstützte Formate mit prüfen7za i
.