当前位置: 主页 > 脚本 >

CentOS 6/RHEL 6 无人值守安装脚本

时间:2013-05-10 11:44来源:转载 作者:会员 点击:
RHEL6 无人值守搭建脚本: #!/bin/bash #搭建yum Yum_build() { yumcleanall/dev/null num_list=$(yumlist|wc-l) yumcleanall/dev/null if [[$num_list 2000 ]];then mount/dev/cdrom/mnt if [-d/etc/yum.repos.d/bak];then mv/etc/yum.repos.d/*.
欢迎大家分享自己的文档,请点击查阅:分享方法,Linux系统运维
如果你喜欢这文章,可以点击文章结尾处百度分享,分享到你的各种社区收藏,或推荐给朋友……


 

RHEL6 无人值守搭建脚本

  1. #!/bin/bash   
  2. #搭建yum   
  3. Yum_build()  
  4. {  
  5.     yum clean all &>/dev/null  
  6.     num_list=$(yum list | wc -l)  
  7.     yum clean all &>/dev/null  
  8.   
  9.     if [[ $num_list < 2000 ]];then  
  10.   
  11.     mount /dev/cdrom /mnt  
  12.         if [ -d /etc/yum.repos.d/bak ];then  
  13.             mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak  
  14.         else  
  15.             mkdir /etc/yum.repos.d/bak  
  16.             mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak  
  17.         fi    
  18.   
  19. cat << EOF > /etc/yum.repos.d/base.repo  
  20. [base]  
  21. name=base  
  22. baseurl=file:///mnt  
  23. enabled=1  
  24. gpgcheck=0  
  25. EOF  
  26.     else  
  27.         echo "yum is ok!"  
  28.     fi  
  29. }  
  30.   
  31. Check_rpm()  
  32. {  
  33.     Packages=(dhcp tftp-server vsftpd syslinux)  
  34.     for i in ${Packages[@]}  
  35.     do  
  36.         if ! rpm -q $i &> /dev/null;then  
  37.              yum install $i -y &>/dev/null  
  38.         fi  
  39.     done  
  40. }  
  41.   
  42. #dhcp服务搭建以及网络安装引导文件   
  43. dhcp_build()  
  44. {  
  45.     read -p "输入所在subnet、netmask、broadcast、gateway: " subnet netmask broadcast gateway   
  46.     read -p "输入next-server地址: " next_server   
  47.     read -p "提供IP的范围start_ip end_ip: " start_ip end_ip  
  48.   
  49. cat << EOF >/etc/dhcp/dhcpd.conf  
  50. subnet $subnet netmask $netmask {  
  51.   range $start_ip $end_ip;  
  52.   option routers $gateway;  
  53.   option broadcast-address $broadcast;  
  54.   default-lease-time 600;  
  55.   max-lease-time 7200;  
  56.   filename "pxelinux.0";  
  57.   next-server $next_server;  
  58. }  
  59. EOF  
  60.   
  61. cat << EOF >/var/lib/tftpboot/pxelinux.cfg/default  
  62. default vesamenu.c32  
  63. #prompt 1   
  64. timeout 600  
  65.   
  66. display boot.msg  
  67.   
  68. menu background splash.jpg  
  69. menu title Welcome to Red Hat Enterprise Linux 6.2!  
  70. menu color border 0 #ffffffff #00000000   
  71. menu color sel 7 #ffffffff #ff000000   
  72. menu color title 0 #ffffffff #00000000   
  73. menu color tabmsg 0 #ffffffff #00000000   
  74. menu color unsel 0 #ffffffff #00000000   
  75. menu color hotsel 0 #ff000000 #ffffffff   
  76. menu color hotkey 7 #ffffffff #ff000000   
  77. menu color scrollbar 0 #ffffffff #00000000   
  78.   
  79. label linux  
  80.   menu label ^Install or upgrade an existing system  
  81.   menu default  
  82.   kernel vmlinuz  
  83.   append ks=ftp://$next_server/ks.cfg initrd=initrd.img  
  84. EOF  
  85. }  
  86.   
  87. #无人值守配置文件   
  88. ks_cfg()  
  89. {  
  90. read -p "请输入无人值守ftp地址: " ftp  
  91. cat <<EOF >/var/ftp/ks.cfg  
  92. firewall --disabled  
  93. install  
  94. url --url="ftp://$ftp/iso"  
  95. rootpw --iscrypted $1$A9aGh0yl$ahDdo0eAvQFAplXTeBkX//  
  96. auth  --useshadow  --passalgo=sha512  
  97. text  
  98. firstboot --disable  
  99. keyboard us  
  100. lang zh_CN  
  101. selinux --disabled  
  102. logging --level=info  
  103. reboot  
  104. timezone  Asia/Shanghai  
  105. network --bootproto=dhcp --device=eth0 --onboot=on  
  106. bootloader --location=mbr  
  107. zerombr  
  108. clearpart --all --initlabel   
  109.   
  110. part /boot --asprimary --fstype="ext4" --size=200  
  111. part swap --asprimary --fstype="swap" --size=2048  
  112. part / --asprimary --fstype="ext4" --size=100000  
  113.   
  114. %packages 
  115. @additional-devel 
  116. @backup-client 
  117. @base
  118. @basic-desktop 
  119. @chinese-support 
  120. @client-mgmt-tools 
  121. @compat-libraries 
  122. @console-internet 
  123. @debugging
  124. @desktop-debugging 
  125. @desktop-platform 
  126. @desktop-platform-devel 
  127. @development
  128. @dial-up 
  129. @directory-client 
  130. @eclipse
  131. @emacs
  132. @fonts
  133. @general-desktop 
  134. @graphical-admin-tools 
  135. @graphics
  136. @hardware-monitoring 
  137. @infiniband
  138. @input-methods 
  139. @internet-browser 
  140. @java-platform 
  141. @kde-desktop 
  142. @large-systems 
  143. @legacy-unix 
  144. @legacy-x 
  145. @mainframe-access 
  146. @network-file-system-client 
  147. @network-tools 
  148. @performance
  149. @perl-runtime 
  150. @remote-desktop-clients 
  151. @scientific
  152. @security-tools 
  153. @server-platform-devel 
  154. @smart-card 
  155. @storage-client-fcoe 
  156. @storage-client-iscsi 
  157. @storage-client-multipath 
  158. @system-management 
  159. @system-management-messaging-client 
  160. @system-management-messaging-server 
  161. @system-management-snmp 
  162. @system-management-wbem 
  163. @technical-writing 
  164. @tex
  165. @x11  
  166. hmaccalc  
  167. %end  
  168. EOF  
  169. }  
  170.   
  171. #调用函数   
  172. Yum_build  
  173. Check_rpm  
  174.   
  175. #拷贝系统引导文件   
  176. cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  
  177. cp  -r /mnt/isolinux/* /var/lib/tftpboot/  
  178. mkdir /var/lib/tftpboot/pxelinux.cfg &>/dev/null  
  179. mv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default  
  180.   
  181. #调用函数   
  182. dhcp_build  
  183. ks_cfg  
  184.   
  185. mkdir /var/ftp/iso &>/dev/null  
  186. mount /dev/cdrom /var/ftp/iso &>/dev/null  
  187.   
  188. #设置开机启动   
  189. chkconfig tftp on   
  190. chkconfig dhcpd on  
  191. chkconfig vsftpd on  
  192.   
  193. #刷新服务   
  194. service xinetd restart &>/dev/null  
  195. service dhcpd restart &>/dev/null  
  196. service vsftpd restart &>/dev/null  

转载请注明linux系统运维
http://www.linuxyw.com/linux/jiaoben/20130510/302.html

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片