Vraag Hoe u tijdzone-instellingen kunt wijzigen vanaf de opdrachtregel


Ik heb een virtuele machine die op PST is ingesteld en die een aantal collega's in verschillende tijdzones heeft. Als ik de tijdzone naar EST en GMT wilde wijzigen, wat moet ik dan doen?


175
2017-08-31 18:19


oorsprong




antwoorden:


Gebruik timedatectl

sudo timedatectl set-timezone <timeszone>

Voorbeelden:

  • Tijdzone als EST

    sudo timedatectl set-timezone EST
    
  • Tijdzone als UTC

    sudo timedatectl set-timezone UTC
    
  • Lijst van alle geldige tijdzones

    timedatectl list-timezones
    

Dit commando is perfect voor automatiseringsscripts omdat er geen scripts voor nodig zijn gebruikersinteractie in vergelijking met het andere gegeven antwoord op basis van dpkg-reconfigure tzdata.


203
2018-03-08 13:15



Geen fan van +1 reacties, maar zet hier een omdat dit voor mij de beste manier was. Ik wilde een enkele opdrachtregel voor één regel om de tijdzone te wijzigen, in plaats van een heel menu of gui-programma te willen starten (ik weet niet wat tzdata doet, hoe het werkt, maar dat hoeft niet bij deze opdracht met één regel). Bedankt! - Phil Ryan
werkt perfect ;) - user332660
Interessant is dat het iets anders doet dan tzdata. Ik had een probleem met de Java-tijd die anders was dan de systeemtijd na het toepassen van een patch. Tzdata heeft niet gewerkt om het probleem op te lossen, maar dit deed het. - Daniel Bower
dit werkte niet voor mij; echter, de dpkg-reconfigure deed het. - Antti Haapala
@AnttiHaapala op welke OS & versie? - Jossef Harush


Het volgende werkt ook. Voor GMT:

ln -sf /usr/share/zoneinfo/GMT /etc/localtime

Bos:

ln -sf /usr/share/zoneinfo/EST /etc/localtime

23
2017-08-31 10:09



Ik denk dat het beter is om een ​​van de stadsbestanden te koppelen in plaats van GMT of EST, want dan houden ze de zomertijd bij, terwijl koppelen (bijv.) GMT de systeemtijd niet wijzigt om weer te geven wanneer zomertijd van kracht is in je stad. bijv .: ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime - Asfand Qazi


Als root moet je uitvoeren:

dpkg-reconfigure tzdata

Er moet een menugestuurd hulpmiddel worden gestart waarmee u de tijdzone kunt wijzigen.


23
2017-08-31 19:41





De gemakkelijkste manier om met name naar een server te gaan, is om tijdzones op te sommen:

timedatectl list-timezones

En kies de uwe, bijvoorbeeld:

timedatectl set-timezone Europe/Athens

Dat is het! , :-)


10
2018-02-18 15:52





Om een ​​programma met een andere tijdzone-instelling uit te voeren, stelt u de TZ omgevingsvariabele, b.v. rennen TZ=Pacific/Kiritimati date om te zien hoe laat het is op Christmas Island, of export TZ=Pacific/Kiritimati om de instelling te laten duren voor een shell-sessie.


4
2017-09-01 00:04





Bewerk de timezone bestand op de /etc map als:

Etc/GMT

U kunt het volgende formaat gebruiken:

Region "/" City 

Voorbeeld van /etc/timezone:

Europe/Athens

of

Europe/Paris
Europe/London

Je kunt experimenteren met de: dpkg-reconfigure tzdata en controleer kat het tijdzone-bestand.

U moet opnieuw opstarten of een service opnieuw starten (niet de ntp-service). Ik weet niet welke. Als iemand het weet, kunt u dit met ons delen. (Getest op Ubuntu 15.10 de verandering wordt onmiddellijk in aanmerking genomen)


3
2017-07-28 12:19





cp -p / usr / share / zoneinfo / US / Pacific / etc / localtime

Ik raad TEGENSTELLEN koppelen aan, zoals vermeld door anderen. Als een script per ongeluk je / etc / localtime-bestand overschrijft, overschrijft het je Pacific Timezone-bestand ... en het is een beetje vervelend om het te vervangen.

Kopieer het bestand Pacific gewoon over het lokale bestand met het bovenstaande commando.


1
2017-07-18 20:04



Dit werkte echt voor mij. Ik denk dat er een bug is met Docker, ansible (?). Zowel timedatectl als dpkg-reconfiguratie tzdata faalden voor mij. Nadat ik heb gekopieerd, veranderde de tijdzone van EST in PDT. - Sun


Ik gebruik het volgende script om de gebruiker te vragen welke tijdzone moet worden ingesteld en bevestig vervolgens dat het inderdaad is ingesteld:

#!/bin/sh
sudo timedatectl set-timezone $(tzselect)
echo
echo timedatectl says:
timedatectl

ik noem het tz-set.


0
2018-04-26 07:24