, ,

Hostnames (without domain names) in UNIX were traditionally limited to eight character names. This limitation remains present in standards compliant uname(2) system calls.

HP-UX 11i v3 introduced the ability to use up to 256-character hostnames; however, the capability is turned off in the system as installed. HP-UX 11i v3 also introduced two kernel tunables in order to handle the long filenames:

  • uname_eoverflow. The setting of this boolean parameter determines what happens when uname gets a long hostname (and it isn’t set up for long hostnames). If this kernel tunable is true (1), then generate an error EOVERFLOW; if the tunable is false (0), then silently truncate the host name before returning it in the uname system call.
  • expanded_node_host_names. The setting of this boolean parameter affects whether long host names (and node names) are supported. If this tunable is set to true (1), then the host and node names can be up to 255 characters (actually, 255 bytes); if set to false (0), then the limits are 8 bytes and 64 bytes for the host and node names respectively. The actual current host name (or node name) is unaffected, no matter the setting.
  • .

To enable the long host name support in HP-UX 11i v3, do thusly:

kctune expanded_node_host_names=1

The change takes effect immediately. Do be acutely aware that there may be programs that are not expecting extended names may break or react in unexpected ways.