rfkill — это системная утилита командной строки для взаимодействия с подсистемой rfkill ядра Linux, предназначенная для перечисления, блокировки и разблокировки радиоинтерфейсов, таких как Wi‑Fi, Bluetooth и иные беспроводные устройства. Утилита предоставляет простой интерфейс для получения состояния аппаратных и программных блокировок (hard/soft block) и управления ими, позволяя временно отключать радиомодули по соображениям безопасности, экономии энергии или соблюдения правил эксплуатации на авиарейсе и в других ситуациях.
Проект появился как часть экосистемы инструментов для управления оборудованием в Linux и тесно связан с одноимённой подсистемой ядра, которая хранит состояние блокировок и предоставляет виртуальные устройства в /dev и файловую систему sysfs. rfkill обычно используется администраторами и сценариями автозапуска для автоматического управления радиоинтерфейсами при изменении условий, а также пользователями для отладки и ручного переключения режимов работы беспроводных адаптеров.
- Перечисление устройств: показывает список обнаруженных радиоустройств с их идентификаторами, типами и текущими статусами аппаратной (hard) и программной (soft) блокировок.
- Программная блокировка (soft block): позволяет включать и выключать радиоинтерфейс на уровне программного состояния, не влияя на аппаратный тумблер или BIOS.
- Аппаратная блокировка (hard block): отражает физическое состояние аппаратного переключателя или сигналов от контроллера, и утилита информирует об этом, но не может обойти физическую блокировку без вмешательства в аппаратную часть.
- Управление по идентификатору или типу: команды позволяют адресовать конкретное устройство по его номеру, имени или типу (например, wlan, bluetooth) для выборочной операции.
- Интеграция с системными скриптами: простая командная строка и возвращаемые коды позволяют использовать rfkill в скриптах и службах для автоматического управления радиомодулями.
- Диагностика и отладка: предоставление детальной информации о состоянии блокировок помогает при поиске причин недоступности беспроводных интерфейсов и конфликтов между драйверами и политиками энергосбережения.
- Кроссдистрибутивная доступность: утилита присутствует в репозиториях большинства дистрибутивов Linux и работает с единой подсистемой ядра, обеспечивая однообразное поведение на разных системах.