Une question aux pros de sfdisk !

Une question aux pros de sfdisk ! - Installation - Linux et OS Alternatifs

Marsh Posté le 19-10-2004 à 17:26:35    

Bonjour à tous,
 
Voilà ma petite question,
 
Je cherche à faire une Shell de préparation de disque automatique avec la commande sfdisk. Ma Shell doit déterminer les tailles des partitions de façon automatique en fonction de la taille du disque (par calcule de pourcentage).
 
Mon probléme c'est que je ne vois pas biens comment calculer les tailles en fonction du retour de la commande :
 
sfdisk -s /dev/hdb
 
Je pense qu'il me retourne la valeur en blocks, mais au moment de passer les valeurs à fdisk pour la création des partitions, je crois que la valeur adonner est en cylindre.
 
En bréf je ne  vois pas comment faire mes calculs pour le partitionnement. L'idéal serait de travailler en Mo.
 
Par avance merci pour vos commentaires.  :)


Message édité par Whaouu le 20-10-2004 à 17:36:29
Reply

Marsh Posté le 19-10-2004 à 17:26:35   

Reply

Marsh Posté le 20-10-2004 à 09:33:30    

up

Reply

Marsh Posté le 20-10-2004 à 14:24:15    

Jpense quand te servant de bc (commande unix je C pas si ça existe sous linux) tu dois pouvoir convertir ton nombre de bloc en cylindre) Pour le calcul compte pas ur moi la je séche.)

Reply

Marsh Posté le 20-10-2004 à 17:19:57    

Merci pour ta réponse venturic,
 
J'utilise déja bc pour faire mes calculs, en fait le problème c'est justement les calculs !
 
Pour le moment je fais ça :
 

# Taille du fs de boot.
TAILLE_BOOT="8192"
 
# Nombre total de Cylindres sur le Device
TAILLE=`sfdisk -sq /dev/$DEVICE`
TAILLE=`echo "($TAILLE/1024)-$TAILLE_BOOT" | bc` # Taille en MO, moins le boot (8 MO).
 
MARGE=`echo "($TAILLE*5)/100" | bc` # Marge pour le partitionnement automatique.
TAILLE=`echo "$TAILLE-$MARGE" | bc`
 
TAILLE_HD5=`echo "($TAILLE*6)/100" | bc`
TAILLE_HD6=`echo "($TAILLE*54)/100" | bc`
TAILLE_HD7=`echo "($TAILLE*40)/100" | bc`


 
Mais je ne suis pas sure de mes calculs pour le moment.  :pt1cable:  
 
De plus visiblement il y a une taille minimale pour les partitions, je ne sais pas sure qu'elle base, elle est calculée.
 
Après j'utilise l'option -uM, pour travailler en MO avec sfdisk, au moment de la création des fs, mais à cause des arrondis dus à la taille minimale d'une partition (ce que je ne gére pas pour le moment) je n'obtiens pas ce que je veux.  :cry:  
 
Voilà, j'espère que c'est plus clair pour le moment. Je trouve que ce n'est pas évident d'automatiser la création de partitions, ou je m'y prends très mal ce qui est tout à fait possible. :)


Message édité par Whaouu le 20-10-2004 à 17:37:43
Reply

Marsh Posté le 20-10-2004 à 23:56:19    

Bon, j'ai une réponse partielle à mon problème après avoir fait des recherches sur le net.
 
La taille d'un disque ce calcule avec la formule suivante :
 
Cyl*Head*Sec*512
 
Sur mon disque de teste ça donne :
 
2480*255*63*512=20398694400
 
Partant du principe que la taille minimum d'une partition, c'est 1 cylindre.
 
1*255*63*512=8225280
 
J'arrive effectivement environ à la taille minimale de 8 MO pour une partition sur mon disque de test, ce qui correspond à mes observations au moment de mes tentatives de partionnement.
 
Donc, par extension, j'en déduis que le reste de mes partitions doivent êtres calculés comme étant un multiple d'un cylindre.
 
Voilà pour le moment à 23h56 le fruit de mes réflexions.  :)  :sleep:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed