天天看點

CentOS 6 kickstart 部署腳本

下面的腳本是生産環境的副本,稍有改動,用于自己的實驗環境。安裝一步搞定,5分鐘部署一套全新的kvm虛拟機。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

<code>#platform=x86, AMD64, or Intel EM64T</code>

<code>#version=DEVEL</code>

<code># Firewall configuration</code>

<code>firewall --enabled --</code><code>ssh</code>

<code># Install OS instead of upgrade</code>

<code>install</code>

<code># Use network installation</code>

<code>url --url=</code><code>"http://192.168.122.1/centos/6/os/x86_64/"</code>

<code># Root password:2w3e4r5t</code>

<code>rootpw --iscrypted $1$SG65nSU2$qqls18a5fRwa0pahI9zsn.</code>

<code># System authorization information</code>

<code>auth  --useshadow  --passalgo=sha512</code>

<code># Use text mode install</code>

<code>text</code>

<code># System keyboard</code>

<code>keyboard us</code>

<code># System language</code>

<code>lang en_US</code>

<code># SELinux configuration</code>

<code>selinux --disabled</code>

<code># Do not configure the X Window System</code>

<code>skipx</code>

<code># Installation logging level</code>

<code>logging --level=info</code>

<code># Reboot after installation</code>

<code>reboot</code>

<code># System timezone</code>

<code>#timezone  Asia/Shanghai</code>

<code>timezone --isUtc Asia</code><code>/Shanghai</code>

<code># Network information</code>

<code>network  --bootproto=dhcp--onboot=on --</code><code>hostname</code><code>=new.</code><code>test</code><code>.org</code>

<code># System bootloader configuration</code>

<code># Grub passwd:linux</code>

<code>bootloader --location=mbr --append=</code><code>"biosdevname=0"</code> <code>--md5pass=</code><code>"$1$cfVln6Oz$eR6dX/70Ny4dAA/amdvfA1"</code>

<code># Partition clearing information</code>

<code>clearpart --none</code>

<code>#clearpart --all --initlabel</code>

<code># Disk partitioning information</code>

<code>part </code><code>/boot</code> <code>--bytes-per-inode=4096 --fstype=ext4 --size=150</code>

<code>part pv.01 --grow --size=1</code>

<code>volgroup vg_centos --pesize=4096 pv.01</code>

<code>logvol swap --name=lv_swap --vgname=vg_centos --size=512</code>

<code>#logvol swap --name=lv_swap--vgname=vg_centos --recommend</code>

<code>logvol / --bytes-per-inode=4096 --fstype=ext4 --name=lv_root --vgname=vg_centos --size=51200</code>

<code>logvol </code><code>/data</code> <code>--bytes-per-inode=4096 --fstype=ext4 --name=lv_root --vgname=vg_centos --size=1024  --fsoptions=</code><code>"noatime,nosuid,noexec,nodev"</code>  <code>--grow</code>

<code>#part swap --fstype="swap" --size=512</code>

<code>#part / --fstype="ext4" --grow --size=1</code>

<code># Addition repository</code>

<code>repo --name=</code><code>"excel"</code> <code>--baseurl=http:</code><code>//192</code><code>.168.122.1</code><code>/repo/excel/6/</code> <code>--cost=100</code>

<code>repo --name=</code><code>"updates"</code> <code>--baseurl=http:</code><code>//192</code><code>.168.122.1</code><code>/centos/6/updates/x86_64/</code> <code>--cost=100</code>

<code>%pre --interpreter=</code><code>/usr/bin/env</code> <code>bash</code>

<code>if</code> <code>[ -e </code><code>/dev/sda</code> <code>];</code><code>then</code>

<code>    </code><code>dd</code> <code>if</code><code>=</code><code>/dev/zero</code> <code>of=</code><code>/dev/sda</code> <code>bs=512count=1</code>

<code>    </code><code>parted -s </code><code>/dev/sda</code> <code>mklabel gpt</code>

<code>fi</code>

<code>if</code> <code>[ -e </code><code>/dev/vda</code> <code>];</code><code>then</code>

<code>    </code><code>dd</code> <code>if</code><code>=</code><code>/dev/zero</code> <code>of=</code><code>/dev/vda</code> <code>bs=512 count=1</code>

<code>    </code><code>parted -s </code><code>/dev/vda</code> <code>mklabel gpt</code>

<code>%end</code>

<code>#%include /tmp/addition</code>

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

<code>%post --interpreter=</code><code>/usr/bin/env</code> <code>bash</code>

<code>install_server=192.168.122.1</code>

<code># set build timestamp</code>

<code>ntpdate $install_server</code>

<code>echo</code> <code>this system was built at `LANG=C </code><code>date</code> <code>-d </code><code>"today"</code> <code>+</code><code>"%Y-%m-%d %H:%M:%S"</code><code>` &gt;</code><code>/root/timestamp</code><code>.txt</code>

<code>chattr +a </code><code>/root/timestamp</code><code>.txt</code>

<code>sed</code> <code>-i </code><code>'/^mirrorlist/{s/^/#/g}'</code> <code>/etc/yum</code><code>.repos.d</code><code>/CentOS-Base</code><code>.repo</code>

<code>sed</code> <code>-i </code><code>'/#baseurl/{s/#//g}'</code> <code>/etc/yum</code><code>.repos.d</code><code>/CentOS-Base</code><code>.repo</code>

<code># use local mirror to save bandwidth</code>

<code>curl http:</code><code>//</code><code>$install_server</code><code>/conf/etc/yum</code><code>.repos.d</code><code>/CentOS-Base</code><code>.repo &gt;</code><code>/etc/yum</code><code>.repos.d</code><code>/CentOS-Base</code><code>.repo</code>

<code># install customerized repo</code>

<code>curl http:</code><code>//</code><code>$install_server</code><code>/conf/etc/yum</code><code>.repos.d</code><code>/excel</code><code>.repo  &gt; </code><code>/etc/yum</code><code>.repos.d</code><code>/excel</code><code>.repo</code>

<code>echo</code> <code>-e 127.0.0.1 </code><code>"\t"</code> <code>new.</code><code>test</code><code>.org &gt;&gt;</code><code>/etc/hosts</code>

<code>echo</code> <code>-e $install_server mirror.centos.org &gt;&gt;</code><code>/etc/hosts</code>

<code>#add a static route</code>

<code>#route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.122.1</code>

<code>#echo route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.122.1  &gt;&gt; /etc/rc.local</code>

<code>#set character,only english/chinese support</code>

<code>localedef --list-archive |</code><code>egrep</code> <code>-</code><code>v</code> <code>^</code><code>"en_US|zh"</code> <code>|</code><code>xargs</code> <code>localedef --delete-from-archive</code>

<code>mv</code> <code>-f </code><code>/usr/lib/locale/locale-archive</code> <code>/usr/lib/locale/locale-archive</code><code>.tmpl</code>

<code>build-locale-archive</code>

<code># Remove some unnessary packages</code>

<code>#yum remove usermode -y</code>

<code>yum remove -y rng-tools </code><code>quota</code> <code>samba* rpcbind lm_sensors postgresql-libs</code>

<code># Run level 3 by default</code>

<code>#sed -i '/^id/{s/5/3/}' /etc/inittab</code>

<code># Password protect single user mode</code>

<code>#echo "~~:S:wait:/sbin/sulogin" &gt;&gt; /etc/inittab</code>

<code># unlock the MAC</code>

<code>echo</code> <code>"&gt; /etc/udev/rules.d/70-persistent-net.rules"</code> <code>&gt;&gt; </code><code>/etc/rc</code><code>.</code><code>local</code>

<code>echo</code> <code>$install_server &gt;&gt; </code><code>/etc/ntp/step-tickers</code>

<code>sed</code> <code>-i </code><code>'/HWCLOCK/{s/no/yes/g}'</code> <code>/etc/sysconfig/ntpdate</code>

<code>chkconfig ntpdate off</code>

<code>curl http:</code><code>//</code><code>$install_server</code><code>/conf/etc/ntp</code><code>.conf &gt;</code><code>/etc/ntp</code><code>.conf</code>

<code>chkconfig ntpd on</code>

<code># Configure ssh server</code>

<code>curl http:</code><code>//</code><code>$install_server</code><code>/conf/etc/ssh/sshd_config</code> <code>&gt;</code><code>/etc/ssh/sshd_config</code>

<code># disable DNS lookup for ssh login</code>

<code>#sed -i '/DNS/{s/#//g;s/yes/no/g}' /etc/ssh/sshd_config</code>

<code>#show motd</code>

<code>#sed -i '/Motd/{s/#//g}' /etc/ssh/sshd_config</code>

<code># disbale root login remotely</code>

<code>#sed -i '/PermitRootLogin/d' /etc/ssh/sshd_config</code>

<code>#echo "PermitRootLogin no" &gt;&gt; /etc/ssh/sshd_config</code>

<code>#echo "Banner /etc/issue.net" &gt;&gt; /etc/ssh/sshd_config</code>

<code>#chroot for ssh</code>

<code>#echo "session   required      pam_chroot.so" &gt;&gt;/etc/pam.d/sshd</code>

<code>#echo "apple    /home/apple" &gt;&gt; /etc/security/chroot.conf</code>

<code>#allow ssh for LAN only</code>

<code>echo</code> <code>"SSHD:ALL EXCEPT 192.168.0.0/255.255.0.0"</code> <code>&gt;&gt;</code><code>/etc/hosts</code><code>.deny</code>

<code>#setup bacula-client</code>

<code>sed</code> <code>-i </code><code>'s/@//g'</code> <code>/etc/bacula/bacula-fd</code><code>.conf</code>

<code>chkconfig bacula-fd off</code>

<code># Setup admin user and passwd</code>

<code>useradd</code> <code>-g wheel admin</code>

<code>echo</code> <code>"linuxfans"</code> <code>|</code><code>passwd</code> <code>--stdin </code><code>"admin"</code>

<code>chkconfig denyhosts on</code>

<code>#only user in wheel group can use "su"</code>

<code>sed</code> <code>-i </code><code>'/required/{s/#//g}'</code> <code>/etc/pam</code><code>.d</code><code>/su</code>

<code>echo</code> <code>"SU_WHEEL_ONLY yes"</code> <code>&gt;&gt;</code><code>/etc/login</code><code>.defs</code>

<code>#lock unused passwords</code>

<code>passwd</code> <code>-l bin</code>

<code>passwd</code> <code>-l daemon</code>

<code>passwd</code> <code>-l adm</code>

<code>passwd</code> <code>-l lp</code>

<code>passwd</code> <code>-l </code><code>sync</code>

<code>passwd</code> <code>-l </code><code>shutdown</code>

<code>passwd</code> <code>-l halt</code>

<code>passwd</code> <code>-l mail</code>

<code>passwd</code> <code>-l uucp</code>

<code>passwd</code> <code>-l operator</code>

<code>passwd</code> <code>-l games</code>

<code>passwd</code> <code>-l gopher</code>

<code>passwd</code> <code>-l </code><code>ftp</code>

<code>passwd</code> <code>-l nobody</code>

<code>passwd</code> <code>-l nagios</code>

<code>passwd</code> <code>-l dbus</code>

<code>passwd</code> <code>-l vcsa</code>

<code>passwd</code> <code>-l bacula</code>

<code>passwd</code> <code>-l rpc</code>

<code>passwd</code> <code>-l ntp</code>

<code>passwd</code> <code>-l sshd</code>

<code>passwd</code> <code>-l saslauth</code>

<code>passwd</code> <code>-l postfix</code>

<code>passwd</code> <code>-l puppet</code>

<code>passwd</code> <code>-l nrpe</code>

<code>chmod</code> <code>700 </code><code>/usr/bin/finger</code>

<code>chmod</code> <code>700 </code><code>/usr/bin/who</code>

<code>chmod</code> <code>700 </code><code>/usr/bin/w</code>

<code>chmod</code> <code>700 </code><code>/usr/bin/locate</code>

<code>chmod</code> <code>700 </code><code>/usr/bin/whereis</code>

<code>chmod</code> <code>700 </code><code>/sbin/ifconfig</code>

<code>chmod</code> <code>700 </code><code>/sbin/ip</code>

<code>chmod</code> <code>700 </code><code>/sbin/route</code>

<code>chmod</code> <code>700 </code><code>/bin/mount</code>

<code>#chmod 700 /usr/bin/which</code>

<code>#chmod 700 /usr/bin/gcc</code>

<code>#chmod 700 /usr/bin/make</code>

<code>#chmod 700 /bin/rpm</code>

<code>#echo "ulimit -SHn 65535" &gt;&gt; /etc/profile</code>

<code>cat</code> <code>&gt;&gt; </code><code>/etc/security/limits</code><code>.conf &lt;&lt;EOF</code>

<code>*               soft    nofile  10240</code>

<code>*               hard    nofile  10240</code>

<code>root            soft    nproc   65535</code>

<code>root            hard    nproc   65535</code>

<code>EOF</code>

<code># kernel optimize</code>

<code>#curl http://$install_server/conf/etc/sysctl.conf &gt;/etc/sysctl.conf</code>

<code>echo</code> <code>"net.ipv6.conf.all.disable_ipv6 = 1"</code>  <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"vm.swappiness = 5"</code>  <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"vm.drop_caches = 0"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.core.somaxconn = 8192"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv4.tcp_max_syn_backlog = 8192"</code> <code>&gt;&gt; </code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.core.netdev_max_backlog =  8192"</code> <code>&gt;&gt; </code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv4.ip_local_port_range = 15000 65000"</code> <code>&gt;&gt; </code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv4.conf.all.accept_redirects = 0"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv4.conf.all.log_martians =1"</code> <code>&gt;&gt; </code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv4.conf.all.rp_filter = 1"</code> <code>&gt;&gt; </code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv4.conf.all.send_redirects = 0"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv4.conf.default.accept_redirects = 0"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv4.conf.default.log_martians = 1"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv4.tcp_timestamps = 1"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv6.conf.all.accept_redirects = 0"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.ipv6.conf.default.accept_redirects = 0"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.netfilter.nf_conntrack_max = 65536"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.nf_conntrack_max = 65536"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

<code>echo</code> <code>"net.netfilter.nf_conntrack_tcp_timeout_established = 700"</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf</code>

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

<code>#snmpd configure</code>

<code>#curl http://$install_server/conf/etc/snmp/snmpd.conf &gt;/etc/snmp/snmpd.conf</code>

<code>sed</code> <code>-i </code><code>'/^com2sec/{s/public/mycompany/g}'</code> <code>/etc/snmp/snmpd</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'/^access/{s/systemview/all/g}'</code> <code>/etc/snmp/snmpd</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'/80$/{s/#//g}'</code> <code>/etc/snmp/snmpd</code><code>.conf</code>

<code>chkconfig snmpd on</code>

<code># Let nano support grammar hghlight</code>

<code>#curl http://$install_server/conf/etc/nanorc &gt;/etc/nanorc</code>

<code>sed</code> <code>-i </code><code>'/^# include/{s/#//g}'</code> <code>/etc/nanorc</code>

<code>sed</code> <code>-i </code><code>'/set const/{s/#//g}'</code> <code>/etc/nanorc</code>

<code>sed</code> <code>-i </code><code>'/tabsize/{s/#//g;s/8/4/g}'</code> <code>/etc/nanorc</code>

<code>sed</code> <code>-i </code><code>'/set fill/{s/#//g}'</code> <code>/etc/nanorc</code>

<code>#curl http://$install_server/conf/etc/profile &gt;/etc/profile</code>

<code># enable timestamp in command history</code>

<code>echo</code> <code>"export HISTTIMEFORMAT='%F %T '"</code> <code>&gt;&gt; </code><code>/etc/profile</code>

<code>echo</code> <code>export</code> <code>LANG=C&gt;&gt;</code><code>/etc/profile</code>

<code>#user will login out if no action within 60 minutes</code>

<code>echo</code> <code>export</code> <code>TMOUT=3600&gt;&gt;</code><code>/etc/profile</code>

<code>#define a default puppet variable</code>

<code>echo</code> <code>export</code> <code>FACTER_LSB=CentOS6&gt;&gt;</code><code>/etc/profile</code>

<code># password policy (90 days)</code>

<code>sed</code> <code>-i </code><code>'/PASS_MAX_DAYS/{s/99999/90/}'</code> <code>/etc/login</code><code>.defs</code>

<code>sed</code> <code>-i </code><code>'/PASS_MIN_LEN/{s/5/8/}'</code> <code>/etc/login</code><code>.defs</code>

<code># due to disable ipv6,postfix has to work under ipv4</code>

<code>postconf -e </code><code>'inet_protocols = ipv4'</code>

<code># hiden mail server type "postfix"</code>

<code>postconf -e </code><code>'smtpd_banner = $myhostname'</code>

<code>chkconfig postfix on</code>

<code>#chkconfig sendmail on</code>

<code>#setup network</code>

<code>chkconfig network on</code>

<code>ifconfig</code> <code>eth0 &gt; </code><code>/dev/null</code>

<code>if</code> <code>[ $? == </code><code>"0"</code> <code>];</code><code>then</code>

<code>cat</code> <code>&gt; </code><code>/etc/sysconfig/network-scripts/ifcfg-eth0</code> <code>&lt;&lt;EOG</code>

<code>DEVICE=</code><code>"eth0"</code>

<code>ONBOOT=</code><code>yes</code>

<code>BOOTPROTO=dhcp</code>

<code>TYPE=Ethernet</code>

<code>USERCTL=no</code>

<code>IPV6INIT=no</code>

<code>#IPADDR=192.168.122.10</code>

<code>#NETMASK=255.255.255.0</code>

<code>#GATEWAY=192.168.122.200</code>

<code>#DNS1=202.45.84.58</code>

<code>#DNS2=203.80.96.10</code>

<code>#ETHTOOL_OPTS="speed 1000 duplex full autoneg on"</code>

<code>EOG</code>

<code>    </code><code>fi</code>

<code>ifconfig</code> <code>eth1 &gt; </code><code>/dev/null</code>

<code>cat</code> <code>&gt; </code><code>/etc/sysconfig/network-scripts/ifcfg-eth1</code> <code>&lt;&lt;EOH</code>

<code>DEVICE=</code><code>"eth1"</code>

<code>EOH</code>

<code>        </code><code>fi</code>

<code># set DNS</code>

<code>echo</code> <code>"nameserver 202.45.84.58"</code>  <code>&gt;&gt;  </code><code>/etc/resolv</code><code>.conf</code>

<code>echo</code> <code>"nameserver 203.80.96.10"</code>  <code>&gt;&gt; </code><code>/etc/resolv</code><code>.conf</code>

<code>#setup firewall</code>

<code>curl http:</code><code>//</code><code>$install_server</code><code>/conf/firewall</code><code>.sh  &gt;</code><code>/root/firewall</code><code>.sh</code>

<code>cat</code> <code>&gt; </code><code>/etc/motd</code> <code>&lt;&lt;EOL</code>

<code>***Warning***</code>

<code>This is a private system.Unauthorized access or use may be punishable by</code>

<code>administrative discipline, civil penalties, and</code><code>/or</code> <code>criminal prosecution.</code>

<code>EOL</code>

<code>&gt;</code><code>/etc/issue</code>

<code>&gt;</code><code>/etc/issue</code><code>.net</code>

<code>if</code> <code>[ $(virt-what) == </code><code>"vmware"</code> <code>];</code><code>then</code> <code>yum </code><code>install</code> <code>open</code><code>-vm-tools -y;</code><code>fi</code>

<code># linux host template for nagios monitoring</code>

<code># curl http://$install_server/conf/etc/nagios/template.linux.cfg &gt; /root/template.linux.cfg</code>

<code>sed</code> <code>-i </code><code>'/remove/{s/#//g}'</code> <code>/etc/yum/pluginconf</code><code>.d</code><code>/remove-with-leaves</code><code>.conf</code>

<code>#enable the fuction of watchdog</code>

<code>echo</code> <code>"modprobe softdog"</code> <code>&gt;&gt; </code><code>/etc/sysconfig/watchdog</code>

<code>#curl http://$install_server/conf/etc/watchdog.conf &gt;/etc/watchdog.conf</code>

<code>sed</code> <code>-i </code><code>'/min-memory/{s/#//}'</code> <code>/etc/watchdog</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'/watchdog-device/{s/#//}'</code> <code>/etc/watchdog</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'/admin/{s/#//}'</code> <code>/etc/watchdog</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'/interval/{s/#//}'</code> <code>/etc/watchdog</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'/logtick/{s/#//}'</code><code>/etc/watchdog</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'/pidfile/{s/#//}'</code> <code>/etc/watchdog</code><code>.conf</code>

<code>chkconfig watchdog on</code>

<code># configure nagios client</code>

<code>curl http:</code><code>//</code><code>$install_server</code><code>/conf/etc/nagios/nrpe</code><code>.cfg &gt;</code><code>/etc/nagios/nrpe</code><code>.cfg</code>

<code>#sed -i '/server_address/{s/#//g;s/127.0.0.1/'$lan_ip'/g}' /etc/nagios/nrpe.cfg</code>

<code>sed</code> <code>-i </code><code>'/allowed_hosts/{s/127.0.0.1/&amp;,192.168.122.254/}'</code> <code>/etc/nagios/nrpe</code><code>.cfg</code>

<code>chkconfig nrpe on</code>

<code>curl http:</code><code>//</code><code>$install_server</code><code>/conf/etc/zabbix/zabbix_agentd</code><code>.conf &gt;</code><code>/etc/zabbix/zabbix_agentd</code><code>.conf</code>

<code>#sed -i '/^Server=/{s/127.0.0.1/192.168.1.254}' /etc/zabbix/zabbix_agentd.conf</code>

<code>#sed -i '/^Hostname/{s/Zabbix/new}' /etc/zabbix/zabbix_agentd.conf</code>

<code>chkconfig zabbix-agent on</code>

<code># sent out realtime syslog to log server</code>

<code>curl http:</code><code>//</code><code>$install_server</code><code>/conf/etc/rsyslog</code><code>.conf &gt;</code><code>/etc/rsyslog</code><code>.conf</code>

<code>#echo "*.* @192.168.122.254" &gt;&gt;/etc/rsyslog.conf</code>

<code># configure puppet client</code>

<code>curl http:</code><code>//</code><code>$install_server</code><code>/conf/etc/puppet/puppet</code><code>.conf &gt;</code><code>/etc/puppet/puppet</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'/SERVER/{s/#//g}'</code> <code>/etc/sysconfig/puppet</code>

<code>sed</code> <code>-i </code><code>'/SERVER/{s/puppet/&amp;.test.org/}'</code> <code>/etc/sysconfig/puppet</code>

<code>sed</code> <code>-i </code><code>'/PORT/{s/#//g}'</code> <code>/etc/sysconfig/puppet</code>

<code>chkconfig puppet off</code>

<code># Mail out if system updates found</code>

<code>curl http:</code><code>//</code><code>$install_server</code><code>/conf/etc/sysconfig/yum-cron</code> <code>&gt;</code><code>/etc/sysconfig/yum-cron</code>

<code>chkconfig yum-</code><code>cron</code> <code>on</code>

<code># Run rkhunter weekly</code>

<code>mv</code> <code>/etc/cron</code><code>.daily</code><code>/rkhunter</code> <code>/etc/cron</code><code>.weekly/</code>

<code>/usr/bin/rkhunter</code> <code>--propupd</code>

<code>#configure tripwire</code>

<code>#curl http://$install_server/conf/etc/tripwire/twpol.txt &gt;/etc/tripwire/twpol.txt</code>

<code># Configure linux audit system</code>

<code>#curl http://$install_server/conf/etc/audit/audit.rules &gt; /etc/audit/audit.rules</code>

<code>chkconfig auditd on</code>

<code>chkconfig ip6tables off</code>

<code>chkconfig irqbalance on</code>

<code>chkconfig psacct on</code>

<code>chkconfig yum-updateonboot off</code>

<code>#chkconfig --del rdisc</code>

<code>%packages --nobase</code>

<code>@Core</code>

<code>autoconf</code>

<code>automake</code>

<code>bacula-client</code>

<code>bison</code>

<code>denyhosts</code>

<code>dstat</code>

<code>flex</code>

<code>gcc</code>

<code>gcc-c++</code>

<code>gd-devel</code>

<code>gdisk</code>

<code>git</code>

<code>iftop</code>

<code>iotop</code>

<code>ipa-client</code>

<code>iptstate</code>

<code>irqbalance</code>

<code>lftp</code>

<code>libtool</code>

<code>logwatch</code>

<code>lsof</code>

<code>lynis</code>

<code>mailx</code>

<code>man</code>

<code>mysql-devel</code>

<code>nagios-plugins</code>

<code>nagios-plugins-all</code>

<code>nano</code>

<code>ncurses</code>

<code>net-snmp</code>

<code>net-snmp-utils</code>

<code>nmap</code>

<code>nrpe</code>

<code>ntsysv</code>

<code>openssh-clients</code>

<code>parted</code>

<code>perl-Crypt-SSLeay</code>

<code>perl-Net-SSLeay</code>

<code>perl-libwww-perl</code>

<code>puppet</code>

<code>rsync</code>

<code>setuptool</code>

<code>sysstat</code>

<code>system-config-firewall-tui</code>

<code>system-config-network-tui</code>

<code>telnet</code>

<code>time</code>

<code>tmpwatch</code>

<code>vim</code>

<code>virt-what</code>

<code>watchdog</code>

<code>wget</code>

<code>yum-utils</code>

系統安裝完的工作是: 

1、修改主機名(在新安裝機器上進行)

2、配置設定合适的固定IP位址(在新安裝機器上進行)

3、注冊ipa用戶端(在新安裝機器上進行)

4、注冊puppet用戶端(在服務端進行,也可以antosign)

5、注冊nagios和cacti用戶端(在服務端進行)

6、注冊bacula用戶端(在服務端進行)

7、部署具體的應用

update 2012-12-25

為了磁盤擴充,采用lvm分區

update 2013-03-14

對于Dell伺服器,網卡名稱被識别成em*時,可以用核心參數biosdevname=0來識别成eth*

也可以在核心引導參數上指定網口名稱即可。

linux ksdevice=em1 ks=http://xxxx/ks.cfg

ksdevice=link也可以

update 2013-03-17

預設采用gpt分區,用于支援2TB以上的大硬碟,徹底解決硬碟擴充問題。

消滅了硬碟初始化對話框,真正一步到位。

update 2013-04-25

添加網卡調優(針對千兆網卡)

update 2013-08-19

支援btrfs分區

update 2013-09-01

檔案系統 4k對齊

update 2014-01-19

增加/data 挂載點,用于部署應用程式,并對挂載選項進行優化和安全加強

update 2014-05-01

優化字元集,僅保留中英文支援。

update 2014-08-22

多個機房共享一個ks腳本,但是安裝源都在各自的機房内網?

1、注釋掉ks腳本裡的安裝源,在PXE 核心啟動參數上加上

<code>repo=http:</code><code>//192</code><code>.168.122.1</code><code>/centos/6/os/x86_64</code>

update 2014-09-12

如果是SSD硬碟,可能會報下面的錯誤

UNEXPECTED INCONSISTENCT; RUN fsck MANUALLY

臨時解決辦法:fsck -y /dev/sdax 

終極解決辦法:在核心啟動參數中加上acpi=off

update 20160805

增加vmware虛拟化判斷,安裝vm-tools

<code>&lt;br&gt;</code>

本文轉自 紫色葡萄 51CTO部落格,原文連結:http://blog.51cto.com/purplegrape/933246,如需轉載請自行聯系原作者

繼續閱讀