Does a computer system (Linux) only have one host name?












3















hostname is used to display the system's DNS name, and to display or set its hostname or NIS domain name.



Does a computer system (Linux) only have one host name?



In virtual hosting, several host names can be resolved to different root directories in a web server. If a computer system (Linux) can only have one host name, how is virtual hosting possible?



Thanks.










share|improve this question

























  • DNS A or AAA records point to the same IP address for multiple domains. The hostname of the machine is not necessarily important.

    – RubberStamp
    8 hours ago











  • (1) Is the output of hostname ever used in resolving hostname to IP address? (2) A means IPv4 address, AAAA IPv6. What is AAA?

    – Tim
    8 hours ago













  • mDNS services, such as avahi depend on the machine hostname. In that case, hostname.local would resolve to the local IP address of the machine. I see someone wrote an answer which is an expansion of my first comment... too simultaneous for my browser notifications.

    – RubberStamp
    7 hours ago











  • AAA is a 'A' short typo

    – RubberStamp
    7 hours ago








  • 1





    American Automobile Association?

    – Hagen von Eitzen
    6 hours ago
















3















hostname is used to display the system's DNS name, and to display or set its hostname or NIS domain name.



Does a computer system (Linux) only have one host name?



In virtual hosting, several host names can be resolved to different root directories in a web server. If a computer system (Linux) can only have one host name, how is virtual hosting possible?



Thanks.










share|improve this question

























  • DNS A or AAA records point to the same IP address for multiple domains. The hostname of the machine is not necessarily important.

    – RubberStamp
    8 hours ago











  • (1) Is the output of hostname ever used in resolving hostname to IP address? (2) A means IPv4 address, AAAA IPv6. What is AAA?

    – Tim
    8 hours ago













  • mDNS services, such as avahi depend on the machine hostname. In that case, hostname.local would resolve to the local IP address of the machine. I see someone wrote an answer which is an expansion of my first comment... too simultaneous for my browser notifications.

    – RubberStamp
    7 hours ago











  • AAA is a 'A' short typo

    – RubberStamp
    7 hours ago








  • 1





    American Automobile Association?

    – Hagen von Eitzen
    6 hours ago














3












3








3


1






hostname is used to display the system's DNS name, and to display or set its hostname or NIS domain name.



Does a computer system (Linux) only have one host name?



In virtual hosting, several host names can be resolved to different root directories in a web server. If a computer system (Linux) can only have one host name, how is virtual hosting possible?



Thanks.










share|improve this question
















hostname is used to display the system's DNS name, and to display or set its hostname or NIS domain name.



Does a computer system (Linux) only have one host name?



In virtual hosting, several host names can be resolved to different root directories in a web server. If a computer system (Linux) can only have one host name, how is virtual hosting possible?



Thanks.







linux hostname






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 8 hours ago









Jeff Schaller

41.3k1056131




41.3k1056131










asked 8 hours ago









TimTim

26.8k77258469




26.8k77258469













  • DNS A or AAA records point to the same IP address for multiple domains. The hostname of the machine is not necessarily important.

    – RubberStamp
    8 hours ago











  • (1) Is the output of hostname ever used in resolving hostname to IP address? (2) A means IPv4 address, AAAA IPv6. What is AAA?

    – Tim
    8 hours ago













  • mDNS services, such as avahi depend on the machine hostname. In that case, hostname.local would resolve to the local IP address of the machine. I see someone wrote an answer which is an expansion of my first comment... too simultaneous for my browser notifications.

    – RubberStamp
    7 hours ago











  • AAA is a 'A' short typo

    – RubberStamp
    7 hours ago








  • 1





    American Automobile Association?

    – Hagen von Eitzen
    6 hours ago



















  • DNS A or AAA records point to the same IP address for multiple domains. The hostname of the machine is not necessarily important.

    – RubberStamp
    8 hours ago











  • (1) Is the output of hostname ever used in resolving hostname to IP address? (2) A means IPv4 address, AAAA IPv6. What is AAA?

    – Tim
    8 hours ago













  • mDNS services, such as avahi depend on the machine hostname. In that case, hostname.local would resolve to the local IP address of the machine. I see someone wrote an answer which is an expansion of my first comment... too simultaneous for my browser notifications.

    – RubberStamp
    7 hours ago











  • AAA is a 'A' short typo

    – RubberStamp
    7 hours ago








  • 1





    American Automobile Association?

    – Hagen von Eitzen
    6 hours ago

















DNS A or AAA records point to the same IP address for multiple domains. The hostname of the machine is not necessarily important.

– RubberStamp
8 hours ago





DNS A or AAA records point to the same IP address for multiple domains. The hostname of the machine is not necessarily important.

– RubberStamp
8 hours ago













(1) Is the output of hostname ever used in resolving hostname to IP address? (2) A means IPv4 address, AAAA IPv6. What is AAA?

– Tim
8 hours ago







(1) Is the output of hostname ever used in resolving hostname to IP address? (2) A means IPv4 address, AAAA IPv6. What is AAA?

– Tim
8 hours ago















mDNS services, such as avahi depend on the machine hostname. In that case, hostname.local would resolve to the local IP address of the machine. I see someone wrote an answer which is an expansion of my first comment... too simultaneous for my browser notifications.

– RubberStamp
7 hours ago





mDNS services, such as avahi depend on the machine hostname. In that case, hostname.local would resolve to the local IP address of the machine. I see someone wrote an answer which is an expansion of my first comment... too simultaneous for my browser notifications.

– RubberStamp
7 hours ago













AAA is a 'A' short typo

– RubberStamp
7 hours ago







AAA is a 'A' short typo

– RubberStamp
7 hours ago






1




1





American Automobile Association?

– Hagen von Eitzen
6 hours ago





American Automobile Association?

– Hagen von Eitzen
6 hours ago










2 Answers
2






active

oldest

votes


















6














Yes, and no. The are two distinct things called hostnames.



The hostname internal to the system and kept by the kernel, the one returned by the hostname command (or the gethostname() call) is unique. It's mostly used for identifying the system, e.g. if you h in Bash's PS1, it expands that to the hostname. Similarly, syslog-style logfiles also include the hostname on log entries.



Then there's also DNS names that are used by other systems to look up the IP address of another. There might be more than one DNS name that point to the same IP address, and so the same host.



The internal hostname and the DNS names don't need to be the same. A web server serving two different domains could have www.example.org and www.example.com both pointing to 192.0.2.9 in DNS, while the internal hostname of the system might be orange.example.org, or something equally unrelated. In that case, the DNS setup would usually have a reverse lookup on 192.0.2.9 point back to the name orange.example.org, but there's nothing to force that.



In addition to that, virtual hosting requires that the browser tell the web server the name of the site it tried to access. Otherwise the server would not know which virtual site the client tried to reach. HTTP has the Host header for that.






share|improve this answer


























  • Thanks. (1) "the DNS setup would usually have 192.0.2.9 point back to the name orange.example.org" Doesn't resolving get IP address for a given host name, why the opposite? (2) Is the output of hostname ever used in resolving hostname to IP address?

    – Tim
    8 hours ago













  • (2) ... When set up a local wifi network in your home from an ISP using a router and modem, the machines in the network can be identified by the outputs of their hostname commands, correct? Does the router act like a DNS to resolve the outputs of hostname to private IP addresses in the network?

    – Tim
    8 hours ago













  • @Tim, (2) uhhuh, I'm not sure. There might be (probably are) systems that automatically discover hosts on the same network, but I'm not too familiar with them. (I know Windows does it, but that doesn't help much.) There would need to be an additional protocol there to communicate the hostnames and IP's and to have them show up as DNS names on the other hosts.

    – ilkkachu
    7 hours ago













  • as for (1), there's also reverse lookups that take the IP address and return a name. (For a system with a single name and a single address, you'd want to have both resolve to the other, just for clarity's sake)

    – ilkkachu
    7 hours ago








  • 1





    Small networks may be using mDNS. For better or worse, it lets system owners choose their own hostnames, accessible by other systems on the local network, without the need to register with a DNS server.

    – Mark Plotnick
    6 hours ago





















0















Does a computer system (Linux) only have one host name?




No.



[I'll completely ignore that anybody may give your host any name it likes by having a DNS record pointing to its address, or that you can more than one alias for it in /etc/hosts, or any philosophical considerations about what a name really means]



On a linux system, the hostname is simply a per-process resource (the "UTS namespace") that is inherited by its children by default, but could be disjoined from with unshare(2) or clone(2) by using the CLONE_NEWUTS flag. You should look into the namespaces(7) manpage.



Just like pids, port numbers, mount points, the hostname is no longer a global identifier, and it could be virtualized just the same as the address space (virtual memory) or the file descriptor table of a process.




In virtual hosting, several host names can be resolved to different root directories in a web server. If a computer system (Linux) can only have one host name, how is virtual hosting possible?




Virtual hosting is something completely different, and it's usually done by configuring a wildcard DNS record (eg. *.foo.com => 13.13.13.13) with a web server running on 13.13.13.13 and serving different directories / resources based on value of the http Host: header (the latter is highly configurable; most web servers are able to serve different resources based on any http header, not just Host:). In all this, the OS of the host the web servers is running on plays no part.





share























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "106"
    };
    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: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f500050%2fdoes-a-computer-system-linux-only-have-one-host-name%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









    6














    Yes, and no. The are two distinct things called hostnames.



    The hostname internal to the system and kept by the kernel, the one returned by the hostname command (or the gethostname() call) is unique. It's mostly used for identifying the system, e.g. if you h in Bash's PS1, it expands that to the hostname. Similarly, syslog-style logfiles also include the hostname on log entries.



    Then there's also DNS names that are used by other systems to look up the IP address of another. There might be more than one DNS name that point to the same IP address, and so the same host.



    The internal hostname and the DNS names don't need to be the same. A web server serving two different domains could have www.example.org and www.example.com both pointing to 192.0.2.9 in DNS, while the internal hostname of the system might be orange.example.org, or something equally unrelated. In that case, the DNS setup would usually have a reverse lookup on 192.0.2.9 point back to the name orange.example.org, but there's nothing to force that.



    In addition to that, virtual hosting requires that the browser tell the web server the name of the site it tried to access. Otherwise the server would not know which virtual site the client tried to reach. HTTP has the Host header for that.






    share|improve this answer


























    • Thanks. (1) "the DNS setup would usually have 192.0.2.9 point back to the name orange.example.org" Doesn't resolving get IP address for a given host name, why the opposite? (2) Is the output of hostname ever used in resolving hostname to IP address?

      – Tim
      8 hours ago













    • (2) ... When set up a local wifi network in your home from an ISP using a router and modem, the machines in the network can be identified by the outputs of their hostname commands, correct? Does the router act like a DNS to resolve the outputs of hostname to private IP addresses in the network?

      – Tim
      8 hours ago













    • @Tim, (2) uhhuh, I'm not sure. There might be (probably are) systems that automatically discover hosts on the same network, but I'm not too familiar with them. (I know Windows does it, but that doesn't help much.) There would need to be an additional protocol there to communicate the hostnames and IP's and to have them show up as DNS names on the other hosts.

      – ilkkachu
      7 hours ago













    • as for (1), there's also reverse lookups that take the IP address and return a name. (For a system with a single name and a single address, you'd want to have both resolve to the other, just for clarity's sake)

      – ilkkachu
      7 hours ago








    • 1





      Small networks may be using mDNS. For better or worse, it lets system owners choose their own hostnames, accessible by other systems on the local network, without the need to register with a DNS server.

      – Mark Plotnick
      6 hours ago


















    6














    Yes, and no. The are two distinct things called hostnames.



    The hostname internal to the system and kept by the kernel, the one returned by the hostname command (or the gethostname() call) is unique. It's mostly used for identifying the system, e.g. if you h in Bash's PS1, it expands that to the hostname. Similarly, syslog-style logfiles also include the hostname on log entries.



    Then there's also DNS names that are used by other systems to look up the IP address of another. There might be more than one DNS name that point to the same IP address, and so the same host.



    The internal hostname and the DNS names don't need to be the same. A web server serving two different domains could have www.example.org and www.example.com both pointing to 192.0.2.9 in DNS, while the internal hostname of the system might be orange.example.org, or something equally unrelated. In that case, the DNS setup would usually have a reverse lookup on 192.0.2.9 point back to the name orange.example.org, but there's nothing to force that.



    In addition to that, virtual hosting requires that the browser tell the web server the name of the site it tried to access. Otherwise the server would not know which virtual site the client tried to reach. HTTP has the Host header for that.






    share|improve this answer


























    • Thanks. (1) "the DNS setup would usually have 192.0.2.9 point back to the name orange.example.org" Doesn't resolving get IP address for a given host name, why the opposite? (2) Is the output of hostname ever used in resolving hostname to IP address?

      – Tim
      8 hours ago













    • (2) ... When set up a local wifi network in your home from an ISP using a router and modem, the machines in the network can be identified by the outputs of their hostname commands, correct? Does the router act like a DNS to resolve the outputs of hostname to private IP addresses in the network?

      – Tim
      8 hours ago













    • @Tim, (2) uhhuh, I'm not sure. There might be (probably are) systems that automatically discover hosts on the same network, but I'm not too familiar with them. (I know Windows does it, but that doesn't help much.) There would need to be an additional protocol there to communicate the hostnames and IP's and to have them show up as DNS names on the other hosts.

      – ilkkachu
      7 hours ago













    • as for (1), there's also reverse lookups that take the IP address and return a name. (For a system with a single name and a single address, you'd want to have both resolve to the other, just for clarity's sake)

      – ilkkachu
      7 hours ago








    • 1





      Small networks may be using mDNS. For better or worse, it lets system owners choose their own hostnames, accessible by other systems on the local network, without the need to register with a DNS server.

      – Mark Plotnick
      6 hours ago
















    6












    6








    6







    Yes, and no. The are two distinct things called hostnames.



    The hostname internal to the system and kept by the kernel, the one returned by the hostname command (or the gethostname() call) is unique. It's mostly used for identifying the system, e.g. if you h in Bash's PS1, it expands that to the hostname. Similarly, syslog-style logfiles also include the hostname on log entries.



    Then there's also DNS names that are used by other systems to look up the IP address of another. There might be more than one DNS name that point to the same IP address, and so the same host.



    The internal hostname and the DNS names don't need to be the same. A web server serving two different domains could have www.example.org and www.example.com both pointing to 192.0.2.9 in DNS, while the internal hostname of the system might be orange.example.org, or something equally unrelated. In that case, the DNS setup would usually have a reverse lookup on 192.0.2.9 point back to the name orange.example.org, but there's nothing to force that.



    In addition to that, virtual hosting requires that the browser tell the web server the name of the site it tried to access. Otherwise the server would not know which virtual site the client tried to reach. HTTP has the Host header for that.






    share|improve this answer















    Yes, and no. The are two distinct things called hostnames.



    The hostname internal to the system and kept by the kernel, the one returned by the hostname command (or the gethostname() call) is unique. It's mostly used for identifying the system, e.g. if you h in Bash's PS1, it expands that to the hostname. Similarly, syslog-style logfiles also include the hostname on log entries.



    Then there's also DNS names that are used by other systems to look up the IP address of another. There might be more than one DNS name that point to the same IP address, and so the same host.



    The internal hostname and the DNS names don't need to be the same. A web server serving two different domains could have www.example.org and www.example.com both pointing to 192.0.2.9 in DNS, while the internal hostname of the system might be orange.example.org, or something equally unrelated. In that case, the DNS setup would usually have a reverse lookup on 192.0.2.9 point back to the name orange.example.org, but there's nothing to force that.



    In addition to that, virtual hosting requires that the browser tell the web server the name of the site it tried to access. Otherwise the server would not know which virtual site the client tried to reach. HTTP has the Host header for that.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited 7 hours ago

























    answered 8 hours ago









    ilkkachuilkkachu

    58.4k890164




    58.4k890164













    • Thanks. (1) "the DNS setup would usually have 192.0.2.9 point back to the name orange.example.org" Doesn't resolving get IP address for a given host name, why the opposite? (2) Is the output of hostname ever used in resolving hostname to IP address?

      – Tim
      8 hours ago













    • (2) ... When set up a local wifi network in your home from an ISP using a router and modem, the machines in the network can be identified by the outputs of their hostname commands, correct? Does the router act like a DNS to resolve the outputs of hostname to private IP addresses in the network?

      – Tim
      8 hours ago













    • @Tim, (2) uhhuh, I'm not sure. There might be (probably are) systems that automatically discover hosts on the same network, but I'm not too familiar with them. (I know Windows does it, but that doesn't help much.) There would need to be an additional protocol there to communicate the hostnames and IP's and to have them show up as DNS names on the other hosts.

      – ilkkachu
      7 hours ago













    • as for (1), there's also reverse lookups that take the IP address and return a name. (For a system with a single name and a single address, you'd want to have both resolve to the other, just for clarity's sake)

      – ilkkachu
      7 hours ago








    • 1





      Small networks may be using mDNS. For better or worse, it lets system owners choose their own hostnames, accessible by other systems on the local network, without the need to register with a DNS server.

      – Mark Plotnick
      6 hours ago





















    • Thanks. (1) "the DNS setup would usually have 192.0.2.9 point back to the name orange.example.org" Doesn't resolving get IP address for a given host name, why the opposite? (2) Is the output of hostname ever used in resolving hostname to IP address?

      – Tim
      8 hours ago













    • (2) ... When set up a local wifi network in your home from an ISP using a router and modem, the machines in the network can be identified by the outputs of their hostname commands, correct? Does the router act like a DNS to resolve the outputs of hostname to private IP addresses in the network?

      – Tim
      8 hours ago













    • @Tim, (2) uhhuh, I'm not sure. There might be (probably are) systems that automatically discover hosts on the same network, but I'm not too familiar with them. (I know Windows does it, but that doesn't help much.) There would need to be an additional protocol there to communicate the hostnames and IP's and to have them show up as DNS names on the other hosts.

      – ilkkachu
      7 hours ago













    • as for (1), there's also reverse lookups that take the IP address and return a name. (For a system with a single name and a single address, you'd want to have both resolve to the other, just for clarity's sake)

      – ilkkachu
      7 hours ago








    • 1





      Small networks may be using mDNS. For better or worse, it lets system owners choose their own hostnames, accessible by other systems on the local network, without the need to register with a DNS server.

      – Mark Plotnick
      6 hours ago



















    Thanks. (1) "the DNS setup would usually have 192.0.2.9 point back to the name orange.example.org" Doesn't resolving get IP address for a given host name, why the opposite? (2) Is the output of hostname ever used in resolving hostname to IP address?

    – Tim
    8 hours ago







    Thanks. (1) "the DNS setup would usually have 192.0.2.9 point back to the name orange.example.org" Doesn't resolving get IP address for a given host name, why the opposite? (2) Is the output of hostname ever used in resolving hostname to IP address?

    – Tim
    8 hours ago















    (2) ... When set up a local wifi network in your home from an ISP using a router and modem, the machines in the network can be identified by the outputs of their hostname commands, correct? Does the router act like a DNS to resolve the outputs of hostname to private IP addresses in the network?

    – Tim
    8 hours ago







    (2) ... When set up a local wifi network in your home from an ISP using a router and modem, the machines in the network can be identified by the outputs of their hostname commands, correct? Does the router act like a DNS to resolve the outputs of hostname to private IP addresses in the network?

    – Tim
    8 hours ago















    @Tim, (2) uhhuh, I'm not sure. There might be (probably are) systems that automatically discover hosts on the same network, but I'm not too familiar with them. (I know Windows does it, but that doesn't help much.) There would need to be an additional protocol there to communicate the hostnames and IP's and to have them show up as DNS names on the other hosts.

    – ilkkachu
    7 hours ago







    @Tim, (2) uhhuh, I'm not sure. There might be (probably are) systems that automatically discover hosts on the same network, but I'm not too familiar with them. (I know Windows does it, but that doesn't help much.) There would need to be an additional protocol there to communicate the hostnames and IP's and to have them show up as DNS names on the other hosts.

    – ilkkachu
    7 hours ago















    as for (1), there's also reverse lookups that take the IP address and return a name. (For a system with a single name and a single address, you'd want to have both resolve to the other, just for clarity's sake)

    – ilkkachu
    7 hours ago







    as for (1), there's also reverse lookups that take the IP address and return a name. (For a system with a single name and a single address, you'd want to have both resolve to the other, just for clarity's sake)

    – ilkkachu
    7 hours ago






    1




    1





    Small networks may be using mDNS. For better or worse, it lets system owners choose their own hostnames, accessible by other systems on the local network, without the need to register with a DNS server.

    – Mark Plotnick
    6 hours ago







    Small networks may be using mDNS. For better or worse, it lets system owners choose their own hostnames, accessible by other systems on the local network, without the need to register with a DNS server.

    – Mark Plotnick
    6 hours ago















    0















    Does a computer system (Linux) only have one host name?




    No.



    [I'll completely ignore that anybody may give your host any name it likes by having a DNS record pointing to its address, or that you can more than one alias for it in /etc/hosts, or any philosophical considerations about what a name really means]



    On a linux system, the hostname is simply a per-process resource (the "UTS namespace") that is inherited by its children by default, but could be disjoined from with unshare(2) or clone(2) by using the CLONE_NEWUTS flag. You should look into the namespaces(7) manpage.



    Just like pids, port numbers, mount points, the hostname is no longer a global identifier, and it could be virtualized just the same as the address space (virtual memory) or the file descriptor table of a process.




    In virtual hosting, several host names can be resolved to different root directories in a web server. If a computer system (Linux) can only have one host name, how is virtual hosting possible?




    Virtual hosting is something completely different, and it's usually done by configuring a wildcard DNS record (eg. *.foo.com => 13.13.13.13) with a web server running on 13.13.13.13 and serving different directories / resources based on value of the http Host: header (the latter is highly configurable; most web servers are able to serve different resources based on any http header, not just Host:). In all this, the OS of the host the web servers is running on plays no part.





    share




























      0















      Does a computer system (Linux) only have one host name?




      No.



      [I'll completely ignore that anybody may give your host any name it likes by having a DNS record pointing to its address, or that you can more than one alias for it in /etc/hosts, or any philosophical considerations about what a name really means]



      On a linux system, the hostname is simply a per-process resource (the "UTS namespace") that is inherited by its children by default, but could be disjoined from with unshare(2) or clone(2) by using the CLONE_NEWUTS flag. You should look into the namespaces(7) manpage.



      Just like pids, port numbers, mount points, the hostname is no longer a global identifier, and it could be virtualized just the same as the address space (virtual memory) or the file descriptor table of a process.




      In virtual hosting, several host names can be resolved to different root directories in a web server. If a computer system (Linux) can only have one host name, how is virtual hosting possible?




      Virtual hosting is something completely different, and it's usually done by configuring a wildcard DNS record (eg. *.foo.com => 13.13.13.13) with a web server running on 13.13.13.13 and serving different directories / resources based on value of the http Host: header (the latter is highly configurable; most web servers are able to serve different resources based on any http header, not just Host:). In all this, the OS of the host the web servers is running on plays no part.





      share


























        0












        0








        0








        Does a computer system (Linux) only have one host name?




        No.



        [I'll completely ignore that anybody may give your host any name it likes by having a DNS record pointing to its address, or that you can more than one alias for it in /etc/hosts, or any philosophical considerations about what a name really means]



        On a linux system, the hostname is simply a per-process resource (the "UTS namespace") that is inherited by its children by default, but could be disjoined from with unshare(2) or clone(2) by using the CLONE_NEWUTS flag. You should look into the namespaces(7) manpage.



        Just like pids, port numbers, mount points, the hostname is no longer a global identifier, and it could be virtualized just the same as the address space (virtual memory) or the file descriptor table of a process.




        In virtual hosting, several host names can be resolved to different root directories in a web server. If a computer system (Linux) can only have one host name, how is virtual hosting possible?




        Virtual hosting is something completely different, and it's usually done by configuring a wildcard DNS record (eg. *.foo.com => 13.13.13.13) with a web server running on 13.13.13.13 and serving different directories / resources based on value of the http Host: header (the latter is highly configurable; most web servers are able to serve different resources based on any http header, not just Host:). In all this, the OS of the host the web servers is running on plays no part.





        share














        Does a computer system (Linux) only have one host name?




        No.



        [I'll completely ignore that anybody may give your host any name it likes by having a DNS record pointing to its address, or that you can more than one alias for it in /etc/hosts, or any philosophical considerations about what a name really means]



        On a linux system, the hostname is simply a per-process resource (the "UTS namespace") that is inherited by its children by default, but could be disjoined from with unshare(2) or clone(2) by using the CLONE_NEWUTS flag. You should look into the namespaces(7) manpage.



        Just like pids, port numbers, mount points, the hostname is no longer a global identifier, and it could be virtualized just the same as the address space (virtual memory) or the file descriptor table of a process.




        In virtual hosting, several host names can be resolved to different root directories in a web server. If a computer system (Linux) can only have one host name, how is virtual hosting possible?




        Virtual hosting is something completely different, and it's usually done by configuring a wildcard DNS record (eg. *.foo.com => 13.13.13.13) with a web server running on 13.13.13.13 and serving different directories / resources based on value of the http Host: header (the latter is highly configurable; most web servers are able to serve different resources based on any http header, not just Host:). In all this, the OS of the host the web servers is running on plays no part.






        share











        share


        share










        answered 2 mins ago









        Uncle BillyUncle Billy

        4975




        4975






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • 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%2funix.stackexchange.com%2fquestions%2f500050%2fdoes-a-computer-system-linux-only-have-one-host-name%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

            Ponta tanko

            Tantalo (mitologio)

            Erzsébet Schaár