시작 시 HOSTNAME 설정

시작 시 HOSTNAME 설정

우리 연구실 그룹은 방금 12개 정도의 새 워크스테이션을 구입했습니다. 그들은 Dell이므로 서비스 태그를 로 보고하는 것이 편리할 것입니다 dmidecode -s system-serial-number. 우리는 Clonezilla를 사용하여 모든 이미지에 쉽게 이미지를 배포하려고 생각하고 있지만 각 이미지는 특정 호스트 이름과 고정 IP 주소로 설정되어야 합니다. 따라서 다음과 같은 조회를 사용하면 두 가지를 결합하는 것이 간단해 보입니다.

declare -A tags
tags=(["HKX321K"]="ws1name 10.32.54.10"
      ["HBZ321G"]="ws2name 10.32.54.11"
)
tag=$(sudo dmidecode -s system-serial-number)
read -a nameip <<< "${tags[$tag]}"
wsname=${nameip[0]}
wsip=${nameip[1]}

sed또는 이와 유사한 것이 일부 템플릿에서 /etc/hosts, hostname및 파일을 만들 수 있습니다. network/interfaces그러나 해당 파일을 수정하는 것으로 충분하며 Ubuntu가 설정을 시작하기 전에 부팅 초기에 "개인화" 스크립트를 어떻게 실행합니까?

내 계획이 또 다른 예상치 못한 이유로 나쁜 걸까요? 어떤 숨겨진 함정이 기다리고 있을까요?

답변1

예, 해당 파일을 변경하는 것으로 충분합니다. hostnamectl명령을 사용하여 호스트 이름을 쉽게 변경할 수 있습니다. 이러한 변경은 한 번만 수행하면 됩니다. 따라서 한 번 실행과 유사한 방법을 통해 변경을 수행하고 rc.local, 부팅 시 실행을 유발한 모든 항목에서 자체를 제거한 다음 다른 작업을 진행하기 전에 재부팅할 수 있습니다.

재부팅이 너무 많은 추가 작업인 경우 Upstart 작업을 예약해 볼 수 있습니다. 조건 이 있는 Upstart 작업은 start on startup가능한 한 빨리 이를 실행합니다. 더 좋은 점은 start on local-filesystems필요한 파일 시스템이 마운트되었는지 확인할 수 있을 만큼 일찍 작업이 실행된다는 것입니다.

관련 정보