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?

Issue with type force PATH search

90's TV series where a boy goes to another dimension through portal near power lines

Can a virus destroy the BIOS of a modern computer?

Has there ever been an airliner design involving reducing generator load by installing solar panels?

Why do bosons tend to occupy the same state?

Is there an expression that means doing something right before you will need it rather than doing it in case you might need it?

Is there a hemisphere-neutral way of specifying a season?

Can a rocket refuel on Mars from water?

How could indestructible materials be used in power generation?

How do I write bicross product symbols in latex?

Arrow those variables!

Magento 2: Migrate only Customer and orders

Twin primes whose sum is a cube

Why doesn't H₄O²⁺ exist?

Why does Optional.map make this assignment work?

Decimal to roman python

Cronab fails because shell path not found

Why was the shrinking from 8″ made only to 5.25″ and not smaller (4″ or less)?

Western buddy movie with a supernatural twist where a woman turns into an eagle at the end

numexpr behavior in math mode and/or TikZ

UK: Is there precedent for the governments e-petition site changing the direction of a government decision?

What mechanic is there to disable a threat instead of killing it?

Assassin's bullet with mercury

Does casting Light, or a similar spell, have any effect when the caster is swallowed by a monster?



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?













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

2,9741131




2,9741131










asked Mar 26 at 1:36









Peter JirakPeter Jirak

14924




14924







  • 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


















48














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
    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



















21














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









48














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
    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
















48














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
    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














48












48








48







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

174k27319644




174k27319644







  • 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
    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
    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
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
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














21














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
















21














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














21












21








21







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

6,8732034




6,8732034







  • 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

Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High