40 lines
863 B
Plaintext
40 lines
863 B
Plaintext
|
#! /usr/bin/perl
|
||
|
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
use DirHandle;
|
||
|
my $d = DirHandle->new("/etc/rc7.d");
|
||
|
|
||
|
my @d =
|
||
|
sort { $a->{order} cmp $b->{order} }
|
||
|
map { /^S(\d+)([\w\-.]+)/ ; { name => $2 , order => $1 } }
|
||
|
grep { /^S/ } $d->read;
|
||
|
|
||
|
my $equivalent = {'oidentd'=> 'identd',
|
||
|
'nut'=> 'ups',
|
||
|
'raidmonitor' => 'mdmonitor'
|
||
|
};
|
||
|
|
||
|
|
||
|
foreach my $service (@d)
|
||
|
{
|
||
|
my $sv=$service->{'name'};
|
||
|
next if $sv eq 'bootstrap-console';
|
||
|
$sv= $equivalent->{$sv} || $sv;
|
||
|
foreach (qw(multi-user sme-server))
|
||
|
{
|
||
|
if (-e "/lib/systemd/system/$_.target.wants/$sv.service")
|
||
|
{
|
||
|
system(qw(systemctl disable), $sv);
|
||
|
}
|
||
|
elsif (-e "/etc/systemd/system/$_.target.wants/$sv.service")
|
||
|
{
|
||
|
system(qw(systemctl disable), $sv);
|
||
|
}
|
||
|
elsif (-e "/etc/init.d/$sv")
|
||
|
{
|
||
|
my $dropoutput = `/usr/sbin/chkconfig $sv off 2>/dev/null`;
|
||
|
}
|
||
|
}
|
||
|
}
|