Erzwungenes erneutes Lesen der Partitionstabelle: Unterschied zwischen BLKRRPART und BLKPG ioctl? (Linux)

8

Wenn Linux neu erstellte Partitionen ohne Neustart berücksichtigen soll, stehen verschiedene Tools zur Verfügung, um eine Aktualisierung des Kernel- "Partitionscaches" zu erzwingen:

  • partx -va /dev/sdX
  • kpartx -va /dev/sdX
  • hdparm -z /dev/sdX
  • sfdisk -R /dev/sdX
  • ...

Ich bin mir nicht sicher über den Unterschied zwischen diesen Techniken, aber ich denke, sie verwenden nicht die gleichen ioctl, wie BLKRRPARToder BLKPG. Also, was ist der Unterschied zwischen denen ioctl?

Totor
quelle
Wahrscheinlich gar keine. kpartxabgeleitet von partx, sfdiskist ein anderes Partitionsbearbeitungswerkzeug. hdparmist für andere Zwecke, hat aber auch eine Möglichkeit, Partitionstabelle in den Kernel zu lesen. Wenn Sie es wirklich wissen müssen, schauen Sie sich den Quellcode an.
Strg-Alt-Delor

Antworten:

5

BLKRRPART Weist den Kernel an, die Partitionstabelle erneut zu lesen. man 4 sd

Mit können BLKPGSie Partitionen nach Belieben erstellen, hinzufügen und löschen (vom Kernel, natürlich nicht auf der Festplatte). Sie müssen dem Kernel den Offset und die Größe der einzelnen Partitionen mitteilen, was bedeutet, dass Sie die Partitionstabelle zuvor selbst analysiert haben müssen. Siehe Linux-Kernel:/include/uapi/linux/blkpg.h

Ich persönlich verwende partprobe(Teil von parted) , das den letzteren Ansatz verwendet, wahrscheinlich um Partitionstabellen zu unterstützen, die vom Kernel nicht unterstützt werden.

Rondom
quelle