slitaz-tools annotate lib/libmountbox @ rev 276

Moved torrentbox to ctorrent-dnh
author Christophe Lincoln <pankso@slitaz.org>
date Tue Nov 25 15:51:10 2008 +0100 (2008-11-25)
parents 426e821a7516
children b872243c81ab
rev   line source
pankso@183 1 #!/bin/sh
pankso@183 2 #
MikeDSmith25@252 3 # Libmountbox provides devices list in suitable format for GTK tree
MikeDSmith25@252 4 # and various dialog boxes to mount, umount, etc.
pankso@183 5 #
pankso@183 6 # (C) 2008 - SliTaz GNU/Linux project.
pankso@183 7 #
pankso@183 8
pankso@183 9 # Short usage.
pankso@183 10 usage()
pankso@183 11 {
pankso@183 12 echo -e "\nUsage: $0 command\n
MikeDSmith25@252 13 Output commands:
pankso@183 14 list-mounted List all mounted devices in suitable GTK tree format.
pankso@183 15 list-umounted List all umounted in suitable GTK tree format.
pankso@183 16
pankso@183 17 GTKdialog boxes
pankso@183 18 mounted-fs-infos Display a mounted devices infos with actions.
pankso@183 19 umounted-fs-infos Display a umounted devices infos with actions.\n"
pankso@183 20 }
pankso@183 21
MikeDSmith25@252 22 # Format df -h output for GTK tree.
pankso@183 23 mounted_fs_data()
pankso@183 24 {
pankso@183 25 SIZE=`echo $RES | cut -d " " -f 2`
pankso@183 26 USED=`echo $RES | cut -d " " -f 3`
pankso@183 27 AVAILABLE=`echo $RES | cut -d " " -f 4`
pankso@183 28 PCT=`echo $RES | cut -d " " -f 5`
pankso@183 29 MOUNTED_ON=`echo $RES | cut -d " " -f 6`
pankso@183 30 }
pankso@183 31
pankso@183 32 case $1 in
pankso@183 33 list-mounted)
pankso@183 34 # List all fs found by: df -h
pankso@183 35 #
pankso@183 36 for dev in `df -h | grep ^/dev/[c-s]d | cut -d " " -f 1`
pankso@183 37 do
pankso@183 38 RES=`df -h $dev | grep ^$dev`
pankso@183 39 mounted_fs_data
pankso@183 40 echo "$dev | $SIZE | $USED | $AVAILABLE | $PCT | $MOUNTED_ON"
pankso@183 41 done ;;
pankso@183 42 list-umounted)
pankso@183 43 # List all umounted fs found by: fdisk -l
pankso@183 44 #
pankso@183 45 for dev in `fdisk -l | grep ^/dev | cut -d " " -f 1`
pankso@183 46 do
pankso@183 47 RES=`fdisk -l | grep $dev | sed s/*//g`
pankso@183 48 START=`echo $RES | cut -d " " -f 2`
pankso@183 49 END=`echo $RES | cut -d " " -f 3`
pankso@183 50 BLOCKS=`echo $RES | cut -d " " -f 4`
pankso@183 51 ID=`echo $RES | cut -d " " -f 5`
pascal@262 52 SYSTEM=`echo $RES | cut -d " " -f 6-`
pankso@183 53 # Bootable...
pankso@183 54 if fdisk -l | grep $dev | grep -q "*"; then
pankso@183 55 BOOT="*"
pankso@183 56 else
pankso@183 57 BOOT="-"
pankso@183 58 fi
MikeDSmith25@252 59 # Skip swap, extended, and mounted partitions.
pankso@183 60 if echo $RES | grep -q "swap" || echo $RES | grep -q "Extended" ; then
pankso@183 61 continue
pascal@262 62 elif mount | grep -q "^$dev "; then
pankso@183 63 continue
pankso@183 64 else
pascal@263 65 UUID=`blkid | grep ^$dev | grep UUID= | sed 's/.*UUID=\"\([^\"]*\)\".*/\1/'`
pascal@263 66 TYPE=`blkid | grep ^$dev | grep TYPE= | sed 's/.*TYPE=\"\([^\"]*\)\".*/\1/'`
pascal@263 67 LABEL=`blkid | grep ^$dev | grep LABEL= | sed 's/.*LABEL=\"\([^\"]*\)\".*/\1/'`
pascal@263 68 echo "$dev | $BOOT | $START | $END | $BLOCKS | $ID | $SYSTEM | $TYPE | $LABEL | $UUID"
pankso@183 69 fi
pascal@262 70 done
pascal@263 71 echo "/dev/cdrom | - | - | - | CD/DVD | - | iso9660 | - | - | -"
pascal@262 72 for i in /sys/devices/platform/floppy.*/block:*; do
pascal@263 73 [ -e $i ] && echo "/dev/${i#*block:} | - | - | - | floppy | - | - | - | - | -"
pascal@262 74 done
pascal@262 75 ;;
pankso@183 76 mounted-fs-infos)
MikeDSmith25@252 77 # Mounted fs info and actions, rootfs or other fs.
pankso@183 78 #
pankso@183 79 if [ "$MOUNTED" == "/dev/root" ]; then
pankso@183 80 export MOUNTED_DEVICE="
pankso@183 81 <window title=\"Device: rootfs\" icon-name=\"media-flash\">
pankso@183 82 <vbox>
pankso@183 83 <text use-markup=\"true\" width-chars=\"56\">
pankso@183 84 <label>\"
pankso@183 85 <b>/dev/root</b>
pankso@183 86 \"
pankso@183 87 </label>
pankso@183 88 </text>
pankso@183 89 <text use-markup=\"true\" width-chars=\"56\">
pankso@183 90 <input>df -h / | grep ^rootfs</input>
pankso@183 91 </text>
pankso@183 92 <hbox>
pankso@183 93 <button>
pankso@183 94 <label>Browse</label>
pankso@183 95 <input file icon=\"folder-open\"></input>
pankso@183 96 <action>pcmanfm / &</action>
pankso@183 97 <action type=\"closewindow\">MOUNTED_DEVICE</action>
pankso@183 98 </button>
pankso@183 99 <button>
pankso@183 100 <input file icon=\"gtk-close\"></input>
pankso@183 101 <action type=\"closewindow\">MOUNTED_DEVICE</action>
pankso@183 102 </button>
pankso@183 103 </hbox>
pankso@183 104 </vbox>
pankso@183 105 </window>"
pankso@183 106 gtkdialog --center --program=MOUNTED_DEVICE
pankso@183 107 else
pascal@263 108 UUID=`blkid | grep ^$MOUNTED | grep UUID= | sed 's/.*UUID=\"\([^\"]*\)\".*/\1/'`
pascal@263 109 TYPE=`blkid | grep ^$MOUNTED | grep TYPE= | sed 's/.*TYPE=\"\([^\"]*\)\".*/\1/'`
pascal@263 110 LABEL=`blkid | grep ^$MOUNTED | grep LABEL= | sed 's/.*LABEL=\"\([^\"]*\)\".*/\1/'`
pankso@183 111 RES=`df -h $MOUNTED | grep ^$MOUNTED`
pankso@183 112 mounted_fs_data
pankso@183 113 export MOUNTED_DEVICE="
pankso@183 114 <window title=\"Device: $MOUNTED\" icon-name=\"media-flash\">
pankso@183 115 <vbox>
pankso@183 116 <text use-markup=\"true\" width-chars=\"56\">
pankso@183 117 <label>\"
pankso@183 118 Device <b>$MOUNTED</b> is mounted on <b>$MOUNTED_ON</b>
pankso@183 119
pankso@183 120 UUID: $UUID
pankso@183 121 Type: $TYPE
pascal@263 122 Label: $LABEL
pankso@183 123 \"
pankso@183 124 </label>
pankso@183 125 </text>
pankso@183 126 <hbox>
pankso@183 127 <button>
pankso@183 128 <label>Browse</label>
pankso@183 129 <input file icon=\"folder-open\"></input>
pankso@183 130 <action>pcmanfm $MOUNTED_ON &</action>
pankso@183 131 <action type=\"closewindow\">MOUNTED_DEVICE</action>
pankso@183 132 </button>
pankso@183 133 <button>
pankso@183 134 <label>Umount</label>
pankso@183 135 <input file icon=\"undo\"></input>
pankso@183 136 <action>umount $MOUNTED_ON</action>
pankso@183 137 <action type=\"closewindow\">MOUNTED_DEVICE</action>
pankso@183 138 </button>
pankso@183 139 <button>
pankso@183 140 <input file icon=\"gtk-close\"></input>
pankso@183 141 <action type=\"closewindow\">MOUNTED_DEVICE</action>
pankso@183 142 </button>
pankso@183 143 </hbox>
pankso@183 144 </vbox>
pankso@183 145 </window>"
pankso@183 146 gtkdialog --center --program=MOUNTED_DEVICE
pankso@183 147 fi ;;
pankso@183 148 umounted-fs-infos)
MikeDSmith25@252 149 # Mounted fs info and actions, rootfs or other fs.
pankso@183 150 #
pascal@263 151 UUID=`blkid | grep ^$MOUNTED | grep UUID= | sed 's/.*UUID=\"\([^\"]*\)\".*/\1/'`
pascal@263 152 TYPE=`blkid | grep ^$MOUNTED | grep TYPE= | sed 's/.*TYPE=\"\([^\"]*\)\".*/\1/'`
pascal@263 153 LABEL=`blkid | grep ^$MOUNTED | grep LABEL= | sed 's/.*LABEL=\"\([^\"]*\)\".*/\1/'`
pankso@183 154 export UMOUNTED_DEVICE="
pankso@183 155 <window title=\"Device: $DEVICE\" icon-name=\"media-flash\">
pankso@183 156 <vbox>
pankso@183 157 <text use-markup=\"true\" width-chars=\"56\">
pankso@183 158 <label>\"
pankso@183 159 Mount <b>$DEVICE</b> on <b>$MOUNT_POINT</b>
pankso@183 160
pankso@183 161 UUID: $UUID
pankso@183 162 Type: $TYPE
pascal@263 163 Label: $LABEL
pankso@183 164 \"
pankso@183 165 </label>
pankso@183 166 </text>
pankso@183 167
pankso@183 168 <hbox>
pankso@183 169 <button>
pankso@183 170 <label>Mount</label>
pankso@183 171 <input file icon=\"edit-redo\"></input>
pankso@183 172 <action>mkdir -p $MOUNT_POINT</action>
pankso@183 173 <action>mount $DEVICE $MOUNT_POINT</action>
pankso@183 174 <action type=\"closewindow\">MOUNTED_DEVICE</action>
pankso@183 175 </button>
pankso@183 176
pankso@183 177 <button>
pankso@183 178 <label>e2fsck check</label>
pankso@183 179 <input file icon=\"drive-harddisk\"></input>
pankso@183 180 <action>xterm -T \"e2fsck -p $DEVICE\" \
pankso@183 181 --geomery 80x12 \
pankso@183 182 -e \"echo; e2fsck -p $DEVICE; \
pankso@183 183 echo -e '----\nENTER to close Termianl'; \
pankso@183 184 read i\" &</action>
pankso@183 185 <action type=\"closewindow\">MOUNTED_DEVICE</action>
pankso@183 186 </button>
pankso@183 187
pankso@183 188 <button>
pankso@183 189 <input file icon=\"gtk-close\"></input>
pankso@183 190 <action type=\"closewindow\">UMOUNTED_DEVICE</action>
pankso@183 191 </button>
pankso@183 192 </hbox>
pankso@183 193 </vbox>
pankso@183 194 </window>"
pankso@183 195 gtkdialog --center --program=UMOUNTED_DEVICE ;;
pankso@183 196 *)
pankso@183 197 usage ;;
pankso@183 198 esac
pankso@183 199
pankso@183 200 exit 0