sfdisk — это командная утилита для создания, изменения и управления таблицами разделов дисков в Unix-подобных операционных системах, входящая в состав пакета util-linux. Она ориентирована прежде всего на использование в скриптах и автоматизированных сценариях, предоставляя неблокирующий, неинтерактивный интерфейс для работы с разделами и таблицами разделов различных типов, включая MBR и GPT. Утилита исторически развивалась как инструмент для администраторов и установочных сценариев, где требуется точный и повторяемый контроль над разметкой дисков.
В отличие от интерактивных программ для работы с разделами, sfdisk поддерживает ввод и вывод в текстовом формате, что позволяет экспортировать текущую разметку, модифицировать её программно и затем снова применить к устройству. sfdisk обычно используется совместно с другими утилитами низкого уровня для подготовки носителей, автоматизированной установки операционных систем и массового развертывания конфигураций. Утилита предоставляет возможности для пакетной обработки нескольких устройств и интеграции в скрипты управления инфраструктурой.
- Неблокирующий интерфейс: предназначена для неинтерактивной работы в скриптах и автоматизации, поддерживает чтение конфигураций из файлов и стандартного ввода.
- Поддержка типов таблиц разделов: работа с традиционной таблицей MBR и современной GPT, возможность создания и удаления разделов.
- Экспорт/импорт разметки: позволяет выгружать текущую таблицу разделов в текстовый формат и восстанавливать её из такого файла.
- Управление параметрами разделов: настройка начала, конца, размера, типа раздела и флагов в пакетном режиме.
- Скриптуемость: вывод пригоден для парсинга другими утилитами; поддерживает операции apply/print/dry-run для безопасной отладки сценариев.
- Совместимость и интеграция: используется вместе с mkfs, partprobe и другими системными утилитами для полноценной подготовки и применения файловых систем и таблиц разделов.
- Валидация и преобразование: проверяет корректность предлагаемой разметки и может преобразовывать представления разделов между человеческим и машинным форматами.
- Управление порядком и номерами: обеспечивает точный контроль над номерами разделов и их расположением на устройстве для сценариев, где важна совместимость с загрузчиками и системой.