Używam ArchLinux i od wielu miesięcy mam problemy z czasem systemowym.
Wcześniej działało, ale kiedy zaktualizowałem komputer, czas systemowy był zmieniany przy każdym uruchomieniu (jakby nie wykrywało strefy czasowej, podczas gdy strefa czasowa w rc.conf była i jest poprawna).
Potem dodałem hwclock i było tak samo, i usunąłem go. Jeśli dobrze pamiętam, wydaje się, że to rozwiązało problem.
Kiedy w moim kraju zmienił się czas letni, czas zmieniał się o 1 godzinę przy każdym uruchomieniu (bez względu na to, ile razy ustawiałem czas systemowy ręcznie lub według ntpdate).
Ponownie próbowałem to naprawić, a teraz ma ona wielogodzinną zmianę, jak poprzednio (wartość przesunięcia jest różnicą czasu UTC i czasu lokalnego). A teraz wydaje się, że mój czas systemowy jest niezmienny. Ustawiam czas na date -s ...
i ntpdate pool.ntp.org
na przykład ... ale te środki wydają się nie utrzymywać po ponownym uruchomieniu. Próbowałem z uruchomionym demonem hwclock, uruchomionym ntpd i żaden z nich nie działał w DAEMONS. Jestem tym bardzo zdezorientowany.
Nie używam zbyt wiele okien. Wiem, że uruchamianie systemu Windows może powodować problemy w systemie Linux z czasem systemowym. Ale to nie mój problem. Za każdym razem, gdy uruchamiam Windows i Linux, mogę zresetować czas systemowy ręcznie lub za pomocą polecenia ntpdate. Możesz więc założyć, że nie mam żadnych okien na moim komputerze.
Chcę tylko, aby mój czas systemowy działał i nie był zmieniany automatycznie (przez ntp lub coś takiego), po prostu ustaw go ręcznie (ręcznie lub za pomocą polecenia ntpdate), kiedy chcę. Proszę pomóż.
Oto mój rc.conf
#
# /etc/rc.conf - Main Configuration for Arch Linux
#
# -----------------------------------------------------------------------
# LOCALIZATION
# -----------------------------------------------------------------------
#
# LOCALE: available languages can be listed with the 'locale -a' command
# DAEMON_LOCALE: If set to 'yes', use $LOCALE as the locale during daemon
# startup and during the boot process. If set to 'no', the C locale is used.
# HARDWARECLOCK: set to "", "UTC" or "localtime", any other value will result
# in the hardware clock being left untouched (useful for virtualization)
# Note: Using "localtime" is discouraged, using "" makes hwclock fall back
# to the value in /var/lib/hwclock/adjfile
# TIMEZONE: timezones are found in /usr/share/zoneinfo
# Note: if unset, the value in /etc/localtime is used unchanged
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
#
LOCALE="en_US.UTF-8"
DAEMON_LOCALE="no"
HARDWARECLOCK="UTC"
TIMEZONE="Asia/Tehran"
KEYMAP="us"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"
# -----------------------------------------------------------------------
# HARDWARE
# -----------------------------------------------------------------------
#
# MODULES: Modules to load at boot-up. Blacklisting is no longer supported.
# Replace every !module by an entry as on the following line in a file in
# /etc/modprobe.d:
# blacklist module
# See "man modprobe.conf" for details.
#
MODULES=(wl vboxdrv)
# Udev settle timeout (default to 30)
UDEV_TIMEOUT=30
# Scan for FakeRAID (dmraid) Volumes at startup
USEDMRAID="no"
# Scan for BTRFS volumes at startup
USEBTRFS="no"
# Scan for LVM volume groups at startup, required if you use LVM
USELVM="no"
# -----------------------------------------------------------------------
# NETWORKING
# -----------------------------------------------------------------------
#
# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts
#
HOSTNAME="ilius-vostro3300"
# Use 'ip addr' or 'ls /sys/class/net/' to see all available interfaces.
#
# Wired network setup
# - interface: name of device (required)
# - address: IP address (leave blank for DHCP)
# - netmask: subnet mask (ignored for DHCP) (optional, defaults to 255.255.255.0)
# - broadcast: broadcast address (ignored for DHCP) (optional)
# - gateway: default route (ignored for DHCP)
#
# Static IP example
# interface=eth0
# address=192.168.0.2
# netmask=255.255.255.0
# broadcast=192.168.0.255
# gateway=192.168.0.1
#
# DHCP example
# interface=eth0
# address=
# netmask=
# gateway=
interface=
address=
netmask=
broadcast=
gateway=
# Setting this to "yes" will skip network shutdown.
# This is required if your root device is on NFS.
NETWORK_PERSIST="no"
# Enable these netcfg profiles at boot-up. These are useful if you happen to
# need more advanced network features than the simple network service
# supports, such as multiple network configurations (ie, laptop users)
# - set to 'menu' to present a menu during boot-up (dialog package required)
# - prefix an entry with a ! to disable it
#
# Network profiles are found in /etc/network.d
#
# This requires the netcfg package
#
#NETWORKS=(main)
# -----------------------------------------------------------------------
# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
# - prefix a daemon with a ! to disable it
# - prefix a daemon with a @ to start it up in the background
#
# If something other takes care of your hardware clock (ntpd, dual-boot...)
# you should disable 'hwclock' here.
#
DAEMONS=(syslog-ng dbus wicd)
## REMOVED: netfs network crond hwclock
## ADDED: dbus networkmanager sshd nfs-common bluetooth samba httpd postgresql IBSng starcal2d wicd
źródło
man hwclock
dowiedzieć się więcej.PRZESTARZAŁY
Poniższe rozwiązanie było wykonalne dla starszych, wcześniejszych instalacji Arch Linux. Zostawiam to tutaj w celach historycznych.
PRZESTARZAŁY
Masz HARDWARECLOCK ustawiony na UTC w twoim rc.conf. Myślę, że to sprawca. Jeśli znajdujesz się w sytuacji podwójnego rozruchu systemu Windows, powinieneś ustawić go na „czas lokalny” (patrz dokumentacja instalacji arch IIRC).
Inną przyczyną problemu mogą być błędne skrypty startowe, ponieważ arch powinien wykonywać „--hctosys” i „--systohc” podczas uruchamiania / zamykania systemu.
W Linuksie musisz rozróżniać zegar systemowy (nazwijmy go SC) i zegar sprzętowy (HC). Są osobne, ale połączone. Czas w SC (w czasie rzeczywistym) jest obliczany z uwzględnieniem ustawień HC (czasu lokalnego lub UTC) i strefy czasowej systemu. W systemie Windows nie ma obliczeń - wartość HC jest wartością SC. Tak więc, jeśli UTC różni się od czasu lokalnego, Linux jest ustawiony tak, aby traktować HC jak ustawiony na UTC, a Linux SC pokazuje właściwy czas, okna pokażą śmieci. Jeśli natomiast czas systemu Windows jest ustawiony poprawnie, a linux traktuje HC jako ustawiony na UTC, wówczas linux „SC pokazuje czas„ przesunięty ”. Rozwiązaniem byłoby sprawienie, aby linux traktował HC jako czas lokalny (HARDWARECLOCK = „czas lokalny”).
źródło