| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [  <!ENTITY % general-entities SYSTEM "../general.ent">  %general-entities;]><sect1 id="ch-scripts-clock">  <?dbhtml filename="clock.html"?>  <title>Configuring the System Clock</title>  <para>Procedures for setting the system clock differ between systemd and   System V, however the separate procedures do not conflict so both  procedures should be accomplished to allow switching between systems.</para>  <sect2 id="ch-scripts-setclock">    <title>System V Clock Configuration</title>    <indexterm zone="ch-scripts-setclock">      <primary sortas="d-setclock">setclock</primary>    <secondary>configuring</secondary></indexterm>    <para>The <command>setclock</command> script reads the time from the hardware    clock, also known as the BIOS or the Complementary Metal Oxide Semiconductor    (CMOS) clock. If the hardware clock is set to UTC, this script will convert the    hardware clock's time to the local time using the    <filename>/etc/localtime</filename> file (which tells the    <command>hwclock</command> program which timezone the user is in). There is no    way to detect whether or not the hardware clock is set to UTC, so this    needs to be configured manually.</para>    <para>The <command>setclock</command> is run via    <application>udev</application> when the kernel detects the hardware    capability upon boot.  It can also be run manually with the stop parameter to    store the system time to the CMOS clock.</para>    <para>If you cannot remember whether or not the hardware clock is set to UTC,    find out by running the <userinput>hwclock --localtime --show</userinput>    command. This will display what the current time is according to the hardware    clock. If this time matches whatever your watch says, then the hardware clock is    set to local time. If the output from <command>hwclock</command> is not local    time, chances are it is set to UTC time. Verify this by adding or subtracting    the proper amount of hours for the timezone to the time shown by    <command>hwclock</command>. For example, if you are currently in the MST    timezone, which is also known as GMT -0700, add seven hours to the local    time.</para>    <para>Change the value of the <envar>UTC</envar> variable below    to a value of <parameter>0</parameter> (zero) if the hardware clock    is <emphasis>not</emphasis> set to UTC time.</para>    <para>Create a new file <filename>/etc/sysconfig/clock</filename> by running    the following:</para><screen><userinput>cat > /etc/sysconfig/clock << "EOF"<literal># Begin /etc/sysconfig/clockUTC=1# Set this to any options you might need to give to hwclock,# such as machine hardware clock type for Alphas.CLOCKPARAMS=# End /etc/sysconfig/clock</literal>EOF</userinput></screen>    <para>A good hint explaining how to deal with time on LFS is available    at <ulink url="&hints-root;time.txt"/>. It explains issues such as    time zones, UTC, and the <envar>TZ</envar> environment variable.</para>    <note><para>The CLOCKPARAMS and UTC paramaters may be alternatively set    in the <filename>/etc/sysconfig/rc.site</filename> file.</para></note>  </sect2>  <sect2 id="ch-scripts-systemd-clock">    <title>Systemd Clock Configuration</title>  <indexterm zone="ch-scripts-clock">    <primary sortas="d-clock">clock</primary>  <secondary>configuring</secondary></indexterm>  <para>This section discusses how to configure the  <command>systemd-timedated</command> system service, which configures  system clock and timezone.</para>  <para><command>systemd-timedated</command> reads  <filename>/etc/adjtime</filename>, and depending on the contents of the file,  it sets the clock to either UTC or local time.  Create the  <filename>/etc/adjtime</filename> file with the following contents <emphasis>if your  hardware clock is set to local time</emphasis>:</para><screen role="nodump"><userinput>cat > /etc/adjtime << "EOF"<literal>0.0 0 0.00LOCAL</literal>EOF</userinput></screen>    <para>If <filename>/etc/adjtime</filename> isn't present at first boot,    <command>systemd-timedated</command> will assume that hardware clock is    set to UTC and create the file using that setting.</para>    <para>You can also use the <command>timedatectl</command> utility to tell    <command>systemd-timedated</command> if your hardware clock is set to    UTC or local time:</para><screen role="nodump"><userinput>timedatectl set-local-rtc 1</userinput></screen>    <para><command>timedatectl</command> can also be used to change system time and    time zone.</para>    <para>To change your current system time, issue:</para><screen role="nodump"><userinput>timedatectl set-time YYYY:MM:DD HH:MM:SS</userinput></screen>    <para>Hardware clock will also be updated accordingly.</para>    <para>To change your current time zone, issue:</para><screen role="nodump"><userinput>timedatectl set-timezone TIMEZONE</userinput></screen>    <para>You can get list of available time zones by running:</para><screen role="nodump"><userinput>timedatectl list-timezones</userinput></screen>    <note><para>Please note that <command>timedatectl</command> command can    be used only on a system booted with Systemd.</para></note>  </sect2></sect1>
 |