How do I rename a LINUX host without needing to reboot for the rename to take effect?
I searched for an answer to this question on serverfault and shockingly could not find it. I know it is possible, but I can't remember how to fdo 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
New contributor
add a comment |
I searched for an answer to this question on serverfault and shockingly could not find it. I know it is possible, but I can't remember how to fdo 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
New contributor
add a comment |
I searched for an answer to this question on serverfault and shockingly could not find it. I know it is possible, but I can't remember how to fdo 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
New contributor
I searched for an answer to this question on serverfault and shockingly could not find it. I know it is possible, but I can't remember how to fdo 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
linux ubuntu hostname
New contributor
New contributor
edited 21 hours ago
Michael Hampton♦
173k27317643
173k27317643
New contributor
asked 22 hours ago
Peter JirakPeter Jirak
714
714
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
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.
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 aboutsudo /etc/init.d/network restart
and its usefulness in getting the new hostname to take effect wout reboot?
– Peter Jirak
15 hours ago
1
@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
12 hours ago
@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♦
6 hours ago
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
5 hours ago
add a comment |
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.)
add a comment |
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
});
}
});
Peter Jirak is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
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 aboutsudo /etc/init.d/network restart
and its usefulness in getting the new hostname to take effect wout reboot?
– Peter Jirak
15 hours ago
1
@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
12 hours ago
@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♦
6 hours ago
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
5 hours ago
add a comment |
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.
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 aboutsudo /etc/init.d/network restart
and its usefulness in getting the new hostname to take effect wout reboot?
– Peter Jirak
15 hours ago
1
@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
12 hours ago
@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♦
6 hours ago
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
5 hours ago
add a comment |
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.
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.
edited 5 hours ago
answered 21 hours ago
Michael Hampton♦Michael Hampton
173k27317643
173k27317643
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 aboutsudo /etc/init.d/network restart
and its usefulness in getting the new hostname to take effect wout reboot?
– Peter Jirak
15 hours ago
1
@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
12 hours ago
@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♦
6 hours ago
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
5 hours ago
add a comment |
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 aboutsudo /etc/init.d/network restart
and its usefulness in getting the new hostname to take effect wout reboot?
– Peter Jirak
15 hours ago
1
@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
12 hours ago
@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♦
6 hours ago
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
5 hours ago
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
15 hours ago
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
15 hours ago
1
1
@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
12 hours ago
@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
12 hours ago
@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♦
6 hours ago
@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♦
6 hours ago
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
5 hours ago
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
5 hours ago
add a comment |
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.)
add a comment |
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.)
add a comment |
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.)
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.)
edited 5 hours ago
answered 8 hours ago
grawitygrawity
6,7232032
6,7232032
add a comment |
add a comment |
Peter Jirak is a new contributor. Be nice, and check out our Code of Conduct.
Peter Jirak is a new contributor. Be nice, and check out our Code of Conduct.
Peter Jirak is a new contributor. Be nice, and check out our Code of Conduct.
Peter Jirak is a new contributor. Be nice, and check out our Code of Conduct.
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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