우리 서버는 CentOS 4.9를 실행합니다. /etc/hosts
설치 중 파일이 어떻게 생성되는지 알고 싶습니다 .
여기에 관련 질문이 있습니다 (/etc/hosts를 생성하는 항목(RHEL 5.5))는 해당 파일이 RHEL 5의 /etc/hosts
anaconda에 의해 생성되었음을 나타냅니다.
우리는 사용 anaconda-10.1.1.46-4.x86_64.rpm
. RPM을 추출하여 파일을 찾았습니다 /usr/lib/anaconda/network.py
. 이 Python 파일이 /etc/hosts
파일을 생성합니다.
localhost.localdomain
이 Python 스크립트를 읽은 후 도메인 별칭을 파일에 추가해야 함을 알 수 있습니다 /etc/hosts
.
/etc/hosts
하지만 설치하는 동안 파일이 다음과 같이 생성되는 것을 볼 수 있습니다 .
127.0.0.1 loghost
다음 내용으로 파일을 ks.cfg
생성하는 파일 도 있습니다./etc/hosts
127.0.0.1 localhost loghost
따라서 설치 후 재부팅을 하면 /etc/hosts
파일에 명시된 대로 파일이 생성됩니다 ks.cfg
.
/etc/hosts
설치 중에만 파일을 생성하는 방법이 약간 혼란스럽습니다 127.0.0.1 loghost
.
편집하다:
참고: 애플리케이션 RPM을 CentOS rpm과 번들로 묶어 ISO를 빌드합니다.
진짜 문제는 CentOS 4.9에서 6.5로 마이그레이션한다는 것입니다. CentOS 6.5 setup-2.8.14-20 rpm에서 다음 내용으로 호스트 파일을 생성합니다.
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
localhost.localdomain
호스트 파일에 추가되었습니다.
/etc/hosts
따라서 우리는 설치 중에 CentOS 4.9와 6.5 파일 생성 간의 차이점을 찾으려고 노력했습니다 . 왜냐하면 우리의 응용 프로그램이 파일의 항목에 단단히 바인딩되어 있기 때문입니다 /etc/hosts
.
답변1
귀하가 요청한 질문에 대한 답이 확실하지 않지만 귀하의 실제 문제를 해결했다고 생각합니다.
/etc/hosts
단순히 새 파일을 작성하는 대신(기존 파일을 덮어쓸 수도 있음) 원하는 항목을 끝에 추가할 수 있습니다. 둘 사이에는 기능적 차이가 없습니다.
127.0.0.1 localhost loghost
그리고
127.0.0.1 localhost
127.0.0.1 loghost
즉, 동일한 줄에서 127.0.0.1에 대한 모든 이름을 수집할 필요가 없습니다. 한 줄에 loghost
필수 항목을 추가하면 됩니다.뒤쪽에Anaconda는 스톡 버전을 생성합니다.
생성한 RPM에서 이 작업을 수행한다는 것은 현재 수정하거나 생성한 방법을 /etc/hosts
RPM 스크립트 %post
에서 다음과 같은 것으로 대체한다는 의미입니다.
if ! grep -q loghost /etc/hosts
then
echo '127.0.0.1 loghost' >> /etc/hosts
fi