slitaz-tools annotate lib/libmountbox @ rev 262
mountbox: add floppies
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Jul 23 21:22:49 2008 +0000 (2008-07-23) |
parents | db0e82bebc70 |
children | 9fbb84b399ed |
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 |
pankso@183 | 65 echo "$dev | $BOOT | $START | $END | $BLOCKS | $ID | $SYSTEM" |
pankso@183 | 66 fi |
pascal@262 | 67 done |
pascal@262 | 68 echo "/dev/cdrom | - | - | - | CD/DVD | - | iso9660" |
pascal@262 | 69 for i in /sys/devices/platform/floppy.*/block:*; do |
pascal@262 | 70 [ -e $i ] && echo "/dev/${i#*block:} | - | - | - | floppy | - | linux" |
pascal@262 | 71 done |
pascal@262 | 72 ;; |
pankso@183 | 73 mounted-fs-infos) |
MikeDSmith25@252 | 74 # Mounted fs info and actions, rootfs or other fs. |
pankso@183 | 75 # |
pankso@183 | 76 if [ "$MOUNTED" == "/dev/root" ]; then |
pankso@183 | 77 export MOUNTED_DEVICE=" |
pankso@183 | 78 <window title=\"Device: rootfs\" icon-name=\"media-flash\"> |
pankso@183 | 79 <vbox> |
pankso@183 | 80 <text use-markup=\"true\" width-chars=\"56\"> |
pankso@183 | 81 <label>\" |
pankso@183 | 82 <b>/dev/root</b> |
pankso@183 | 83 \" |
pankso@183 | 84 </label> |
pankso@183 | 85 </text> |
pankso@183 | 86 <text use-markup=\"true\" width-chars=\"56\"> |
pankso@183 | 87 <input>df -h / | grep ^rootfs</input> |
pankso@183 | 88 </text> |
pankso@183 | 89 <hbox> |
pankso@183 | 90 <button> |
pankso@183 | 91 <label>Browse</label> |
pankso@183 | 92 <input file icon=\"folder-open\"></input> |
pankso@183 | 93 <action>pcmanfm / &</action> |
pankso@183 | 94 <action type=\"closewindow\">MOUNTED_DEVICE</action> |
pankso@183 | 95 </button> |
pankso@183 | 96 <button> |
pankso@183 | 97 <input file icon=\"gtk-close\"></input> |
pankso@183 | 98 <action type=\"closewindow\">MOUNTED_DEVICE</action> |
pankso@183 | 99 </button> |
pankso@183 | 100 </hbox> |
pankso@183 | 101 </vbox> |
pankso@183 | 102 </window>" |
pankso@183 | 103 gtkdialog --center --program=MOUNTED_DEVICE |
pankso@183 | 104 else |
pankso@183 | 105 UUID=`blkid | grep ^$MOUNTED | sed 's/.*UUID=\"\([^ ]*\)\".*/\1/'` |
pankso@183 | 106 TYPE=`blkid | grep ^$MOUNTED | sed 's/.*TYPE=\"\([^ ]*\)\".*/\1/'` |
pankso@183 | 107 RES=`df -h $MOUNTED | grep ^$MOUNTED` |
pankso@183 | 108 mounted_fs_data |
pankso@183 | 109 export MOUNTED_DEVICE=" |
pankso@183 | 110 <window title=\"Device: $MOUNTED\" icon-name=\"media-flash\"> |
pankso@183 | 111 <vbox> |
pankso@183 | 112 <text use-markup=\"true\" width-chars=\"56\"> |
pankso@183 | 113 <label>\" |
pankso@183 | 114 Device <b>$MOUNTED</b> is mounted on <b>$MOUNTED_ON</b> |
pankso@183 | 115 |
pankso@183 | 116 UUID: $UUID |
pankso@183 | 117 Type: $TYPE |
pankso@183 | 118 \" |
pankso@183 | 119 </label> |
pankso@183 | 120 </text> |
pankso@183 | 121 <hbox> |
pankso@183 | 122 <button> |
pankso@183 | 123 <label>Browse</label> |
pankso@183 | 124 <input file icon=\"folder-open\"></input> |
pankso@183 | 125 <action>pcmanfm $MOUNTED_ON &</action> |
pankso@183 | 126 <action type=\"closewindow\">MOUNTED_DEVICE</action> |
pankso@183 | 127 </button> |
pankso@183 | 128 <button> |
pankso@183 | 129 <label>Umount</label> |
pankso@183 | 130 <input file icon=\"undo\"></input> |
pankso@183 | 131 <action>umount $MOUNTED_ON</action> |
pankso@183 | 132 <action type=\"closewindow\">MOUNTED_DEVICE</action> |
pankso@183 | 133 </button> |
pankso@183 | 134 <button> |
pankso@183 | 135 <input file icon=\"gtk-close\"></input> |
pankso@183 | 136 <action type=\"closewindow\">MOUNTED_DEVICE</action> |
pankso@183 | 137 </button> |
pankso@183 | 138 </hbox> |
pankso@183 | 139 </vbox> |
pankso@183 | 140 </window>" |
pankso@183 | 141 gtkdialog --center --program=MOUNTED_DEVICE |
pankso@183 | 142 fi ;; |
pankso@183 | 143 umounted-fs-infos) |
MikeDSmith25@252 | 144 # Mounted fs info and actions, rootfs or other fs. |
pankso@183 | 145 # |
pankso@183 | 146 UUID=`blkid | grep ^$DEVICE | sed 's/.*UUID=\"\([^ ]*\)\".*/\1/'` |
pankso@183 | 147 TYPE=`blkid | grep ^$DEVICE | sed 's/.*TYPE=\"\([^ ]*\)\".*/\1/'` |
pankso@183 | 148 export UMOUNTED_DEVICE=" |
pankso@183 | 149 <window title=\"Device: $DEVICE\" icon-name=\"media-flash\"> |
pankso@183 | 150 <vbox> |
pankso@183 | 151 <text use-markup=\"true\" width-chars=\"56\"> |
pankso@183 | 152 <label>\" |
pankso@183 | 153 Mount <b>$DEVICE</b> on <b>$MOUNT_POINT</b> |
pankso@183 | 154 |
pankso@183 | 155 UUID: $UUID |
pankso@183 | 156 Type: $TYPE |
pankso@183 | 157 \" |
pankso@183 | 158 </label> |
pankso@183 | 159 </text> |
pankso@183 | 160 |
pankso@183 | 161 <hbox> |
pankso@183 | 162 <button> |
pankso@183 | 163 <label>Mount</label> |
pankso@183 | 164 <input file icon=\"edit-redo\"></input> |
pankso@183 | 165 <action>mkdir -p $MOUNT_POINT</action> |
pankso@183 | 166 <action>mount $DEVICE $MOUNT_POINT</action> |
pankso@183 | 167 <action type=\"closewindow\">MOUNTED_DEVICE</action> |
pankso@183 | 168 </button> |
pankso@183 | 169 |
pankso@183 | 170 <button> |
pankso@183 | 171 <label>e2fsck check</label> |
pankso@183 | 172 <input file icon=\"drive-harddisk\"></input> |
pankso@183 | 173 <action>xterm -T \"e2fsck -p $DEVICE\" \ |
pankso@183 | 174 --geomery 80x12 \ |
pankso@183 | 175 -e \"echo; e2fsck -p $DEVICE; \ |
pankso@183 | 176 echo -e '----\nENTER to close Termianl'; \ |
pankso@183 | 177 read i\" &</action> |
pankso@183 | 178 <action type=\"closewindow\">MOUNTED_DEVICE</action> |
pankso@183 | 179 </button> |
pankso@183 | 180 |
pankso@183 | 181 <button> |
pankso@183 | 182 <input file icon=\"gtk-close\"></input> |
pankso@183 | 183 <action type=\"closewindow\">UMOUNTED_DEVICE</action> |
pankso@183 | 184 </button> |
pankso@183 | 185 </hbox> |
pankso@183 | 186 </vbox> |
pankso@183 | 187 </window>" |
pankso@183 | 188 gtkdialog --center --program=UMOUNTED_DEVICE ;; |
pankso@183 | 189 *) |
pankso@183 | 190 usage ;; |
pankso@183 | 191 esac |
pankso@183 | 192 |
pankso@183 | 193 exit 0 |