Имя хоста не меняется (Ubuntu 14.04)

Имя хоста не меняется (Ubuntu 14.04)

Когда я настраивал VPS, я установил имя "main", поэтому в обоих файлах /etc/hosts и /etc/hostnames была одна запись (которая была "main"). Поэтому я настроил доступ root ssh и ввел "hostname", и он выдал мне "main". То же самое, когда я ввел "hostname -f".

Ну, я пытаюсь настроить Exim4 для отправки почты из моего приложения Django (мне нужно только отправлять, а не получать) и я добавил следующее в /etc/hosts.

127.0.1.1 main.mydomain.com main
<myip> main.mydomain.com main

Затем я выполнил service hostname restartи hostname -fтолько вернулся main. Я даже перезагрузился (чего я стараюсь избегать), и он все равно возвращается main. Не уверен, почему это так... Сами файлы показывают мои новые записи, но я не могу заставить их измениться, хоть убей hostname.hostname -f

Я предполагаю, но не уверен на 100%, поэтому, когда я использую команду, я не получаю письмо на (слишком много писем?). Если нет абсолютной необходимости настраивать имена хостов для использования exim, я бы хотел этого избежать, потому что это вызвало у меня такую ​​головную боль.echo test message | mail -s test [email protected][email protected]

Любая помощь сделает меня вечно благодарным за вашу выдающуюся работу.

решение1

Чтобы задать доменное имя, можно воспользоваться одноименной программой domainname:

sudo domainname example.com

Чтобы запросить фактически установленное значение, вызовите его без параметров.

Также добавьте необходимость запуска hostname.shскрипта (зависит от ОС), чтобы изменения вступили в силу:

/etc/init.d/hostname.sh

В Debian и производных также есть , /etc/mailnameкоторый должен содержать домен отправителя по умолчанию для исходящих писем.

Я не могу сделать заявление по поводу Exim, но думаю, что значения по умолчанию в exim для host- и domainname должны указывать на настройки ОС.

Ссылка на страницу руководства hostname:

Полное доменное имя

С помощью этой команды вы не можете изменить FQDN (возвращаемое hostname --fqdn) или доменное имя DNS (возвращаемое dnsdomainname). FQDN системы — это имя, которое resolver(3) возвращает для имени хоста.

Технически: FQDN — это имя, которое getaddrinfo(3) возвращает для имени хоста, возвращенного gethostname(2). Имя домена DNS — это часть после первой точки.

Поэтому это зависит от конфигурации (обычно в /etc/host.conf), как вы можете это изменить. Обычно (если файл hosts анализируется до DNS или NIS) вы можете изменить это в /etc/hosts.

решение2

Если почта отправляется через postfix, то вам также следует отредактировать, /etc/postfix/main.cfчтобы указать правильное значение дляmyhostname = xyz

Связанный контент