#!/bin/perl -w # # Comments out unneeded services in /etc/rc2.d and /etc/rc3.d. # # Written by Kevin Inscoe (kevin@inscoe.org) - June 16, 2003 # # Globals $rc2 = "S00set-tmp-permissions:S01MOUNTFSYS:S05RMTMPFILES:S07set-tmp-permissions:S20sysetup:S21perf:S69inet:S70nddconfig:S71nddset:S72inetsvc:S74syslog:S75cron:S75flashprom:S75savecore:S76nscd:S77sshd:S88utmpd:S89bdconfig:S94ncalogd:S95lvm.sync:S95ncad:S98efcode:S99audit"; $rc3 = "S99acct"; # Locals sub process_SFiles ($$); # Begin print "Scanning /etc/rc2.d...\n"; process_SFiles ("/etc/rc2.d", $rc2); print "Scanning /etc/rc3.d...\n"; process_SFiles ("/etc/rc3.d", $rc3); # process all uppercase "S" leading files sub process_SFiles ($$) { my ($dirname, $keeplist) = @_; opendir(DIR, $dirname) or die "can't opendir $dirname: $!"; while (defined($file = readdir(DIR))) { # Only processes files with leading capitalized "S". next unless $file =~ /^S/; # we have a match. Now is on our "keep" list? $pos = index($keeplist, $file); if ( $pos == -1 ) { $oldfile = $dirname . "/" . $file; $newfilename = "_" . $file; $newfile = $dirname . "/" . $newfilename; print "Renaming $dirname/$file to $newfilename.\n"; rename($oldfile, $newfile) || die "Couldn't rename $file: $!\n"; } } closedir(DIR); }