Ich stelle die Zeitzone auf meinem Linux-Rechner auf GMT + 6 ein, indem ich die zoneinfo-Datei nach kopiere /etc/localtime
, aber der date
Befehl zeigt die Zeit weiterhin als an UTCtime-6
. Kann mir jemand dieses Verhalten erklären?
Ich gehe davon aus, dass der date
Befehl UTCtime+6
Zeit anzeigen sollte. Hier sind die Schritte, denen ich folge:
date
Wed Jan 22 17:29:01 IST 2014
date -u
Wed Jan 22 11:59:01 UTC 2014
cp /usr/share/zoneinfo/Etc/GMT+6 /etc/localtime
date
Wed Jan 22 05:59:21 GMT+6 2014
date -u
Wed Jan 22 11:59:01 UTC 2014
echo $TZ
erzeugt etwas anderes als eine leere Zeile)? Außerdem ist es möglicherweise besser, einen Symlink zu erstellen,/etc/localtime
anstatt die eigentliche Datei zu kopieren (auf diese Weise sind Sie sicher, falls sich die zoneinfo-Daten jemals ändern, was höchstwahrscheinlich niemals der Fall ist).Antworten:
Schauen Sie sich diesen Blog-Beitrag mit dem Titel: Gewusst wie: 2 Methoden zum Ändern der TimeZone unter Linux an .
Red Hat-Distributionen
Wenn Sie eine Distribution wie Red Hat verwenden, ist Ihr Ansatz zum Kopieren der Datei meist akzeptabel.
ANMERKUNG: Wenn Sie nach einer distro-agnostischen Lösung suchen, funktioniert dies auch unter Debian, obwohl es im Folgenden einfachere Ansätze gibt, wenn Sie sich nur mit Debian-Maschinen befassen müssen.
Ich würde jedoch eher empfehlen, darauf zu verlinken als zu kopieren.
Das aktuelle Datum zeigt die unterschiedliche Zeitzone:
Ubuntu / Debian Distros
Um die Zeitzone in einer dieser Distributionen zu ändern, können Sie diesen Befehl verwenden:
Wenn wir es uns jetzt ansehen:
HINWEIS: Es gibt auch diese Option in Ubuntu 14.04 und höher mit einem einzigen Befehl (Quelle: Ask Ubuntu - Einstellen der Zeitzone vom Terminal aus ):
Über die Verwendung von "Etc / GMT + 6"
Auszug aus @ MattJohnsons Antwort auf SO
quelle
tzdata
Dateien sonst/usr/share/zoneinfo
nicht existieren.timedatectl
funktioniert auch für SLES 12.So mache ich das in Ubuntu. Ersetzen
Asia/Tokyo
Sie einfach durch Ihre eigene Zeitzone.echo 'Asia/Tokyo' | sudo tee /etc/timezone
sudo dpkg-reconfigure -f noninteractive tzdata
Es gibt einen Fehler in
tzdata
: Bestimmte Werte werden normalisiert durchdpkg-reconfigure
:quelle
Der Befehl tzselect wird ausgeführt, um das zu tun, was Sie möchten.
quelle
TZ
Variable auf Ihre lokale Zeitzone festgelegt wird - z. B. für America / Los_Angeles -export TZ=`printf "2\n49\n21\n1\n" | tzselect 2>&1 | tail -1`
. Sie können diese Zeile in Ihre .profile, as
tzselect-Anweisung einfügen, wenn Sie sie an der Eingabeaufforderung ausführen möchten.