Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Cambia il nome host della tua istanza AL2
Quando avvii un'istanza in un VPC privato, Amazon EC2 assegna un nome host del sistema operativo guest. Il tipo di nome host assegnato da Amazon dipende dalle EC2 impostazioni della sottorete. Per ulteriori informazioni sui EC2 nomi host, consulta i tipi di hostname delle EC2 istanze Amazon nella Amazon EC2 User Guide.
Un tipico nome DNS EC2 privato di Amazon per un' EC2 istanza configurata per utilizzare la denominazione basata su IP con un IPv4 indirizzo è simile al seguente:ip-12-34-56-78.us-west-2.compute.internal, dove il nome è composto dal dominio interno, dal servizio (in questo casocompute), dalla regione e da una forma dell'indirizzo privato. IPv4 Parte di questo nome host viene visualizzato nel prompt della shell quando esegui l'accesso all'istanza, ad esempio, ip-12-34-56-78). Ogni volta che interrompi e riavvii l' EC2istanza Amazon (a meno che tu non stia utilizzando un indirizzo IP elastico), l' IPv4 indirizzo pubblico cambia, così come il nome DNS pubblico, il nome host del sistema e il prompt della shell.
Importante
Queste informazioni si applicano ad Amazon Linux. Per informazioni su altre distribuzioni, consulta la documentazione specifica.
Modifica del nome host del sistema
Se disponi di un nome DNS pubblico registrato per l'indirizzo IP dell'istanza, ad esempio webserver.mydomain.com, puoi impostare il nome host del sistema in modo che l'istanza identifichi se stessa come appartenente a tale dominio. Ciò modifica anche il prompt della shell in modo che visualizzi la prima parte di questo nome anziché il nome host fornito da AWS (ad esempio,). ip-12-34-56-78 Se non dispone di un nome DNS pubblico registrato, puoi comunque modificare il nome host, ma il processo necessario è leggermente diverso.
Affinché l'aggiornamento del nome host persista, è necessario verificare che l'impostazione cloud-init di preserve_hostname sia impostata su true. Per modificare o aggiungere questa impostazione è possibile eseguire il seguente comando:
sudo vi /etc/cloud/cloud.cfg
Se l'impostazione preserve_hostname non è riportata, aggiungere la seguente riga di testo alla fine del file:
preserve_hostname: true
Per modificare il nome host del sistema in un nome DNS pubblico
Segui questa procedura se disponi già di un nome DNS pubblico registrato.
-
-
Per AL2: utilizzate il hostnamectl comando per impostare il nome host in modo che rifletta il nome di dominio completo (ad esempio).
webserver.mydomain.com[ec2-user ~]$sudo hostnamectl set-hostnamewebserver.mydomain.com -
Per Amazon Linux AMI: nell'istanza, aprire il file di configurazione
/etc/sysconfig/networknel proprio editor di testo preferito e modificare la voceHOSTNAMEin base al nome di dominio completo, ad esempiowebserver.mydomain.com.HOSTNAME=webserver.mydomain.com
-
-
Riavviare l'istanza per rendere effettivo il nuovo nome host.
[ec2-user ~]$sudo rebootIn alternativa, puoi riavviare utilizzando la EC2 console Amazon (nella pagina Istanze, seleziona l'istanza e scegli Instance state, Reboot instance).
-
Eseguire l'accesso all'istanza e verificare che il nome host sia aggiornato. Il prompt deve mostrare il nuovo nome host (fino al primo ".") e il comando hostname deve mostrare il nome di dominio completo.
[ec2-user@webserver ~]$hostnamewebserver.mydomain.com
Per modificare il nome host del sistema senza un nome DNS pubblico
-
-
Per AL2: utilizza il hostnamectl comando per impostare il nome host in modo che rifletta il nome host di sistema desiderato (ad esempio).
webserver[ec2-user ~]$sudo hostnamectl set-hostnamewebserver.localdomain -
Per Amazon Linux AMI: nell'istanza, aprire il file di configurazione
/etc/sysconfig/networknel proprio editor di testo preferito e modificare la voceHOSTNAMEin base al nome host del sistema desiderato, ad esempiowebserver.HOSTNAME=webserver.localdomain
-
-
Aprire il file
/etc/hostsnel proprio editor di testo preferito e modificare la voce che inizia con127.0.0.1in modo che corrisponda all'esempio seguente (sostituire con il proprio nome host).127.0.0.1webserver.localdomainwebserverlocalhost4 localhost4.localdomain4 -
Riavviare l'istanza per rendere effettivo il nuovo nome host.
[ec2-user ~]$sudo rebootIn alternativa, puoi riavviare utilizzando la EC2 console Amazon (nella pagina Istanze, seleziona l'istanza e scegli Instance state, Reboot instance).
-
Eseguire l'accesso all'istanza e verificare che il nome host sia aggiornato. Il prompt deve mostrare il nuovo nome host (fino al primo ".") e il comando hostname deve mostrare il nome di dominio completo.
[ec2-user@webserver ~]$hostnamewebserver.localdomain
Puoi anche implementare altre soluzioni programmatiche, ad esempio, specificare i dati utente per configurare l'istanza. Se l'istanza fa parte di un gruppo con scalabilità automatica, puoi utilizzare gli hook del ciclo di vita per definire i dati utente. Per maggiori informazioni, consulta Esecuzione di comandi sull'istanza Linux durante l'avvio e Hook del ciclo di vita per l'avvio delle istanze nella Guida per l'utente di AWS CloudFormation .
Modifica del prompt della shell senza ripercussioni sul nome host
Se non desideri modificare il nome host della tua istanza, ma desideri che venga visualizzato un nome di sistema più utile (ad esempiowebserver) rispetto al nome privato fornito da AWS (ad esempio,ip-12-34-56-78), puoi modificare i file di configurazione del prompt della shell per visualizzare il nickname del tuo sistema anziché il nome host.
Per modificare il prompt della shell in un nome host alternativo
-
Creare un file in
/etc/profile.din cui sia impostata la variabile di ambiente denominataNICKNAMEsul valore che si desidera visualizzare nel prompt della shell. Ad esempio, per impostare il nome alternativo del sistema suwebserver, esegui il comando seguente.[ec2-user ~]$sudo sh -c 'echo "export NICKNAME=webserver" > /etc/profile.d/prompt.sh' -
Aprire il file
/etc/bashrc(Red Hat) o/etc/bash.bashrc(Debian/Ubuntu) con l'editor di testo preferito (ad esempio vim o nano). È necessario utilizzare sudo con il comando dell'editor in quanto/etc/bashrce/etc/bash.bashrcsono di proprietà diroot. -
Modificare il file e la variabile del prompt della shell (
PS1) in modo da visualizzare il nome alternativo anziché il nome host. Cercare la seguente riga che imposta il prompt della shell in/etc/bashrco/etc/bash.bashrc. Di seguito vengono visualizzate alcune righe circostanti per fornirne il contesto. Cercare la riga che inizia con[ "$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 windowsModificare
\h(il simbolo perhostname) in tale riga impostando il valore della variabileNICKNAME.# 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 -
(Opzionale) Per impostare il titolo delle finestre della shell utilizzando il nuovo nome alternativo, completare la procedura seguente.
-
Creare un file denominato
/etc/sysconfig/bash-prompt-xterm.[ec2-user ~]$sudo touch /etc/sysconfig/bash-prompt-xterm -
Rendere eseguibile il file utilizzando il seguente comando.
[ec2-user ~]$sudo chmod +x /etc/sysconfig/bash-prompt-xterm -
Aprire il file
/etc/sysconfig/bash-prompt-xtermcon il proprio editor di testo preferito (ad esempio vim o nano). È necessario utilizzare sudo con il comando dell'editor in quando/etc/sysconfig/bash-prompt-xtermè di proprietà diroot. -
Aggiungere la seguente riga al file.
echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"
-
-
Uscire e rieseguire l'accesso per rendere effettivo il nuovo valore del nome alternativo.
Modifica del nome host in altre distribuzioni Linux
Le procedure in questa pagina sono pensate per essere utilizzate solo con Amazon Linux. Per ulteriori informazioni su altre distribuzioni Linux, consulta la documentazione specifica e i seguenti articoli: