clock synchronization rewrite
clock synchronization mechanism rewritten to use systemd-timesync instead of NtpDate; at the moment, requires: - modifying /etc/qubes-rpc/policy/qubes.GetDate to redirect GetDate to designated clockvm - enabling clocksync service in clockvm ( qvm-features clockvm-name service/clocksync true ) Works as specified in issue listed below, except for: - each VM synces with clockvm after boot and every 6h - clockvm synces time with the Internet using systemd-timesync - dom0 synces itself with clockvm every 1h (using cron) fixes QubesOS/qubes-issues#1230
This commit is contained in:
parent
e9e5795519
commit
f55412cd1e
14
Makefile
14
Makefile
@ -56,12 +56,13 @@ SYSTEM_DROPIN_DIR ?= "lib/systemd/system"
|
|||||||
USER_DROPIN_DIR ?= "usr/lib/systemd/user"
|
USER_DROPIN_DIR ?= "usr/lib/systemd/user"
|
||||||
|
|
||||||
SYSTEM_DROPINS := chronyd.service crond.service cups.service cups.path cups.socket ModemManager.service
|
SYSTEM_DROPINS := chronyd.service crond.service cups.service cups.path cups.socket ModemManager.service
|
||||||
SYSTEM_DROPINS += NetworkManager.service NetworkManager-wait-online.service ntpd.service getty@tty.service
|
SYSTEM_DROPINS += NetworkManager.service NetworkManager-wait-online.service getty@tty.service
|
||||||
SYSTEM_DROPINS += tinyproxy.service
|
SYSTEM_DROPINS += tinyproxy.service
|
||||||
SYSTEM_DROPINS += tmp.mount
|
SYSTEM_DROPINS += tmp.mount
|
||||||
SYSTEM_DROPINS += org.cups.cupsd.service org.cups.cupsd.path org.cups.cupsd.socket
|
SYSTEM_DROPINS += org.cups.cupsd.service org.cups.cupsd.path org.cups.cupsd.socket
|
||||||
SYSTEM_DROPINS += systemd-random-seed.service
|
SYSTEM_DROPINS += systemd-random-seed.service
|
||||||
SYSTEM_DROPINS += tor.service tor@default.service
|
SYSTEM_DROPINS += tor.service tor@default.service
|
||||||
|
SYSTEM_DROPINS += systemd-timesyncd.service
|
||||||
|
|
||||||
USER_DROPINS := pulseaudio.service pulseaudio.socket
|
USER_DROPINS := pulseaudio.service pulseaudio.socket
|
||||||
|
|
||||||
@ -76,9 +77,6 @@ endif
|
|||||||
|
|
||||||
# Debian Dropins
|
# Debian Dropins
|
||||||
ifeq ($(shell lsb_release -is), Debian)
|
ifeq ($(shell lsb_release -is), Debian)
|
||||||
# Don't have 'ntpd' in Debian
|
|
||||||
SYSTEM_DROPINS := $(filter-out ntpd.service, $(SYSTEM_DROPINS))
|
|
||||||
|
|
||||||
# 'crond.service' is named 'cron.service in Debian
|
# 'crond.service' is named 'cron.service in Debian
|
||||||
SYSTEM_DROPINS := $(strip $(patsubst crond.service, cron.service, $(SYSTEM_DROPINS)))
|
SYSTEM_DROPINS := $(strip $(patsubst crond.service, cron.service, $(SYSTEM_DROPINS)))
|
||||||
|
|
||||||
@ -235,6 +233,7 @@ install-common: install-doc
|
|||||||
install -d $(DESTDIR)$(BINDIR)
|
install -d $(DESTDIR)$(BINDIR)
|
||||||
install -m 0755 misc/qubes-session-autostart $(DESTDIR)$(BINDIR)/qubes-session-autostart
|
install -m 0755 misc/qubes-session-autostart $(DESTDIR)$(BINDIR)/qubes-session-autostart
|
||||||
install -m 0755 misc/qvm-features-request $(DESTDIR)$(BINDIR)/qvm-features-request
|
install -m 0755 misc/qvm-features-request $(DESTDIR)$(BINDIR)/qvm-features-request
|
||||||
|
install -m 0755 qubes-rpc/qvm-sync-clock $(DESTDIR)$(BINDIR)/qvm-sync-clock
|
||||||
install qubes-rpc/{qvm-open-in-dvm,qvm-open-in-vm,qvm-copy-to-vm,qvm-run-vm} $(DESTDIR)/usr/bin
|
install qubes-rpc/{qvm-open-in-dvm,qvm-open-in-vm,qvm-copy-to-vm,qvm-run-vm} $(DESTDIR)/usr/bin
|
||||||
ln -s qvm-copy-to-vm $(DESTDIR)/usr/bin/qvm-move-to-vm
|
ln -s qvm-copy-to-vm $(DESTDIR)/usr/bin/qvm-move-to-vm
|
||||||
install qubes-rpc/qvm-copy-to-vm.kde $(DESTDIR)$(LIBDIR)/qubes
|
install qubes-rpc/qvm-copy-to-vm.kde $(DESTDIR)$(LIBDIR)/qubes
|
||||||
@ -248,13 +247,13 @@ install-common: install-doc
|
|||||||
# Install qfile-unpacker as SUID - because it will fail to receive files from other vm
|
# Install qfile-unpacker as SUID - because it will fail to receive files from other vm
|
||||||
install -m 4755 qubes-rpc/qfile-unpacker $(DESTDIR)$(LIBDIR)/qubes
|
install -m 4755 qubes-rpc/qfile-unpacker $(DESTDIR)$(LIBDIR)/qubes
|
||||||
install qubes-rpc/qrun-in-vm $(DESTDIR)$(LIBDIR)/qubes
|
install qubes-rpc/qrun-in-vm $(DESTDIR)$(LIBDIR)/qubes
|
||||||
install qubes-rpc/sync-ntp-clock $(DESTDIR)$(LIBDIR)/qubes
|
|
||||||
install qubes-rpc/prepare-suspend $(DESTDIR)$(LIBDIR)/qubes
|
install qubes-rpc/prepare-suspend $(DESTDIR)$(LIBDIR)/qubes
|
||||||
|
install qubes-rpc/qubes-sync-clock $(DESTDIR)$(LIBDIR)/qubes
|
||||||
install -m 0644 misc/qubes-suspend-module-blacklist $(DESTDIR)/etc/qubes-suspend-module-blacklist
|
install -m 0644 misc/qubes-suspend-module-blacklist $(DESTDIR)/etc/qubes-suspend-module-blacklist
|
||||||
install -d $(DESTDIR)/$(KDESERVICEDIR)
|
install -d $(DESTDIR)/$(KDESERVICEDIR)
|
||||||
install -m 0644 qubes-rpc/{qvm-copy.desktop,qvm-move.desktop,qvm-dvm.desktop} $(DESTDIR)/$(KDESERVICEDIR)
|
install -m 0644 qubes-rpc/{qvm-copy.desktop,qvm-move.desktop,qvm-dvm.desktop} $(DESTDIR)/$(KDESERVICEDIR)
|
||||||
install -d $(DESTDIR)/etc/qubes-rpc
|
install -d $(DESTDIR)/etc/qubes-rpc
|
||||||
install -m 0755 qubes-rpc/{qubes.Filecopy,qubes.OpenInVM,qubes.VMShell,qubes.SyncNtpClock} $(DESTDIR)/etc/qubes-rpc
|
install -m 0755 qubes-rpc/{qubes.Filecopy,qubes.OpenInVM,qubes.VMShell} $(DESTDIR)/etc/qubes-rpc
|
||||||
install -m 0755 qubes-rpc/qubes.VMRootShell $(DESTDIR)/etc/qubes-rpc
|
install -m 0755 qubes-rpc/qubes.VMRootShell $(DESTDIR)/etc/qubes-rpc
|
||||||
install -m 0755 qubes-rpc/qubes.OpenURL $(DESTDIR)/etc/qubes-rpc
|
install -m 0755 qubes-rpc/qubes.OpenURL $(DESTDIR)/etc/qubes-rpc
|
||||||
install -m 0755 qubes-rpc/{qubes.SuspendPre,qubes.SuspendPost,qubes.GetAppmenus} $(DESTDIR)/etc/qubes-rpc
|
install -m 0755 qubes-rpc/{qubes.SuspendPre,qubes.SuspendPost,qubes.GetAppmenus} $(DESTDIR)/etc/qubes-rpc
|
||||||
@ -271,15 +270,16 @@ install-common: install-doc
|
|||||||
install -m 0755 qubes-rpc/qubes.StartApp $(DESTDIR)/etc/qubes-rpc
|
install -m 0755 qubes-rpc/qubes.StartApp $(DESTDIR)/etc/qubes-rpc
|
||||||
install -m 0755 qubes-rpc/qubes.UpdatesProxy $(DESTDIR)/etc/qubes-rpc
|
install -m 0755 qubes-rpc/qubes.UpdatesProxy $(DESTDIR)/etc/qubes-rpc
|
||||||
install -m 0755 qubes-rpc/qubes.PostInstall $(DESTDIR)/etc/qubes-rpc
|
install -m 0755 qubes-rpc/qubes.PostInstall $(DESTDIR)/etc/qubes-rpc
|
||||||
|
install -m 0755 qubes-rpc/qubes.GetDate $(DESTDIR)/etc/qubes-rpc
|
||||||
|
|
||||||
install -d $(DESTDIR)/etc/qubes/suspend-pre.d
|
install -d $(DESTDIR)/etc/qubes/suspend-pre.d
|
||||||
install -m 0644 qubes-rpc/suspend-pre.README $(DESTDIR)/etc/qubes/suspend-pre.d/README
|
install -m 0644 qubes-rpc/suspend-pre.README $(DESTDIR)/etc/qubes/suspend-pre.d/README
|
||||||
install -d $(DESTDIR)/etc/qubes/suspend-post.d
|
install -d $(DESTDIR)/etc/qubes/suspend-post.d
|
||||||
install -m 0644 qubes-rpc/suspend-post.README $(DESTDIR)/etc/qubes/suspend-post.d/README
|
install -m 0644 qubes-rpc/suspend-post.README $(DESTDIR)/etc/qubes/suspend-post.d/README
|
||||||
|
ln -s $(BINDIR)/qvm-sync-clock $(DESTDIR)/etc/qubes/suspend-post.d/qvm-sync-clock.sh
|
||||||
install -d $(DESTDIR)/etc/qubes/post-install.d
|
install -d $(DESTDIR)/etc/qubes/post-install.d
|
||||||
install -m 0644 post-install.d/README $(DESTDIR)/etc/qubes/post-install.d/
|
install -m 0644 post-install.d/README $(DESTDIR)/etc/qubes/post-install.d/
|
||||||
install -m 0755 post-install.d/*.sh $(DESTDIR)/etc/qubes/post-install.d/
|
install -m 0755 post-install.d/*.sh $(DESTDIR)/etc/qubes/post-install.d/
|
||||||
|
|
||||||
install -d $(DESTDIR)/usr/share/nautilus-python/extensions
|
install -d $(DESTDIR)/usr/share/nautilus-python/extensions
|
||||||
install -m 0644 qubes-rpc/*_nautilus.py $(DESTDIR)/usr/share/nautilus-python/extensions
|
install -m 0644 qubes-rpc/*_nautilus.py $(DESTDIR)/usr/share/nautilus-python/extensions
|
||||||
|
|
||||||
|
9
debian/qubes-core-agent.install
vendored
9
debian/qubes-core-agent.install
vendored
@ -25,15 +25,16 @@ etc/qubes-rpc/qubes.SuspendPost
|
|||||||
etc/qubes-rpc/qubes.SuspendPostAll
|
etc/qubes-rpc/qubes.SuspendPostAll
|
||||||
etc/qubes-rpc/qubes.SuspendPre
|
etc/qubes-rpc/qubes.SuspendPre
|
||||||
etc/qubes-rpc/qubes.SuspendPreAll
|
etc/qubes-rpc/qubes.SuspendPreAll
|
||||||
etc/qubes-rpc/qubes.SyncNtpClock
|
|
||||||
etc/qubes-rpc/qubes.VMShell
|
etc/qubes-rpc/qubes.VMShell
|
||||||
etc/qubes-rpc/qubes.VMRootShell
|
etc/qubes-rpc/qubes.VMRootShell
|
||||||
etc/qubes-rpc/qubes.WaitForSession
|
etc/qubes-rpc/qubes.WaitForSession
|
||||||
|
etc/qubes-rpc/qubes.GetDate
|
||||||
etc/qubes-suspend-module-blacklist
|
etc/qubes-suspend-module-blacklist
|
||||||
etc/qubes/autostart/*
|
etc/qubes/autostart/*
|
||||||
etc/qubes/post-install.d/README
|
etc/qubes/post-install.d/README
|
||||||
etc/qubes/post-install.d/*.sh
|
etc/qubes/post-install.d/*.sh
|
||||||
etc/qubes/suspend-post.d/README
|
etc/qubes/suspend-post.d/README
|
||||||
|
etc/qubes/suspend-post.d/*.sh
|
||||||
etc/qubes/suspend-pre.d/README
|
etc/qubes/suspend-pre.d/README
|
||||||
etc/sudoers.d/qt_x11_no_mitshm
|
etc/sudoers.d/qt_x11_no_mitshm
|
||||||
etc/sudoers.d/umask
|
etc/sudoers.d/umask
|
||||||
@ -68,11 +69,14 @@ lib/systemd/system/qubes-update-check.service
|
|||||||
lib/systemd/system/qubes-update-check.timer
|
lib/systemd/system/qubes-update-check.timer
|
||||||
lib/systemd/system/qubes-updates-proxy-forwarder@.service
|
lib/systemd/system/qubes-updates-proxy-forwarder@.service
|
||||||
lib/systemd/system/qubes-updates-proxy-forwarder.socket
|
lib/systemd/system/qubes-updates-proxy-forwarder.socket
|
||||||
|
lib/systemd/system/qubes-sync-time.service
|
||||||
|
lib/systemd/system/qubes-sync-time.timer
|
||||||
lib/systemd/system/systemd-random-seed.service.d/30_qubes.conf
|
lib/systemd/system/systemd-random-seed.service.d/30_qubes.conf
|
||||||
lib/systemd/system/tinyproxy.service.d/30_not_needed_in_qubes_by_default.conf
|
lib/systemd/system/tinyproxy.service.d/30_not_needed_in_qubes_by_default.conf
|
||||||
lib/systemd/system/tmp.mount.d/30_qubes.conf
|
lib/systemd/system/tmp.mount.d/30_qubes.conf
|
||||||
lib/systemd/system/tor.service.d/30_qubes.conf
|
lib/systemd/system/tor.service.d/30_qubes.conf
|
||||||
lib/systemd/system/tor@default.service.d/30_qubes.conf
|
lib/systemd/system/tor@default.service.d/30_qubes.conf
|
||||||
|
lib/systemd/system/systemd-timesyncd.service.d/30_qubes.conf
|
||||||
usr/bin/qubes-desktop-run
|
usr/bin/qubes-desktop-run
|
||||||
usr/bin/qubes-open
|
usr/bin/qubes-open
|
||||||
usr/bin/qubes-session-autostart
|
usr/bin/qubes-session-autostart
|
||||||
@ -82,6 +86,7 @@ usr/bin/qvm-move-to-vm
|
|||||||
usr/bin/qvm-open-in-dvm
|
usr/bin/qvm-open-in-dvm
|
||||||
usr/bin/qvm-open-in-vm
|
usr/bin/qvm-open-in-vm
|
||||||
usr/bin/qvm-run-vm
|
usr/bin/qvm-run-vm
|
||||||
|
usr/bin/qvm-sync-clock
|
||||||
usr/bin/xenstore-watch-qubes
|
usr/bin/xenstore-watch-qubes
|
||||||
usr/lib/python2.7/dist-packages/qubesxdg.py
|
usr/lib/python2.7/dist-packages/qubesxdg.py
|
||||||
usr/lib/python2.7/dist-packages/qubesagent-*.egg-info/*
|
usr/lib/python2.7/dist-packages/qubesagent-*.egg-info/*
|
||||||
@ -103,13 +108,13 @@ usr/lib/qubes/prepare-suspend
|
|||||||
usr/lib/qubes/qfile-agent
|
usr/lib/qubes/qfile-agent
|
||||||
usr/lib/qubes/qfile-unpacker
|
usr/lib/qubes/qfile-unpacker
|
||||||
usr/lib/qubes/qopen-in-vm
|
usr/lib/qubes/qopen-in-vm
|
||||||
|
usr/lib/qubes/qubes-sync-clock
|
||||||
usr/lib/qubes/qrun-in-vm
|
usr/lib/qubes/qrun-in-vm
|
||||||
usr/lib/qubes/qubes-trigger-sync-appmenus.sh
|
usr/lib/qubes/qubes-trigger-sync-appmenus.sh
|
||||||
usr/lib/qubes/qvm-copy-to-vm.gnome
|
usr/lib/qubes/qvm-copy-to-vm.gnome
|
||||||
usr/lib/qubes/qvm-copy-to-vm.kde
|
usr/lib/qubes/qvm-copy-to-vm.kde
|
||||||
usr/lib/qubes/qvm-move-to-vm.gnome
|
usr/lib/qubes/qvm-move-to-vm.gnome
|
||||||
usr/lib/qubes/qvm-move-to-vm.kde
|
usr/lib/qubes/qvm-move-to-vm.kde
|
||||||
usr/lib/qubes/sync-ntp-clock
|
|
||||||
usr/lib/qubes/tar2qfile
|
usr/lib/qubes/tar2qfile
|
||||||
usr/lib/qubes/update-proxy-configs
|
usr/lib/qubes/update-proxy-configs
|
||||||
usr/lib/qubes/upgrades-installed-check
|
usr/lib/qubes/upgrades-installed-check
|
||||||
|
38
qubes-rpc/qubes-sync-clock
Executable file
38
qubes-rpc/qubes-sync-clock
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
# -*- encoding: utf8 -*-
|
||||||
|
#
|
||||||
|
# The Qubes OS Project, http://www.qubes-os.org
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import re
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
def main():
|
||||||
|
stdin = sys.stdin.read(25)
|
||||||
|
|
||||||
|
date_out = stdin.strip()
|
||||||
|
|
||||||
|
if not re.match(r'^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+00:?00$', date_out):
|
||||||
|
sys.stderr.write('Invalid date received, aborting!')
|
||||||
|
sys.exit(1)
|
||||||
|
subprocess.check_call(['date', '-u', '-Iseconds', '-s', date_out],
|
||||||
|
stdout=subprocess.DEVNULL)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
22
qubes-rpc/qubes.GetDate
Executable file
22
qubes-rpc/qubes.GetDate
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# The Qubes OS Project, http://www.qubes-os.org
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
date -u -Iseconds
|
21
qubes-rpc/qvm-sync-clock
Normal file
21
qubes-rpc/qvm-sync-clock
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# The Qubes OS Project, http://www.qubes-os.org
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
qrexec-client-vm '$default' qubes.GetDate /usr/lib/qubes/qubes-sync-clock
|
@ -121,7 +121,6 @@ Requires: yum-plugin-post-transaction-actions
|
|||||||
Conflicts: firewalld
|
Conflicts: firewalld
|
||||||
%endif
|
%endif
|
||||||
Requires: xdg-utils
|
Requires: xdg-utils
|
||||||
Requires: ntpdate
|
|
||||||
Requires: qubes-utils >= 3.1.3
|
Requires: qubes-utils >= 3.1.3
|
||||||
Requires: initscripts
|
Requires: initscripts
|
||||||
Requires: gawk
|
Requires: gawk
|
||||||
@ -484,7 +483,6 @@ rm -f %{name}-%{version}
|
|||||||
%config(noreplace) /etc/qubes-rpc/qubes.GetAppmenus
|
%config(noreplace) /etc/qubes-rpc/qubes.GetAppmenus
|
||||||
%config(noreplace) /etc/qubes-rpc/qubes.VMShell
|
%config(noreplace) /etc/qubes-rpc/qubes.VMShell
|
||||||
%config(noreplace) /etc/qubes-rpc/qubes.VMRootShell
|
%config(noreplace) /etc/qubes-rpc/qubes.VMRootShell
|
||||||
%config(noreplace) /etc/qubes-rpc/qubes.SyncNtpClock
|
|
||||||
%config(noreplace) /etc/qubes-rpc/qubes.SuspendPre
|
%config(noreplace) /etc/qubes-rpc/qubes.SuspendPre
|
||||||
%config(noreplace) /etc/qubes-rpc/qubes.SuspendPreAll
|
%config(noreplace) /etc/qubes-rpc/qubes.SuspendPreAll
|
||||||
%config(noreplace) /etc/qubes-rpc/qubes.SuspendPost
|
%config(noreplace) /etc/qubes-rpc/qubes.SuspendPost
|
||||||
@ -501,6 +499,7 @@ rm -f %{name}-%{version}
|
|||||||
%config(noreplace) /etc/qubes-rpc/qubes.ResizeDisk
|
%config(noreplace) /etc/qubes-rpc/qubes.ResizeDisk
|
||||||
%config(noreplace) /etc/qubes-rpc/qubes.StartApp
|
%config(noreplace) /etc/qubes-rpc/qubes.StartApp
|
||||||
%config(noreplace) /etc/qubes-rpc/qubes.PostInstall
|
%config(noreplace) /etc/qubes-rpc/qubes.PostInstall
|
||||||
|
%config(noreplace) /etc/qubes-rpc/qubes.GetDate
|
||||||
%dir /etc/qubes/autostart
|
%dir /etc/qubes/autostart
|
||||||
%config(noreplace) /etc/default/grub.qubes
|
%config(noreplace) /etc/default/grub.qubes
|
||||||
/etc/qubes/autostart/README.txt
|
/etc/qubes/autostart/README.txt
|
||||||
@ -509,6 +508,7 @@ rm -f %{name}-%{version}
|
|||||||
/etc/qubes/suspend-pre.d/README
|
/etc/qubes/suspend-pre.d/README
|
||||||
%dir /etc/qubes/suspend-post.d
|
%dir /etc/qubes/suspend-post.d
|
||||||
/etc/qubes/suspend-post.d/README
|
/etc/qubes/suspend-post.d/README
|
||||||
|
/etc/qubes/suspend-post.d/qvm-sync-clock.sh
|
||||||
%dir /etc/qubes/post-install.d
|
%dir /etc/qubes/post-install.d
|
||||||
/etc/qubes/post-install.d/README
|
/etc/qubes/post-install.d/README
|
||||||
/etc/qubes/post-install.d/*.sh
|
/etc/qubes/post-install.d/*.sh
|
||||||
@ -531,12 +531,12 @@ rm -f %{name}-%{version}
|
|||||||
/usr/bin/qvm-open-in-vm
|
/usr/bin/qvm-open-in-vm
|
||||||
/usr/bin/qvm-run-vm
|
/usr/bin/qvm-run-vm
|
||||||
/usr/bin/qvm-features-request
|
/usr/bin/qvm-features-request
|
||||||
|
/usr/bin/qvm-sync-clock
|
||||||
/usr/bin/xenstore-watch-qubes
|
/usr/bin/xenstore-watch-qubes
|
||||||
/usr/bin/qubes-desktop-run
|
/usr/bin/qubes-desktop-run
|
||||||
/usr/bin/qubes-open
|
/usr/bin/qubes-open
|
||||||
/usr/bin/qubes-session-autostart
|
/usr/bin/qubes-session-autostart
|
||||||
%dir /usr/lib/qubes
|
%dir /usr/lib/qubes
|
||||||
/usr/lib/qubes/sync-ntp-clock
|
|
||||||
/usr/lib/qubes/prepare-suspend
|
/usr/lib/qubes/prepare-suspend
|
||||||
/usr/lib/qubes/qfile-agent
|
/usr/lib/qubes/qfile-agent
|
||||||
%attr(4755,root,root) /usr/lib/qubes/qfile-unpacker
|
%attr(4755,root,root) /usr/lib/qubes/qfile-unpacker
|
||||||
@ -552,6 +552,7 @@ rm -f %{name}-%{version}
|
|||||||
/usr/lib/qubes/update-proxy-configs
|
/usr/lib/qubes/update-proxy-configs
|
||||||
/usr/lib/qubes/upgrades-installed-check
|
/usr/lib/qubes/upgrades-installed-check
|
||||||
/usr/lib/qubes/upgrades-status-notify
|
/usr/lib/qubes/upgrades-status-notify
|
||||||
|
/usr/lib/qubes/qubes-sync-clock
|
||||||
/usr/lib/yum-plugins/yum-qubes-hooks.py*
|
/usr/lib/yum-plugins/yum-qubes-hooks.py*
|
||||||
/usr/lib/dracut/dracut.conf.d/30-qubes.conf
|
/usr/lib/dracut/dracut.conf.d/30-qubes.conf
|
||||||
%dir /usr/lib/qubes/init
|
%dir /usr/lib/qubes/init
|
||||||
@ -748,6 +749,8 @@ The Qubes core startup configuration for SystemD init.
|
|||||||
/lib/systemd/system/qubes-early-vm-config.service
|
/lib/systemd/system/qubes-early-vm-config.service
|
||||||
/lib/systemd/system/qubes-update-check.service
|
/lib/systemd/system/qubes-update-check.service
|
||||||
/lib/systemd/system/qubes-update-check.timer
|
/lib/systemd/system/qubes-update-check.timer
|
||||||
|
/lib/systemd/system/qubes-sync-time.service
|
||||||
|
/lib/systemd/system/qubes-sync-time.timer
|
||||||
/lib/systemd/system/qubes-updates-proxy-forwarder@.service
|
/lib/systemd/system/qubes-updates-proxy-forwarder@.service
|
||||||
/lib/systemd/system/qubes-updates-proxy-forwarder.socket
|
/lib/systemd/system/qubes-updates-proxy-forwarder.socket
|
||||||
/lib/systemd/system-preset/%qubes_preset_file
|
/lib/systemd/system-preset/%qubes_preset_file
|
||||||
@ -764,8 +767,8 @@ The Qubes core startup configuration for SystemD init.
|
|||||||
/lib/systemd/system/ModemManager.service.d/30_qubes.conf
|
/lib/systemd/system/ModemManager.service.d/30_qubes.conf
|
||||||
/lib/systemd/system/NetworkManager.service.d/30_qubes.conf
|
/lib/systemd/system/NetworkManager.service.d/30_qubes.conf
|
||||||
/lib/systemd/system/NetworkManager-wait-online.service.d/30_qubes.conf
|
/lib/systemd/system/NetworkManager-wait-online.service.d/30_qubes.conf
|
||||||
/lib/systemd/system/ntpd.service.d/30_qubes.conf
|
|
||||||
/lib/systemd/system/systemd-random-seed.service.d/30_qubes.conf
|
/lib/systemd/system/systemd-random-seed.service.d/30_qubes.conf
|
||||||
|
/lib/systemd/system/systemd-timesyncd.service.d/30_qubes.conf
|
||||||
/lib/systemd/system/tinyproxy.service.d/30_not_needed_in_qubes_by_default.conf
|
/lib/systemd/system/tinyproxy.service.d/30_not_needed_in_qubes_by_default.conf
|
||||||
/lib/systemd/system/tor.service.d/30_qubes.conf
|
/lib/systemd/system/tor.service.d/30_qubes.conf
|
||||||
/lib/systemd/system/tor@default.service.d/30_qubes.conf
|
/lib/systemd/system/tor@default.service.d/30_qubes.conf
|
||||||
|
@ -55,7 +55,6 @@ disable plymouth-quit-wait.service
|
|||||||
disable smartd.service
|
disable smartd.service
|
||||||
disable upower.service
|
disable upower.service
|
||||||
disable colord.service
|
disable colord.service
|
||||||
disable systemd-timesyncd.service
|
|
||||||
|
|
||||||
# Fedora only services
|
# Fedora only services
|
||||||
disable cpuspeed.service
|
disable cpuspeed.service
|
||||||
@ -93,3 +92,6 @@ enable qubes-updates-proxy-forwarder.socket
|
|||||||
enable haveged.service
|
enable haveged.service
|
||||||
enable chronyd.service
|
enable chronyd.service
|
||||||
enable xendriverdomain.service
|
enable xendriverdomain.service
|
||||||
|
enable systemd-timesyncd.service
|
||||||
|
enable qubes-sync-time.service
|
||||||
|
enable qubes-sync-time.timer
|
@ -1,3 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
ConditionPathExists=/var/run/qubes-service/ntpd
|
|
||||||
After=qubes-sysinit.service
|
|
7
vm-systemd/qubes-sync-time.service
Normal file
7
vm-systemd/qubes-sync-time.service
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Update time from ClockVM
|
||||||
|
ConditionPathExists=!/var/run/qubes-service/clocksync
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/qvm-sync-clock
|
||||||
|
User=root
|
9
vm-systemd/qubes-sync-time.timer
Normal file
9
vm-systemd/qubes-sync-time.timer
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Update system time each 6h
|
||||||
|
ConditionPathExists=!/var/run/qubes-service/clocksync
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnBootSec=10s
|
||||||
|
OnUnitActiveSec=6h
|
||||||
|
|
||||||
|
|
2
vm-systemd/systemd-timesyncd.service.d/30_qubes.conf
Normal file
2
vm-systemd/systemd-timesyncd.service.d/30_qubes.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[Unit]
|
||||||
|
ConditionPathExists=/var/run/qubes-service/clocksync
|
Loading…
Reference in New Issue
Block a user