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`; | ||
|  |   } | ||
|  | } | ||
|  | } |