ISO Image: Unterschied zwischen den Versionen
fg>WikiSysop (→Linux) |
K (1 Version importiert) |
(kein Unterschied)
|
Aktuelle Version vom 7. Oktober 2020, 16:02 Uhr
ISO Image von einer CD erstellen
Windows
Mit einem Brennprogramm, z.B. CDBurnerXP, ein ISO-Image erzeugen. Das Image am Server speichern, z.B.: im Laufwerk S:, das entspricht am Linux Server: /share.
Linux
- Einfache Variante
dd if=/dev/cdrom of=/share/image.iso
- Verbesserte Variante
isoinfo -d -i /dev/cdrom | grep -i -E 'block size|volume size'
ergibt zum Beispiel:
Logical block size is: 2048 Volume size is: 243744
Dann
dd if=/dev/cdrom of=test.iso bs=2048 count=243744
Details dazu: http://www.thomas-krenn.com/de/wiki/ISO_Image_von_CD_oder_DVD_unter_Linux_erstellen
ISO Image ins Linux Dateisystem einbinden
Das ISO-File wird als sogenanntes Loopback-Device gemountet. Der Befehl lautet:
mount -t iso9660 -o ro,loop=/dev/loop /Name_der_ISO_Datei /mnt/Name_der_Virtuellen_CD
Falls versteckte Dateien im ISO File sind, ist die Option -unhide wichtig. Diese Option ist z.B. notwendig für Video CDs von Video2Brain.
mount -t iso9660 -o unhide,ro,loop=/dev/loop /Name_der_ISO_Datei /mnt/Name_der_Virtuellen_CD
Bitte beachten: Wenn es bereits mehrere virtuelle CD Laufwerke gibt, dann muss eine Nummer in der Datei /dev/loop1 entsprechend erhöht werden, z.B.: /dev/loop4
Damit man sich den Befehl nicht merken muss, werden mit folgendem Script /root/bin/iso.sh, die vorhanden ISO Dateien gemountet. In diesem Script kann man bei Bedarf weitere Zeilen hinzufügen.
# /root/bin/iso.sh k=0 # Mounten der CD 'Interaktiv durch Oesterreich' mkdir /mnt/I_aktiv &> /dev/null mount -t iso9660 -o ro,loop=/dev/loop$k /divers/share/Interaktiv_durch_OE.iso /mnt/I_aktiv &> /dev/null # Mounten der CD 'Erdkunde_USA' k=`expr $k + 1` mkdir /mnt/Erdkunde_USA &> /dev/null mount -t iso9660 -o ro,loop=/dev/loop$k /divers/share/Erdkunde_USA.iso /mnt/Erdkunde_USA # &> /dev/null exit # Mounten der 'SUSE 10.1' Installations CDs k=`expr $k + 1` z=`expr $k + 5` while [ $k -lt $z ]; do k=`expr $k + 1` mkdir /mnt/suse10.1/CD$k &> /dev/null mount -t iso9660 -o ro,loop=/dev/loop$k /home/suse10.1/ISO/SUSE-Linux-10.1-GM-i386-CD$k.iso /mnt/suse10.1/CD$k done
ISO Images beim Systemstart mounten
Das Shellscript /usr/local/bin
in
/etc/init.d/boot.local
aufrufen. Dieses Skript wird vor den Runlevelskripten aufgerufen.
Anzahl der möglichen Loop Devices erhöhen
- Loop Device Unterstützung im Kernel
In die Datei /boot/grub/menu.lst
durch eine Startoption die Anzahl der möglichen Loop Devices erhöhen:
# Beispiel: title 2.6.18.2-34-default root (hd0,1) kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/md0 resume=/dev/sda1 splash=silent vga=788 max_loop=16 showopts initrd /boot/initrd-2.6.18.2-34-default
- Loop Device Unterstützung durch ein Kernel Modul: Modul loop
Folgende Datei editieren:
# /usr/src/linux/drivers/block static int max_loop = 16;
Hinweis: Eigentlich müsste es mit Bootparameter (siehe oben) gehen.
Außerdem eventuell folgende Datei editieren:
# /etc/modprobe.conf.local options max_loop=16
- Erhöhen der Anzahl der Loop Devices
Eigentlich nicht notwendig, da dies automatisch erfolgt, trotzdem der Vollständigkeit halber der Befehl:
mknod /dev/loop8 b 7 8 mknod /dev/loop9 b 7 9 mknod /dev/loop10 b 7 10 # usw.
- Modul laden
modprobe loop
oder
modprobe loop max_loop=16
Siehe Threads in www.Linuxforen.de: [1] und [2]
Siehe auch folgendes HowTo: http://do.nw.schule.de/mz/netz/support/arktur/faq/cdromserv.htm