主頁 > 作業系統 > kickstart半自動安裝centos系統與pxe自動安裝centos系統

kickstart半自動安裝centos系統與pxe自動安裝centos系統

2020-09-12 18:38:30 作業系統

一、kickstart半自動安裝centos系統

關閉防火墻,關閉selinux使用system-config-kickstart生成kickstart組態檔,啟動xmanger-Passive

[root@centos7 ~]#export DISPLAY=10.0.0.1:0.0

[root@centos7 ~]#system-config-kickstart

即可進入kickstart組態檔圖形終端,使用system-config-kickstart生成kickstart組態檔

步驟:

1、Basic Configuration

#在kickstart應答檔案中會生成以下格式
#platform=x86, AMD64, or Intel EM64T                     #Default Language默認語言                                 lang en_US                                               # Keyboard 鍵盤 keyboard 'us' # timezone 時區(勾選了"Use UTC clock" 會追加[--isUtc]) timezone Asia/Shanghai # Root password rootpw --iscrypted $1$DBk7xfJp$Agxd303XUAfRKIf7gB8DG/ ==================================================== #Advanced Configuration       #勾選就有,不勾沒有 ====================================================
# Reboot after installation reboot # Use text mode install text

2、Installation Method

#在kickstart應答檔案中會生成以下格式
# Install OS instead of upgrade
install
# Upgrade existing installation
upgrade
# Use network installation #如果是光碟就會生成cdrom
url --url="http://(服務器ip)/Centos/7/os/x86_64"

3、Boot Loader Options

#在kickstart應答檔案中會生成以下格式
# System bootloader configuration
 bootloader --append="ker" --location=mbr --password="123"
#append是內核引數,location是bootloader安裝位置,password是GRUB密碼

4、Partition Information

#在kickstart應答檔案中會生成以下格式
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --linux --initlabel
# Disk partitioning information
part / --fstype="xfs" --size=10240
part /boot --fstype="ext4" --size=1024
part swap --fstype="swap" --size=2048

5、 Network Configuration

#在kickstart應答檔案中會生成以下格式
# Network information
network  --bootproto=dhcp --device=ens33

6、Authentication

#在kickstart應答檔案中會生成以下格式
# System authorization information
auth  --useshadow  --passalgo=md5

7、Firewall Configuration

#在kickstart應答檔案中會生成以下格式
# SELinux configuration
selinux  --disabled
# Firewall configuration
firewall  --disabled

8、Display Configuration

#在kickstart應答檔案中會生成以下格式
# Do not configure the X Window System (如果選了安圖形則沒有這個界面)
skipx  
# Run the Setup Agent on first boot
firstboot --enable

9、Package Selection

如果包安裝的界面不出現可選的包資訊,那么需要修改yum倉庫組態檔
[root@centos ~]#vim /etc/yum.repos.d/***.repo
[development]
#把原來"[]"內的內容改成development,其它不變
#選了什么包就會生成對應的檔案資訊
#在kickstart應答檔案中會生成以下格式
%packages
@development
-byacc
-indent
-intltool
-patchutils
-rcs
-subversion-swig
-systemtap
%end #(必須以%end結尾)

10、Pre-Installation Script

#在kickstart應答檔案中會生成以下格式
%pre    #(安裝前腳本我一般都不寫)
echo i am pre 
%end

11、Post-Installation Script

#在kickstart應答檔案中會生成以下格式
%post --nochroot
#可以再安裝后腳本中創建用戶或創建yum源等等等等
useradd zxc
echo 123456 |passwd --stdin zxc &> /dev/null
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=base
baseurl=file:///misc/cd
gpgcheck=0
EOF

%end

最后生成的應答檔案如下(例如檔案名ks7.cfg)

[root@centos7 ~]#vim  ks7.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted ...................(加密的密碼)................
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --disable
# SELinux configuration
selinux --disabled
 # Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens33
#network  --hostname=centos7  #(此項為指定主機名可加可不加)
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Use network installation
url --url="http://(服務器ip)/centos/7/os/x86_64/"
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
ignoredisk --only-use=sda
# Disk partitioning information
part / --fstype="xfs" --size=10240
part /boot --fstype="ext4" --size=1024
part swap --fstype="swap" --size=2048
 %post
useradd zxc
e
cho 123456|passwd --stdin zxc
%end
之后把該檔案放到服務器上如:/var/www/html/k/下
可以將定制安裝光碟,并結合kickstart實作基于光碟啟動的半自動化安裝        #(嫌麻煩也可以去阿里源下載centos7的netinstall光碟 )

步驟

[root@centos7 ~]#mkdir –pv /data/myiso
[root@centos7 ~]#cp -r /mnt/isolinux/ /data/myiso/
[root@centos7 ~]#vim /data/myiso/isolinux/isolinux.cfg
label linux
 menu label ^Auto Install CentOS Linux 7
 kernel vmlinuz
 append initrd=initrd.img quiet ks=http://10.0.0.18/k/ks7.cfg
label rescue
 menu label ^Rescue a CentOS Linux system
 kernel vmlinuz
 append initrd=initrd.img inst.repo=http://10.0.0.18/centos/7/os/x86_64/ rescue 
quiet
label local
 menu default
 menu label Boot from ^local drive
 localboot 0xffff
[root@centos7 ~]#cp /root/myks.cfg /data/myiso/
[root@centos7 ~]#dnf -y install mkisofs
[root@centos7 ~]#mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --bootinfo-table -V "CentOS 8.0 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /data/myiso/
#從而生成boot.iso光碟

把生成的光碟boot.iso鏡像刻錄到U盤,插到一臺新機器上

在啟動選單界面,任意選中一項安裝方法,按ESC鍵進入boot:界面

 

 輸入linux   ks=http://服務器ip/k/ks7.cfg   ip=dhcp  然后回車

 

 然后您可以出去抽個煙,溜達溜達回來后應該就已經安裝好了

 

二、pxe自動安裝centos系統

關閉防火墻和SELINUX,DHCP服務器靜態IP

(溫馨提示:如果同時安裝數量太多可能會發生意想不到的事情呦!)

1、安裝相關軟體包并啟動

[root@centos8 ~]#dnf -y install dhcp-server tftp-server httpd syslinux-nonlinux 
[root@centos8 ~]#systemctl enable --now httpd tftp dhcpd

 2、配置DHCP服務

[root@centos8 ~]#cp /usr/share/doc/dhcp-server/dhcpd.conf.example 
/etc/dhcp/dhcpd.conf
[root@centos8 ~]#vim /etc/dhcp/dhcpd.conf 
option domain-name "example.com";
option domain-name-servers 180.76.76.76,223.6.6.6;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
 range 10.0.0.1 10.0.0.200;
 option routers 10.0.0.1;
 next-server 10.0.0.100;
 filename "pxelinux.0"; }
[root@centos8 ~]#systemctl start dhcpd

3、準備yum 源和相關目錄

[root@centos8 ~]#mkdir -pv /var/www/html/centos/{6,7,8}/os/x86_64/ 
[root@centos8 ~]#mount /dev/sr0 /var/www/html/centos/6/os/x86_64/
[root@centos8 ~]#mount /dev/sr1 /var/www/html/centos/7/os/x86_64/
[root@centos8 ~]#mount /dev/sr2 /var/www/html/centos/8/os/x86_64/

4、準備kickstart檔案

[root@centos8 ~]#mkdir /var/www/html/k/         #應答檔案可根據需求可自行更改,也可參考“一”生成的檔案
[root@centos8 ~]#vim /var/www/html/k/ks6.cfg  
install
text
reboot
url --url=http://10.0.0.18/centos/6/iso/x86_64/
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp  --noipv6
rootpw --iscrypted $6$loeMb/DwOAMWO9MT$lvxCJFWGgvkfhk4u3mez23BCzNS4bv.yAMcObpH/zzzwoJ.kJriKpyh1YG7gBQYDfFXr8UOV9dco2lS54ag/50
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
zerombr
clearpart --all --initlabel
part /boot --fstype=ext4 --size=1024
part / --fstype=ext4 --size=50000
part /data --fstype=ext4 --size=30000
part swap --size=2048
%packages
@core
@server-policy
@workstation-policy
autofs
vim-enhanced
%end
%post
useradd zxc
echo asd9420 | passwd --stdin zxc &> /dev/null
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=base
baseurl=file:///misc/cd
gpgcheck=0
EOF
%end
================================================================================ [root@centos8 ~]#vim /var/www/html/k/ks7.cfg install xconfig --startxonboot keyboard --vckeymap=us --xlayouts='us' rootpw --iscrypted $6$xI3rPwQBFxqTNl1M$Imk2HHxf3jTIy1qVzBn/DAYX6RJLbc2amakegO/fQgmQ.6NJBEOBufkHx2B10ZXfScr/SExe.j5j1BDfqM4J21 url --url="
http://10.0.0.18/centos/7/iso/x86_64" lang en_US.UTF-8 auth --useshadow --passalgo=sha512 text firstboot --enable selinux --disabled skipx services --disabled="chronyd" ignoredisk --only-use=sda firewall --disabled network --bootproto=dhcp --device=ens33 reboot timezone Asia/Shanghai --nontp autopart --type=lvm zerombr clearpart --all --initlabel %post useradd zxc echo asd9420 | passwd --stdin zxc & >/dev/null %end %packages @^minimal vim-enhanced %end
======================================================================================
[root@centos8 ~]#vim /var/www/html/k/ks8.cfg ignoredisk --only-use=sda zerombr clearpart --all --initlabel text url --url=
http://10.0.0.18/centos/8/iso/x86_64 keyboard --vckeymap=cn --xlayouts='cn' lang zh_CN.UTF-8 firewall --disabled network --bootproto=dhcp --device=ens160 --ipv6=auto --activate network --hostname=CentOS8 rootpw --iscrypted $6$loeMb/DwOAMWO9MT$lvxCJFWGgvkfhk4u3mez23BCzNS4bv.yAMcObpH/zzzwoJ.kJriKpyh1YG7gBQYDfFXr8UOV9dco2lS54ag/50 firstboot --enable skipx services --disabled="chronyd" timezone Asia/Shanghai --isUtc --nontp user --name=zxc --password=$6$L/YFB8zwDbSjnHQK$vkKhMNIKIqZKHsvPzUaud.BuKYKwnaHUl.4lbA9Nkesbjbpdec6eNi5j3msQ285LUx7.3kgM5AirHz/4Fvjut. --iscrypted --gecos="zxc" selinux --disabled reboot autopart --type=lvm %packages @^minimal-environment @container-management @legacy-unix @network-server @rpm-development-tools @security-tools @system-tools kexec-tools %end %addon com_redhat_kdump --enable --reserve-mb='auto' %end %anaconda pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty %end %post useradd zxc echo asd9420 | passwd --stdin zxc & >/dev/null %end

5、準備PXE啟動相關檔案

[root@centos8 ~]#mkdir /var/lib/tftpboot/centos{6,7,8}
#準備CentOS6,7,8各自的內核相關檔案
[root@centos8 ~]#cp /var/www/html/centos/6/os/x86_64/isolinux/{vmlinuz,initrd.img}  /var/lib/tftpboot/centos6
[root@centos8 ~]#cp /var/www/html/centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img}  /var/lib/tftpboot/centos7
[root@centos8 ~]#cp /var/www/html/centos/8/os/x86_64/isolinux/{vmlinuz,initrd.img}  /var/lib/tftpboot/centos8
[root@centos8 ~]#cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/ 
#以下三個檔案是CentOS8安裝所必須檔案,CentOS6,7則不需要 [root@centos8
~]#cp /var/www/html/centos/8/os/x86_64/isolinux/{ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot/ #生成安裝選單檔案 [root@centos8 ~]#mkdir /var/lib/tftpboot/pxelinux.cfg/ [root@centos8 ~]#vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 60

menu title CentOS Linux 6\7\8

label linux8
  menu label Auto Install CentOS Linux ^8
  kernel centos8/vmlinuz
  append initrd=centos8/initrd.img quiet ks=http://10.0.0.18/k/ks8.cfg

label linux7
  menu label Auto Install CentOS Linux ^7
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img quiet ks=http://10.0.0.18/k/ks7.cfg

label linux6
  menu label Auto Install CentOS Linux ^6
  kernel centos6/vmlinuz
  append initrd=centos6/initrd.img quiet ks=http://10.0.0.18/k/ks6.cfg


label rescue #參考這個也可以生成6,7的救援選單,不生成也不影響啟動
  menu label ^Rescue a CentOS Linux system
  kernel centos8/vmlinuz
  append initrd=centos8/initrd.img inst.repo=http://10.0.0.18/centos/8/iso/x86_64/ rescue   quiet
      
label local
  menu default
  menu label Boot from ^local drive
  localboot 0xffff

6、測驗客戶端基于PXE實作自動安裝

準備一臺新主機,v>

設定網卡引導,可看到看啟動選單,并實作自動安裝centos(或6、7、8),

 

 之后選擇對應的對應的版本回車就行

 

 

 

 

 

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/16138.html

標籤:Linux

上一篇:Ubuntu下pip install happybase和thrift

下一篇:Mac-Macs Fan Control(控制溫度、隨時改變風扇轉速)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more