首页 > 其他分享 >ks.cfg 设置IP 和选择硬盘

ks.cfg 设置IP 和选择硬盘

时间:2023-02-01 18:31:30浏览次数:40  
标签:tmp -- cfg echo ks part awk IP print

#version=DEVEL
install
cmdline
lang en_US.UTF-8
keyboard us
rootpw --iscrypted $1$8_CHARAC$3G2QA50K.Cqd0wTxGPfs81
selinux --disabled
firewall --enabled
timezone Asia/Shanghai
reboot

%packages
@^minimal
@core
chrony
%end

%include /tmp/network.ks
%include /tmp/disk.txt
%include /tmp/part.ks


%pre
curTTY=$(tty)
exec < $curTTY > $curTTY 2> $curTTY
clear

echo -e "******************************* Please select network type ***********************************
\t1)dhcp
\t2)static"
read -t 60 -p "Your select (1 or 2) : " INPUT
echo

echo "******************************* Please select interface name *********************************"
for i in $(ip -br link|grep -v LOOPBACK|awk '{print $1}' ); do
echo "$(ip -br link show $i) $(ethtool $i|grep Speed)"|awk '{print "\t"$1"\t"$2"\t"$3"\t"$5,$6 }'
done
echo

while true; do
read -t 60 -p "select interface name(eth0 or eth1 or ...) : " INTERFACE
ip addr show $INTERFACE >/dev/null 2>&1 && break
done

echo
echo "**********************************************************************************************"

case $INPUT in
2)
ANSWER="n"
while [ x"$ANSWER" != "xy" ] && [ x"$ANSWER" != "xY" ] ; do
read -p "Enter IP Address : " IPADDR
read -p "Enter NetMask : " NETMASK
read -p "Enter Gateway : " GATEWAY
echo
echo "You entered:"
echo -e "\tIP Address: $IPADDR"
echo -e "\tNetMask: $NETMASK"
echo -e "\tGateway: $GATEWAY"
echo -n "Is this correct? [y/n] "; read ANSWER
done
sleep 1
echo "network --bootproto=static --gateway=$GATEWAY --ip=$IPADDR --netmask=$NETMASK --noipv6 --nodns --onboot=on ${INTERFACE:+--device=$INTERFACE}" >/tmp/network.ks
;;
*)
echo "Use dhcp ................."
echo "network --bootproto=dhcp ${INTERFACE:+--device=$INTERFACE}" > /tmp/network.ks
esac

%end

%pre
curTTY=$(tty)
exec < $curTTY > $curTTY 2> $curTTY
clear

echo "******************************* Please select install disk **************************************"
alldisk=$(lsblk -ldno name,size,type|awk '$3=="disk"{print $1,$2}'|cat -n)
echo "$alldisk"|awk '{printf "%-4s%-8s%4s\n", "\t"$1,$2,$3 }'
echo "*************************************************************************************************"

disknum=noselect
while echo $disknum |grep -q '[^0-9]';do
read -t 60 -p "select disk numbers(1 or 2 or ...) : " disknum
done
if [ -n "$disknum" ];then
DISK=$(echo -n "$alldisk"|awk '$1=='$disknum'{print $2}')
else
USB=$(lsblk -lno name,label|grep -i ydcos|awk 'NR==1{print $1}'|tr -d '0-9')
DISK=$(lsblk -lno name,label,type|grep -v $USB|grep -v fd|awk '$NF~/disk/{print $1}'|head -1)
fi
echo $DISK > /run/.disk

echo -e "bootloader --append=\"crashkernel=auto biosdevname=0 net.ifnames=1 rhgb quiet\" --location=mbr --driveorder=$DISK --boot-drive=$DISK\nignoredisk --only-use=$DISK\nclearpart --all --initlabel " > /tmp/disk.txt

parted -s /dev/$DISK mklabel gpt

echo "part biosboot --fstype=biosboot --size=1" >/tmp/part.ks
echo "part /boot --fstype=ext4 --size=1024 --label boot" >>/tmp/part.ks
size=$(awk '/'$DISK'/{print $3}' /proc/partitions|head -1)
if [ $size -gt 110100480 ]; then
echo "part / --fstype=ext4 --size=100000 --label root" >>/tmp/part.ks
else
echo "part / --fstype=ext4 --grow --size=1 --label root" >>/tmp/part.ks
fi
partprobe

%end

%post --log /dev/stdout
# add hwaddr to network scripts
for n in $(ip -br link|grep -v LOOPBACK|awk '{print $1}' ); do
echo "HWADDR=$(ip link show $n |grep ether|awk '{print $2}' )" >> /etc/sysconfig/network-scripts/ifcfg-$n
done

%end

标签:tmp,--,cfg,echo,ks,part,awk,IP,print
From: https://blog.51cto.com/hequan/6031774

相关文章

  • pip搜索可安装库的版本
    pipinstalltldr==输出:ERROR:Couldnotfindaversionthatsatisfiestherequirementtldr==(fromversions:0.1.0,0.1.1,0.1.2,0.1.3,0.1.3.1,0.2,0.3,......
  • 1.1 JavaScript简介
    1.1.1JavaScript的基本概念JavaScript是一种解释性语言,也是一种基于对象(Object)和事件驱动(EventDriven)的、并具有安全性能的脚本语言。特点【1.JavaScript主要用来向......
  • IPv6之NAT64
         ......
  • 接口测试|Fiddler会话栏中添加IP列
    Fiddler会话栏中添加IP列在fiddler会话栏中添加IP列1、点击菜单栏rules——customizerules…或者在右侧响应栏中点击FiddlerScript栏;如下图:2、ctrl+f搜索“staticfunction......
  • 什么是公网IP?公网IP和内网IP的区别
    什么是IP地址IP地址,全称(InternetProtocolAddress)翻译成中文就是指互联网协议地址,所有的计算机分配一个统一格式的、唯一的虚拟地址编号。就像每个人都有一个身份证一样,IP......
  • 什么是公网IP?公网IP和内网IP的区别
    什么是IP地址IP地址,全称(InternetProtocolAddress)翻译成中文就是指互联网协议地址,所有的计算机分配一个统一格式的、唯一的虚拟地址编号。就像每个人都有一个身份证一样,I......
  • JavaScript 数组去重
    JavaScript中有多种方法可以实现数组去重,下面是几种常用的方法:1、使用Set去重:Set数据结构中不能有重复元素,可以将数组转成Set类型,再转回数组。letarr=[1,2,3,4......
  • 使用IP地址监控工具扫描MAC 地址
    OpUtils包括IP地址监控工具、流氓检测工具和MAC地址解析器,用于日常监控和管理DNS名称、IP和MAC地址。地址监控工具用于IP监控,用于管理DNS名称、网络的IP和M......
  • JavaScript之异步编程
    什么是异步异步:Asynchronous,async是与同步synchronous,sync相对的概念。传统单线程编程中,程序的运行是同步的,指程序运行在一个控制流之中运行。而异步的概念就是不保证同......
  • python 利用backtrader 和 akshare 做股票回测
    python版本设置在3.8ImportError:cannotimportname'warnings'from'matplotlib.dates'报上面的错降级matplotlibpipuninstallmatplotlibpipinstallmatplo......