2 ###APPNAME: diskimg-umount
4 ###APPDATE: Sun Oct 7 01:45:28 2007
6 ###APPDESC: unmount partitions of disk image
7 ###APPUSAGE: (diskimage name)
8 ###APPEXAMPLE: diskimg-umount disk.img
11 $ARGV[0]="-h" unless(@ARGV);
13 exit(system("plhelp",$0,@ARGV)) if($_ eq "-h" || $_ eq "--help");
16 #die("You must be root for running $0.\n") unless($>==0);
22 return (system(@_)==0);
25 return (system("sudo",@_)==0);
40 print STDERR
("Unmounting $_...\n");
41 sudo_system
("umount",$_) or print STDERR
("$!\n");
42 print STDERR
("Delete loopback device $_...\n");
43 sudo_system
("losetup","-vd",$_) or print STDERR
("$!\n");
46 open(TABLE
,"mount|") or die("$!\n");
51 if(m/^(\/dev\
/loop.*)\s+on\s+/) {
64 my $info=sudo_qx
("/sbin/losetup $_ 2>/dev/null");
67 if($info =~ m/\s*\($disk\)\s*,\s*offset/ or $info =~ m/\($disk\)\$*$/) {
73 print STDERR
"$disk not mounted\n" unless($match);