更改系統主機名
如果為執行個體的 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
- 重新開機執行個體以接受新主機名。
或者,您可以使用 Amazon EC2 控制台重新開機 (在 Instances 頁面上,依次選擇 Actions、Instance State 和 Reboot)。[ec2-user ~]$
sudo reboot
- 登入執行個體,驗證主機名是否已更新。您的提示應顯示新主機名 (顯示第一個“.”之前的部分)。并且 hostname 指令應顯示完全限定域名。
[[email protected] ~]$
hostname
webserver.mydomain.com
在無公用 DNS 名稱的情況下更改系統主機名
- 在您常用的文本編輯器中打開
配置檔案,更改/etc/sysconfig/network
條目,以反映所需的系統主機名 (如HOSTNAME
)。webserver
HOSTNAME=
webserver
.localdomain
- 在您常用的文本編輯器中打開
檔案,更改以/etc/hosts
開頭的條目,以比對以下示例,替換為您自己的主機名。127.0.0.1
127.0.0.1
webserver
.localdomain
webserver
localhost4 localhost4.localdomain4
- 重新開機執行個體以接受新主機名。
或者,您可以使用 Amazon EC2 控制台重新開機 (在 Instances 頁面上,依次選擇 Actions、Instance State 和 Reboot)。[ec2-user ~]$
sudo reboot
- 登入執行個體,驗證主機名是否已更新。您的提示應顯示新主機名 (顯示第一個“.”之前的部分)。并且 hostname 指令應顯示完全限定域名。
[[email protected] ~]$
hostname
webserver.localdomain
在不影響主機名的情況下更改 Shell 提示符
如果您不想修改執行個體的主機名,但希望顯示比 AWS 提供的專用名稱 (如
) 更有用的系統名稱 (如
webserver
ip-12-34-56-78
),則可以編輯 Shell 提示符配置檔案,來顯示系統别名,而非主機名。
将 Shell 提示符更改為主機名稱
- 在
中建立一個檔案,用于将稱為/etc/profile.d
的環境變量設定為要在 Shell 提示符中顯示的值。例如,若要将系統别名設定為NICKNAME
,請執行以下指令。webserver
[ec2-user ~]$
sudo sh -c 'echo "export NICKNAME=
webserver
" > /etc/profile.d/prompt.sh'
- 在您常用的文本編輯器 (如
vim 或 nano) 中打開 檔案。您需要在編輯器指令中使用 sudo,因為/etc/bashrc
歸/etc/bashrc
所有。root
- 編輯檔案,将 Shell 提示符變量 (
) 更改為顯示别名而不是主機名。在PS1
中查找以下設定 Shell 提示符的行 (為了上下文需要,下面多顯示了幾行;查找以/etc/bashrc
開頭的行):[ "$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
- 在您常用的文本編輯器 (如
vim 或 nano) 中打開 檔案。您需要在編輯器指令中使用 sudo,因為/etc/sysconfig/bash-prompt-xterm
歸/etc/sysconfig/bash-prompt-xterm
所有。root
- 将以下行添加到該檔案。
echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"
- 建立一個名為的檔案
- 登出,再重新登入,以接受新别名值。