꼭두각시를 사용하여 데비안 서버 클러스터를 관리하고 있습니다. 클러스터에서 각 컴퓨터의 시간대를 변경해야합니다. 이를위한 데비안의 올바른 방법은를 사용하는 것 dpkg-reconfigure tzdata
입니다. 그러나 대화 상자를 사용하는 경우에만 변경하는 것처럼 보일 수 있습니다. 쉘에서 이것을 자동화 할 수있는 방법이 있습니까? 그래서 이것을 쉽게하기 위해 Exec을 작성할 수 있습니까?
그렇지 않다면 다음으로 가장 좋은 방법은 꼭두각시 가 클러스터 전체에 올바른 데이터를 배포 /etc/timezone
하고 배포하는 것입니다 /etc/localtime
.
모든 의견을 부탁드립니다!
답변
프론트 엔드를 ‘비 대화식’으로 지정해야하며 현재 설정이 저장됩니다.
dpkg-reconfigure는 현재 시스템 설정을 복음으로 받아들이므로 표준 시간대를 정상적으로 변경하고 비 대화식 플래그로 실행하십시오.
예를 들어 “유럽 / 더블린”으로 변경하려면 :
# echo "Europe/Dublin" > /etc/timezone
# dpkg-reconfigure -f noninteractive tzdata
분명히 이것은 / etc / timezone도 배포하고 puppet / cfengine을 사용할 수있게합니다.
답변
허용 된 답변이 더 이상 작동하지 않기 때문에 (Debian Jessie, 2017 년 4 월) @gertvdijk의 댓글 링크 에서 수정 된 접근 방식 이 현재 작업을 수행하는 것으로 보입니다.
sudo ln -fs /usr/share/zoneinfo/Europe/Dublin /etc/localtime
sudo dpkg-reconfigure -f noninteractive tzdata
답변
debconf-set-selections 를 사용하여 구성을 사전 설정할 수 있어야 합니다. debconf-utils를 설치 debconf-get-selections | grep tzdata
하고 올바르게 구성된 시스템에서 실행 하여 설정 내용을 파악하십시오.
답변
다음 의 적절한 zoneinfo 파일로 대체되는 (현재 기능이없는) Puppet wiki ( archive ) 의 레시피를 사용할 수도 있습니다 ./etc/localtime
/usr/share/zoneinfo
class timezone {
package { "tzdata":
ensure => installed
}
}
class timezone::central inherits timezone {
file { "/etc/localtime":
require => Package["tzdata"],
source => "file:///usr/share/zoneinfo/US/Central",
}
}
class timezone::eastern inherits timezone {
file { "/etc/localtime":
require => Package["tzdata"],
source => "file:///usr/share/zoneinfo/US/Eastern"
}
}
class timezone::pacific inherits timezone {
file { "/etc/localtime":
require => Package["tzdata"],
source => "file:///usr/share/zoneinfo/US/Pacific"
}
}
class timezone::mountain inherits timezone {
file { "/etc/localtime":
require => Package["tzdata"],
source =>
"file:///usr/share/zoneinfo/US/Mountain"
}
}
dpkg-reconfigure가 추가 작업을 수행하는지 확실하지 않지만 위의 레시피를 사용했으며 완벽하게 작동합니다.
답변
매우 간단하며 명령을 입력하고 간단한 질문에 대답하면됩니다.
그런 다음 다음을 실행하십시오.
/usr/bin/tzselect