VirtualBox-Ubuntu 게스트 OS-timedatectl set-timezone에 액세스가 거부되었습니다. 사용자로 시간대를 변경하려고했습니다 .

VirtualBox에 Ubuntu 16.04.1 LTS를 설치 timedatectl set-timezone Europe/Berlin하고 루트 사용자로 시간대를 변경하려고했습니다 . 불행히도, 이것은 작동하지 않고 출력을 얻었습니다.

Failed to set time zone: Access denied

/etc/localtime링크 를 수동으로 제거하고에 대한 새 링크를 만드는 옵션에 대해 알고 /usr/share/zoneinfo/Europe/Berlin있지만 실용적이지 않으며 왜 timedatectl작동 하지 않는지 이해할 수 없습니다.

도움이 될 수있는 추가 시스템 정보 :

$ ls -la /etc | grep localtime
lrwxrwxrwx 1 root    root       27 Feb 14 07:48 localtime -> /usr/share/zoneinfo/Etc/UTC
$ ls -la /usr/share/zoneinfo/Europe/ | grep Berlin
-rw-r--r-- 1 root root 2335 Dec  7 10:59 Berlin

편집 :
추가 이상한 행동을 발견했습니다. Access denied오류가 발생 하더라도 시간대가 변경됩니다. 그리고 잠시 후 UTC로 다시 설정됩니다.

root@ces:/home/vagrant# timedatectl
      Local time: Tue 2017-02-14 11:27:31 CET
  Universal time: Tue 2017-02-14 10:27:31 UTC
        RTC time: Tue 2017-02-14 08:17:50
       Time zone: Europe/Belgrade (CET, +0100)
 Network time on: yes
NTP synchronized: no
 RTC in local TZ: no
root@ces:/home/vagrant# timedatectl set-timezone Europe/Berlin
Failed to set time zone: Access denied
root@ces:/home/vagrant# timedatectl
      Local time: Tue 2017-02-14 11:27:40 CET
  Universal time: Tue 2017-02-14 10:27:40 UTC
        RTC time: Tue 2017-02-14 08:17:59
       Time zone: Europe/Berlin (CET, +0100)
 Network time on: yes
NTP synchronized: no
 RTC in local TZ: no
root@ces:/home/vagrant# timedatectl
      Local time: Tue 2017-02-14 10:28:32 UTC
  Universal time: Tue 2017-02-14 10:28:32 UTC
        RTC time: Tue 2017-02-14 08:18:50
       Time zone: Etc/UTC (UTC, +0000)
 Network time on: yes
NTP synchronized: no
 RTC in local TZ: no

편집 : packer 사용하여 시스템을 자동으로 설치하고 있습니다 . 여기에는 다음 줄이 포함 된 미리 설정 파일 사용이 포함됩니다.

d-i clock-setup/utc boolean true
d-i clock-setup/utc-auto boolean true
d-i time/zone string UTC

마지막 라인 종류를 제거하면 문제가 해결되지만 설치 프로세스 (시간대가 추정되며 “예”를 눌러 확인해야 함) 중에 자동화를 파괴하는 질문이 생깁니다.



답변

VirtualBox 설명서에서 Guest Additions를 설치했다고 가정하면 “VirtualBox Guest Additions는 게스트의 시스템 시간이 호스트 시간과 동기화되도록합니다.” “튜닝 할 수있는 몇 가지 매개 변수가 있습니다.”

게스트 추가 시간 동기화 비활성화 :
VirtualBox 게스트 추가는 설치 및 시작되면 게스트 시간과 호스트 시간을 동기화하려고합니다. 게스트 서비스가 호스트 시계를 읽지 못하게함으로써이를 방지 할 수 있습니다.

VBoxManage setextradata "VM name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

이제 “이상한 동작”이라고하는 근본 원인을 알았으며 게스트 시간을 호스트 시간과 자동으로 동기화하는 기본 설정을 끄면 게스트 시스템 내에서 표준 시간대를 영구적으로 설정할 수 있습니다.

참조 : 공식 VirtualBox 매뉴얼 9.14 장-> 미세 조정 타이머 및 시간 동기화