version 1.8, 2009/07/14 12:26:29
|
version 1.19, 2011/11/06 00:41:53
|
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 $webserver ='httpd'; |
my $webserver ='httpd'; |
my @services = ('apache2','loncontrol'); |
|
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') { |
} elsif ('<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' || '<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 '12.1') { |
$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') { |
|
@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'; |
} |
} |
|
if (('<DIST />' eq 'fedora16') || ('<DIST />' eq 'suse12.1')) { |
|
$use_systemctl = 1; |
|
} |
exit if (! -x $checker_bin); |
exit if (! -x $checker_bin); |
|
|
foreach my $service (@services) { |
my $rlstr = join('',@runlevels); |
my $command = $checker_bin.' --list '.$service; |
my $nrlstr = join('',@norunlevels); |
my $results = `$command`; |
foreach my $service ($webserver,'loncontrol') { |
if ($results eq '') { |
if (($use_systemctl) && ($service eq 'httpd')) { |
print "**** WARNING: $service is not set to run on boot.$/". |
my $command = "systemctl is-enabled httpd.service"; |
" Execute the following commands to fix this:".$/; |
my $results = `$command`; |
unless ('<DIST />' eq 'debian5' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8') { |
chomp($results); |
print " $checker_bin --add $webserver".$/; |
if ($results ne 'enabled') { |
|
print "**** WARNING: $service is not set to run on boot.".$/. |
|
" Execute the following commands to fix this:".$/. |
|
" systemctl enable httpd.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') { |
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".$/; |
|
} |
} |
} |
} |
} |
} |