Je cherchais un moyen de rafraîchir le bus scsi (ou tout autre bus, d'ailleurs) qui permettrait à mon noyau (2.6.18-194-el5 sur CentOS 5.5) de connaître les partitions sur un lecteur, et je ne pouvais pas 'trouver un moyen. partprobe l'a fait instantanément. Comment?
Comme c'est important, voici ce que je faisais:
Je voulais me familiariser avec des choses spécifiques à la partition comme le redimensionnement, la sauvegarde du MBR et sa restauration, etc. J'avais créé une partition de 20 Go sur / dev / sdb, sauvegardé le MBR:
dd if = / dev / sdb of = sdb.mbr bs = 512 count = 1
puis je suis allé dans fdisk, j'ai supprimé la partition, je l'ai écrite et j'ai quitté.
ls / dev / sdb *
a montré qu'il n'y avait pas de partition, et
fdisk -l / dev / sdb '
assorti, donc je pensais que j'étais bon.
J'ai ensuite inversé le dd:
dd if = sdb.mbr of = / dev / sdb bs = 512 count = 1
Bien sûr, je n'ai rien fait à ce moment-là, donc
ls / dev / sdb *
n'a pas répertorié de partitions, mais
fdisk -l
a montré la partition, probablement parce qu'elle lit les 512 premiers octets du disque et ne dépend pas du noyau. Je savais que je devrais rafraîchir le bus, alors je suis allé dans / sys / class / scsi_host / host1, et je l'ai fait
echo "- - -"> scan
et faire
ls / dev / sdb
n'a rien montré de nouveau, alors je suis allé dans / sys / bus / scsi / devices et pour chacun des périphériques listés, j'ai fait
écho 1> réanalyser
et cela n'a pas fonctionné.
J'ai ensuite fait plus de recherches sur le problème et suis tombé sur «partprobe», qui vient avec parted. Je l'ai couru et cela a fonctionné instantanément.
Si je n'obtiens pas de réponse probable ici, je vais probablement aller chercher la source et la rechercher, mais je pense qu'il y a des sorciers ici au-delà de moi, alors j'ai pensé que je ferais appel à vous tous.