1. 程式人生 > >Linux之KickStart自動化安裝CentOS系統

Linux之KickStart自動化安裝CentOS系統

一、KickStart安裝簡介

KickStart是一種半自動化的安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預

填寫的各種引數,並生成一個名為ks.cfg的檔案;在其後的安裝過程中(不只侷限於生成KickStart安裝

檔案的機器)當出現要求填寫引數的情況時,安裝程式會首先去查詢KickStart生成的檔案,當找到合適

的引數時,就採用找到的引數,當沒有找到合適的引數時,才需要安裝者手工干預。這樣,如果KickStart

檔案涵蓋了安裝過程中出現的所有需要填寫的引數時,安裝者完全可以只告訴安裝程式從何獲取ks.cfg檔案,

然後去忙自己的事情。等安裝完畢,安裝程式會根據ks.cfg中設定的重啟選項來重啟系統,並結束安裝。

KickStart檔案的格式:

KickStart檔案格式與anaconda-ks.cfg檔案格式十分類似,總體由三部分組成:

1. 命令段:指明各種安裝前配置,如鍵盤型別等

  • 必備命令:

    authconfig:認證方式配置
    
    authconfig –useshadow –passalgo=sha512
    
    bootloader:bootloader的安裝位置及相關配置
    
    bootloader –location=mbr –driveorder=sda –
    
    append=”crashkernel=auto rhgb quiet”
    
    keyboard:設定鍵盤型別
    
    lang:語言型別
    
    part:建立分割槽
    
    rootpw:指明root的密碼
    
    timezone:時區
    
  • 可選命令:

    install OR upgrade

    text:文字安裝介面

    network

    firewall

    selinux

    halt

    poweroff

    reboot

    repo

    user:安裝完成後為系統建立新使用者

    url: 指明安裝源

    key –skip 跳過安裝號碼,適用於rhel版本

2. 程式包段:指明要安裝的程式包組或程式包,不安裝的程式包等

%packages

@group_name

package

-package

%end

3. 指令碼段:

%pre:安裝前指令碼

執行環境:運行於安裝介質上的微型Linux環境

%post:安裝後腳本

執行環境:安裝完成的系統

安裝後腳本非常有用,我們可以在這裡定義系統安裝完成後自動安裝yum源,建立一些普通使用者等功能

生成ks應答檔案方法:

  1. 參照anaconda-ks.cfg檔案修改(不常用)

  2. 利用system-config-kickstart圖形工具製作(常用)

    檢查ks檔案語法錯誤:

    ksvalidator /path/to/ks.cfg

在實驗之前,我們還是先了解下系統安裝程式anaconda以及光碟中isolinux目錄的功能

anaconda:系統安裝程式

1. 安裝前配置階段:

安裝過程使用的語言

鍵盤型別

安裝目標儲存裝置

Basic Storage:本地磁碟

特殊裝置:iSCSI

設定主機名

配置網路介面

時區

管理員密碼

設定分割槽方式及MBR的安裝位置

建立一個普通使用者

選定要安裝的程式包

2. 安裝階段:

在目標磁碟建立分割槽,執行格式化操作等

將選定的程式包安裝至目標位置

安裝bootloader和initramfs

3. 圖形模式首次啟動:

Iptables

Selinux

Core dump

系統在完成安裝後,會在使用者家目錄自動生成一個anaconda-ks.cfg配置檔案,記錄了安裝系統時選擇的

各種引數,安裝包等內容

系統光碟中isolinux目錄列表檔案:

boot.cat              類似於系統啟動時MBR的作用

grub.conf             grub.conf檔案映象

initrd.img            是ramfs虛擬檔案系統(先cpio,再gzip壓縮)

isolinux.bin          相當於grub的第二階段

isolinux.cfg          isolinux.bin的配置檔案,當光碟啟動,會自動去找isolinux.cfg檔案

memtest               記憶體檢測,這是一個獨立程式

splash.jpg            光碟啟動介面的背景圖

vesamenu.c32          選單風格,選單圖示

vmlinuz               核心映象

二、實驗:使用kickstart自動化安裝CentOS系統

CentOS6:

1.系統預設未安裝system-config-kickstart,先進行yum安裝:

yum -y install system-config-kickstart

2. 配置kickstart

  1. 基本配置

    這裡我們選擇語言、鍵盤模式、時區,設定root賬戶密碼並且選擇安裝後自動重啟以及字元介面安裝。
    這裡寫圖片描述

2.選擇安裝方式,我們以http安裝為例
這裡寫圖片描述

  1. Boot Loader設定
    這裡寫圖片描述

4.分割槽設定,與正常安裝CentOS系統時設定分割槽類似,點選Add新增分割槽
這裡寫圖片描述

5.網路配置介面,用來配置系統安裝完成後的網路地址
這裡寫圖片描述

6.使用者加密方式設定,我們選擇預設即可
這裡寫圖片描述

7.防火牆設定,在這裡我們可以關閉SELinux策略,防火牆等級選擇預設
這裡寫圖片描述

8.顯示設定

這裡寫圖片描述

9.自定義安裝包,我們可以在這一項選擇想要安裝的安裝包,比如mysql資料庫等
這裡寫圖片描述

10.安裝前指令碼

這裡寫圖片描述

11.安裝後腳本

我們可以在這裡定義系統安裝完成後自動安裝yum源,建立一些普通使用者等功能
這裡寫圖片描述

3. 儲存ks.cfg檔案

這裡寫圖片描述
開啟ks.cfg檔案,可以看到剛才設定的引數已經儲存在檔案中,我們還可以直接修改ks.cfg檔案,比如新增一些安裝包等

這裡寫圖片描述

4. 在本機開啟httpd服務,並將fs.cfg檔案上傳到網頁

service httpd restart

service iptables stop

mv ks6_mini.cfg /var/www/html

16確認上傳瀏覽器

5. 開啟一臺新虛擬機器:

網絡卡設定為橋接模式

在進入光碟引導介面後,按ESC,輸入:

這裡寫圖片描述
注:此處設定的ip地址是為了訪問httpd服務設定的ip地址,與系統安裝後的ip地址不同

6. 自動化安裝

如果ks.cfg檔案沒有設定出錯的話,將進入自動安裝介面

這裡寫圖片描述

7. 安裝完成

我們可以看到,安裝後腳本也執行成功,wang賬戶建立成功,分割槽建立成功!

這裡寫圖片描述

CentOS7:

7版本的kickstart安裝與6基本一致,僅需修改個別版本引數

需要注意的是,在可選安裝包這一項,獲取不到安裝包資訊

這裡寫圖片描述

解決方法:將yum的base源名稱改為development即可

這裡寫圖片描述

再次開啟,我們發現可選安裝包又出現了

其他流程與安裝CentOS6版本基本一致:

這裡寫圖片描述

三、實驗:製作CentOS6的自動化啟動引導檔案boot.iso

思路:參考ISO光碟內檔案,製作boot6.iso

1. 將光碟isoliux目錄複製到/data/myiso目錄下,ks.cfg檔案複製到/data/myiso/ksdir下

目錄結構如下:
這裡寫圖片描述

rm -rf /data/*

cd /data

mkdir myiso

cp -r /misc/cd/isolinux  /data/myiso/

mkdir /data/myiso/ksdir

cp  ks6_mini.cfg  /data/myiso/ksdir

cp  ks6_desktop.cfg  /data/myiso/ksdir

2. 修改isolinux.cfg檔案

cd isolinux/

vim isolinux.cfg

記憶體檢測刪掉

本地安裝留下,且留作預設項(重要)

救援模式刪掉

增加桌面安裝

label desktop

kernel vmlinuz

append initrd=initrd.img ks=cdrom:/ksdir/ks6_desktop.cfg

增加最小化安裝

label mini

kernel vmlinuz

append initrd=initrd.img ks=cdrom:/ksdir/ks6_mini.cfg

這裡寫圖片描述

3. 生成boot.iso檔案

mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 boot” -b isolinux/isolinux.bin -c isolinux/boot. cat -o /root/boot.iso /data/myiso/

這裡寫圖片描述

4. 將boot.iso檔案匯出系統,新開一臺虛擬機器,掛載boot.iso;並設定光碟引導啟動

這裡寫圖片描述

5. 開機成功,顯示我們通過isolinux.cfg修改過的選單選項,預設本地安裝,選擇其他選項將進行對應系統的自動安裝

這裡寫圖片描述

四、實驗:製作U盤自動化安裝盤

思路:以實驗三製作完成的boot.iso為啟動檔案,增加一塊1G的虛擬硬碟/dev /sdc模擬U盤將iso轉

1.為混合模式

isohybrid boot.iso

這裡寫圖片描述

2.使用dd命令寫入新硬碟

dd if=boot.iso of=/dev/sdc

這裡寫圖片描述

3.開啟一臺新的虛擬機器,插入剛才的硬碟,並設定新硬碟為啟動項

這裡寫圖片描述

4.啟動成功

這裡寫圖片描述

五、實驗:製作不依賴網路的完整CentOS6系統ISO自動安裝盤

1.將CentOS6的第一張盤和第二張盤所有內容拷入centos6目錄

mkdir  /data/centos6  

cp -rv /misc/cd/  /data/centos6              第一張盤

cp -rv /misc/cd/*  /data/centos6             第二張盤

2.刪除centos6/repodata/檔案,只留下.*comps.xml一個檔案

這裡寫圖片描述

3.根據.*comps.xml生成新的repodata目錄

cd centos6/

createrepo -g  .*comps.xml  

這裡寫圖片描述

4.將準備好的ks.cfg檔案拷入/data/centos6/ksdir目錄

mkdir  /data/centos6/ksdir

cp  ks6_mini.cfg /data/centos6/ksdir

cp  ks6_desktop.cfg /data/centos6/ksdir

5.刪除/data/centos6目錄下多餘的檔案,如TRANS.TBL檔案

find /data/centos6 -name TRANS.TBL -exec rm {} \;

6.修改ks.cfg檔案啟動方式為光碟啟動cdrom

vim ksdir/ks6_mini.cfg

#Use network installation

cdrom

這裡寫圖片描述

7.按照ks.cfg檔案修改isoinux.cfg檔案啟動選項

cp /root/isolinux/isolinux.cfg .

vim isolinux.cfg

注意設定本地啟動為預設啟動項

這裡寫圖片描述

8.生成boot.iso

mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 Everything” -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/CentOS-6.9-x86_64-Everything.iso /data/centos6/

9.將CentOS-6.9-x86_64-Everything.iso檔案匯出,由於檔案過大,推薦使用xftp匯出

這裡寫圖片描述

10.新開一臺虛擬機器,掛載CentOS-6.9-x86_64-Everything.iso,設定光碟為開機啟動

這裡寫圖片描述

相關推薦

LinuxKickStart自動化安裝CentOS系統

一、KickStart安裝簡介 KickStart是一種半自動化的安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預 填寫的各種引數,並生成一個名為ks.cfg的檔案;在其後的安裝過程中(不只侷限於生成KickStart安裝 檔案

PXE+Kickstart 自動安裝CentOS系統

inux osi share iso lin oot fault 如何 size PXE (preboot execcute environment) 依賴服務   dhcp   tftp   file server (yum repository) 準備TFTP服務器

PXE自動化安裝centos系統

linux 菜雞日常 PXE自動化安裝centos系統 ①安裝前準備:關閉防火墻和SELINUX,DHCP服務器靜態IP iptables -vnL #查看防火墻狀態 systemctl stop firewall

pxe實現自動化安裝centos系統

端口 錯誤 安裝系統 打開 use time splay rom sha 實驗:pxe實現自動化安裝centos7系統 將配置搭建為如下框架: . ├── initrd.img ├── menu.c32 ├── pxelinux.0

配置pxe自動化安裝centos系統

netmask ini vml tftp服務 star timeout ofo rpm tomat 一、配置kickstart應答文件要想配置kickstart ,首先要配置個本地yum源,要不然用system-config-kickstart時選不上包。而且,centos

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

一、kickstart半自動安裝centos系統 關閉防火牆,關閉selinux,使用system-config-kickstart生成kickstart配置檔案,啟動xmanger-Passive [root@centos7 ~]#export DISPLAY=10.0.0.1:0.0 [root@cent

自動化運維kickstart自動化部署安裝操作系統

自動化運維之kickstart第1章 簡介1.1 PXE簡介q PXE是預啟動執行環境,全名是Pre-boot Execution Environmentq 通過網絡接口啟動計算機,不需要依賴本地存儲設備或本地已安裝的操作系統q 由Intel和Systemsoft公司於1999年9月20日公布的技術q

Linux入門Win7下安裝CentOS實現雙系統

本文介紹在win7下配置引導安裝CentOS6.7系統實現雙系統,且以win7為主引導系統,可隨時刪除Linux而不會影響win7系統的啟動,以及安裝Linux後相關軟體的安裝 一:win7安裝ce

“Vbox安裝CentOS系統低級錯誤一例:版本號的選擇

作品 檢查 span fontsize 分析 版本 系列 ast 網卡 日 期:2014年7月18日 錯誤描寫敘述:虛擬機系統版本號選擇錯誤,導致無法引導進入光盤安裝 錯誤重演: 因為混淆了centos和rehat的版本號概念。錯

Kickstart自動化安裝系統及定制安裝

Kickstart 定制系統安裝 1.查看系統版本。防火墻,selinux關閉[root@fitme ~]# cat /etc/redhat-release > ## CentOS Linux release 7.2.1511 (Core)[root@fitme ~]# getenforce

Linux王子教你安裝CentOS 7.4系統

安裝Cent OS 7.4系統第1章 安裝CentOS 7.41.1安裝方法選擇和相應的準備工作:1)下載Cent OS 7.4光盤鏡像文件到官方鏡像站點下載:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708

Linux的發展,創建虛擬機並安裝CentOS系統

地址 計算 upgrade 計算機系統 2.0 數量 穩定 自由 use 第1章 Linux的發展1.1. Linux發展 unix誕生1969年的貝爾實驗室。 1986年Andrew S.Tanenbaum(譚邦寧)開發minix(mini unix),主要用於教學。

Linux的學習路-2019--------安裝centos

圖形界面 d3d 學習之路 b2c db4 編輯 100g pro bcf 安裝centos 安裝centos操作系統1.準備下載好的文件我這個是學校下載好的2.打開剛剛安裝好的VM軟件3.點擊創建新的虛擬機,用力點4.選擇人家推薦的就行了(不過看你們了)。5.老師說了不聽

Linux rsyslog+LogAnalyzer 日誌收集系統

windows 服務器 應用程序 數據庫 規劃圖 一、LogAnalyzer介紹  LogAnalyzer工具提供了一個易於使用,功能強大的前端,用於搜索,查看和分析網絡活動數據,包括系統日誌,事件日誌和其他許多日誌源。由於它只是將數據展示到我們用戶的面前,所以數據本身需要由另一個程序收集

kickstart自動化安裝--tftp+nfs+dhcp

優勢 ins efault too centos6.x disabled dia key usr 使用kickstart實現Centos 自動化安裝 Kickstart自動化安裝簡介: 規模化:同時裝配多臺 服務器 自動化 :安裝系統,配置各種服務 遠程實現:不需要光盤,

開發人員學Linux終結篇:大型系統開發經驗談

bug 架構 版本管理 質量 管控 1.前言這篇文章來源於我的一個ppt,而這個ppt是源於一個朋友的一次邀請,朋友邀請我為一個公司做一堂大約2小時的技術講座,我選定的方向是如何開發一個大型系統,在這裏我對大型系統的定義為日均PV在千萬級以上,而京東和淘寶這類則屬於巨型系統了。因此在本篇中

pxe+kickstart自動化安裝

環境 通過 ogg ask inf 壓縮 not x86_64 timeout 什麽是PXE? PXE(Pre-boot Execution Environment,預啟動執行環境)是Intel公司開發的最新技術,工作於Client/Server模式。PXE是一種遠程引導方

PXE自動化安裝centos7系統

系統 自動化 安裝 Kickstart+PXE安裝系統的需求1) 網卡必須支持PXE引導;2) 客戶端需要有與Kickstart 通信的IP地址,這裏一般都是通過DHCP自動分配IP地址來實現;3) 提供引導所需的文件,內核文件,內核鏡像文件等,此時一般通過tftp-server等實現;4) ki

VMware上安裝CentOS系統(本人新手,歡迎大家多多指導和關照)

com top 寫入 部分 安裝目錄 des ide pan div 1.成功安裝VMware Workstation。 2.下載CentOS鏡像。 3.新建一個虛擬機。 4.選擇自定義安裝並單擊下一步(選擇自定義安裝是為了方便自己配置

CentOS7上安裝並配置KVM,以及通過KVM安裝CentOS系統

KVM 虛擬機 CentOS7 虛擬化技術 筆記內容:CentOS7上安裝並配置KVM,以及通過KVM安裝CentOS系統筆記日期:2018-03-07 28.5 Centos7上安裝KVM 28.6 配置網卡 28.7 創建虛擬機安裝CentOS7 28.8 虛擬機管理 Centos7