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 页面上,依次选择 ActionsInstance StateReboot)。

  3. 登录实例,验证主机名是否已更新。您的提示应显示新主机名 (显示第一个“.”之前的部分)。并且 hostname 命令应显示完全限定域名。

     
      
    [ec2-user@webserver ~]$ 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 页面上,依次选择 ActionsInstance StateReboot)。

  4. 登录实例,验证主机名是否已更新。您的提示应显示新主机名 (显示第一个“.”之前的部分)。并且 hostname 命令应显示完全限定域名。

     
      
    [ec2-user@webserver ~]$ hostname webserver.localdomain

在不影响主机名的情况下更改 Shell 提示符

如果您不想修改实例的主机名,但希望显示比 AWS 提供的专用名称 (如 ) 更有用的系统名称 (如 webserverip-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/bashrcvimnano) 中打开 文件。您需要在编辑器命令中使用 sudo,因为 /etc/bashrcroot 所有。

  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-xtermvimnano) 中打开 文件。您需要在编辑器命令中使用 sudo,因为 /etc/sysconfig/bash-prompt-xtermroot 所有。

    4. 将以下行添加到该文件。

       
          
      echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"
  5. 注销,再重新登录,以接受新别名值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值