Начало работы
К концу страницы у тебя будет конфиг, одна запись в нём и эта запись в /etc/hosts —
причём всё, что уже было в файле, останется на месте.
Что нужно
Заголовок раздела «Что нужно»- Linux или macOS. hostsctl построен вокруг
/etc/hosts,libcи системного сброса DNS-кеша, поэтому сборки под Windows нет. sudoдля команд, которые пишут в/etc/hosts. Всё остальное работает от обычного пользователя.
1. Установка
Заголовок раздела «1. Установка»brew install jtprogru/tap/hostsctlОстальные способы — crates.io, скрипт установки, архив релиза — на странице Установка.
2. Создать конфиг
Заголовок раздела «2. Создать конфиг»hostsctl initСоздаётся ~/.config/hostsctl/config.yaml. Больше пока ничего не происходит: init не
трогает /etc/hosts.
hostsctl config-path # где конфиг лежит на самом деле3. Добавить запись
Заголовок раздела «3. Добавить запись»hostsctl add 127.0.0.1 k8s.orb.local --comment orbstackЗапись попадает в группу local, которая создаётся при первом использовании. Сейчас она в
конфиге, но ещё не в /etc/hosts.
hostsctl list4. Посмотреть до записи
Заголовок раздела «4. Посмотреть до записи»hostsctl diffdiff собирает то, что дал бы apply, и показывает unified diff относительно текущего
файла. Он ничего не пишет и не требует root — поэтому это первая команда, когда неясно,
что изменение сделает.
hostsctl checkcheck — линтер: показывает то, что /etc/hosts молча проигнорирует. Wildcard, порт в
имени хоста, адрес, который не адрес. Ошибки дают код выхода 3 и блокируют apply,
предупреждения — нет. Все правила перечислены в
правилах проверки.
5. Применить
Заголовок раздела «5. Применить»sudo hostsctl applyhostsctl показывает diff, спрашивает подтверждение (-y пропускает вопрос), снимает
бэкап текущего файла, пишет атомарно и сбрасывает DNS-кеш.
hostsctl statusstatus показывает конфиг, состояние управляемого блока, все группы и бэкапы. Если файл
разъехался с конфигом — скажет об этом и на сколько строк.
Как откатить
Заголовок раздела «Как откатить»Три уровня, от мягкого к жёсткому:
hostsctl disable k8s.orb.local && sudo hostsctl apply # оставить, но не использоватьsudo hostsctl off # убрать весь блокsudo hostsctl backup restore # откатить файлoff не трогает конфиг — он только убирает управляемый блок из /etc/hosts, поэтому
следующий apply вернёт всё обратно.
Руководства, по одной задаче на страницу:
- Конфигурация — что лежит в YAML.
- Группы — как включать и выключать наборы записей.
- Файлы-зоны — как разложить конфиг по файлам.
- Блоклисты — как подключить удалённый список.
- Права и sudo — каким командам нужен root.
Справочник, когда нужен точный ответ:
- Справочник CLI — все команды и флаги.
- Справочник конфига — все ключи и значения по умолчанию.
- Коды выхода — чтобы обвязать скриптом.