Hola a todos, quiero realizar un Script para que me haga el particionado de mi unidad de disco /dev/sdb, quiero hacer:
- comprobar que esta vaco, en caso de que no este vacío, lo eliminare todo.
- cuando este limpio /dev/sdb tengo que hacer 2 particiones:
* sdb1 del 60 % sistema de archivos ext3.
* sdb2 del 40 % sistema de archivos fat32.
- una vez creadas las debo chequear.
- configuración del sistema para el uso de las particiones:
* sdb1 se montara en /media/hdext3, dolo la podrá montar root y no debe montarse al iniciar el sistema.
* sdb2 se montara en /media/hdfat32, la podrá montar cualquier usuario, pero no permitirá ejecutar programas, se montara automáticamente al iniciar el sistema y tendrá programado un chequeo.
- la información se deberá ir mostrando por pantalla.
#!/bin/bash
num=$(ls /dev/ | grep -c '^sdb')
echo "Num: "$num
# si num es igual a 1 es que no existen particiones en la unidad /dev/sdb
if [ $num = 1 ]
then
echo "El directorio /dev/sdb esta vacío."
else
# si num es mayor a 1 quiere decir que tiene mas de 1 partición
echo "Existen particiones en /dev/sdb "
fi
# me gustaría que me ayudaran a finalizarlo, ya que no esto muy puesto en esto de las particiones.
# creo que para particionar en un script se realiza:
# parted /dev/sdb mkpart primary ext3 0G 3G
Espero que me puedan ayudar
saludos
he confeccionado mas código del script, me gustaría que me ayudaran, ya que tiene algunos fallos en tiempo de ejecución.
#!/bin/bash
n=1
# compruebo que en /dev el numero de lineas comienzan por sdb sea 1
num=$(ls /dev/ | grep -c '^sdb')
echo "Num de particiones: "$num
# si num es igual a 1 quiere decir que no existen particiones en esa unidad
if [ $num = 1 ]
then
echo "El directorio /dev/sdb no tiene particiones"
else
# si num es mayor a 1 quiere decir que hay mas de 1 partición
echo "Existe mas de 1 particion en /dev/sdb"
i=1
# recorro desde 1 hasta el numero de particiones
for $i in $num
do
# borro la particion
rm $i
echo "El directorio se ha limpiado de particiones"
# aumento en 1 el valor de i
i=$(expr $i \+ 1)
done
fi
# creo la primera particion del 60%
parted /dev/sdb mkpart primary ext3 0G 3G
# creo la primera particion del 40%
parted /dev/sdb mkpart primary fat32 3G 5G
# chequear las particiones creadas
# sdb1 se montara en /media/hdext3, dolo la podrá montar root y no debe
#montarse al iniciar el sistema
# sdb2 se montara en /media/hdfat32, la podrá montar cualquier usuario, pero no
#permitirá ejecutar programas, se montara automáticamente al iniciar el sistema y
#tendrá programado un chequeo
haber si me pueden ayudar a realizar los ultimos apartados.
saludos
El script se puede acortar muchisimo usando expansión de comandos.
A qué te refieres con "chequear las particiones creadas"?
eso serial algo como chkdsk /dev/sdb$i
eso del $i estaria bien colocado asi o lo tendria que meter dentro de un for como lo he utilizado anteriormente???
Si te funcionó el for anterior utilizalo de igual manera para checar las particiones.
el fallo que me da en el primer for me dice que $i no es un identificador valido, como puedo solucionar eso?? si en lugar de poner
for $i in $num
pongo
for i=1 in $num
me dice lo mismo que no es un identificador valido. que puedo hacer para solucionar esto???
Saludos
solucionado