qubes_core 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/sh
  2. #
  3. # chkconfig: 2345 99 00
  4. # description: Executes Qubes core scripts at Dom0 boot
  5. #
  6. ### BEGIN INIT INFO
  7. # Provides: qubes-core
  8. # Required-Start: xend
  9. # Default-Start: 3 4 5
  10. # Default-Stop: 0 1 2 6
  11. # Default-Enabled: yes
  12. # Short-Description: Start/stop qubes-core services
  13. # Description: Starts and stops the qubes-core serives
  14. ### END INIT INFO
  15. # Source function library.
  16. . /etc/rc.d/init.d/functions
  17. start()
  18. {
  19. echo -n $"Executing Qubes Core scripts:"
  20. chgrp qubes /etc/xen
  21. chmod 710 /etc/xen
  22. chgrp qubes /var/run/xend
  23. chmod 710 /var/run/xend
  24. chgrp qubes /var/run/xend/xen-api.sock /var/run/xend/xmlrpc.sock
  25. chmod 660 /var/run/xend/xen-api.sock /var/run/xend/xmlrpc.sock
  26. chgrp qubes /var/run/xenstored/*
  27. chmod 660 /var/run/xenstored/*
  28. xm sched-credit -d 0 -w 65535
  29. cp /var/lib/qubes/qubes.xml /var/lib/qubes/backup/qubes-$(date +%F-%T).xml
  30. touch /var/lock/subsys/qubes_core
  31. success
  32. echo
  33. }
  34. stop()
  35. {
  36. echo -n $"Shutting down all Qubes VMs:"
  37. NETVM=$(qvm-get-default-netvm)
  38. qvm-run -q --shutdown --all --wait --exclude $NETVM
  39. rm -f /var/lock/subsys/qubes_core
  40. success
  41. echo
  42. }
  43. case "$1" in
  44. start)
  45. start
  46. ;;
  47. stop)
  48. stop
  49. ;;
  50. *)
  51. echo $"Usage: $0 {start|stop}"
  52. exit 3
  53. ;;
  54. esac
  55. exit $RETVAL