天天看點

AWS EC2: 更改linux執行個體主機名

更改系統主機名

如果為執行個體的 IP 位址注冊了公用 DNS 名稱 (如

webserver.mydomain.com

),則可以設定系統主機名,以便執行個體将自己辨別為該域的一部分。這還會更改 Shell 提示符,以便它顯示此名稱的第一部分,而不是 AWS 提供的主機名 (例如,

ip-12-34-56-78

)。如果沒有注冊公用 DNS 名,還是可以更改主機名,但過程略有差異。

将系統主機名更改為公用 DNS 名稱

如果已注冊了公用 DNS 名稱,請執行此過程。

  1. 在您的執行個體上,在您常用的文本編輯器中打開

    /etc/sysconfig/network

    配置檔案,更改

    HOSTNAME

    條目以反映完全限定域名 (例如

    webserver.mydomain.com

    )。

    HOSTNAME=

    webserver.mydomain.com

  2. 重新開機執行個體以接受新主機名。

    [ec2-user ~]$

    sudo reboot

    或者,您可以使用 Amazon EC2 控制台重新開機 (在 Instances 頁面上,依次選擇 Actions、Instance State 和 Reboot)。
  3. 登入執行個體,驗證主機名是否已更新。您的提示應顯示新主機名 (顯示第一個“.”之前的部分)。并且 hostname 指令應顯示完全限定域名。

    [[email protected] ~]$

    hostname

    webserver.mydomain.com

在無公用 DNS 名稱的情況下更改系統主機名

  1. 在您常用的文本編輯器中打開

    /etc/sysconfig/network

    配置檔案,更改

    HOSTNAME

    條目,以反映所需的系統主機名 (如

    webserver

    )。

    HOSTNAME=

    webserver

    .localdomain

  2. 在您常用的文本編輯器中打開

    /etc/hosts

    檔案,更改以

    127.0.0.1

    開頭的條目,以比對以下示例,替換為您自己的主機名。

    127.0.0.1

    webserver

    .localdomain

    webserver

    localhost4 localhost4.localdomain4

  3. 重新開機執行個體以接受新主機名。

    [ec2-user ~]$

    sudo reboot

    或者,您可以使用 Amazon EC2 控制台重新開機 (在 Instances 頁面上,依次選擇 Actions、Instance State 和 Reboot)。
  4. 登入執行個體,驗證主機名是否已更新。您的提示應顯示新主機名 (顯示第一個“.”之前的部分)。并且 hostname 指令應顯示完全限定域名。

    [[email protected] ~]$

    hostname

    webserver.localdomain

在不影響主機名的情況下更改 Shell 提示符

如果您不想修改執行個體的主機名,但希望顯示比 AWS 提供的專用名稱 (如

) 更有用的系統名稱 (如

webserver

ip-12-34-56-78

),則可以編輯 Shell 提示符配置檔案,來顯示系統别名,而非主機名。

将 Shell 提示符更改為主機名稱

  1. /etc/profile.d

    中建立一個檔案,用于将稱為

    NICKNAME

    的環境變量設定為要在 Shell 提示符中顯示的值。例如,若要将系統别名設定為

    webserver

    ,請執行以下指令。

    [ec2-user ~]$

    sudo sh -c 'echo "export NICKNAME=

    webserver

    " > /etc/profile.d/prompt.sh'

  2. 在您常用的文本編輯器 (如

    /etc/bashrc

    vim 或 nano) 中打開 檔案。您需要在編輯器指令中使用 sudo,因為

    /etc/bashrc

    root

    所有。
  3. 編輯檔案,将 Shell 提示符變量 (

    PS1

    ) 更改為顯示别名而不是主機名。在

    /etc/bashrc

    中查找以下設定 Shell 提示符的行 (為了上下文需要,下面多顯示了幾行;查找以

    [ "$PS1"

    開頭的行):

    # Turn on checkwinsize shopt -s checkwinsize [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@

    \h

    \W]\\$ " # You might want to have e.g. tty in prompt (e.g. more virtual machines) # and console windows

    将該行中的

    \h

    (

    hostname

    的符号) 更改為

    NICKNAME

    變量的值。

    # Turn on checkwinsize shopt -s checkwinsize [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@

    $NICKNAME

    \W]\\$ " # You might want to have e.g. tty in prompt (e.g. more virtual machines) # and console windows

  4. (可選) 要将 Shell 視窗上的标題設定為新别名,請完成以下步驟。
    1. 建立一個名為的檔案

      /etc/sysconfig/bash-prompt-xterm

      [ec2-user ~]$

      sudo touch /etc/sysconfig/bash-prompt-xterm

    2. 使用以下指令使該檔案可執行。

      [ec2-user ~]$

      sudo chmod +x /etc/sysconfig/bash-prompt-xterm

    3. 在您常用的文本編輯器 (如

      /etc/sysconfig/bash-prompt-xterm

      vim 或 nano) 中打開 檔案。您需要在編輯器指令中使用 sudo,因為

      /etc/sysconfig/bash-prompt-xterm

      root

      所有。
    4. 将以下行添加到該檔案。

      echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"

  5. 登出,再重新登入,以接受新别名值。
aws

繼續閱讀