mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-01-19 05:27:39 +00:00
cba2d4e6aa
Set up systemd and System V side-by-side with the ability to reboot to either system. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10520 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
133 lines
5.4 KiB
XML
133 lines
5.4 KiB
XML
<?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/clock
|
|
|
|
UTC=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.0
|
|
0
|
|
LOCAL</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>
|