ManaTools::Shared::TimeZone
NAME
SYNOPSIS
DESCRIPTION
SUPPORT
AUTHOR
COPYRIGHT and LICENSE
METHODS
NAME
ManaTools::Shared::TimeZone − module to manage TimeZone settings
SYNOPSIS
my $tz = ManaTools::Shared::TimeZone−>new();
DESCRIPTION
This module allows to manage time zone settings.
SUPPORT
You can find documentation for this module with the perldoc command:
perldoc ManaTools::Shared::TimeZone
AUTHOR
Angelo Naselli
COPYRIGHT and LICENSE
Copyright (C) 2014−2017, Angelo Naselli.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, as published by the Free Software Foundation.
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., 59 Temple Place − Suite 330, Boston, MA 02111−1307, USA.
METHODS
new − optional parameters
timezone_prefix
optional parameter to set the system timezone directory,
default value is /usr/share/zoneinfo
new − optional parameters
ntp_configuration_file
optional parameter to set the ntp server configuration file,
it meant to be for testing purpose, do not set or it will
be considered as configuration file despite of what the ntp
service is.
new − optional parameters
ntp_conf_dir
optional parameter to set ntp configuration directory,
default value is /etc/ntp
new − optional parameters
ntp_program
optional parameter to set the ntp program that runs into the
system, available value are chronyd, ntpd and systemd−timesyncd.
Default value is evaluate by configuration file found in the
system, fallback choice is systemd−timesyncd.
attribute
ntpServiceConfig
This RO attribute is a HashRef containing managed ntp
service as key and related configuration file.
Allowed actions:
getNTPServiceConfig => retrieves config file from the
given ntp service
ntpServiceConfigPairs => Key,Value pairs access
attribute
ntpServiceList
This attribute is a ArrayRef containing the sorted list of
configured NTP service into the system, retrieving info from
services.
new − optional parameters
installer_or_livecd
To inform the back−end that is working during installer or
livecd. Useful if Time zone setting and using fix_system
to use the real time clock (see setLocalRTC and
writeConfiguration).
refreshNTPServiceList
DESCRIPTION
Refresh the ntpServiceList attribute value, usefull
if any NTP service has been istalled after having
instantiated this object
get_timezone_prefix
OUTPUT
timezone_prefix: directory in which time zone files are
DESCRIPTION
Return the timezone directory (defualt: /usr/share/zoneinfo)
getTimeZones
INPUT
$from_system: if present and its value is not 0 checks into timezone_prefix
directory and gets the list from there
OUTPUT
@l: ARRAY containing sorted time zones
DESCRIPTION
This method returns the available timezones
setTimeZone
INPUT
$new_time_zone: New time zone to be set
DESCRIPTION
This method get the new time zone to set and performs
the setting
getTimeZone
OUTPUT
$timezone: current time zone
DESCRIPTION
This method returns the current timezone setting
setLocalRTC
INPUT
$enable: bool value enable/disable real time clock as
localtime
$fix_system: bool read or not the real time clock
DESCRIPTION
This method enables/disables the real time clock as
localtime (e.g. disable means set the rtc to UTC).
NOTE from dbus:
Use SetLocalRTC() to control whether the RTC is in
local time or UTC. It is strongly recommended to maintain
the RTC in UTC. Some OSes (Windows) however maintain the
RTC in local time which might make it necessary to enable
this feature. However, this creates various problems as
daylight changes might be missed. If fix_system is passed
“true” the time from the RTC is read again and the system
clock adjusted according to the new setting.
If fix_system is passed “false” the system time is written
to the RTC taking the new setting into account.
Use fix_system=true in installers and livecds where the
RTC is probably more reliable than the system time.
Use fix_system=false in configuration UIs that are run during
normal operation and where the system clock is probably more
reliable than the RTC.
getLocalRTC
OUTPUT
$localRTC: 1 if RTC is localtime 0 for UTC
DESCRIPTION
This method returns the RTC localtime setting
setEmbeddedNTP
INPUT
$enable: enable/disable systemd NTP service
DESCRIPTION
This method enables/disables and starts/stops systemd NTP service,
getEmbeddedNTP
OUTPUT
$NTP: if systemd NTP is enabled
DESCRIPTION
This method returns the systemd NTP service is running
setTime
INPUT
$sec_since_epoch: Time in seconds since 1/1/1970
DESCRIPTION
This method set the system time and sets the RTC also
readConfiguration
OUTPUT
hash reference containing:
UTC => HW clock is set as UTC
ZONE => Time Zone set
DESCRIPTION
This method returns the time zone system settings as hash
reference
writeConfiguration
INPUT
$info: hash containing:
UTC => HW clock is set as UTC
ZONE => Time Zone
DESCRIPTION
This method sets the passed Time Zone configuration.
If installer_or_livecd attribute is set fix_system is
passed to setLocalRTC
ntpServers
OUTPUT
HASHREF containing ntp_server => zone info
DESCRIPTION
This method returns an hash ref containing pairs ntp−server, zone
ntpCurrentServers
OUTPUT
@servers: array of configured server
DESCRIPTION
Returns the current ntp server address list read from configuration file
currentNTPService
DESCRIPTION
Returns the current ntp service
isNTPRunning
DESCRIPTION
This method just returns if the given ntp server is running
setNTPConfiguration
INPUT
$NTP_servers: HASH reference containing:
servers => Array reference containing NTP server addresses
pool => ntp pool address if any
DESCRIPTION
This method writes into NTP configuration file new server address
settings (note that root rights are required) or it rises an
exception
enableAndStartNTP
INPUT
$server: server address to be configured
DESCRIPTION
This method writes into NTP configuration file new server address
settings
disableAndStopNTP
DESCRIPTION
Disable and stop the ntp server