Re: systemd-hostnamed/hostnamectl and transient hostname change

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

 



On 4/27/20 11:51 AM, Mantas Mikulėnas wrote:

Hello, thanks for your answer.

On Mon, Apr 20, 2020 at 6:17 PM Thomas HUMMEL <thomas.hummel@xxxxxxxxxx <mailto:thomas.hummel@xxxxxxxxxx>> wrote:

    1. why does the transient hostname change while I stated --static only
    while running hostnamectl ?

    2. why does the change take some time to appear on dbus ?



Hostnamed does not implement receiving hostname change notifications from the kernel, so it always reports you the same hostname that it has seen on startup.

That was my understanding as well.

You're only seeing changes because hostnamed /exits when idle/ -- the next time you're actually talking to a brand new instance of hostnamed, which has seen the new hostname.

But this does not explain why the transient hostname is changed as I only changed the static one, does it ? Unless this new instance sets it from the static one when it starts ? I mean something has to call sethostname(2) to set the transient to the new static one, right ?



    3. what is supposed to happen the other way around ? i.e. if I change
    the transient hostname (hostname(1) command or writing to
    /proc/sys/kernel/hostname) : is dbus/hostnamectl supposed to see the
    change ? When and how ?


In theory, hostnamed should be waiting for poll() <https://git.kernel.org/linus/f1ecf06854a66ee663f4d4cf029c78cd62a15e04> on /proc/sys/kernel/hostname. If hostnamed is running when the change happens, it should receive an event through epoll and re-read the hostname. (If hostnamed is *not* running, it will simply re-read the hostname on startup and no special events are needed.)

Ok. I read about this poll() mechanism to catch a transient hostname change indeed.

In practice, hostnamed does not do that (although several other systemd daemons do). It was probably forgotten to implement.

Ok.


D-Bus doesn't care about hostnames; it's just a message bus.

Yes I didn't mean that, sorry.

Thanks for your help

--
ThomaS HUMMEL


_______________________________________________
systemd-devel mailing list
systemd-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/systemd-devel




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux