자동화 된 스크립트를 사용하여 시간대 설정


20

새 slicehost 설치를 자동화하는 스크립트를 작성 중입니다. 완벽한 세계에서, 스크립트를 시작한 후에 나에게 관심을 갖지 않고 스크립트가 실행됩니다. 한 가지 예외를 제외하고는 성공했습니다.

입력을 필요로하지 않는 영구적 인 (잔여 재부팅) 및 제정신 (표준 및 일광 절약 시간에 맞게 조정하므로 날짜를 강제하지 않음) ... 시간대를 어떻게 설정합니까?

현재 사용하고 있습니다

 dpkg-reconfigure tzdata

이것은 매개 변수를 강제로 넣을 방법이없는 것 같습니다. 사용자 입력이 필요합니다.


편집 : 주석은 코드 블록을 허용하지 않기 때문에 주석이 아닌 여기에서 편집하고 있습니다.

다음은 Rudedog의 의견에 따라 작성된 실제 코드입니다. 또한 이것이 / etc / timezone을 업데이트하지 않는 것으로 나타났습니다. 나는 누가 그것을 사용하는지 확신하지 못하지만, 누군가가 그것을 사용한다면, 나는 그것을 설정하고 있습니다.

TIMEZONE="America/Los_Angeles"      
echo $TIMEZONE > /etc/timezone                     
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime   # This sets the time

답변:


18

당신은 이것을 할 수 있어야합니다

cp /usr/share/zoneinfo/America/Los_Angeles /etc/localtime

위 명령에서 적절한 시간대를 대체하십시오.


1
복사하지 않는
— 심볼릭

1
그는 데비안을 사용하고 있습니다. dpkg-reconfigure tzdata심볼릭 링크가 아닌 복사본을 만듭니다. 부팅 시점에 / usr / share가 마운트되지 않았기 때문이라고 생각합니다.
— Rudedog 2009

데비안 용 tzconfig 맨 페이지의 기술 섹션에 따르면 :> tzconfig가 수행 한 작업은 실제로 매우 간단합니다. / usr / share / zoneinfo /에 설치된 올바른 시간대를 가리 키도록 / etc / localtime 링크를 업데이트합니다.
— brent

1
tzconfig는 dpkg-reconfigure tzdata를 위해 lenny에서 더 이상 사용되지 않으며 실제로는 아무 것도 수행하지 않습니다. dpkg-reconfigure tzdata를 실행하고 결과를 확인하여 심볼릭 링크 대신 복사되는지 확인할 수 있습니다.
— Rudedog



2

/etc/localtime올바른 시간대를 가리 키도록 symlink 업데이트/usr/share/zoneinfo/


심볼릭 링크를 사용하고 /usr별도의 파티션에 /usr마운트 된 경우 마운트 되기 전에 시작 하는 것은 올바른 시간대를 갖지 않습니다. 데비안을 포함한 오늘날의 대부분의 배포판은 symlink가 아니라 copy입니다.
— Rudedog 2009

1

나 자신에게 달려 들었다. 이 작업을 올바르게 수행하는 방법에 대한 전체 구성은 다음과 같습니다 (여기 및 이 질문에 대한 전체 설명입니다 ).

#Set time zone and time
echo "tzdata tzdata/Areas select Europe" | debconf-set-selections
echo "tzdata tzdata/Zones/Europe select London" | debconf-set-selections
TIMEZONE="Europe/London"
echo $TIMEZONE > /etc/timezone
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime
/usr/sbin/ntpdate pool.ntp.org

0

tzdatadebconf를 사용하여 해당 질문에 답변하므로 미리 채워야합니다. 이를 수행하는 몇 가지 방법이 있습니다. 가장 쉬운 방법은 설치 중에 답변 을 미리 설정하는 것 입니다. debconf에서 사용할 기본 데이터베이스를 설정할 수있는 방법에 대해서는 debconf(7)맨 페이지를 참조하십시오 .


-2

또한 ntpd가 설치되어 실행 중인지 확인하십시오.

yum install ntpd
ntpdate pool.ntp.org
service ntpd start
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.