下面的腳本是生産環境的副本,稍有改動,用于自己的實驗環境。安裝一步搞定,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>` ></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 ></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 > </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 >></code><code>/etc/hosts</code>
<code>echo</code> <code>-e $install_server mirror.centos.org >></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 >> /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" >> /etc/inittab</code>
<code># unlock the MAC</code>
<code>echo</code> <code>"> /etc/udev/rules.d/70-persistent-net.rules"</code> <code>>> </code><code>/etc/rc</code><code>.</code><code>local</code>
<code>echo</code> <code>$install_server >> </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 ></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>></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" >> /etc/ssh/sshd_config</code>
<code>#echo "Banner /etc/issue.net" >> /etc/ssh/sshd_config</code>
<code>#chroot for ssh</code>
<code>#echo "session required pam_chroot.so" >>/etc/pam.d/sshd</code>
<code>#echo "apple /home/apple" >> /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>>></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>>></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" >> /etc/profile</code>
<code>cat</code> <code>>> </code><code>/etc/security/limits</code><code>.conf <<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 >/etc/sysctl.conf</code>
<code>echo</code> <code>"net.ipv6.conf.all.disable_ipv6 = 1"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"vm.swappiness = 5"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"vm.drop_caches = 0"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.core.somaxconn = 8192"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv4.tcp_max_syn_backlog = 8192"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.core.netdev_max_backlog = 8192"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv4.ip_local_port_range = 15000 65000"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv4.conf.all.accept_redirects = 0"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv4.conf.all.log_martians =1"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv4.conf.all.rp_filter = 1"</code> <code>>> </code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv4.conf.all.send_redirects = 0"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv4.conf.default.accept_redirects = 0"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv4.conf.default.log_martians = 1"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv4.tcp_timestamps = 1"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv6.conf.all.accept_redirects = 0"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.ipv6.conf.default.accept_redirects = 0"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.netfilter.nf_conntrack_max = 65536"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.nf_conntrack_max = 65536"</code> <code>>></code><code>/etc/sysctl</code><code>.conf</code>
<code>echo</code> <code>"net.netfilter.nf_conntrack_tcp_timeout_established = 700"</code> <code>>></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 >/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 >/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 >/etc/profile</code>
<code># enable timestamp in command history</code>
<code>echo</code> <code>"export HISTTIMEFORMAT='%F %T '"</code> <code>>> </code><code>/etc/profile</code>
<code>echo</code> <code>export</code> <code>LANG=C>></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>></code><code>/etc/profile</code>
<code>#define a default puppet variable</code>
<code>echo</code> <code>export</code> <code>FACTER_LSB=CentOS6>></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 > </code><code>/dev/null</code>
<code>if</code> <code>[ $? == </code><code>"0"</code> <code>];</code><code>then</code>
<code>cat</code> <code>> </code><code>/etc/sysconfig/network-scripts/ifcfg-eth0</code> <code><<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 > </code><code>/dev/null</code>
<code>cat</code> <code>> </code><code>/etc/sysconfig/network-scripts/ifcfg-eth1</code> <code><<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>>> </code><code>/etc/resolv</code><code>.conf</code>
<code>echo</code> <code>"nameserver 203.80.96.10"</code> <code>>> </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 ></code><code>/root/firewall</code><code>.sh</code>
<code>cat</code> <code>> </code><code>/etc/motd</code> <code><<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>></code><code>/etc/issue</code>
<code>></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 > /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>>> </code><code>/etc/sysconfig/watchdog</code>
<code>#curl http://$install_server/conf/etc/watchdog.conf >/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 ></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/&,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 ></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 ></code><code>/etc/rsyslog</code><code>.conf</code>
<code>#echo "*.* @192.168.122.254" >>/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 ></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/&.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>></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 >/etc/tripwire/twpol.txt</code>
<code># Configure linux audit system</code>
<code>#curl http://$install_server/conf/etc/audit/audit.rules > /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><br></code>
本文轉自 紫色葡萄 51CTO部落格,原文連結:http://blog.51cto.com/purplegrape/933246,如需轉載請自行聯系原作者