Как изменить IP в файле hosts - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь изменить IP-адрес, установленный для определенного сайта в файле хоста. Например:

# 123.123.123   www.google.com
# 456.456.456   www.google.com

Я хочу сделать тест, который я ввожу в Google через 123.123.123 и, как программа меняется, и открываю Google через 456.456.456.

При смене серверов вручную удаляется # в начале строки. Я не хочу использовать селеновую сетку на некоторых машинах, поскольку ни у одной машины на другом сервере нет ресурсов для этого.

Я хочу изменить это на той же машине во время работы с кодом.

1 Ответ

0 голосов
/ 11 ноября 2018

Поскольку файл etc/hosts сразу же выбирается системой без перезапуска, вы можете манипулировать этим файлом или даже полностью перезаписать его во время выполнения.

Проблема в том, что для редактирования файла hosts вам нужны права root, и вы фактически меняете поведение вашей хост-системы. Чтобы предотвратить это, вы можете подумать о запуске в среде докера, но если это невозможно, вы можете сделать что-то подобное с доступом root:

/etc/hosts файл

# 123.123.123   www.google.com
# 456.456.456   www.google.com

как часть вашего теста:

# at start of run
sed -i .bak 's/# 123.123.123/123.123.123/g' /etc/hosts

# do other tests now

# later when stuff has changed
sed -i .bak 's/123.123.123/456.456.456/g' /etc/hosts

Как то так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...