Dreamhost ดูเหมือนจะคิดว่าเราชอบ PDT แม้จะอยู่ในมิดเวสต์ก็ตาม ฉันจะเปลี่ยนเขตเวลาได้อย่างไร
Dreamhost ดูเหมือนจะคิดว่าเราชอบ PDT แม้จะอยู่ในมิดเวสต์ก็ตาม ฉันจะเปลี่ยนเขตเวลาได้อย่างไร
คำตอบ:
dpkg-reconfigure
เครื่องมือที่ผมพบว่าให้ง่ายต่อการใช้งาน ใช้:
sudo dpkg-reconfigure tzdata
tzselect
คุณจะได้รับความหลากหลายของตัวเลือกรวมทั้งบางส่วนที่ไม่ได้รวมอยู่ใน
นี่น่าจะช้าไปหน่อยสำหรับ OP และมีไว้สำหรับผู้ค้นหารายอื่นที่มาถึงที่นี่
หากคุณต้องการโซลูชันที่ไม่โต้ตอบให้ลองใช้วิธีแก้ไขปัญหานี้จากการเปลี่ยนเขตเวลาด้วย dpkg-reconfigure tzdata และ debconf-set-selections
echo "Europe/Zurich" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
คุณสามารถกำหนดเขตเวลาของคุณได้ด้วยการเข้าไปใน / usr / share / zoneinfo ในความเป็นจริงคำสั่ง dpkg-reconfigure ด้านบนคัดลอกไฟล์ที่เหมาะสมจากที่นั่นไปยัง / etc / localtime ฉันเคยทำเช่นนั้นด้วยตนเองและดูเหมือนว่าจะทำงานได้ดี
อย่าแปลกใจถ้ากระบวนการที่ใช้เวลานานไม่สามารถรับการเปลี่ยนแปลงได้ เช่นการประทับเวลาบันทึก Apache มาถึงใจ พิจารณาว่ามีความสำคัญและด้วยเหตุนี้ไม่ว่าคุณจะต้องเริ่มกระบวนการทำงานใหม่หรือแม้กระทั่งรีบูต
/etc/localtime
ไม่มีอยู่จริง หากมีอยู่และเป็น softlink ไประบบ/usr/share/zoneinfo/whatever
จะใช้เป็นฐานและเป็นข้อมูล/etc/localtime
ที่ได้รับการอัปเดตให้แทนที่การเปลี่ยนแปลงของคุณ
หากต้องการแก้ไขแบบไม่โต้ตอบกับรุ่น Debian และ Ubuntu ล่าสุด (Stretch / Xenial เป็นต้น) คุณต้องลบออก/etc/localtime
เช่นกันมิฉะนั้น/etc/timezone
จะถูกเขียนทับ
echo 'Europe/Zurich' > /etc/timezone
rm /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
คำตอบนี้ขึ้นอยู่กับคำตอบ mc0e ' ฉันไม่สามารถเพิ่มความคิดเห็นด้วยชื่อเสียงของฉัน
TL; DR
echo "TZ=Etc/UTC" >> /etc/environment
tzconfig
ซึ่งเป็นเขตที่คุณต้องการคุณพบการใช้Etc/UTC
tzselect
รุ่นที่ยาวกว่า
เมื่อคุณใช้
dpkg-reconfigure tzdata
ข้อมูลเขตเวลาจะไม่ถูกเก็บไว้หลังจากรีบูต คุณสามารถตรวจสอบการตั้งค่าของคุณด้วย
diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
หากคุณกำลังอัปเดตเพียงอย่างเดียวการอัปเด/etc/timezone
ตจะไม่สอดคล้องกัน/etc/localtime
ดังนั้นจึงเป็นการดีกว่าที่จะดำเนินการ
tzconfig
ใช้tzselect
เพื่อค้นหาโซนเวลาที่มีอยู่จริง (หรือเพียงแค่เรียกดู/usr/share/zoneinfo
ไดเรกทอรี)
ในระบบ POSIX TZ
ควรมีความสำคัญก่อน/etc/localtime
:
export TZ='Europe/Berlin'
$ date
Tue Apr 10 08:51:03 CEST 2018
export TZ='Pacific/Efate'
$ date
Tue Apr 10 18:28:33 +11 2018
การใช้โดยตรงTZ
สามารถบันทึกการโทรของระบบจำนวนมากได้เนื่องจากฟังก์ชั่นที่เกี่ยวข้องกับวันที่ / เวลาที่ใช้บ่อยต้องเข้าถึงระบบไฟล์ในแต่ละครั้งที่บางโปรแกรมถามถึงวันที่ปัจจุบัน มันเป็นการเพิ่มประสิทธิภาพขนาดเล็ก แต่ค่อนข้างง่าย
TZ
ในไฟล์โปรไฟล์ของคุณสร้าง symlink หรือไม่? นั่นไม่ได้ฟังดูจริงเลยในประสบการณ์ของฉัน บางทีคุณอาจหมายถึง "ตรวจสอบให้แน่ใจว่าได้สร้าง symlink ... " หรือไม่
$TZ
อ่านตัวแปรglibc
: gnu.org/software/libc/manual/html_node/TZ-Variable.html
echo "TZ=Etc/UTC" >> /etc/environment
? คุณหายไปTZ=
ส่วนหนึ่ง ... (ถ้ากรณีที่มีคนยังคงใช้เวอร์ชันเดเบียนโบราณ) นอกจากนี้สิ่งที่ไม่โต้ตอบเช่น daemons จะยังคงใช้/etc/localtime
เวอร์ชันแทนที่จะเป็นหนึ่งชุดในTZ
...