안녕하세요 다름이 아니라
이걸로 골머리를 앓고 있어서 혹시 아시는분 계신지 여쭈어 봅니다.
hostname 에서는
abcd.aaa.com
echo $HOSTNAME
abcd.aaa.com
그런데 hostname -s 에서는
efgh.aaa.com
의 결과가 나오는데요.
개인적으로는 /etc/sysconfig/network에서 찾아 가는게 아닐까 생각을 하는데요...
질문을 정리하자면..
1. hostname이 어디껄 참조하게 되는지와.
2. hostname -s 는 단지 shot string (man 페이지 내용상으로는 . (dot) 이전값만 보여준다고 되어있었습니다.) 어디를 참고하길래 다른값인지..
3. uname -a 에서도 참조를 하는데 어디서 하는지 당최 못찾겠습니다.
고견을 듣고 싶습니다. !
hostname - gethostbyname(2) : /etc/hostname (hostname)
hostname -a, -d, -f or -i - gethostbyname(3) : /etc/hosts (/etc/nsswitch.conf ¼³Á¤ È®ÀÎ)
[ RedHat 6.x ]
hostname - gethostbyname(2) : /etc/sysconfig/network
hostname -s - gethostbyname(3) : /etc/hosts (/etc/nsswitch ¼³Á¤ È®ÀÎ)
hostname ½ÇÇà ½Ã ÀÎÀÚ¿¡ µû¶ó¼ »ç¿ëµÇ´Â API°¡ ´Ù¸£´Ù°í µÇ¾î ÀÖ½À´Ï´Ù.
ÀÚ¼¼ÇÑ »çÇ×Àº # man hostname È®ÀÎ Çϼ¼¿ä.
1. ºÎÆýÿ¡ sethostname(2)·Î /etc/hostname ÆÄÀÏ¿¡ ¼³Á¤µÈ ¹®ÀÚ¿À» kernel·Î Àü´ÞÇÏ°í, gethostname(2) ¶Ç´Â uname(2)À¸·Î ¹Þ¾Æ¿É´Ï´Ù
2. ¾î¶² ¹èÆ÷ÆÇÀÎÁö ¸ð¸£°Ú³×¿ä. ubuntu °è¿Àº ¸»¾¸ÇϽŠù¹ø° '.' ÀÌÀü±îÁö¸¦ º¸¿©ÁÝ´Ï´Ù. "strace hostname"°ú "strace hostname -s"¸¦ Çѹø ºñ±³Çغ¸¼¼¿ä
3. unameÀº uname(2)·Î kernel·ÎºÎÅÍ °¡Á®¿É´Ï´Ù