version 1.10, 2009/12/29 07:04:38
|
version 1.45, 2019/07/02 19:40:13
|
Line 36 http://www.lon-capa.org/
|
Line 36 http://www.lon-capa.org/
|
<target dist="default"></target> |
<target dist="default"></target> |
<perlscript mode="fg"> |
<perlscript mode="fg"> |
my $checker_bin = '/sbin/chkconfig'; |
my $checker_bin = '/sbin/chkconfig'; |
|
my $systemctl_bin = '/bin/systemctl'; |
|
my $systemctl_only = 0; |
my $webserver ='httpd'; |
my $webserver ='httpd'; |
my @runlevels = qw/3 4 5/; |
my @runlevels = qw/3 4 5/; |
my $rlstr = join('',@runlevels); |
my @norunlevels = qw/0 1 6/; |
|
my $use_systemctl; |
|
|
if ('<DIST />' eq 'suse9.3' || '<DIST />' eq 'suse9.2' || '<DIST />' eq 'sles9') { |
if ('<DIST />' eq 'suse9.3' || '<DIST />' eq 'suse9.2' || '<DIST />' eq 'sles9') { |
$checker_bin = '/'; |
|
$webserver = 'apache'; |
$webserver = 'apache'; |
@runlevels = qw/3 5/; |
@runlevels = qw/3 5/; |
} elsif ('<DIST />' eq 'sles10' || '<DIST />' eq 'suse10.1' || '<DIST />' eq 'suse10.2' || '<DIST />' eq 'suse10.3' || '<DIST />' eq 'suse11.1' || '<DIST />' eq 'suse11.2') { |
} elsif ('<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' || '<DIST />' eq 'sles12' || '<DIST />' eq 'suse10.1' || '<DIST />' eq 'suse10.2' || '<DIST />' eq 'suse10.3' || '<DIST />' eq 'suse11.1' || '<DIST />' eq 'suse11.2' || '<DIST />' eq 'suse11.3' || '<DIST />' eq 'suse11.4' || '<DIST />' eq 'suse12.1' || '<DIST />' eq 'suse12.2' || '<DIST />' eq 'suse12.3' || '<DIST />' eq 'suse13.1' || '<DIST />' eq 'suse13.2') { |
$webserver = 'apache2'; |
$webserver = 'apache2'; |
} elsif ('<DIST />' eq 'debian5' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8') { |
@runlevels = qw/3 5/; |
|
} elsif ('<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12' || '<DIST />' eq 'ubuntu14' || '<DIST />' eq 'ubuntu16') { |
|
@runlevels = qw/2 3 4 5/; |
|
@norunlevels = qw/0 1 6/; |
$checker_bin = '/usr/sbin/sysv-rc-conf'; |
$checker_bin = '/usr/sbin/sysv-rc-conf'; |
$webserver = 'apache2'; |
$webserver = 'apache2'; |
|
} elsif (('<DIST />' eq 'ubuntu18') || ('<DIST />' eq 'sles15')) { |
|
$webserver = 'apache2'; |
|
$use_systemctl = 1; |
|
$systemctl_only = 1; |
|
} elsif (('<DIST />' eq 'fedora26') || ('<DIST />' eq 'fedora27') || |
|
('<DIST />' eq 'fedora28') || ('<DIST />' eq 'fedora29') || |
|
('<DIST />' eq 'fedora30') || ('<DIST />' eq 'centos8') || |
|
('<DIST />' eq 'rhes8') || ('<DIST />' eq 'oracle7')) { |
|
$use_systemctl = 1; |
|
$systemctl_only = 1; |
} |
} |
exit if (! -x $checker_bin); |
if (('<DIST />' eq 'fedora16') || ('<DIST />' eq 'fedora17') || |
|
('<DIST />' eq 'fedora18') || ('<DIST />' eq 'fedora19') || |
|
('<DIST />' eq 'fedora20') || ('<DIST />' eq 'fedora21') || |
|
('<DIST />' eq 'fedora22') || ('<DIST />' eq 'fedora23') || |
|
('<DIST />' eq 'fedora24') || ('<DIST />' eq 'fedora25') || |
|
('<DIST />' eq 'suse12.1') || ('<DIST />' eq 'suse12.2') || |
|
('<DIST />' eq 'suse12.3') || ('<DIST />' eq 'suse13.1') || |
|
('<DIST />' eq 'suse13.2') || ('<DIST />' eq 'rhes7') || |
|
('<DIST />' eq 'centos7') || ('<DIST />' eq 'scientific7') || |
|
('<DIST />' eq 'sles12')) { |
|
$use_systemctl = 1; |
|
} |
|
exit if (((!$systemctl_only) && (! -x $checker_bin)) && (! -x $systemctl_bin)); |
|
|
|
my $rlstr = join('',@runlevels); |
|
my $nrlstr = join('',@norunlevels); |
foreach my $service ($webserver,'loncontrol') { |
foreach my $service ($webserver,'loncontrol') { |
my $command = $checker_bin.' --list '.$service; |
if (($use_systemctl) && ($service eq $webserver) || ($systemctl_only)) { |
my $results = `$command`; |
my $command = "systemctl is-enabled ".$service.".service"; |
if ($results eq '') { |
my $results = `$command`; |
print "**** WARNING: $service is not set to run on boot.$/". |
chomp($results); |
" Execute the following commands to fix this:".$/; |
if ($results ne 'enabled') { |
unless ('<DIST />' eq 'debian5' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8') { |
print "**** WARNING: $service is not set to run on boot.".$/. |
print " $checker_bin --add $webserver".$/; |
" Execute the following commands to fix this:".$/. |
|
" systemctl enable ".$service.".service".$/; |
} |
} |
print " $checker_bin --level $rlstr $service on".$/; |
|
} else { |
} else { |
my %curr_runlevels; |
my $command = $checker_bin.' --list '.$service; |
for (my $rl = 0;$rl <=6;$rl++) { |
my $results = `$command`; |
if ($results =~ /$rl:on/) { $curr_runlevels{$rl}++; } |
if ($results eq '') { |
} |
print "**** WARNING: $service is not set to run on boot.$/". |
# |
" Execute the following commands to fix this:".$/; |
my $warning; |
if ('<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12' || '<DIST />' eq 'ubuntu14' || '<DIST />' eq 'ubuntu16') { |
foreach my $rl (@runlevels) { |
print " $checker_bin --level $nrlstr $service off".$/; |
if (! exists($curr_runlevels{$rl}) ) { |
} else { |
$warning .= |
print " $checker_bin --add $webserver".$/; |
"**** WARNING: $service is not set to run at runlevel $rl".$/; |
} |
|
print " $checker_bin --level $rlstr $service on".$/; |
|
} else { |
|
my %curr_runlevels; |
|
for (my $rl = 0;$rl <=6;$rl++) { |
|
if ($results =~ /$rl:on/) { $curr_runlevels{$rl}++; } |
|
} |
|
# |
|
my $warning; |
|
foreach my $rl (@runlevels) { |
|
if (! exists($curr_runlevels{$rl}) ) { |
|
$warning .= |
|
"**** WARNING: $service is not set to run at runlevel $rl".$/; |
|
} |
|
} |
|
if ($warning) { |
|
print $warning. |
|
" Execute the following command to fix this:".$/. |
|
" $checker_bin --level $rlstr $service on".$/; |
} |
} |
} |
|
if ($warning) { |
|
print $warning. |
|
" Execute the following command to fix this:".$/. |
|
" $checker_bin --level $rlstr $service on".$/; |
|
} |
} |
} |
} |
} |
} |