이것은 매우 수수께끼입니다. 누구든지 hostname
명령이 호스트 이름을 저장하고 읽는 위치를 알고 있습니까?
나는 그것이 / etc / hostname이라고 생각했지만 내가 사용하고있는이 Linux 시스템에는 그러한 파일이 없습니다. strace를 사용하여 위치를 찾으려고했지만이 정보를 반환하는 읽기 호출이 없습니다.
$ strace hostname 2>&1 | grep read
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340^\0\0\0\0\0\0"..., 832) = 832
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\30\2\0\0\0\0\0"..., 832) = 832
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tr"..., 1024) = 248
read(3, "", 1024) = 0
그런 다음이 정보를 반환하는 uname syscall을 발견했습니다.
uname({sys="Linux", node="server-name", ...}) = 0
/ etc /의 재귀 grep은 아무것도 반환하지 않습니다.
grep "server-name" -r /etc
uname은이 정보를 어디에 저장합니까? 그냥 기억에?