Мелкая, но раздражающая история после переименования виртуальной машины: sudo работает, но перед каждой командой пишет sudo: unable to resolve host новое-имя: Name or service not known. Иногда добавляется пауза в несколько секунд.
Почему. sudo при запуске пытается сопоставить имя машины с адресом: правила в sudoers могут зависеть от хоста. Имя берётся из /etc/hostname (или команды hostnamectl), а разрешается через /etc/hosts. Если имя поменяли одним способом, а вторым забыли, получаем расхождение: в /etc/hostname уже web-01, а в /etc/hosts по-прежнему строка 127.0.1.1 old-name.
Лечение. Добавить или поправить строку в /etc/hosts:
127.0.1.1 web-01
Точное имя должно совпадать с выводом hostname. Если у машины есть доменное имя, укажите оба варианта: 127.0.1.1 web-01.example.com web-01. Перезагрузка не нужна, следующая команда sudo уже не ругается.
Как менять имя правильно, чтобы этого не случалось. sudo hostnamectl set-hostname web-01 меняет имя, но не трогает /etc/hosts, поэтому вторая правка остаётся за вами. В облачных образах с cloud-init имя может вернуться после перезагрузки: там его задают через настройки инстанса или отключают управление именем (preserve_hostname: true).
Когда это не про hosts. Если та же ошибка появилась без переименования и вместе с ней перестали открываться сайты по имени, проблема в DNS-резолвере машины: resolvectl status, содержимое /etc/resolv.conf. Тогда правка /etc/hosts лишь спрячет симптом у sudo.
Статус. Причина и лечение общеизвестны и подтверждаются документацией; тема собрана как справка по частому вопросу.
Разрешение имён описано в справочнике hosts.