Chociaż może się wydawać, że powinno się to automatycznie zająć, ustawienia czasu w systemie Linux często mogą się zepsuć lub nieprawidłowo skonfigurować. Ponieważ ustawienia czasu w systemie Linux mogą być mylące dla przeciętnego użytkownika, zepsujemy i wyjaśnimy, jak skonfigurować synchronizację czasu sieci w systemie Linux.
Oprócz skonfigurowania NTP, wyjaśnimy również, jak naprawić irytujący błąd czasu podczas podwójnego rozruchu Linuksa i Windowsa.
Spis treści:
Skonfiguruj protokół czasu sieciowego
Synchronizacja zegara programowego na komputerze z systemem Linux z serwerami czasu jest najczęstszym sposobem uzyskania dokładnego czasu. W większości dystrybucji Linuksa odbywa się to automatycznie. Jednak nie każda dystrybucja Linuksa używa NTPd. Co więcej, te, które to robią, mogą go zepsuć lub nieprawidłowo skonfigurować. Aby temu zaradzić, wyjaśnimy, jak łatwo jest ręcznie skonfigurować demona Network Time Protocol w systemie Linux.
Zacznij od otwarcia terminala i zainstalowania NTP, jeśli Twój komputer nie ma go zainstalowanego. Jest duża szansa, że już go masz, ale dla bezpieczeństwa oto polecenia, aby go pobrać dla większości nowoczesnych dystrybucji Linuksa.
Ubuntu
sudo apt install ntp
Debian
sudo apt-get install ntp
Arch Linux
sudo pacman -S ntp
Fedora
sudo dnf install ntp
OpenSUSE
sudo zypper install ntp
Po zainstalowaniu oprogramowania będziesz musiał połączyć się z serwerem NTP. Domyślnie większość dystrybucji Linuksa ma własne serwery NTP skonfigurowane w pliku /etc/ntp.conf. Jeśli jednak uważasz, że te serwery są zawodne, możesz zmienić je na bardziej niezawodny (na przykład oficjalny serwer Google NTP).
Aby dodać serwer Google NTP, edytuj plik ntp.conf.
sudo nano /etc/ntp.conf
Jeśli chcesz, usuń wszystkie wpisy i zastąp je tymi (chociaż nie zalecamy tego). Aby uzyskać najlepsze wyniki, wklej wpisy Google NTP na samej górze.
Uwaga: ważne jest, aby iburst znajdował się na końcu każdego nowego wpisu. Opcja iburst wyśle „serię” pakietów do serwerów tylko wtedy, gdy napotkasz problemy z połączeniem z serwerem czasu.
server time.google.com iburst server time2.google.com iburst server time3.google.com iburst
Po zakończeniu zapisz plik konfiguracyjny w Nano za pomocą Ctrl + O. Wyjdź z edytora za pomocą Ctrl + X.
Konfiguruj czas
NTP może automatycznie synchronizować czas z serwerami, ale najpierw musi znać strefę czasową. Zwykle podczas początkowej konfiguracji system operacyjny Linux zapyta o strefę czasową i ustawi ją. Jeśli coś poszło nie tak podczas instalacji, należy to naprawić ręcznie za pomocą tzselect.
Otwórz terminal i uruchom narzędzie strefy czasowej:
tzselect
Uruchomienie narzędzia Tzselect przeprowadzi Cię przez proces konfigurowania odpowiedniej strefy czasowej. Po zakończeniu będziesz mógł uruchomić NTPd.
Uruchamiam NTP
Wszystkie połączenia z serwerami czasu działają. Następnym krokiem procesu jest użycie systemu inicjującego Systemd do załadowania protokołu NTP podczas rozruchu. Zrozum, że jeśli twój system operacyjny Linux nie używa systemd, jak większość nowoczesnych, popularnych, musisz znaleźć alternatywę dla tych poleceń.
Najpierw uruchom NTPd:
sudo systemctl start ntpd.service
Następnie włącz go podczas rozruchu z włączoną funkcją systemctl.
sudo systemctl enable ntpd.service
Uruchomienie powyższych poleceń powinno natychmiast skonfigurować czas, ponieważ czas UTC w systemie BIOS jest teraz poprawny (dzięki Tzselect).
Użyj czasu lokalnego
Istnieją inne sposoby ustawiania czasu w systemie Linux, oprócz NTP. Najpopularniejszą alternatywą dla tej metody jest „czas lokalny”. Czas lokalny każe Linuksowi przechowywać czas, ale nie synchronizować go z czymkolwiek. Zasadniczo utrzyma samowystarczalność czasu i nie będzie w nic kolidować. Jest mniej niezawodny, ale działa. Pytanie brzmi, dlaczego chcesz to zrobić?
Głównym powodem, dla którego można by przejść z czasem lokalnym na coś takiego jak NTP, jest fakt, że podwójne uruchamianie powoduje bałagan z czasem. Jeśli kiedykolwiek załadowałeś Linuksa, a następnie ponownie uruchomiłeś system Windows 10, zauważysz przerwy w czasie. Dzieje się tak, ponieważ oba systemy operacyjne mają usługę synchronizacji czasu i walczą ze sobą. Głównym sposobem rozwiązania tego problemu jest wyłączenie synchronizacji czasu w systemie Linux.
Uwaga: pamiętaj, że nawet jeśli ustawiłeś Linuksa na używanie czasu lokalnego, system Windows może nadal napotkać problemy. Sprawdź ustawienia czasu systemu Windows, aby upewnić się, że nie ma dalszych konfliktów z dwoma systemami operacyjnymi.
Uruchomienie timedatectl powinno to naprawić:
sudo timedatectl set-local-rtc 1
Po powrocie do czasu lokalnego może być konieczne ponowne uruchomienie komputera. Po ponownym zalogowaniu wszystko powinno korzystać z czasu lokalnego.
Chcesz cofnąć czas lokalny? Jeśli tak, musisz ponownie uruchomić polecenie timedatectl. Wypróbuj poniższe polecenie.
sudo timedatectl set-local-rtc 0
Tak jak poprzednio, uruchom ponownie komputer z systemem Linux, aby uzyskać dobrą miarę. Przy następnym logowaniu czas lokalny nie powinien być używany.