kickstart文件詳解

来源:http://www.cnblogs.com/f-ck-need-u/archive/2017/08/10/7342022.html
-Advertisement-
Play Games

kickstart自動應答文件選項非常多,以下只說明CentOS 6下幾個常用的可能用到的選項。另外,CentOS 6和CentOS 7的選項有不小區別,所以請註意使用,可以查看官方安裝文檔。 CentOS6的Installation嚮導 CentOS7的Installation嚮導 以下是Cent ...


kickstart自動應答文件選項非常多,以下只說明CentOS 6下幾個常用的可能用到的選項。另外,CentOS 6和CentOS 7的選項有不小區別,所以請註意使用,可以查看官方安裝文檔。

CentOS6的Installation嚮導

CentOS7的Installation嚮導

以下是CentOS 6上kickstart選項說明:在最後還給出了一個kickstart文件的示例。

#文件由三部分組成
    #一是選項指令段,用於自動應答圖形界面安裝時除包選擇外的所有手動操作
    #二是package選擇段,使用%packages引導該功能
    #三是腳本段,該段可有可無,分為兩種:
        # (1) %pre  預安裝腳本段,在安裝系統之前就執行的腳本,該段很少使用,因為可用的命令太少
        # (2) %post 後安裝腳本段,在系統安裝完成後執行的腳本

# kickstart選項指令段的說明:

【必須的選項】:

1.auth或者authconfig :驗證選項
    --useshadow或者--enableshadow啟用shadow文件來驗證
    --passalgo=sha512使用sha512演算法
2.bootloader: 指定如何安裝引導程式,要求必須已選擇分區、已選擇引導程式、已選擇軟體包,如果沒選擇將會停止而不會詢問
    --location=mbr 指定引導程式的位置,預設為mbr,還可以指定none或者包含bootloader的引導塊所在分區
    --driveorder=sda 指定grub安裝在哪個分區以及指定尋找順序,--driverorder=sda sdc sdb
    --append="crashkernel=auto rhgb quiet" 指定內核參數
3.keyboard:指定鍵盤類型,一般使用美式鍵盤"keyboard us",新版的kickstart的格式有所變化,但也支持"keyboard us"這樣的老格式
4.lang:指定語言,如"lang en_US.UTF-8"5.rootpw:設置root用戶的密碼
    --iscrypted:使用加密密碼,可以使用MD5,SHA-256,sha-512等。
        如:rootpw  --iscrypted $6$kxEBpy0HqHiY2Tsx$FTAqbjHs6x0VruChfYKxVeKLlxPuY0LXK7RxAVdu3uUivGclMUEz.i4ARlsMpqe1bf379uEgWOSFqGtZxqrwg.
        其中SHA-512位的加密密碼在CentOS 6上可以使用"grub-crypt --sha-512"生成,CentOS7上可以使用python等工具來生成,如下:
        python -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'

        
【可選的選項】:

1.selinux:設置selinux,值為enforcing,permissice,disable之一
2.autostep: 互動式,和interactive類似
3.interactive: 使用kickstart文件指定的參數互動式安裝,但仍會給出每一步的選擇項,如果直接下一步就使用kickstart參數
4.cmdline:在完全非交互的命令行模式下進行安裝
5.driverdisk:指定驅動程式所在位置
    drvierdisk --source=
6.firewall:設置firewall
    --disable禁用防火牆
7.firstboot:
    --disable:安裝後第一次啟動預設會給出很多需要手動配置的界面,禁用它
8.graphical:在圖形模式下根據kickstart執行安裝,預設該選項
9.text:文本模式下根據kickstart執行安裝(既然使用kickstart了,當然建議選擇使用純文本模式而不是圖形模式了)
 9.1 skipx:不安裝圖形工具
10.halt/reboot:安裝完成後關機還是reboot,預設是halt
11.ignoredisk:指定忽略的磁碟
12.install/upgrade:指定是安裝還是升級系統
    對於install,還必須指定下麵幾種安裝方式之一:
        cdrom:指定從第一個光碟驅動器安裝
        harddrive:指定從本地硬碟安裝,要求硬碟必須是vfat或者ext2文件系統格式
            --biospart:指定從bios類型的分區來安裝,如82文件系統類型號的分區
            --partition:從某個分區安裝
            --dir:指定從包含install-tree(安裝樹)的目錄安裝
                例如:harddrive --partition=hdb2 --dir=/tmp/install-tree
        nfs:指定從nfs路徑安裝
            --server:指定nfs伺服器主機名或IP
            --dir:指定包含install-tree的目錄
            --opts:指定掛載NFS的mount選項
如:nfs --server=172.16.10.10 --dir=/export_path url:指定從ftp、http、https安裝 例如:url
--url ftp://172.16.10.10 13.loggin:指定安裝過程中的錯誤日誌位置 --host:指定日誌將發送到那台主機上 --port:如果遠程主機的rsyslog使用非預設埠,則應該指定該埠選項 --levle:指定日誌級別 13.network:為系統配置網路信息,併在安裝過程中激活該網路設備。可多次使用network指令,例如既設置網路,又設置主機名 --bootproto:dhcp或static;對於static則必須指定IP地址、子網掩碼、網關和DNS --device:網卡名,可以使用eth0類似的名稱來指定 --hostname:指定主機名 --onboot:是否在引導系統時啟用指定的設備 如: network --bootproto=static --ip=192.168.100.2 --netmask=255.255.255.0 --gateway=192.168.100.254 --nameserver=8.8.8.8 network --bootproto=dhcp --device=eth0 --noipv6 network --hostname=node1.xuexi.com 15.autopart: 自動創建幾個分區:大於1G的根分區,250M的boot分區和swap分區 16.zerombr:清除磁碟的mbr 17.clearpart: 在安裝系統前清除分區,如果指定該選項則必須指定正確 --all:清除所有分區 --Linux:清除Linux分區 --none:不清除分區 --initlabel:創建標簽,對於沒有MBR或者GPT的新硬碟,該選項是必須的 --drivers=sdb:清除指定的分區 所以,clearpart --all --initlabel是常見的方式 18.part:創建分區 --asprimary:強制指定為主分區 --grow:使用所有可用空間,即為其分配所有剩餘空間。對於根分區至少需要3G空間(即使是--grow,也還是需要指定--size) --ondisk:指定在哪塊磁碟上創建分區。如果有多塊磁碟,則需要指定在哪塊磁碟上創建哪個分區,只有一塊硬碟時可以省略該選項 如: #part /boot --fstype=ext4 --asprimary --size=200 #boot分區200-250M足以 #part swap --fstype=swap --asprimary --size=2048 #part / --fstype=ext4 --grow --asprimary --size=2000 LVM的分區方法: part /boot --fstype ext4 --size=100 part swap --fstype=swap --size=2048 part pv26 --size=100 --grow volgroup VG00 --pesize=32768 pv26 logvol / --fstype ext4 --name=LVroot --vgname=VG00 --size=29984 logvol /data --fstype ext4 --name=LVdata --vgname=VG00 --size=100 --grow 19.repo:指定除自帶的yum源外的其他yum源,可以指定多行yum源(既然是第一次裝系統,基本都不會去加這項) 如:repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100 20.services:設置預設運行級別下開機自啟動的服務 --disable --enable disable先處理enable後處理 如services --disable auditd,cups,atd 21.timezone:指定時區 如:Asia/Shanghai 22.user:在系統中生成一個新用戶 --name:指定用戶名 --groups:指定輔助組,非預設組 --homedir:用戶家目錄,如果不指定則預設為/home/<username> --password:該用戶的密碼,如果不指定或省略則創建後該用戶處於鎖定狀態 --shell:用戶的shell,不指定則預設 --uid:用戶UID,不指定則自動分配一個非系統用戶的UID 23.key:輸入序列號,只在redhat中有,CentOS系統沒有該項 --skip 跳過key選項 # kickstart軟體包或包組選項: 使用"%packages"表示該段內容,@表示選擇的包組,最前面使用橫杠表示取反,即不選擇的包或包組。 @base和@core兩個包組總是被預設選擇,所以不必在%packages中指定它們 %packages @base @core @debugging @development @dial-up @hardware-monitoring @performance @server-policy @workstation-policy sgpio device-mapper-persistent-data systemtap-client
lrzsz
tree
%end

 以下是CentOS 6.6下的ks文件示例。

install
text
nfs --server=192.168.100.100 --dir=/install
#url --url=http://192.168.100.100/centos6.6
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto quiet"
lang en_US.UTF-8
keyboard us
network --onboot=yes --device=eth0 --bootproto=dhcp --noipv6
rootpw  --iscrypted $6$x4u9sIfSQsO7ddk5$/.0Xe6tFBY0uUmFFtyvAeY9YVPtcn8zl21fFNgmAoYtepQHRYDthQ4T1ZE12kDfAT6O3oXfRb7uv214t3Bb3K1
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
reboot       #安裝結束後重啟

#make partitions
zerombr
clearpart --all --initlabel
part    /boot   --fstype=ext4   --asprimary     --size=250
part    /       --fstype=ext4   --asprimary     --grow     --size=2000
part    swap    --fstype=swap   --size=2000

%packages
@base
@core
@debugging
@development
@dial-up
@hardware-monitoring
@performance
@server-policy
@workstation-policy
sgpio
device-mapper-persistent-data
systemtap-client
%end

%post     #結束後做的事
cat >>/etc/yum.repos.d/base.repo<<eof
[base]
name=sohu
baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch/
gpgcheck=0
enable=1
[epel]
name=epel
baseurl=http://mirrors.sohu.com/fedora-epel/6Server/x86_64/
enable=1
gpgcheck=0
eof
sed -i "s/ONBOOT.*$/ONBOOT=yes/" /etc/sysconfig/network-scripts/ifcfg-eth0   #設置網卡為啟動
sed -i "s/rhgb //" /boot/grub/grub.conf    # 設置啟動系統時不使用圖形進度條方式
sed -i "s/HOSTNAME=.*$/HOSTNAME=xuexi.longshuai.com/" /etc/sysconfig/network   #設置主機名

%end

回到系列文章大綱:http://www.cnblogs.com/f-ck-need-u/p/7048359.html

轉載請註明出處:http://www.cnblogs.com/f-ck-need-u/p/7342022.html

註:若您覺得這篇文章還不錯請點擊下右下角的推薦,有了您的支持才能激發作者更大的寫作熱情,非常感謝!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我們知道Oracle資料庫真正存放數據的是數據文件(Data File),oracle表空間(tablespace)實際上是一個邏輯的概念,在物理上是並不存在的,那麼把一組data files捻在一起就成為一個表空間。表空間屬性:一個資料庫可以包含多個表空間,一個表空間只能屬於一個資料庫一個表空間包 ...
  • 在sqlserver2008中“新建查詢”,執行批量添加語句的執行時間: 10000 條數據 用了3秒50000 條數據 21秒100000 條數據 42秒40000 條數據 16秒200000 條數據 1:37秒 ...
  • Hbase集群監控 Hbase JMX集群監控,監控每個regionServer的總請求數,readRequestsCount,writeRequestCount,region分裂,region合併,Store 數據來源:/jmx?qry=Hadoop:service=HBase,name=Reg... ...
  • 仔細觀察上面幾個圖,比較下 oracle資料庫中的+操作符竟然可以替換left join 和right join sql server暫時沒用到過 ...
  • 最近在寫一些介面,總結一下目前想到的一些需要註意的點,說的並不是sqlserver與其他資料庫語句的區別,只是想到了就寫下來了,老規矩之後想到了在添加進去 分頁 sqlserver sqlserver一般通過not in/row_number()(不支持limit)一共兩種,網上還有一種是要在201 ...
  • 本文目錄: 1.1 PXE說明 1.2 PXE流程 1.3 部署環境說明 1.4 部署DHCP服務 1.5 部署FTP 1.6 提供pxe的boot loader和相關配置文件 1.7 從安裝鏡像中獲取Linux內核文件 1.8 設置開機菜單並提供系統安裝文件 1.9 開機測試 1.10 通過pxe ...
  • 任務列表 1.在UCSC下載hg19參考基因組; 2.從gencode資料庫下載基因註釋文件,並且用IGV去查看感興趣的基因的結構,比如TP53,KRAS,EGFR等等。 3.截圖幾個基因的IGV可視化結構 4.下載ENSEMBL,NCBI的gtf,也導入IGV看看,截圖基因結構 5.瞭解IGV常識 ...
  • 打開自帶Firefox瀏覽器,顯示連接不上網,終端下 ping 也顯示 unkown 解決方法: 1.打開虛擬機的“編輯”選項,選擇“虛擬網路編輯器” 2.選擇VMnet8(我不知道為啥VMnet8這麼神奇,要是新建其他號還不行,暫且不管),點擊右下角“更改設置” 3.同時打開 Windows下麵的 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...