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












11















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?










share|improve this question









New contributor




Peter Jirak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    11















    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?










    share|improve this question









    New contributor




    Peter Jirak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      11












      11








      11


      3






      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?










      share|improve this question









      New contributor




      Peter Jirak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      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






      share|improve this question









      New contributor




      Peter Jirak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Peter Jirak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 21 hours ago









      Michael Hampton

      173k27317643




      173k27317643






      New contributor




      Peter Jirak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 22 hours ago









      Peter JirakPeter Jirak

      714




      714




      New contributor




      Peter Jirak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Peter Jirak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Peter Jirak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          2 Answers
          2






          active

          oldest

          votes


















          24














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



















          6














          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

























            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.










            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









            24














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
















            24














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














            24












            24








            24







            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 5 hours ago

























            answered 21 hours ago









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





              @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





              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





              @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













            6














            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






























              6














              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




























                6












                6








                6







                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 5 hours ago

























                answered 8 hours ago









                grawitygrawity

                6,7232032




                6,7232032






















                    Peter Jirak is a new contributor. Be nice, and check out our Code of Conduct.










                    draft saved

                    draft discarded


















                    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.




                    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

                    He _____ here since 1970 . Answer needed [closed]What does “since he was so high” mean?Meaning of “catch birds for”?How do I ensure “since” takes the meaning I want?“Who cares here” meaningWhat does “right round toward” mean?the time tense (had now been detected)What does the phrase “ring around the roses” mean here?Correct usage of “visited upon”Meaning of “foiled rail sabotage bid”It was the third time I had gone to Rome or It is the third time I had been to Rome

                    Bunad

                    Færeyskur hestur Heimild | Tengill | Tilvísanir | LeiðsagnarvalRossið - síða um færeyska hrossið á færeyskuGott ár hjá færeyska hestinum