Bagaimana cara mengubah zona waktu dalam centos 6.2?

32

Ini adalah output dari dateperintah saya :

[root@r1304 ~]# date
Wed Apr 18 15:43:28 GST 2012

Saya ingin mengubah zona waktu sistem default ke Asia / Dubai. Saya telah mengikuti tutorial dan melakukan ini:

ln -sf /usr/share/zoneinfo/Asia/Dubai /etc/localtime

Tetapi tanpa efek. Tampaknya ini dilakukan secara berbeda di CentOS 6. Bagaimana cara mengubah zona waktu?

Temnovit
sumber
Ini seharusnya tidak terlalu rumit ...
ewwhite

Jawaban:

41

Sepertinya CentOS 6.2 tidak memiliki garis jam di dalamnya /etc/rc.sysinit, jadi perubahan /etc/sysconfig/clocktidak akan berfungsi.

coba tzselectatau gunakan ln -s /usr/share/zoneinfo/xxxx /etc/localtime

caojun
sumber
5
Terima kasih, itu berhasil untuk saya. Solusi saya adalah rm /etc/localtime && ln -s /usr/share/zoneinfo/America/New_York /etc/localtime.
Banjer
Apa yang lebih baik digunakan untuk ini - lnatau cp?
XåpplI'-I0llwlg'I -
Dalam hal ini, menggunakan symlink mungkin lebih baik daripada menyalin file
JDS
2
Lakukan ini, tetapi juga pastikan untuk memperbarui /etc/sysconfig/clockdengan zona waktu yang benar karena pembaruan dapat dan akan mengubah waktu lokal kembali ke apa yang ada di jam.
Justin
ln -slebih baik daripada cpkarena jika paket tzdata memperbarui file zona untuk wilayah Anda, Anda akan melihat perubahan tanpa harus menyalinnya lagi.
David Purdue
9

Pertama-tama gunakan tzselect untuk mengetahui zona waktu Anda. Hasil akhir dari tzselect akan berupa:

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/New_York

Baris terakhir adalah nama file zoneinfo Anda.

Sekarang buat symlink dari / etc / localtime ke file zoneinfo yang benar, misalnya:

ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime 

Bendera -f diperlukan untuk menimpa / etc / localtime yang ada.

Catatan: menjalankan tzselect tidak akan menyentuh apa pun pada sistem Anda, itu hanya akan menghasilkan beberapa teks. "Atau" dalam jawaban oleh caojun menyesatkan. Anda harus menggunakan tzselect AND ln. Dari manual tzselect: "[tzselect] menampilkan deskripsi zona waktu yang dihasilkan ke keluaran standar".

Luca Gibelli
sumber
4

Edit file /etc/sysconfig/clocksesuai dengan kebutuhan Anda.

pkhamre
sumber
1
Itu bukan solusi lengkap. Anda perlu mengatur zona waktu.
ewwhite
5
Meskipun ini bukan jawaban yang lengkap, langkah ini cukup penting. tanpa memperbarui sysconfig / jam (sesuatu yang tidak kami lakukan ketika mengubah zona waktu) ... menjalankan pembaruan / pemasangan yum tertentu (tidak yakin yang mana), akan menyebabkan zona waktu kembali ke yang terdaftar di sysconfig / jam ... terlepas dari apa / etc / localtime diganti dengan. jadi ya ... pastikan untuk memperbarui sysconfig / jam untuk membuat perubahan zona waktu Anda tetap.
anonim-satu
1
Pembaruan yum dapat menyebabkan bencana jika / etc / localtime dan / etc / sysconfig / clock menunjuk ke dua zona waktu yang berbeda. Memperbarui mysql misalnya dapat menyebabkan perubahan waktu yang menyenangkan di semua tanggal.
Elbuild
2

Seseorang harus memulai ulang rsyslogd setelah mengubah zona waktu sehingga zona waktu baru tercermin dalam log.

Lakukan ini dengan: service rsyslog restart

Ed Greenberg
sumber
1

Tutorial sederhana, coba ini ..

[root@dlp ~]# vi /etc/sysconfig/clock

# change to your location
ZONE="Asia/Tokyo"

[root@dlp ~]# source /etc/sysconfig/clock # reload
# copy your timezone file under the "/usr/share/zoneinfo" like follows
[root@dlp ~]# cp -p /usr/share/zoneinfo
rails_id
sumber
ini bekerja untuk saya, pilihan lain tidak
Bokw
1
Jika petunjuk ini bekerja sama sekali, akan lebih baik untuk menjelaskan mengapa ... Saya tidak melihat alasan mengapa sumber /etc/sysconfig/clockakan berdampak pada cpprogram berikutnya (atau memang, pada program berikutnya)
offby1