Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- if [ $UID -ne 0 ]
- then
- zenity --error --text="No es administrador.\n\nSólo el administrador puede ejecutar este programa."
- echo "No es administrador, sólo el administrador puede ejecutar este programa."
- exit 0
- fi
- LETRAS=abcdefghijklmnopqrstuvwxyz
- ISO_DESTINO="/home/antonio/Descargas/livecd.iso"
- SWAP=$(cat /etc/fstab | grep swap | head -n 1 | awk {'print $5'})
- if [ -z "$SWAP" ]
- then
- SWAP=$(cat /proc/swaps | tail -n 1 | awk {'print $1'})
- fi
- part=$(fdisk -l | grep ^/dev)
- indice=0
- for item in $part
- do
- temp=$(echo -n $item | grep /dev)
- if [ -n "$temp" ]
- then
- PARTICIONES[$indice]=$temp
- let "indice = $indice + 1"
- fi
- done
- NUM_PARTICIONES=${#PARTICIONES[*]}
- echo $NUM_PARTICIONES "particiones encontradas"
- echo "SWAP: "$SWAP
- indice=0
- while [ "$indice" -lt "$NUM_PARTICIONES" ]
- do
- actual=${PARTICIONES[$indice]}
- mont=$(mount | grep $actual | awk {'print $3'})
- if [ -z "$mont" ]
- then
- if [ "$actual" = "$SWAP" ]
- then
- MONTAJE[$indice]="swap"
- else
- MONTAJE[$indice]="No montado"
- fi
- else
- MONTAJE[$indice]=$mont
- fi
- hdd=${actual:(-2):1}
- let hdd="$(echo `expr index "$LETRAS" $hdd`) -1 "
- part=${actual:(-1)}
- echo -n ${PARTICIONES[$indice]}"("${MONTAJE[$indice]}")"
- PARTICIONES[$indice]="(hd$hdd,$part)"
- echo " ==> "${PARTICIONES[$indice]}
- let "indice = $indice + 1"
- done
- indice=0
- PARTICION_SELECCIONADA=$((
- while [ "$indice" -lt "$NUM_PARTICIONES" ]
- do
- echo ${PARTICIONES[$indice]}
- echo ${MONTAJE[$indice]}
- let "indice = $indice + 1"
- done
- ) |
- zenity --list \
- --title="Elija una de las particiones." \
- --column="Partición" --column="Punto de montaje"
- )
- echo "Se selecciona: "$PARTICION_SELECCIONADA
- PARTICION_SELECCIONADA=$(zenity --entry --title="Editar partición seleccionada" --text="Edite la partción" --entry-text $PARTICION_SELECCIONADA)
- if [ -z "$PARTICION_SELECCIONADA" ]
- then
- echo "No se selecciona partición"
- zenity --error --text="No se selecciona partición"
- exit 0
- fi
- echo "Se edita y queda como: "$PARTICION_SELECCIONADA
- ARCHIVO_ISO=$(zenity --filename=$HOME --file-selection --title="Seleccione la imagen ISO...")
- if [ -z "$ARCHIVO_ISO" ]
- then
- echo "No se selecciona ninguna imagen ISO"
- zenity --error --text="No se selecciona ninguna imagen ISO"
- exit 0
- fi
- echo "Se selecciona la imagen: "$ARCHIVO_ISO
- ES_ISO=$(file $ARCHIVO_ISO | grep 9660)
- if [ -z "$ES_ISO" ]
- then
- zenity --error --text="El archivo seleccionado no es una imagen ISO"
- echo "El archivo seleccionado no es una imagen ISO"
- exit 0
- fi
- ES_DE_INICIO=$(echo $ES_ISO | grep bootable)
- if [ -z "$ES_DE_INICIO" ]
- then
- zenity --error --text="El archivo seleccionado no es una ISO de inicio"
- echo "El archivo seleccionado no es una ISO de inicio"
- exit 0
- fi
- zenity --question --text="Ha seleccionado:\nPartición ==> $PARTICION_SELECCIONADA\nImagen ISO ==>$ARCHIVO_ISO\n\n¿Quiere continuar?"
- if [ "$?" != "0" ]
- then
- echo "Se cancela."
- exit 0
- fi
- temp=$(file $ARCHIVO_ISO)
- rm $ISO_DESTINO
- cp $ARCHIVO_ISO $ISO_DESTINO &
- TAMANO_TOTAL=$(stat -c %s $ARCHIVO_ISO)
- BYTES_COPIADOS=0
- (
- while [ "$BYTES_COPIADOS" -lt "$TAMANO_TOTAL" ]
- do
- sleep 1
- CopiedBytes=$(stat -c %s $ISO_DESTINO)
- let Porcentaje=$BYTES_COPIADOS*100/$TAMANO_TOTAL
- echo $Porcentaje
- done
- ) | zenity --progress --title="Copiando" --text="$ARCHIVO_ISO" --percentage=0 --auto-close
- if [ "$?" != "0" ]
- then
- killall cp
- echo "Copia cancelada."
- zenity --error --text="Copia cancelada."
- exit 0
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement