help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: networkmanager hostname woes


From: Ludovic Courtès
Subject: Re: networkmanager hostname woes
Date: Thu, 14 Sep 2017 10:17:08 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hi Thomas,

Thomas Danckaert <address@hidden> skribis:

> AFAIU, the cause is that networkmanager changes my hostname

I’ve never experienced this (even though I don’t have /etc/hostname),
but that looks like a serious bug we should fix.  Why would NM fiddle
with the host name?

I see that NM implements a “SetHostname” D-Bus RPC, and ‘nmtui’ has a
menu item to change the host name.

In NM, the ‘update_system_hostname’ function has this comment:

        /* Hostname precedence order:
         *
         * 1) a configured hostname (from settings)
         * 2) automatic hostname from the default device's config (DHCP, VPN, 
etc)
         * 3) the last hostname set outside NM
         * 4) reverse-DNS of the best device's IPv4 address
         *
         */

Then nm-settings.c has code to deal with host names in all sort of
unpredictable ways.  To give you an idea:

--8<---------------cut here---------------start------------->8---
#define HOSTNAME_FILE_DEFAULT        "/etc/hostname"
#define HOSTNAME_FILE_UCASE_HOSTNAME "/etc/HOSTNAME"
#define HOSTNAME_FILE_GENTOO         "/etc/conf.d/hostname"

[...]

#if defined(HOSTNAME_PERSIST_SUSE)
#define HOSTNAME_FILE           HOSTNAME_FILE_UCASE_HOSTNAME
#elif defined(HOSTNAME_PERSIST_SLACKWARE)
#define HOSTNAME_FILE           HOSTNAME_FILE_UCASE_HOSTNAME
#elif defined(HOSTNAME_PERSIST_GENTOO)
#define HOSTNAME_FILE           HOSTNAME_FILE_GENTOO
#else
#define HOSTNAME_FILE           HOSTNAME_FILE_DEFAULT
#endif

[...]

static gchar *
read_hostname_gentoo (const char *path)
--8<---------------cut here---------------end--------------->8---

So, like Chris wrote, it honors /etc/hostname or /etc/HoSTNaM3 depending
on the phase of the moon.

I don’t understand the logic in there, but a quick fix would be to have
‘network-manager-service-type’ create /etc/hostname.

What do people think?

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]