NCM::Component::Systemd::Service::Chkconfig¶
NAME¶
NCM::Component::Systemd::Service::Chkconfig is a class handling services
that can be controlled via (older) ncm-chkconfig
.
Public methods¶
- new
Returns a new object, accepts the following options
- log
A logger instance (compatible withCAF::Object
).
- current_units
Return hash reference with current configured units determined via
chkconfig --list
.(No type to specify,
sysv
type is forced).
- current_target
Return the current target based on legacycurrent_runlevel
.
- default_target
Return the default target based on legacydefault_runlevel
.
- configured_units
configured_units
parses thetree
hash reference and builds up the units to be configured. It returns a hash reference with key the unit name and values the details of the unit.(
tree
is typically$config->getElement('/software/components/chkconfig/service')->getTree
.)This method converts the legacy states as following
- del : masked
- add: disabled
- off : disabled
- on : enabled
- reset: this state is ignored / not supported.
Private methods¶
- is_possible_missing
Determine if
unit
ispossible_missing
(seemake_cache_alias
). (Returns 0 or 1).A unit is possible_missing if
- the unit is in state masked or disabled (i.e. unit that is not expected to be running anyway).
Other then pure systemd, chkconfig state off always implies that a disabled service unit is not running.
- generate_runlevel2target
Create, set and return therunlevel2target
map (will reset existing one, return is merely for testing).
- convert_runlevels
Convert the
ncm-chkconfig
levels to new systemsctl targets
legacylevel
is a string with integers e.g. “234”. Retrun a array reference with the targets.
- default_runlevel
default_runlevel
returns the default runlevel via the INITTAB file. If that fails, the default DEFAULT_RUNLEVEL is returned.
- current_runlevel
Return the current legacy runlevel.
The rulevel is determined by trying (in order)
/sbin/runlevel
orwho -r
. If both fail, thedefault_runlevel
method is called and its value is returned.