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 |