Partition

在腳本中,partx 是否比 fdisk 更好地讀取分區表?

  • April 30, 2021

我有一些使用“fdisk -l”輸出的腳本在不同版本的 Linux 上失敗,因為 fdisk 的輸出略有不同。

“partx –show”命令在大多數係統上似乎是標準的(與 fdisk 一起打包)。

如果我轉換腳本來解析“partx –show”的輸出,這些腳本會隨著時間的推移表現更好嗎?您使用 partx 的腳本是否穩定或跨版本可移植?

我建議使用sfdiskutil-linux 的另一部分而不是其中任何一個。為什麼?sfdisk 的手冊頁明確表示它是“用於分區任何塊設備的面向腳本的工具”,所以我希望它的輸出是穩定的。(和AFAIK,-d輸出已經穩定了很長時間)。

如果您正在編寫 shell 腳本,那麼-d輸出可能最容易解析。您還可以使用-l-o來選擇特定的列。如果您正在編寫一些其他腳本(Perl、Python 等)並且有足夠新的 util-linux(大約在 2015 年中期),那麼-J將為您提供 JSON。

以下是如何使用-J參數的範例:sudo sfdisk -J /dev/sda. 它的輸出如下所示:

{
   "partitiontable": {
       "label":"gpt",
       "id":"CA88994A-D99F-4347-89C2-6CCBC1B0765D",
       "device":"/dev/sda",
       "unit":"sectors",
       "firstlba":34,
       "lastlba":3907029134,
       "sectorsize":512,
       "partitions": [
           {"node":"/dev/sda1", "start":2048, "size":7811072, "type":"0657FD6D-A4AB-43C4-84E5-0933C84B4F4F", "uuid":"EABE31D7-1E43-4385-97E1-A8C9C4549C72"},
           {"node":"/dev/sda2", "start":7813120, "size":3899215872, "type":"0FC63DAF-8483-4772-8E79-3D69D8477DE4", "uuid":"EEBBAB54-0A5A-4B3F-9BEB-4FE10350EE2F"}
       ]
   }
}

引用自:https://unix.stackexchange.com/questions/344069