How do I rename a Linux host without needing to reboot for the rename to take effect?Redhat doesn't set my desired hostname on reboothostname -f says “hostname: the specified hostname is invalid”. Guess why?Trouble changing hostname on a Rightscale provisioned CentOS instanceHow do I change HOSTNAME on an Ubuntu server?Setting the hostname: FQDN or short name?EC2 hostname ubuntu and ejabberdOk to rename live windows 2008 server without rebooting?changing the hostname doesn't map the local ip to hostnamehostname doesn't persist after reboot in CentOS 7 instanceChanging hostname on ubuntu-server (VPS) - recommended or not?

Professor falsely accusing me of cheating in a class he does not teach, two months after end of the class. What precautions should I take?

Can I intentionally omit previous work experience or pretend it doesn't exist when applying for jobs?

Should you avoid redundant information after dialogue?

I quit, and boss offered me 3 month "grace period" where I could still come back

Why do they not say "The Baby"

Is `curl something | sudo bash -` a reasonably safe installation method?

How do I write a romance that doesn't look obvious

Does Google Maps take into account hills/inclines for route times?

Ways to express "The reader may wish to..." / "The reader may want to..."

Modeling, view and projection transformation using vector and point in homogenous form

Are there any double stars that I can actually see orbit each other?

What is temperature on a quantum level?

Why is the total number of hard disk sectors shown in fdisk not the same as theoretical calculation?

What is the German equivalent of 干物女 (dried fish woman)?

Is killing off one of my queer characters homophobic?

Mistakenly modified `/bin/sh'

What does "Fotze" really mean?

How does one stock fund's charge of 1% more in operating expenses than another fund lower expected returns by 10%?

Missing Contours in ContourPlot

What are some symbols representing peasants/oppressed persons fighting back?

Can a continent naturally split into two distant parts within a week?

How can an advanced civilization forget how to manufacture its technology?

What is this welding tool I found in my attic?

Why does the autopilot disengage even when it does not receive pilot input?



How do I rename a Linux host without needing to reboot for the rename to take effect?


Redhat doesn't set my desired hostname on reboothostname -f says “hostname: the specified hostname is invalid”. Guess why?Trouble changing hostname on a Rightscale provisioned CentOS instanceHow do I change HOSTNAME on an Ubuntu server?Setting the hostname: FQDN or short name?EC2 hostname ubuntu and ejabberdOk to rename live windows 2008 server without rebooting?changing the hostname doesn't map the local ip to hostnamehostname doesn't persist after reboot in CentOS 7 instanceChanging hostname on ubuntu-server (VPS) - recommended or not?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








26















I searched for an answer to this question on serverfault and could not find it. I know it is possible, but I can't remember how to do it. How do I change a Linux host's hostname and get that change to take effect without a reboot?



I am using Ubuntu 16 and Ubuntu 18.



A big feature of Ubuntu is the graphical desktop and graphical system utilities. However, we are running Ubuntu in our production environment so we chose not to use the graphical desktop or utilities in order not to have those features consume resources we need in our production environment.



I know that to rename the host, I edit the files:



  • /etc/hostname

  • /etc/hosts

In the /etc/hostname one just replaces the current hostname (soon to be former hostname) with the new hostname.



Ubuntu in the /etc/hosts file has the line:



127.0.1.1 your-hostname your-hostname


It acts as bootstrapping while your host is booting up and establishing itself within your network. Prior to changing the hostname, your-hostname is the current (soon to be former hostname) and as a part of changing your host's hostname, one replaces that name with the new name.



What I am familiar with is executing the above two steps and then rebooting your host. But plenty of times, like with a production server, one would like to execute that rename, but not reboot one's host.



How can I change hostname on a host and get that change to take effect without rebooting the host?










share|improve this question



















  • 1





    There's no such thing as "Ubuntu 16" and "Ubuntu 18", there can be as big differences between 16.04 and 16.10 as there are between 16.10 and 17.04.

    – pipe
    Mar 27 at 8:35

















26















I searched for an answer to this question on serverfault and could not find it. I know it is possible, but I can't remember how to do it. How do I change a Linux host's hostname and get that change to take effect without a reboot?



I am using Ubuntu 16 and Ubuntu 18.



A big feature of Ubuntu is the graphical desktop and graphical system utilities. However, we are running Ubuntu in our production environment so we chose not to use the graphical desktop or utilities in order not to have those features consume resources we need in our production environment.



I know that to rename the host, I edit the files:



  • /etc/hostname

  • /etc/hosts

In the /etc/hostname one just replaces the current hostname (soon to be former hostname) with the new hostname.



Ubuntu in the /etc/hosts file has the line:



127.0.1.1 your-hostname your-hostname


It acts as bootstrapping while your host is booting up and establishing itself within your network. Prior to changing the hostname, your-hostname is the current (soon to be former hostname) and as a part of changing your host's hostname, one replaces that name with the new name.



What I am familiar with is executing the above two steps and then rebooting your host. But plenty of times, like with a production server, one would like to execute that rename, but not reboot one's host.



How can I change hostname on a host and get that change to take effect without rebooting the host?










share|improve this question



















  • 1





    There's no such thing as "Ubuntu 16" and "Ubuntu 18", there can be as big differences between 16.04 and 16.10 as there are between 16.10 and 17.04.

    – pipe
    Mar 27 at 8:35













26












26








26


7






I searched for an answer to this question on serverfault and could not find it. I know it is possible, but I can't remember how to do it. How do I change a Linux host's hostname and get that change to take effect without a reboot?



I am using Ubuntu 16 and Ubuntu 18.



A big feature of Ubuntu is the graphical desktop and graphical system utilities. However, we are running Ubuntu in our production environment so we chose not to use the graphical desktop or utilities in order not to have those features consume resources we need in our production environment.



I know that to rename the host, I edit the files:



  • /etc/hostname

  • /etc/hosts

In the /etc/hostname one just replaces the current hostname (soon to be former hostname) with the new hostname.



Ubuntu in the /etc/hosts file has the line:



127.0.1.1 your-hostname your-hostname


It acts as bootstrapping while your host is booting up and establishing itself within your network. Prior to changing the hostname, your-hostname is the current (soon to be former hostname) and as a part of changing your host's hostname, one replaces that name with the new name.



What I am familiar with is executing the above two steps and then rebooting your host. But plenty of times, like with a production server, one would like to execute that rename, but not reboot one's host.



How can I change hostname on a host and get that change to take effect without rebooting the host?










share|improve this question
















I searched for an answer to this question on serverfault and could not find it. I know it is possible, but I can't remember how to do it. How do I change a Linux host's hostname and get that change to take effect without a reboot?



I am using Ubuntu 16 and Ubuntu 18.



A big feature of Ubuntu is the graphical desktop and graphical system utilities. However, we are running Ubuntu in our production environment so we chose not to use the graphical desktop or utilities in order not to have those features consume resources we need in our production environment.



I know that to rename the host, I edit the files:



  • /etc/hostname

  • /etc/hosts

In the /etc/hostname one just replaces the current hostname (soon to be former hostname) with the new hostname.



Ubuntu in the /etc/hosts file has the line:



127.0.1.1 your-hostname your-hostname


It acts as bootstrapping while your host is booting up and establishing itself within your network. Prior to changing the hostname, your-hostname is the current (soon to be former hostname) and as a part of changing your host's hostname, one replaces that name with the new name.



What I am familiar with is executing the above two steps and then rebooting your host. But plenty of times, like with a production server, one would like to execute that rename, but not reboot one's host.



How can I change hostname on a host and get that change to take effect without rebooting the host?







linux ubuntu hostname






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 28 at 22:20









Paul Gear

3,12411 silver badges34 bronze badges




3,12411 silver badges34 bronze badges










asked Mar 26 at 1:36









Peter Jirak EldritchPeter Jirak Eldritch

1492 silver badges5 bronze badges




1492 silver badges5 bronze badges







  • 1





    There's no such thing as "Ubuntu 16" and "Ubuntu 18", there can be as big differences between 16.04 and 16.10 as there are between 16.10 and 17.04.

    – pipe
    Mar 27 at 8:35












  • 1





    There's no such thing as "Ubuntu 16" and "Ubuntu 18", there can be as big differences between 16.04 and 16.10 as there are between 16.10 and 17.04.

    – pipe
    Mar 27 at 8:35







1




1





There's no such thing as "Ubuntu 16" and "Ubuntu 18", there can be as big differences between 16.04 and 16.10 as there are between 16.10 and 17.04.

– pipe
Mar 27 at 8:35





There's no such thing as "Ubuntu 16" and "Ubuntu 18", there can be as big differences between 16.04 and 16.10 as there are between 16.10 and 17.04.

– pipe
Mar 27 at 8:35










2 Answers
2






active

oldest

votes


















49














You can change the kernel's idea of the hostname on a systemd-based system using the hostnamectl tool. For example:



hostnamectl set-hostname whatever


You can view the system's current idea of the hostname with:



hostnamectl # equivalent to hostnamectl status


Keep in mind that this does not change a running process's idea of the hostname. Such a process would have to check the hostname again in order to be updated, and almost no process does. Thus such a process would need to be restarted. In order for every process to begin using the new hostname, they must be restarted. It's generally easier to just reboot the system than to restart every service individually.






share|improve this answer




















  • 1





    Do I need to restart networking on my server if I do not wish to reboot it after the rename? I found this: sudo /etc/init.d/network restart Aside from that, restarting networking on my server via that command your point about restarting any running process that needs to know the server's name is valid. Agreed that restarting the host would fix that. That said, there are times that I really want to rename a host, but really do not want to reboot it. Any opinion about sudo /etc/init.d/network restart and its usefulness in getting the new hostname to take effect wout reboot?

    – Peter Jirak Eldritch
    Mar 26 at 8:51







  • 3





    @PeterJirak: Completely useless. If those programs (which need to know the hostname) didn't bother to watch for hostname updates before, then they won't bother now. Telling the system to reconfigure IP addresses on eth0 won't affect that even a little bit.

    – grawity
    Mar 26 at 12:14











  • @PeterJirak What do you mean by "getting the new hostname to take effect"? As previously discussed, it takes effect immediately, and any newly started process will be aware of it. I also don't understand why you're asking about restarting the network? What does that have to do with the hostname?

    – Michael Hampton
    Mar 26 at 17:35







  • 5





    It's a common misconception that the entirety of "networking" is a userspace service that can be restarted, just because there's an /etc/init.d script named like that.

    – grawity
    Mar 26 at 18:37






  • 2





    @PeterJirak As a side note, running services in /etc/init.d is the wrong way on systemd systems. It is just there for backward compatibility to the old System V.

    – rexkogitans
    Mar 27 at 5:45



















22














You can change the in-kernel hostname using:



hostname NEWNAME


On Linux this is practically equal to either of the following:



sysctl kernel.hostname=NEWNAME

echo NEWNAME > /proc/sys/kernel/hostname


This does not depend on systemd (unlike hostnamectl which requires systemd-hostnamed) or any other non-standard tools, and often (especially in shellscript-init systems) is how the initial hostname was set in the first place.



Most programs and services don't actually use the hostname; the few which do (e.g. Postfix or services using Kerberos) can be restarted one-by-one.



(Some programs cache the hostname until restart, others query it every time they need it. Programs also have the ability to poll(2) /proc/sys/kernel/hostname to receive change notifications, but few do.)






share|improve this answer




















  • 2





    Keep in mind that these methods are not persistent and will not survive a reboot.

    – Michael Hampton
    Mar 27 at 14:19






  • 3





    Fortunately, OP has already covered persistence in their question itself.

    – grawity
    Mar 27 at 14:26






  • 1





    postfix may have the host name hard coded in one or two places in /etc/postfix/main.cf and /etc/mailname, so those will need to be edited, too.

    – Mark Plotnick
    Mar 27 at 17:18














Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f959952%2fhow-do-i-rename-a-linux-host-without-needing-to-reboot-for-the-rename-to-take-ef%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









49














You can change the kernel's idea of the hostname on a systemd-based system using the hostnamectl tool. For example:



hostnamectl set-hostname whatever


You can view the system's current idea of the hostname with:



hostnamectl # equivalent to hostnamectl status


Keep in mind that this does not change a running process's idea of the hostname. Such a process would have to check the hostname again in order to be updated, and almost no process does. Thus such a process would need to be restarted. In order for every process to begin using the new hostname, they must be restarted. It's generally easier to just reboot the system than to restart every service individually.






share|improve this answer




















  • 1





    Do I need to restart networking on my server if I do not wish to reboot it after the rename? I found this: sudo /etc/init.d/network restart Aside from that, restarting networking on my server via that command your point about restarting any running process that needs to know the server's name is valid. Agreed that restarting the host would fix that. That said, there are times that I really want to rename a host, but really do not want to reboot it. Any opinion about sudo /etc/init.d/network restart and its usefulness in getting the new hostname to take effect wout reboot?

    – Peter Jirak Eldritch
    Mar 26 at 8:51







  • 3





    @PeterJirak: Completely useless. If those programs (which need to know the hostname) didn't bother to watch for hostname updates before, then they won't bother now. Telling the system to reconfigure IP addresses on eth0 won't affect that even a little bit.

    – grawity
    Mar 26 at 12:14











  • @PeterJirak What do you mean by "getting the new hostname to take effect"? As previously discussed, it takes effect immediately, and any newly started process will be aware of it. I also don't understand why you're asking about restarting the network? What does that have to do with the hostname?

    – Michael Hampton
    Mar 26 at 17:35







  • 5





    It's a common misconception that the entirety of "networking" is a userspace service that can be restarted, just because there's an /etc/init.d script named like that.

    – grawity
    Mar 26 at 18:37






  • 2





    @PeterJirak As a side note, running services in /etc/init.d is the wrong way on systemd systems. It is just there for backward compatibility to the old System V.

    – rexkogitans
    Mar 27 at 5:45
















49














You can change the kernel's idea of the hostname on a systemd-based system using the hostnamectl tool. For example:



hostnamectl set-hostname whatever


You can view the system's current idea of the hostname with:



hostnamectl # equivalent to hostnamectl status


Keep in mind that this does not change a running process's idea of the hostname. Such a process would have to check the hostname again in order to be updated, and almost no process does. Thus such a process would need to be restarted. In order for every process to begin using the new hostname, they must be restarted. It's generally easier to just reboot the system than to restart every service individually.






share|improve this answer




















  • 1





    Do I need to restart networking on my server if I do not wish to reboot it after the rename? I found this: sudo /etc/init.d/network restart Aside from that, restarting networking on my server via that command your point about restarting any running process that needs to know the server's name is valid. Agreed that restarting the host would fix that. That said, there are times that I really want to rename a host, but really do not want to reboot it. Any opinion about sudo /etc/init.d/network restart and its usefulness in getting the new hostname to take effect wout reboot?

    – Peter Jirak Eldritch
    Mar 26 at 8:51







  • 3





    @PeterJirak: Completely useless. If those programs (which need to know the hostname) didn't bother to watch for hostname updates before, then they won't bother now. Telling the system to reconfigure IP addresses on eth0 won't affect that even a little bit.

    – grawity
    Mar 26 at 12:14











  • @PeterJirak What do you mean by "getting the new hostname to take effect"? As previously discussed, it takes effect immediately, and any newly started process will be aware of it. I also don't understand why you're asking about restarting the network? What does that have to do with the hostname?

    – Michael Hampton
    Mar 26 at 17:35







  • 5





    It's a common misconception that the entirety of "networking" is a userspace service that can be restarted, just because there's an /etc/init.d script named like that.

    – grawity
    Mar 26 at 18:37






  • 2





    @PeterJirak As a side note, running services in /etc/init.d is the wrong way on systemd systems. It is just there for backward compatibility to the old System V.

    – rexkogitans
    Mar 27 at 5:45














49












49








49







You can change the kernel's idea of the hostname on a systemd-based system using the hostnamectl tool. For example:



hostnamectl set-hostname whatever


You can view the system's current idea of the hostname with:



hostnamectl # equivalent to hostnamectl status


Keep in mind that this does not change a running process's idea of the hostname. Such a process would have to check the hostname again in order to be updated, and almost no process does. Thus such a process would need to be restarted. In order for every process to begin using the new hostname, they must be restarted. It's generally easier to just reboot the system than to restart every service individually.






share|improve this answer















You can change the kernel's idea of the hostname on a systemd-based system using the hostnamectl tool. For example:



hostnamectl set-hostname whatever


You can view the system's current idea of the hostname with:



hostnamectl # equivalent to hostnamectl status


Keep in mind that this does not change a running process's idea of the hostname. Such a process would have to check the hostname again in order to be updated, and almost no process does. Thus such a process would need to be restarted. In order for every process to begin using the new hostname, they must be restarted. It's generally easier to just reboot the system than to restart every service individually.







share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 26 at 18:43

























answered Mar 26 at 2:54









Michael HamptonMichael Hampton

181k28 gold badges342 silver badges672 bronze badges




181k28 gold badges342 silver badges672 bronze badges







  • 1





    Do I need to restart networking on my server if I do not wish to reboot it after the rename? I found this: sudo /etc/init.d/network restart Aside from that, restarting networking on my server via that command your point about restarting any running process that needs to know the server's name is valid. Agreed that restarting the host would fix that. That said, there are times that I really want to rename a host, but really do not want to reboot it. Any opinion about sudo /etc/init.d/network restart and its usefulness in getting the new hostname to take effect wout reboot?

    – Peter Jirak Eldritch
    Mar 26 at 8:51







  • 3





    @PeterJirak: Completely useless. If those programs (which need to know the hostname) didn't bother to watch for hostname updates before, then they won't bother now. Telling the system to reconfigure IP addresses on eth0 won't affect that even a little bit.

    – grawity
    Mar 26 at 12:14











  • @PeterJirak What do you mean by "getting the new hostname to take effect"? As previously discussed, it takes effect immediately, and any newly started process will be aware of it. I also don't understand why you're asking about restarting the network? What does that have to do with the hostname?

    – Michael Hampton
    Mar 26 at 17:35







  • 5





    It's a common misconception that the entirety of "networking" is a userspace service that can be restarted, just because there's an /etc/init.d script named like that.

    – grawity
    Mar 26 at 18:37






  • 2





    @PeterJirak As a side note, running services in /etc/init.d is the wrong way on systemd systems. It is just there for backward compatibility to the old System V.

    – rexkogitans
    Mar 27 at 5:45













  • 1





    Do I need to restart networking on my server if I do not wish to reboot it after the rename? I found this: sudo /etc/init.d/network restart Aside from that, restarting networking on my server via that command your point about restarting any running process that needs to know the server's name is valid. Agreed that restarting the host would fix that. That said, there are times that I really want to rename a host, but really do not want to reboot it. Any opinion about sudo /etc/init.d/network restart and its usefulness in getting the new hostname to take effect wout reboot?

    – Peter Jirak Eldritch
    Mar 26 at 8:51







  • 3





    @PeterJirak: Completely useless. If those programs (which need to know the hostname) didn't bother to watch for hostname updates before, then they won't bother now. Telling the system to reconfigure IP addresses on eth0 won't affect that even a little bit.

    – grawity
    Mar 26 at 12:14











  • @PeterJirak What do you mean by "getting the new hostname to take effect"? As previously discussed, it takes effect immediately, and any newly started process will be aware of it. I also don't understand why you're asking about restarting the network? What does that have to do with the hostname?

    – Michael Hampton
    Mar 26 at 17:35







  • 5





    It's a common misconception that the entirety of "networking" is a userspace service that can be restarted, just because there's an /etc/init.d script named like that.

    – grawity
    Mar 26 at 18:37






  • 2





    @PeterJirak As a side note, running services in /etc/init.d is the wrong way on systemd systems. It is just there for backward compatibility to the old System V.

    – rexkogitans
    Mar 27 at 5:45








1




1





Do I need to restart networking on my server if I do not wish to reboot it after the rename? I found this: sudo /etc/init.d/network restart Aside from that, restarting networking on my server via that command your point about restarting any running process that needs to know the server's name is valid. Agreed that restarting the host would fix that. That said, there are times that I really want to rename a host, but really do not want to reboot it. Any opinion about sudo /etc/init.d/network restart and its usefulness in getting the new hostname to take effect wout reboot?

– Peter Jirak Eldritch
Mar 26 at 8:51






Do I need to restart networking on my server if I do not wish to reboot it after the rename? I found this: sudo /etc/init.d/network restart Aside from that, restarting networking on my server via that command your point about restarting any running process that needs to know the server's name is valid. Agreed that restarting the host would fix that. That said, there are times that I really want to rename a host, but really do not want to reboot it. Any opinion about sudo /etc/init.d/network restart and its usefulness in getting the new hostname to take effect wout reboot?

– Peter Jirak Eldritch
Mar 26 at 8:51





3




3





@PeterJirak: Completely useless. If those programs (which need to know the hostname) didn't bother to watch for hostname updates before, then they won't bother now. Telling the system to reconfigure IP addresses on eth0 won't affect that even a little bit.

– grawity
Mar 26 at 12:14





@PeterJirak: Completely useless. If those programs (which need to know the hostname) didn't bother to watch for hostname updates before, then they won't bother now. Telling the system to reconfigure IP addresses on eth0 won't affect that even a little bit.

– grawity
Mar 26 at 12:14













@PeterJirak What do you mean by "getting the new hostname to take effect"? As previously discussed, it takes effect immediately, and any newly started process will be aware of it. I also don't understand why you're asking about restarting the network? What does that have to do with the hostname?

– Michael Hampton
Mar 26 at 17:35






@PeterJirak What do you mean by "getting the new hostname to take effect"? As previously discussed, it takes effect immediately, and any newly started process will be aware of it. I also don't understand why you're asking about restarting the network? What does that have to do with the hostname?

– Michael Hampton
Mar 26 at 17:35





5




5





It's a common misconception that the entirety of "networking" is a userspace service that can be restarted, just because there's an /etc/init.d script named like that.

– grawity
Mar 26 at 18:37





It's a common misconception that the entirety of "networking" is a userspace service that can be restarted, just because there's an /etc/init.d script named like that.

– grawity
Mar 26 at 18:37




2




2





@PeterJirak As a side note, running services in /etc/init.d is the wrong way on systemd systems. It is just there for backward compatibility to the old System V.

– rexkogitans
Mar 27 at 5:45






@PeterJirak As a side note, running services in /etc/init.d is the wrong way on systemd systems. It is just there for backward compatibility to the old System V.

– rexkogitans
Mar 27 at 5:45














22














You can change the in-kernel hostname using:



hostname NEWNAME


On Linux this is practically equal to either of the following:



sysctl kernel.hostname=NEWNAME

echo NEWNAME > /proc/sys/kernel/hostname


This does not depend on systemd (unlike hostnamectl which requires systemd-hostnamed) or any other non-standard tools, and often (especially in shellscript-init systems) is how the initial hostname was set in the first place.



Most programs and services don't actually use the hostname; the few which do (e.g. Postfix or services using Kerberos) can be restarted one-by-one.



(Some programs cache the hostname until restart, others query it every time they need it. Programs also have the ability to poll(2) /proc/sys/kernel/hostname to receive change notifications, but few do.)






share|improve this answer




















  • 2





    Keep in mind that these methods are not persistent and will not survive a reboot.

    – Michael Hampton
    Mar 27 at 14:19






  • 3





    Fortunately, OP has already covered persistence in their question itself.

    – grawity
    Mar 27 at 14:26






  • 1





    postfix may have the host name hard coded in one or two places in /etc/postfix/main.cf and /etc/mailname, so those will need to be edited, too.

    – Mark Plotnick
    Mar 27 at 17:18
















22














You can change the in-kernel hostname using:



hostname NEWNAME


On Linux this is practically equal to either of the following:



sysctl kernel.hostname=NEWNAME

echo NEWNAME > /proc/sys/kernel/hostname


This does not depend on systemd (unlike hostnamectl which requires systemd-hostnamed) or any other non-standard tools, and often (especially in shellscript-init systems) is how the initial hostname was set in the first place.



Most programs and services don't actually use the hostname; the few which do (e.g. Postfix or services using Kerberos) can be restarted one-by-one.



(Some programs cache the hostname until restart, others query it every time they need it. Programs also have the ability to poll(2) /proc/sys/kernel/hostname to receive change notifications, but few do.)






share|improve this answer




















  • 2





    Keep in mind that these methods are not persistent and will not survive a reboot.

    – Michael Hampton
    Mar 27 at 14:19






  • 3





    Fortunately, OP has already covered persistence in their question itself.

    – grawity
    Mar 27 at 14:26






  • 1





    postfix may have the host name hard coded in one or two places in /etc/postfix/main.cf and /etc/mailname, so those will need to be edited, too.

    – Mark Plotnick
    Mar 27 at 17:18














22












22








22







You can change the in-kernel hostname using:



hostname NEWNAME


On Linux this is practically equal to either of the following:



sysctl kernel.hostname=NEWNAME

echo NEWNAME > /proc/sys/kernel/hostname


This does not depend on systemd (unlike hostnamectl which requires systemd-hostnamed) or any other non-standard tools, and often (especially in shellscript-init systems) is how the initial hostname was set in the first place.



Most programs and services don't actually use the hostname; the few which do (e.g. Postfix or services using Kerberos) can be restarted one-by-one.



(Some programs cache the hostname until restart, others query it every time they need it. Programs also have the ability to poll(2) /proc/sys/kernel/hostname to receive change notifications, but few do.)






share|improve this answer















You can change the in-kernel hostname using:



hostname NEWNAME


On Linux this is practically equal to either of the following:



sysctl kernel.hostname=NEWNAME

echo NEWNAME > /proc/sys/kernel/hostname


This does not depend on systemd (unlike hostnamectl which requires systemd-hostnamed) or any other non-standard tools, and often (especially in shellscript-init systems) is how the initial hostname was set in the first place.



Most programs and services don't actually use the hostname; the few which do (e.g. Postfix or services using Kerberos) can be restarted one-by-one.



(Some programs cache the hostname until restart, others query it every time they need it. Programs also have the ability to poll(2) /proc/sys/kernel/hostname to receive change notifications, but few do.)







share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 26 at 18:38

























answered Mar 26 at 15:38









grawitygrawity

7,02221 silver badges35 bronze badges




7,02221 silver badges35 bronze badges







  • 2





    Keep in mind that these methods are not persistent and will not survive a reboot.

    – Michael Hampton
    Mar 27 at 14:19






  • 3





    Fortunately, OP has already covered persistence in their question itself.

    – grawity
    Mar 27 at 14:26






  • 1





    postfix may have the host name hard coded in one or two places in /etc/postfix/main.cf and /etc/mailname, so those will need to be edited, too.

    – Mark Plotnick
    Mar 27 at 17:18













  • 2





    Keep in mind that these methods are not persistent and will not survive a reboot.

    – Michael Hampton
    Mar 27 at 14:19






  • 3





    Fortunately, OP has already covered persistence in their question itself.

    – grawity
    Mar 27 at 14:26






  • 1





    postfix may have the host name hard coded in one or two places in /etc/postfix/main.cf and /etc/mailname, so those will need to be edited, too.

    – Mark Plotnick
    Mar 27 at 17:18








2




2





Keep in mind that these methods are not persistent and will not survive a reboot.

– Michael Hampton
Mar 27 at 14:19





Keep in mind that these methods are not persistent and will not survive a reboot.

– Michael Hampton
Mar 27 at 14:19




3




3





Fortunately, OP has already covered persistence in their question itself.

– grawity
Mar 27 at 14:26





Fortunately, OP has already covered persistence in their question itself.

– grawity
Mar 27 at 14:26




1




1





postfix may have the host name hard coded in one or two places in /etc/postfix/main.cf and /etc/mailname, so those will need to be edited, too.

– Mark Plotnick
Mar 27 at 17:18






postfix may have the host name hard coded in one or two places in /etc/postfix/main.cf and /etc/mailname, so those will need to be edited, too.

– Mark Plotnick
Mar 27 at 17:18


















draft saved

draft discarded
















































Thanks for contributing an answer to Server Fault!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f959952%2fhow-do-i-rename-a-linux-host-without-needing-to-reboot-for-the-rename-to-take-ef%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript