Как заставить изменения в файле hosts Mac OS вступить в силу?

Вопрос или проблема

Я часто редактирую свой файл /etc/hosts, чтобы заблокировать доступ к отвлекающим сайтам, когда пытаюсь работать (например, добавлю строку 127.0.0.1 www.nytimes.com).

До недавнего времени изменения в файле hosts, казалось, вступали в силу немедленно (моя следующая попытка посетить www.nytimes.com перенаправлялась на localhost); однако, вдруг эти изменения, похоже, перестали действовать. Я не уверен, что изменилось в моей системе, кроме, возможно, небольшого обновления ОС.

Существует ли способ активировать изменения в файле hosts, не перезагружая машину? Этот сайт предлагает выполнить команду sudo killall -HUP mDNSResponder, но это не сработало.

Я на Mac OS 10.15.3.

В зависимости от того, насколько большим стал ваш файл hosts, может потребоваться время для mDNSResponder, чтобы просмотреть его и заблокировать сайты или домены, которые вы не хотите видеть.

Вы также можете установить расширение для браузера, которое сделает это за вас внутри браузера, а не по всей системе, с меньшими затратами ресурсов.

У вас, наверное, есть серьезная причина не перезагружать ваш Mac, но иногда это единственный способ, кроме как очищения RAM и VM с помощью команды “sudo purge” в терминале, и вам нужно установить osax, который требует наличия XCode, чтобы эта команда могла быть распознана bash.

“purge” немного устарел в недавних версиях macOS, но все еще выполняет свою задачу, если вам удастся заставить его работать.

Или… Вы можете время от времени перезагружать свою машину…

Я подозреваю, что альтернативная форма команды может сработать; возможно:

$ sudo killall -HUP -m 'mDNSResponder*'

Запуск оригинальной команды не сработал для меня, но то, что сработало, – это завершение двух процессов с помощью Activity Monitor: mDNSResponder и mDNSResponderHelper.

Ответ или решение

Изменения в файле hosts на macOS могут иногда не проявляться немедленно, что может быть расстраивающим для пользователей, которые пытаются блокировать отвлекающие веб-сайты. Давайте подробно рассмотрим шаги, которые помогут вам убедиться, что изменения в файле hosts вступили в силу, а также предоставим альтернативные варианты, если стандартные методы не помогают.

Основные шаги для применения изменений в файле hosts

  1. Редактирование файла /etc/hosts:
    Чтобы внести изменения в файл hosts, вы можете использовать текстовый редактор через командную строку. Вот пример команды:

    sudo nano /etc/hosts

    После внесения изменений не забудьте сохранить файл, нажав CTRL + O, затем нажмите Enter, и для выхода используйте CTRL + X.

  2. Перезапуск службы mDNSResponder:
    После изменения файла hosts, необходимо перезапустить службу, отвечающую за кеширование DNS. Выполните следующую команду в терминале:

    sudo killall -HUP mDNSResponder

    Это приведет к принудительному обновлению кеша DNS.

  3. Проверка других процессов:
    Если команда не сработала, попробуйте дополнительно перезапустить и другие связанные процессы. Вы можете открыть «Мониторинг системы» и завершить процессы mDNSResponder и mDNSResponderHelper, после чего система автоматически перезапустит их.

  4. Очистка кеша браузера:
    Иногда браузер может кэшировать старые DNS записи. Для решения этой проблемы попробуйте очистить кеш вашего браузера или запустить его в режиме инкогнито.

  5. Использование альтернативных команд:
    Некоторые пользователи сообщают, что команду можно немного модифицировать:

    sudo killall -HUP -m 'mDNSResponder*'

    Это может помочь в случае, если предыдущая команда не дала желаемого результата.

Дополнительные рекомендации

  • Установка расширений для браузера: Если указанная выше процедура не решает проблему, вы можете рассмотреть использование расширений для браузера, которые позволяют блокировать доступ к определенным сайтам. Это будет работать на уровне браузера, что может быть эффективнее и быстрее, чем изменения на уровне системы.

  • Перезагрузка компьютера: Если ни один из вышеперечисленных методов не работает, возможно, вам все же придется перезагрузить компьютер. Иногда это единственный способ сбросить все кешированные данные и убедиться, что изменения были применены.

Заключение

Изменения в файле hosts на macOS обычно применяются сразу, но могут возникать проблемы, связанные с кешированием или фоновыми процессами. Следуя приведенным выше советам, вы сможете убедиться, что ваши изменения принимаются корректно. Если проблема остается, рассмотрите возможность использования дополнительных инструментов или расширений для удобства управления доступом к сайтам.

Оцените материал
Добавить комментарий

Капча загружается...