Benutzer-Werkzeuge

Webseiten-Werkzeuge


mount_iso

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
mount_iso [2013-07-22 22:52:39] – [ab FreeBSD 5] manfredmount_iso [2017-04-06 12:48:50] (aktuell) – [LVM-Volumen aus einem Image mounten] manfred
Zeile 1: Zeile 1:
 +====== mount ISO ======
 +
 +
 +===== Linux =====
 +
 +  > mount -o loop /var/tmp/cdrom.iso /mnt
 +  > losetup -a
 +  /dev/loop0: [0006]:977176076 (/var/tmp/cdrom.iso), offset 1048576
 +
 +
 +==== LVM-Volumen aus einem Image mounten ====
 +
 +
 +__Image-Infos anzeigen:__
 +  > fdisk -lu /var/tmp/host01.img
 +  
 +  ...
 +  Units = sectors of 1 * 512 = 512 bytes
 +  Sector size (logical/physical): 512 bytes / 512 bytes
 +  I/O size (minimum/optimal): 512 bytes / 512 bytes
 +  Disk identifier: 0x000cf766
 +  
 +                Device Boot      Start         End      Blocks   Id  System
 +  /var/tmp/host01.img1          2048     1171455      584704   83  Linux
 +  /var/tmp/host01.img2         1171456   639631359   319229952   8e  Linux LVM
 +
 +__mount der ersten primären Partition:__
 +  > mkdir /mnt_boot
 +  > mount -r -o loop,offset=$((512*2048)) /var/tmp/host01.img /mnt_boot
 +  > ls -lha /mnt_boot
 +
 +__umount der ersten primären Partition:__
 +  > umount /mnt_boot
 +
 +__mount eines LV:__
 +  > losetup -f
 +  /dev/loop0
 +  > losetup /dev/loop0 /var/tmp/host01.img
 +  > kpartx -l /dev/loop0
 +  loop0p1 : 0 1169408 /dev/loop0 2048
 +  loop0p2 : 0 638459904 /dev/loop0 1171456
 +  
 +  > kpartx -a /dev/loop0
 +  > vgscan
 +    Reading all physical volumes.  This may take a while...
 +    Found volume group "vgtrusty" using metadata type lvm2
 +  
 +  > vgchange -ay vgtrusty
 +    3 logical volume(s) in volume group "vgtrusty" now active
 +  
 +  > ls -lha /dev/vgtrusty/
 +  total 0
 +  drwxr-xr-x  2 root root  100 Apr  6 14:17 .
 +  drwxr-xr-x 17 root root 5,1K Apr  6 14:17 ..
 +  lrwxrwxrwx  1 root root    7 Apr  6 14:17 mysql -> ../dm-7
 +  lrwxrwxrwx  1 root root    7 Apr  6 14:17 root -> ../dm-5
 +  lrwxrwxrwx  1 root root    7 Apr  6 14:17 swap -> ../dm-6
 +  
 +  > mkdir /mnt_lv
 +  > mount /dev/vgtrusty/mysql /mnt_lv
 +
 +__umount des LV:__
 +  > umount /mnt_lv
 +  > lvchange -an vgtrusty  
 +  > vgchange -an vgtrusty
 +    0 logical volume(s) in volume group "vgtrusty" now active
 +  
 +  > kpartx -d /dev/loop0
 +  > losetup -d /dev/loop0
 +  > losetup -f
 +  /dev/loop0
 +
 +===== vor FreeBSD 5 =====
 +
 +  # vnconfig /dev/vn0c /var/tmp/cdrom.iso
 +  # mount -t cd9660 /dev/vn0c /mnt
 +
 +  # umount /mnt
 +  # vnconfig -u /dev/vn0c
 +
 +
 +===== ab FreeBSD 5 =====
 +
 +  # mdconfig -a -t vnode -u 0 -f /var/tmp/cdrom.iso
 +
 +  # mdconfig -l
 +  md0
 +
 +  # mdconfig -l -u md0
 +  md0     vnode     2.2G  /var/tmp/cdrom.iso
 +
 +oder
 +  # mdconfig -l -u 0
 +  md0     vnode     2.2G  /var/tmp/cdrom.iso
 +
 +  # mount -t cd9660 /dev/md0 /mnt
 +
 +  # umount /mnt
 +  # mdconfig -d -u 0
 +
 +Will man alle gemounteten __vnodes__ ausführlich sehen,
 +geht das so ganz gut:
 +  # for i in $(mdconfig -l);do mdconfig -l -u ${i};done
 +  md0     vnode     2.2G  /var/tmp/cdrom.iso
 +  md1     swap     1024M
 +  md2     vnode     679M  /home/kontor/technik/edv/iso/ubuntu/ubuntu-11.10-server-i386.iso
 +
 +
 +=== /home/bin/mount_img.sh ===
 +
 +  #!/bin/sh
 +  #
 +  ################################################################################
 +  #
 +  # Diese Schritte sind nur als "root" ausfuehrbar!
 +  # Ein MS-DOS-Disketten-Image soll gemountet werden:
 +  #
 +  # Beispiel fuer FreeBSD bis zur Version 4:
 +  # ========================================
 +  #
 +  # vnconfig -c /dev/vn0c ~/kontor/SYS/msdos622.img
 +  # mount -t msdos /dev/vn0c /mnt
 +  #
 +  #
 +  # Unmounten des Images (loesen vom Image):
 +  #
 +  # umount /mnt
 +  # vnconfig -u /dev/vn0c
 +  #
 +  #
 +  # Beispiel fuer FreeBSD ab der Version 5:
 +  # =======================================
 +  #
 +  # mdconfig -a -t vnode -u 1 -f ~/kontor/SYS/msdos622.img
 +  # mount -t msdos /dev/md2 /mnt
 +  #
 +  #
 +  # Unmounten des Images (loesen vom Image):
 +  #
 +  # for i in $(mdconfig -l);do mdconfig -l -u ${i};done
 +  #
 +  # umount /mnt
 +  # mdconfig -d -u md1
 +  #
 +  # umount /mnt
 +  # mdconfig -d -u 1
 +  #
 +  ################################################################################
 +  
 +  if [ "$(uname -s)" != "FreeBSD" ] ; then
 +        echo ""
 +        echo "Dieses Script laeft nur auf FreeBSD!"
 +        echo "ABBRUCH!"
 +        exit 1
 +  fi
 +  
 +  VERSION="$(uname -r|cut -f1 -d'.')"
 +  if [ "${VERSION}" -lt "5" ] ; then
 +        echo "Dieses Script arbeitet erst ab FreeBSD 5."
 +        exit 1
 +  fi
 +  
 +  
 +  if [ -n "${1}" ] ; then
 +  
 +      case "${1}" in
 +  
 +  
 +      [Cc][Dd])
 +        # CD9660 - mount
 +        DATEISYSTEM="cd9660"
 +          ;;
 +  
 +  
 +      [Ee][Xx][Tt])
 +        # EXT2FS - mount
 +        DATEISYSTEM="ext2fs"
 +          ;;
 +  
 +  
 +      [Dd][Oo][Ss])
 +        # MSDOSFS - mount
 +        DATEISYSTEM="msdosfs"
 +          ;;
 +  
 +  
 +      [Nn][Tt][Ff][Ss])
 +        # NTFS - mount
 +          # ntfs-3g -o permissions /dev/da6s1 /mnt/
 +        DATEISYSTEM="ntfs-3g"
 +          ;;
 +  
 +  
 +      [Uu][Ff][Ss])
 +        # UFS - mount
 +        DATEISYSTEM="ufs"
 +          ;;
 +  
 +  
 +      [Uu])
 +        # normales unmounten
 +          #echo "Welcher Mountpoint soll geloest werden (z.B. /mnt):"
 +        if [ -d "${2}" ] ; then
 +                  VNODE="$(df "${2}" | awk '/^\/dev\// && /\/md[0-9]/ {print $1}')"
 +                  if [ -n "${VNODE}" ] ; then
 +                          echo "umount \"${2}\""
 +                          umount "${2}"
 +                          echo "mdconfig -d -u ${VNODE}"
 +                          mdconfig -d -u ${VNODE}
 +                  else
 +                          echo "
 +                          # umount des gemounteten Images
 +                          ${0} u [MountPoint]
 +                          ${0} u /mnt
 +                          "
 +                  fi
 +          else
 +                  echo "
 +                  # umount des gemounteten Images
 +                  ${0} u [MountPoint]
 +                  ${0} u /mnt
 +                  "
 +        fi
 +          ;;
 +  
 +  
 +      *)
 +        echo "
 +          ${0} cd   [cdrom.iso] [/mnt]
 +          ${0} ext  [linux.img] [/mnt]
 +          ${0} dos  [msdos.img] [/mnt]
 +          ${0} ntfs [mswin.img] [/mnt]
 +          ${0} ufs  [bsd.img]   [/mnt]
 +        oder
 +          ${0} u [/mnt]         # umount des gemounteten Images
 +        "
 +          ;;
 +  
 +      esac
 +  
 +  
 +      if [ -n "${DATEISYSTEM}" ] ; then
 +          if [ -f "${2}" ] ; then
 +                  IMAGEFILE="${2}"
 +          else
 +                  echo "
 +                  ${0} cd   [cdrom.iso] [/mnt]
 +                  ${0} ext  [linux.img] [/mnt]
 +                  ${0} dos  [msdos.img] [/mnt]
 +                  ${0} ntfs [mswin.img] [/mnt]
 +                  ${0} ufs  [bsd.img]   [/mnt]
 +                  "
 +          fi
 +  
 +          if [ -d "${3}" ] ; then
 +                  MOUNTPOINT="${3}"
 +          else
 +                  MOUNTPOINT="/mnt"
 +          fi
 +  
 +        VNODE="$(mdconfig -a -t vnode -f "${IMAGEFILE}")"
 +          if [ "${DATEISYSTEM}" != "ntfs-3g" ] ; then
 +                  mount -t "${DATEISYSTEM}" /dev/${VNODE} "${MOUNTPOINT}"
 +          else
 +                  ntfs-3g -o permissions /dev/${VNODE} "${MOUNTPOINT}"
 +          fi
 +      fi
 +  
 +  
 +  else
 +  
 +        echo "
 +          ${0} cd   [cdrom.iso] [/mnt]
 +          ${0} ext  [linux.img] [/mnt]
 +          ${0} dos  [msdos.img] [/mnt]
 +          ${0} ntfs [mswin.img] [/mnt]
 +          ${0} ufs  [bsd.img]   [/mnt]
 +        oder
 +          ${0} u [/mnt]         # umount des gemounteten Images
 +        "
 +  
 +  fi
 +
 +
 +==== DVD mit UDF ====
 +
 +Leider kann //mount_udf// oft (in meinem Fall) eine [[http://de.wikipedia.org/wiki/Universal_Disk_Format|UDF]]-DVD nicht mounten:
 +
 +
 +=== Image-Datei ===
 +
 +  # mdconfig -l
 +  md0 
 +
 +  # mount -t udf /dev/md0 /mnt
 +  mount_udf: /dev/md0: Invalid argument
 +
 +das geht mit //FreeBSD 8.0// leider nicht per //mount//, sondern nur mit //udfclient//:
 +  # portinstall -prO sysutils/udfclient
 +  # udfclient /var/tmp/cdrom.iso
 +
 +
 +=== DVD ===
 +
 +mit //FreeBSD 9.0// hat das mounten einer UDF-DVD geklappt:
 +  # mount -t udf /dev/cd0 /cdrom
 +
 +
 +===== FreeBSD 8 =====
 +
 +  # vi /etc/sysctl.conf
 +  vfs.usermount=1
 +
 +  # vi /etc/devfs.conf
 +  link    acd0    cdrom
 +  own     acd0    root:operator
 +  perm    acd0    0660
 +