设为首页 收藏本站
查看: 1155|回复: 0

[经验分享] 第一次修改:pxe无人值守网络安装redhat linux系统脚本

[复制链接]

尚未签到

发表于 2018-5-12 12:58:26 | 显示全部楼层 |阅读模式
.....................................................................................
pxe无人值守网络安装redhat linux系统脚本
.....................................................................................
要实现上面的功能,我们需要配置DHCP服务+NFS服务+TFTP服务,具体原理网上很多 ,在这我只提供一个脚本和我在实现中遇到的故障
在执行这个脚本的时候要先配置好yum源,自己主机在24掩码的网段,同时也需要把光盘镜像挂载到/mnt/cdrom下。
#!/bin/bash
myip=`ifconfig | awk -F: '/inet addr/{print $2}' |  grep -v "127.0.0.1"  |  cut -d' ' -f1 | cut -d'.' -f4`
mynet=`ifconfig | awk -F: '/inet addr/{print $2}'| awk '{if(NR==1) print $1 }'|sed 's/\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\).*/\1/g'`
yum clean all &>/dev/null
yum list all &>/dev/null
         if [ $? -eq 0 ];then
                echo -e "\033[32m yum server is ok...\033[0m"
         else
                echo -e "\033[31m yum server is not working...\033[0m"
                exit 1
         fi
getenforce | grep  Enforcing
         if [ $? -eq 0 ];then
                 sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
         fi
function setdhcp {
yum -y install dhcp
mv  /etc/dhcpd.conf /etc/dhcpd.conf.bak
cat >> /etc/dhcpd.conf << 'EOF'
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
next-server $mynet.$myip;
filename "pxelinux.0";
subnet $mynet.0 netmask 255.255.255.0 {
        option routers                  $mynet.$myip;
        option subnet-mask              255.255.255.0;
        option domain-name-servers      $mynet.$myip;
        option routers                  $mynet.$myip;
        option subnet-mask              255.255.255.0;
        option domain-name              "domain.org";
        option domain-name-servers      $mynet.$myip;
        option time-offset              -18000; # Eastern Standard Time
        range $mynet.200 $mynet.220;
        default-lease-time 21600;
        max-lease-time 43200;
}
EOF
service dhcpd start
[ $? -eq 0 ] && echo -e "\033[32mthe server dhcp start is ok......\033[0m" || exit 10
chkconfig dhcpd on
sync
}
function settftp {
yum -y install tftp-server
sed -i  "s@disable[[:space:]]*= yes@disable                  = no@g" /etc/xinetd.d/tftp
service xinetd restart
mkdir /tftpboot
}
function setpxe {
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
cp /mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} /tftpboot     ### 挂在镜像到/mnt/cdrom 下的作用就在这。
cp /mnt/cdrom/isolinux/*.msg /tftpboot/
mkdir /tftpboot/pxelinux.cfg
#cp /mnt/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default####也可以直接cp,然后用sed修改部分参数
cat >> /tftpboot/pxelinux.cfg/default << EOF
default linux
prompt 1
timeout 60
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
  kernel vmlinuz
  append ks=nfs:$mynet.$myip:/iso/ks.cfg initrd=initrd.img
label text
  kernel vmlinuz
  append initrd=initrd.img text
label ks
  kernel vmlinuz
  append ks initrd=initrd.img
label local
  localboot 1
label memtest86
  kernel memtest
  append -
EOF
chmod 755 /tftpboot/*
mkdir -pv /iso/install
cp /root/redhat5.4.iso /iso/install     #################需要镜像 我做实验的时候把镜像放到根目录下了,你根据实际情况修改
echo "/iso *(ro,sync)" >> /etc/exports
service nfs restart
chkconfig nfs on
}

function setks {
#cp /root/anaconda-ks.cfg /iso/ks.cfg####也可以直接cp,然后用sed修改部分参数,感觉sed修改这些参数很麻烦所以就cat一个文件
if [ ! -e /iso/ks.cfg ];then
cat >> /iso/ks.cfg << EOF
text
nfs --server=$mynet.$myip  --dir=/iso/install
key --skip
lang en_US.UTF-8
keyboard us
xconfig --startxonboot --resolution 1024x768 --depth 16
network --device eth0 --bootproto dhcp
rootpw --iscrypted $1$.Nwkli1d$Yr7n8.Oa0w9gl/K3Xe21/1   #########需要换成你自己设置的密码
firewall --disabled
authconfig --useshadow --enablemd5
selinux --enforcing
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all --initlabel
part /boot --fstype ext3 --size=100
part pv.100000 --size=40960              #########自己设置安装硬盘大小
part swap --size=512
volgroup vol0 --pesize=32768 pv.100000
logvol / --fstype ext3 --name=root --vgname=vol0 --size=29984
logvol /home --fstype ext3 --name=home --vgname=vol0 --size=1984
%packages
@GNOME Desktop Environment
@X Window System
@Printing Support
@Development Tools
elinks
openssh
openssh-server
openssh-clients
vim-enhanced
samba-common
samba-client
gimp
gimp-data-extras
enscript
libcap
ntp
coreutils
elfutils
elfutils-libelf
gimp-print-plugin
gnome-icon-theme
gstreamer
gstreamer-tools
libgnomeprint22
libgnomeprintui22
libgsf
libIDL
libraw1394
nautilus-cd-burner
openmotif
pyorbit
startup-notification
ttmkfdir
firefox
mutt
dialog
EOF
chmod +rx /iso/ks.cfg               ######################修改权限
else
echo "the file exit......................."
fi
}
setdhcp
settftp
setpxe
setks
.....................................................................................................................
说明  这个脚本有局限性,我随后有时间会加以修改,需要注意和容易犯错的地方我已经用##号备注,使用的时候可以根据自己的实际情况修改。如果是虚拟机安装的话,一定要注意安装的版本,不然会报错。
希望大家给出更好的建议。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-459139-1-1.html 上篇帖子: redhat5在提示符前添加彩色标识 下篇帖子: Redhat5.0_ipv6_DHCP server应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表