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?
What happens to the Infinity Stones?
Is there really no use for MD5 anymore?
Was there a Viking Exchange as well as a Columbian one?
Why did Rep. Omar conclude her criticism of US troops with the phrase "NotTodaySatan"?
How to fry ground beef so it is well-browned
Figure is not placed perfectly
"The cow" OR "a cow" OR "cows" in this context
Negative Resistance
Why must Chinese maps be obfuscated?
How to pronounce 'c++' in Spanish
Can I enter Heaven by simply doing good deeds while on Earth?
Could moose/elk survive in the Amazon forest?
How do I deal with a coworker that keeps asking to make small superficial changes to a report, and it is seriously triggering my anxiety?
Is there any official lore on the Far Realm?
Philosophical question on logistic regression: why isn't the optimal threshold value trained?
Is Electric Central Heating worth it if using Solar Panels?
Is the claim "Employers won't employ people with no 'social media presence'" realistic?
How do I produce this Greek letter koppa: Ϟ in pdfLaTeX?
Pulling the rope with one hand is as heavy as with two hands?
A Note on N!
diskutil list shows 20 disk partitions, I only know 3, what are the rest?
How to have a sharp product image?
How to remove these lines in Altium Design
Find the identical rows in a matrix
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 height:90px;width:728px;box-sizing:border-box;
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
add a comment |
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
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
add a comment |
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
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
linux ubuntu hostname
edited Mar 28 at 22:20
Paul Gear
2,9941131
2,9941131
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
add a comment |
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
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 restartAside 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 restartand 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.dis the wrong way on systemd systems. It is just there for backward compatibility to the old System V.
– rexkogitans
Mar 27 at 5:45
|
show 1 more 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.)
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.cfand/etc/mailname, so those will need to be edited, too.
– Mark Plotnick
Mar 27 at 17:18
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
);
);
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 restartAside 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 restartand 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.dis the wrong way on systemd systems. It is just there for backward compatibility to the old System V.
– rexkogitans
Mar 27 at 5:45
|
show 1 more 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 restartAside 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 restartand 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.dis the wrong way on systemd systems. It is just there for backward compatibility to the old System V.
– rexkogitans
Mar 27 at 5:45
|
show 1 more 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 Mar 26 at 18:43
answered Mar 26 at 2:54
Michael Hampton♦Michael Hampton
176k27321651
176k27321651
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 restartAside 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 restartand 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.dis the wrong way on systemd systems. It is just there for backward compatibility to the old System V.
– rexkogitans
Mar 27 at 5:45
|
show 1 more 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 restartAside 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 restartand 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.dis 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
|
show 1 more 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.)
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.cfand/etc/mailname, so those will need to be edited, too.
– Mark Plotnick
Mar 27 at 17:18
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.)
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.cfand/etc/mailname, so those will need to be edited, too.
– Mark Plotnick
Mar 27 at 17:18
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 Mar 26 at 18:38
answered Mar 26 at 15:38
grawitygrawity
6,8932034
6,8932034
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.cfand/etc/mailname, so those will need to be edited, too.
– Mark Plotnick
Mar 27 at 17:18
add a comment |
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.cfand/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
add a comment |
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
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