本地文件映射为磁盘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #!/bin/bash
diskFile=$1
mountDir=$2
if [ -z "${diskFile}" -o -z "${mountDir}" ]; then echo "useage: $0 mapfile mountdir" echo "eg: $0 /root/data.img /dir1" exit 0 fi
yum install -y e4fsprogs
curDevice=`losetup -f` if [ ! -d ${mountDir} ] ; then mkdir -p ${mountDir} fi
if [ ! -b ${curDevice} ] ; then seq=`echo ${curDevice} |awk -F'loop' '{print $2}' ` mknod -m 0660 ${curDevice} b 7 ${seq} echo "not exist ${curDevice}, seq=${seq}" else echo "exist ${curDevice}" fi
dd if=/dev/zero of=${diskFile} bs=1M count=1024
losetup ${curDevice} ${diskFile}
mkfs.ext4 ${curDevice}
mount ${diskFile} ${mountDir} -o sync
losetup -d ${curDevice}
|