Cfdisk

24.11.2021

cfdisk - Утилита использующаяся для работы с дисковым пространством в операционных системах семейства Linux. Схожа с утилитой - fdisk, но имеет другой пользовательский интерфейс на основе curses. Является частью пакета служебных программ Linux - util-linux.

Текущая реализация cfdisk использует библиотеку libfdisk и поддерживает разбиение дисков, использующих главную загрузочную запись, таблицу разделов GUID, метку диска BSD, метки дисков SGI или SUN. Она также предоставляет информацию о точках монтирования и общую информацию о разделах: имена разделов, типы/флаги, размеры и UUID.

При вызове без аргументов cfdisk читает текущую таблицу разделов с диска и выдаёт результаты пользователю.

Интерфейс

Главное окно состоит из четырёх секций, расположенных горизонтально во всю ширину терминала (сверху вниз):

  • заголовок;
  • дисковые разделы;
  • командная строка;
  • строка вывода предупреждений.

Заголовок содержит имя программы и номер версии, за которым следует информация о диске. Секция разделов всегда отображает текущую таблицу разделов. Командная строка — это место ввода команд и текстовых данных. Доступные для ввода команды обычно отображаются в скобках. Строка вывода предупреждения обычно пустая, за исключением случаев, когда необходимо отобразить важную информацию. Текущий раздел подсвечивается инвертированием цветов (или стрелкой, если при запуске был указан параметр «-a»). Все команды, относящиеся к разделам, применяются к текущему (выделенному) дисковому разделу.

Работа

Запустить cfdisk можно одноименной командой, с указанием имени дискового устройства в качестве аргумента:

# cfdisk /dev/sdb

Если аргумент в командной строке опущен — по умолчанию команда будет исполнена для первого физического диска машины.

Некоторое неудобство возникает при работе с cfdisk при использовании русской юникодовской системной локали (ru_RU.UTF-8). Во-первых, в некоторых дистрибутивах эта утилита по сей день собрана без поддержки таковой, а так как локаль предписывает вывод системных сообщений кириллицей, меню становится абсолютно не читаемым. Во-вторых, даже при сборке с поддержкой UTF-8 буквенные сокращения команд меню иногда отказываются работать. И в-третьих, если при англоязычном интерфейсе очевидно, что таким сокращением является первый символ соответствующего пункта меню, в интерфейсе русскоязычном эта мнемоника теряется.

Так что cfdisk целесообразно использовать в англоязычном варианте. Что достигается просто — принудительным определением локали администратора как C или POSIX (что эквивалентно). Это можно сделать или в командной строке, или в профильном файле командной оболочки root’а, строкой вида (для bash):