更改系统主机名
如果为实例的 IP 地址注册了公用 DNS 名称 (如 webserver.mydomain.com
),则可以设置系统主机名,以便实例将自己标识为该域的一部分。这还会更改 Shell 提示符,以便它显示此名称的第一部分,而不是 AWS 提供的主机名 (例如,ip-12-34-56-78
)。如果没有注册公用 DNS 名,还是可以更改主机名,但过程略有差异。
将系统主机名更改为公用 DNS 名称
如果已注册了公用 DNS 名称,请执行此过程。
在您的实例上,在您常用的文本编辑器中打开
/etc/sysconfig/network
配置文件,更改HOSTNAME
条目以反映完全限定域名 (例如webserver.mydomain.com
)。HOSTNAME=
webserver.mydomain.com
重启实例以接受新主机名。
[ec2-user ~]$
sudo reboot
或者,您可以使用 Amazon EC2 控制台重启 (在 Instances 页面上,依次选择 Actions、Instance State 和 Reboot)。
登录实例,验证主机名是否已更新。您的提示应显示新主机名 (显示第一个“.”之前的部分)。并且 hostname 命令应显示完全限定域名。
[ec2-user@webserver ~]$
hostname
webserver.mydomain.com
在无公用 DNS 名称的情况下更改系统主机名
在您常用的文本编辑器中打开
/etc/sysconfig/network
配置文件,更改HOSTNAME
条目,以反映所需的系统主机名 (如webserver
)。HOSTNAME=
webserver
.localdomain在您常用的文本编辑器中打开
/etc/hosts
文件,更改以127.0.0.1
开头的条目,以匹配以下示例,替换为您自己的主机名。127.0.0.1
webserver
.localdomainwebserver
localhost4 localhost4.localdomain4重启实例以接受新主机名。
[ec2-user ~]$
sudo reboot
或者,您可以使用 Amazon EC2 控制台重启 (在 Instances 页面上,依次选择 Actions、Instance State 和 Reboot)。
登录实例,验证主机名是否已更新。您的提示应显示新主机名 (显示第一个“.”之前的部分)。并且 hostname 命令应显示完全限定域名。
[ec2-user@webserver ~]$
hostname
webserver.localdomain
在不影响主机名的情况下更改 Shell 提示符
如果您不想修改实例的主机名,但希望显示比 AWS 提供的专用名称 (如 ) 更有用的系统名称 (如
webserverip-12-34-56-78
),则可以编辑 Shell 提示符配置文件,来显示系统别名,而非主机名。
将 Shell 提示符更改为主机别名
在
/etc/profile.d
中创建一个文件,用于将称为NICKNAME
的环境变量设置为要在 Shell 提示符中显示的值。例如,若要将系统别名设置为webserver
,请执行以下命令。[ec2-user ~]$
sudo sh -c 'echo "export NICKNAME=
webserver
" > /etc/profile.d/prompt.sh'在您常用的文本编辑器 (如
/etc/bashrc
vim 或 nano) 中打开 文件。您需要在编辑器命令中使用 sudo,因为/etc/bashrc
归root
所有。编辑文件,将 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(可选) 要将 Shell 窗口上的标题设置为新别名,请完成以下步骤。
创建一个名为的文件
/etc/sysconfig/bash-prompt-xterm
。[ec2-user ~]$
sudo touch /etc/sysconfig/bash-prompt-xterm
使用以下命令使该文件可执行。
[ec2-user ~]$
sudo chmod +x /etc/sysconfig/bash-prompt-xterm
在您常用的文本编辑器 (如
/etc/sysconfig/bash-prompt-xterm
vim 或 nano) 中打开 文件。您需要在编辑器命令中使用 sudo,因为/etc/sysconfig/bash-prompt-xterm
归root
所有。将以下行添加到该文件。
echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"
注销,再重新登录,以接受新别名值。