#!/bin/bash #remaster lib [ -d "" ] || { echo "LIBDIR not exist"; exit 1; } #iso_extract [iso_source] [iso_extr_dir] function iso_extract() { echo -n "extract iso ... " #$1 = iso_source #$2 = iso_extr_dir #check root [ "`whoami`" == "root" ] || { echo "### ERROR ### iso_extract: need root permision!" return 10 } iso_extr_dir="$2" [ -d "$iso_extr_dir" ] || { echo "### ERROR ### iso_extract: aim directory not exist!" return 12 } iso_source="$1" [ -f "$iso_source" ] || { #if it is an url... if [ "`check_url $iso_source`" == "true" ]; then #dl to tmp + set iso_source iso_tmp="`mktemp --suffix=.iso`"; rm "$iso_tmp" wget -O "$iso_tmp" "$iso_source" else echo "### ERROR ### iso_extract: ISO \"$iso_source\" not exist!" return 11 fi } #mace tmp mountpoint tmpdir="`mktemp -d`" [ -d "$iso_extr_dir" ] && { rm -r "$iso_extr_dir/" mkdir "$iso_extr_dir" } #copy files ... mount -o loop,ro "$iso_source" "$tmpdir" cp -f -r "$tmpdir/"* "$iso_extr_dir" #clear tmp mountpoint umount "$iso_source" rm -r "$tmpdir" [ -n "$iso_tmp" ] && rm "$iso_tmp" tmpdir= echo "done" } #this func is standalone executable [ -n "$1" ] && { iso_extract $@ }