內容概要:
html
1. 系統安裝基本流程圖示
2. Anaconda簡介
3. Kickstart簡介
4. 引導並指定安裝方式
5. kickstart文件中的主要項目及參數介紹
6. kickstart配置文件示例
7. RedHat 安裝光盤安裝樹介紹
8. Anaconda/Kickstart系統安裝過程簡圖
9. 安裝樹中boot.img及stage.img解構圖析
10. 使用Kickstart進行安裝的方式列舉概述java
本文仍爲課程學習的總結筆記,書寫過程參看了大量官方文檔及網絡上相關資料,在此謝過各位無私奉獻的Linuxer們,也貼上本身的筆記供你們參考,本文重點關注原理性層面的東西,對試驗實際操做過程不過多贅述;node
水平有限,不免出現理解不透徹或是錯誤之處,望多指教;linux
實驗環境: RedHat5.5shell
一. 系統安裝通常流程vim
首先了解系統安裝通常流程:安全
二. Anaconda簡介bash
簡介:
Anaconda是Red Hat、CentOS、Fedora等Linux的安裝管理程序。它能夠提供文本、圖形等安裝管理方式,並支持Kickstart等腳本提供自動安裝的功能。此外,其還支持許多啓動參數,熟悉這些參數可爲安裝帶來不少方便。該程序是把位於光盤或其餘源上的數據包,根據設置安裝到主機上的一個程序;爲實現該定製安裝,其提供一個定製界面,能夠實現交互式界面供用戶選擇配置(如選擇語言,鍵盤,時區等信息);
Anaconda支持的管理模式:
Kickstart提供的自動化安裝
對一個RedHat實施upgrade
Rescuse模式對不能啓動的系統進行故障排除;
要進入安裝步驟,須要先有一個引導程序引導啓動一個特殊的Linux安裝環境系統;引導有多種方式:
1. 基於網絡方式的小型引導鏡像,須要提供小型的引導鏡像;
2. U盤引導,經過可引導存儲介質中的小型引導鏡像啓動安裝過程;
3. 基於PXE的網絡安裝方式,要提供PXE的完整安裝環境;
4. 其餘bootloder引導(如GRUB)
可用的安裝方式:
本地CDROM
磁盤驅動器
NFS映像
FTP
HTTP
經過網絡方式安裝時:
不論經過FTP、HTTP仍是NFS方式共享安裝,能夠將安裝光盤先拷貝到網絡服務器上保存爲iso鏡像,而後loop掛載到共享目錄或網頁目錄(固然,拷貝鏡像中的全部文件到指定位置或直接掛載到共享目錄也可),而經過NFS方式時,能夠直接將光盤的iso文件放到共享目錄便可,安裝程序掛載共享目錄後能夠自動識別鏡像;
注:複製安裝光盤,並保存爲一個 iso 映像文件的方法:
對於 DVD/CD:
# dd if=/dev/cdrom of=/location/of/disk/space/RHEL.iso bs=32k
注意拷貝時bs塊大小設置爲32k,我實驗時設爲1M,雖然減少了文件體積,可是安裝讀鏡像時會報錯。服務器
3、 Kickstart簡介:網絡
簡介:
kickstart是一個利用Anconda工具實現服務器自動化安裝的方法;經過生成的kickstart配置文件ks.cfg,服務器安裝能夠實現從裸機到全功能服務的的非交互式(無人值守式)安裝配置;
ks.cfg是一個簡單的文本文件,文件包含Anconda在安裝系統及安裝後配置服務時所須要獲取的一些必要配置信息(如鍵盤設置,語言設置,分區設置等);Anconda直接從該文件中讀取必要的配置,只要該文件信息配置正確無誤且知足全部系統需求,就再也不須要同用戶進行交互獲取信息,從而實現安裝的自動化;可是配置中若是忽略任何須需的項目,安裝程序會提示用戶輸入相關的項目的選擇,就象用戶在典型的安裝過程當中所遇到的同樣。一旦用戶進行了選擇,安裝會以非交互的方式(unattended)繼續。
使用kickstart優點:
1. 流線化自動化的安裝;
2. 快速大量的裸機部署;
3. 強制創建的一致性(軟件包,分區,配置,監控,安全性)
4. 減小人爲的部署失誤
使用Kickstart方法安裝的過程:
1. 建立一個kickstart文件
2. 建立有kickstart文件的引導介質或者使這個文件在網絡上可用;
3. 籌備一個安裝樹
4. 開始ks安裝:anconda自身啓動 -->選取ks安裝模式--> 從ks文件讀取配置 --> 最後安裝
建立kickstart配置文件的方式:
1. 文本編輯器編輯生成:vim
2. 用圖形化界面配置:system-config-kickstat(須要安裝system-config-kickstart.noarch包)
注:圖形化界面配置時,磁盤選項沒法建立配置LVM(邏輯卷);
文件生成後,推薦使用ksvalidator命令檢查配置文件語法及完整性錯誤;
[root@bogon ~]# ksvalidator ks.cfg
not enough arguments for format string
圖形化界面配置示例:
四. 引導並指定安裝方式:
系統引導界面:
系統引導後,會顯示boot:命令提示符;如上,界面上會有各類模式操做提示;
注:用戶交互的文本安裝方式中不能進行LVM的自定義配置,只能查看、接受默認設置;
在boot:命令行裏有用的幾個項:
lowres
:強制GUI安裝時分辨率調低爲640*480
noipv6
:安裝過程不支持ipv6網絡
noprobe
:不去自動檢測硬件,而是提示用戶;
dd=
:經過網絡加載設備驅動
ks=
:指定kickstart文件的放置位置;
另外還有ip、netmask、gateway、dns、vnc等選項;
用ks選項被指定時kickstart文件位置時,Anaconda進入Kickstart安裝模式;
安裝時獲取kickstart文件的方式:
(1) boot:linux ks
ks命令單獨使用時,系統會嘗試經過dhcp服務器配置網卡,而且從DHCP會話中獲取kickstart配置文件的位置;
在dhcp服務器dhcp配置文件中有kickstart文件位置說明,next-server關鍵字指向共享文件的NFS主機,用filename關鍵字指向主機上的文件路徑;若是沒有filename關鍵字,則嘗試在next-server關鍵字指向主機的/kickstart文件夾中找kickstart文件;
下面是dhcp.conf文件中kickstart配置字段示例:
- # The following lines are examples of kickstart directives.
- filename "/data/ks/ks.cfg";
- next-server 192.168.1.10;
- # 注:上面部分須要寫在subnet子段中;
(2) boot:linux ks=url
基於網絡的文件服務器(網絡服務器),獲取配置文件,支持HTTP、FTP、NFS方式獲取文件;例:
ks=ftp://192.168.0.254/pub/kistart/ks.cfg
ks=http:// 192.168.0.254/pub/kistart/ks.cfg
ks=nfs:ip_addr:/path/to/ks.cfg
(3) boot:linux ks=hd:device/path/to/your/kickstart_file
基於本地的安裝方式,須要依次指定設備名,路徑,文件名等;例如:
文件在光盤中:ks=cdrom:/ks.cfg
文件在軟盤中: ks=floppy:/filedirectory/ks.cfg
文件在硬盤中:ks=hd:/sdb1/myfile/ks.cfg
文件也可被打包進initrd根文件系統中:ks=file:/ks.cfg
kickstart文件結構介紹:
1. 命令部分:配置系統的屬性及安裝中的各類必要設置信息
2. %packages部分:設定須要安裝的軟件包及包組,Anaconda會自動解決依賴關係
3. 腳本部分:用於定製系統,分爲%pre部分在安裝前運行,%post在安裝後運行
%pre 部分腳本做爲一個bash shell腳本執行,在Kickstart文件解析後執行;
%post 解析器默認爲bash,能夠自定義,缺省爲chroot狀態,也可指定非chroot狀態;
五. Kickstart文件中的主要項目及參數介紹:
每一個項目都由關鍵字來識別;關鍵字可跟一個或多個參數;若是某選項後面跟隨了一個等號(=),它後面就必須指定一個值。
install (可選)
明確指定系統次次進行的是全新安裝系統;是默認項;
cdrom (可選)
以本地CD-ROM爲源安裝系統;
harddrive (可選)
以硬盤分區中包含的鏡像爲源(安裝樹)安裝新系統;當以該種方式安裝系統時,即便指定clearpart --all項,源所在分區也不會被從新抹去;
--partition= 指定分區
--dir= 指定包含鏡像的目錄
例:
harddrive --partition=/dev/sdb2 --dir=/data/iso
nfs (可選)
指定從NFS服務器上獲取安裝樹;
--server= 指定NFS服務器,主機名稱或IP
--dir= 包含安裝樹的目錄
--opts= 能夠指定掛載NFS的目錄時的掛載選項
例:
nfs --server=192.168.1.254 --dir=/data/iso
url (可選)
指定經過FTP或HTTP從網絡獲取安裝樹;
--url 指定資源位置
例:
url --url ftp://<username>:<password>@install.example.com/iso
url --url http://install.example.com/iso
bootloader (必需)
設定boot loader安裝選項;
--append= 能夠指定內核參數
--driveorder= 設定設備BIOS中的開機設備啓動順序
--location= 設定引導記錄的位置; mbr:默認值;partition:將boot loader安裝於包含kernel的分區超級快中;none:不安裝boot loder。
示例:
bootloader --location=mbr --append=「rhgb quiet」 --driveorder=sda,sdb
clearpart (可選)
在創建新分區前清空系統上原有的分區表,默認不刪除分區;
--all 擦除系統上原有全部分區;
--drives 刪除指定驅動器上的分區
--initlabel 初始化磁盤卷標爲系統架構的默認卷標
--linux 擦除全部的linux分區
--none(default)不移除任何分區
例:
clearpart --drives=hda,hdb --all --initlabel
zerombr (可選)
清除mbr信息,會同時清空系統用原有分區表
drivedisk (可選)
若是使用特殊存儲方式時,須要指定驅動程序盤位置以便加載存儲驅動;
1. 將驅動盤拷貝到本地硬盤某分區根目錄:
drivedisk <partition> [ --type=<fstype> ]
2. 也能夠指定一個網絡位置加載驅動程序盤
drivedisk --source=ftp://path/to/drive.img
drivedisk --source=http://path/to/drive.img
drivedisk --source=nfs:host://path/to/drive.img
firewall (可選)
配置系統防火牆選項;
firewall –enable|--disable [ --trust ] <device> [ --port= ]
--enable 拒絕外部發起的任何主動鏈接;
--disable 不配置任何iptables防護規則;
--trust 指定徹底信任網卡設備;
--port 使用port:protocol格式指定能夠經過防火牆的服務;
示例:
firewall --enable --trust eth0 --trust eth1 --port=80:tcp
selinux (可選)
設置系統selinux狀態;默認爲啓用並處於enforcing模式;
selinux [ --disabled|–enforcing|--premissive ]
reboot (可選)
在系統成功安裝完成後默認自動重啓系統(kickstart方法時);在收到你敢裝系統完成後,會提示按任意鍵進行重啓;
在本文件中沒有明確指明其餘方法時就默認完成方式爲reboot;
使用 reboot 選項可能會致使安裝的死循環,這依賴於安裝介質和方法。須要特別注意;
halt (可選)
在系統成功安裝完成後關機;默認爲reboot;
其餘選項還有shutdown、poweroff,須要使用請自行參考官方文檔。
graphical (可選)
默認值,在圖形模式下進行kickstart方式安裝;
text (可選)
以文本方式進行kickstart安裝;默認爲圖形界面
key (可選)
設置一個安裝碼(installration number),用於獲取redhat官方的支持服務;
--skip 跳過key設置,不進行設置;若是不設置可能跳轉到交互模式讓用戶選取動做;
keyboard (必需)
設置鍵盤類型;通常設置爲us;
lang (必需)
設置安裝過程使用的語言及系統的缺省語言;文本模式安裝時可能不支持某些語言(中、韓...),因此可能仍以默認的英文方式安裝;默認en_us,裝中文時,須要後期%packages部分裝上中文支持組件;
例:
lang en_US
timezone (可選)
設置系統的時區;
timezone [ --utc ] <timezone>
例:
timezone --utc Asia/Shanghai
auth/authconfig (必需)
設置系統的認證方式;默認爲加密但不隱藏(shadow);
--enablemd5 使用MD5加密方式
--useshadow或—enableshadow 使用隱藏密碼;
--enablenis= 使用NIS認證方式
--nisdomain= NIS域
--nisserver= NIS服務器
還能夠設置LDAP、SMB及Kerberos 5認證方式,詳細請參考官方文檔;
例:
authconfig --useshadow --enablemd5
rootpw (必需)
設置系統root帳號的密碼;
rootpw [ --iscrypted ] <passwd>
--iscrypted 表示設置的密碼爲加密過的串;
例:
rootpw pa4word
rootpw --iscrypted $1$RPYyxobb$/LtxMNLJC7euEARg2Vu2s1
network (可選)
配置網絡信息;在網絡安裝(NFS/HTTP/FTP)時必須指定;
--bootproto=dhcp|bootp|static 指定ip獲取方式,默認爲dhcp/bootp;
--device= 設置安裝時激活來進行系統安裝的網卡設備;該參數只在kickstart文件爲本地文件時有效;若kickstart配置文件在網絡上,安裝程序會先初始化網卡而後去尋找kickstart文件;
--ip= ip設置
--gateway= 網關
--nameserver= DNS設置
--nodns 不設置DNS
--netmask= 掩碼
--hostname= 設置安裝後主機名稱
--onboot= 設置是否在系統啓動時激活網卡
--class= 設置DHCP的class值
--noipv4 禁用該設備的ipv4功能
--noipv6 禁用該設備的ipv6功能
如將網絡模式設置爲靜態模式,則必須在一行內寫上ip,netmask、dns、gateway等信息;
例:
network –bootproto=static –ip=1.1.1.1 --metmask=255.0.0.0 --gateway=1.1.1.254 --nameserver=1.1.1.2
netmask --bootproto=dhcp --device=eth0
skipx (可選)
若是該項存在,就不對系統的X進行設置;
xconfig (可選)
配置X window ;若是不給出選項,在安裝過程當中須要手動調整設置;固然不安裝X時不該該添加該項;
--driver 爲顯卡設置X驅動
--videoram= 設置顯卡的RAM大小
--defaultdesktop= 設置GNOME/KDE做爲默認桌面;假定這兩個桌面環境在%packages例已經安裝
--startxonboot 使用圖形界面登陸系統
--resolution= 設置圖形界面的分辨率;可用值有640*480、800*600、1024*768等;確保設置指適合於顯示卡及顯示器;
--depth= 設置顯示色深;可用值有8/16/24/32;確保設置值適合於顯示設備;
例:
xconfig --startxonboot --resolution=800*600 --depth=16
services (可選)
設置禁用或容許列出的服務;
--disabled 設置服務爲禁用
--enabled 啓動服務
例:
services --disabled autid,cups,smartd,nfslock 服務之間用逗號隔開,不能有空格
iscsi(可選)
指定額外的ISCSI設備;
issci --ipaddr= ipaddr [options].
--target
--port=
--user=
--password=
part/partition (install模式必須)
創建新分區;
part <mntpoint>|swap|pv.id|rdid.id options
mntpoint:掛載點,是在建立普通分區時指定新分區掛載位置的項;掛載點須要格式正確
swap: 建立swap分區;
raid.id: 表示建立的分區類型爲raid型;必須用id號進行惟一區別;
pv.id: 表示所建立的分區類型爲LVM型;必須用惟一id號進行區別;
--size= 設置分區的最小值,默認單位爲M,可是不能寫單位;
--grow 讓分區自動增加利用可用的磁盤空間,或是增加到設置的maxsize值;
--maxsize 設置分區自動增加(grow)時的最大容量值,以M爲單位,但不能寫單位;
--onpart=/--usepart= 設置使用原有的分區;
--noformat 設置不格式化指定的分區,在跟—onpart一同使用時,能夠避免刪除原有分區上的數據,在新安裝的系統中保留使用數據;
--asprimary 強制制定該分區爲主分區;若指定失敗,分區會失敗,致使安裝中止;
--fstype= 新增普通分區時指定分區的類型,能夠爲ext二、ext三、ext四、swap、vfat及hfs;
--ondisk=/--ondrive= 設定該分區建立在一個具體的磁盤上;
--start 指定分區以磁盤上那個磁道開始;須要跟--ondisk參數一塊使用;
--end 指定分區以磁盤上那個磁道結束;須要跟上述兩個參數一塊兒使用;
--recommended:讓系統自行決定分區的大小;在建立swap分區時,若RAM<2G,則分區大小爲2*RAM;若RAM>=2G時,分區大小爲RAM+2G;
--bytes-pre-inode= 指定分區格式化時inode的大小;默認值爲4096
--fsoptions= 指定建立fstab文件時該分區掛載參數項;
例:
part /boot --fstype=「ext3」 --size=100
part swap --fstype=「swap」 –size=512
part / --bytes-pre-inode=4096 --fstype=「ext4」--size=10000
part /data --onpart=/dev/sdb1 --noformat
part raid.100 --size=2000
part pv.100 --size=1000
raid (可選)
設置RAID。
raid 掛載點 --level=<level> --device=<mddevices_name> <raid組成分區>
掛載點: 選取根/時,注意儘可能避免/boot在RAID內,除非爲RAID1;
--level= 設置RAID級別
--device= RAID設備名稱,如md0,md1...
--byte-pre-inode= 設置該RAID分區上inode大小;若分區文件系統類型不支持該參數,會靜默忽略參數;
--spares= 設置RAID的熱備盤
--fstype= 設置文件系統類型
--fsoptions= 設置掛載該文件系統時自定義的一些參數,參數寫入fstab文件;
--useexisting 使用現有的RAID設備而且從新格式化原設備
--noformat 在使用現有的RAID設備時不格式化原有RAID設備
例:完整建立一個RAID1設備示例;
part raid.10 --size=1000 --ondisk=/dev/sdb
part raid.11 --size=1000 --ondisk=/dev/sdc
raid /data --level=1 --device=md0 raid.10 raid.11
volgroup (可選)
建立一個LVM卷組VG;
volgroup vg_name partition [options]
--useexiting 使用現有的VG而且從新格式化
--noformat 使用現有的VG時不作格式化
--pesize 設置PE(physical extents)塊大小
例:
part pv.11 --size=2000
volgroup myvg pv.11
logvol (可選)
建立一個LVM邏輯卷LV;
logvel mnt_point --vgname=vg_name --size=lv_size --name=lv_name [options]
--useexiting 使用現有的LV而且從新格式化
--noformat 使用現有的LV時不作格式化
--fstype= 指定RAID分區類型
--fsoptions= 設置掛載該文件系統時自定義的一些參數,參數寫入fstab文件;
--byte-pre-inode= 設置該RAID分區上inode大小;
--precent= 設定LV大小爲VG可用空間的比例;
例:
part pv.20 --size=5000
volgroup mvvg pv.20
logvol /data --vgname=myvg --size=3000 --name=mydata
六. kickstart配置文件示例
- ##########################################################################
- #
- # kickstart install script
- # RHEL version 5
- # Platform=x86, AMD64, or Intel EM64T
- #
- ##########################################################################
- # Install OS instead of upgrade
- install
- # Use text mode install
- text
- # Installation Number configuration
- key --skip
- # Local installation Use CDROM installation media
- cdrom
- # Network installation via FTP of HTTP
- #url --url ftp://<username>:<password>@install.example.com/pub/RH
- #url --url http://install.example.com/pub/RH
- # Network installation via NFS
- #nfs --server=nfsserver.example.com --dir=/pub/install-tree
- # Local installation Use HD source
- #harddrive --partition /dev/sda2 --dir=/data/iso
- # If you use harddrive, you must use ISO p_w_picpaths, not a tree
- # Note that even if though we clearpart --all, the install
- # partition will remain, which can be quite useful.
- # System authorization information
- auth --useshadow --enablemd5
- #Root password
- rootpw --iscrypted $1$1P72E10M$b47abC13/yUSzV9uvCoML0
- #rootpw redhat
- # System bootloader configuration
- bootloader --append="rhgb quiet" --location=mbr
- # Clear the Master Boot Record
- zerombr
- # Partition clearing information
- clearpart --all --initlabel
- # Run the Setup Agent on first boot
- firstboot --disable
- # System keyboard
- keyboard us
- # System language
- lang en_US
- # System timezone
- timezone --isUtc Asia/Shanghai
- # Installation logging level
- logging --level=info
- # Network information
- network --bootproto=dhcp --device=eth0 --onboot=on
- # Firewall configuration
- firewall --enabled --ssh --trust=eth0
- # SELinux configuration
- selinux --enforcing
- # X Window System configuration information
- xconfig --defaultdesktop=GNOME --depth=16 --resolution=800x600 --startxonboot
- # Do not configure X
- #skipx
- # Reboot after installation
- reboot
- # Disk partitioning information
- part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100
- part / --asprimary --bytes-per-inode=4096 --fstype="ext3" --size=10240
- part pv.100 --size=4096 --grow
- volgroup myvg --pesize=32768 pv.100
- logvol /data --fstype="ext3" --name=mydata --vgname=myvg --size=1024 --grow --maxsize=2048
- # This packages is for RedHat5.5
- %packages
- @base
- @gnome-desktop
- @development-libs
- @admin-tools
- @base-x
- @development-tools
- @sound-and-video
- @chinese-support
- @gnome-software-development
- @x-software-development
- @openfabrics-enterprise-distribution
- @printing
- @server-cfg
- @legacy-software-support
- @mail-server
- @system-tools
- @graphical-internet
- @editors
- @text-internet
- @graphics
- @dialup
- @java
- @office
- %post --interpreter=/bin/bash
- # Let's log post-install
- (
- # Create two user
- /usr/sbin/useradd florian
- /usr/sbin/useradd douglas
- /bin/echo "florian" | /usr/bin/passwd --stdin florian
- /bin/echo "douglas" | /usr/bin/passwd --stdin douglas
- # Print message onboot: We are the fighter...
- /bin/echo "We are the fighter......Mr.Li" > /etc/issue
- ) 2>&1 >> /root/post-install.log
七. RedHat 安裝光盤安裝樹介紹:
光盤中包含文件夾isolinux、p_w_picpaths、Cluster、ClusterStorage、Server、VT六個文件夾;包含隱藏文件.discinfo及.treeinfo和一些普通文件如TRANS.TBL等;
isolinux文件夾中有開機引導系統的安裝內核(vmlinuz)及RAM 鏡像(initrd.img),在引導力系統時會加載入內存,給系統的安裝提供一個Linux安裝引導平臺;文件夾中還有在不一樣模式下顯示信息的.msg文件;splash.lss是特殊格式的引導過程背景圖片(640*320,16位色,ppm格式);
p_w_picpaths文件夾中包含有各類引導鏡像;有用於製做微型啓動光盤的boot.iso;有可放置於USB或其餘大容量可引導介質的VFAT分區上,製做引導工具的鏡像diskboot.img;
也有用於製做PXE安裝方式引導介質的pxeboot文件夾;及XEN所需的xen文件夾;
Server、VT、Cluster、ClusterStorage四個文件夾包含安裝所需的全部RPM包;Server文件夾中包含基礎軟件包,VT包含xen相關的軟件包;Cluster、ClusterStorage是集羣及集羣存儲相關的軟件包;根據這四個包能夠配置本地的yum源;
TRANS.TBL文件記錄當前目錄的列表,用mkisofs的-T參數從新生成,主要是爲了長文件名稱
.discinfo 是安裝介質的識別信息;
.treeinfo 文件記錄不一樣安裝方式安裝程序所在的目錄結構,如:PXE方式時,內核kernel=p_w_picpaths/pxeboot/vmlinuz;根文件系統initrd=p_w_picpaths/pxeboot/initrd.img
stage2.img、minstg2.img是引導後第二階段安裝須要用到的鏡像文件(這兩個鏡像文件功能及結構在後面描述),若定製LiveCD,則須要修改;
repodata 是精確描述一個RPM包的詳細信息,如依賴關係,包含文件,校驗碼信息等;
comps.xml是一個xml格式的數據文件,將各個RPM包按照必定的原則組織成若干組,安裝時能夠按照信息直接安裝一組軟件包;
(stage2.img映像文件中的主要部分是安裝程序anaconda,它的主執行體是/usr/bin下的anaconda,由其調用的大量例程分佈在/usr/lib/anaconda下,而安裝過程當中要用到的資源文件分佈在/usr/share/anaconda下。
當boot.img所表明的啓動介質被系統引導以後,在內存中就創建了一個完整的Linux系統(包括Linux內核和一個內存虛擬文件系統),以後便執行文件系統中存在的loader命令,從適當的介質中執行安裝程序(例:安裝介質是CD-ROM,就解析CD-ROM上的stage2.img,並從中執行安裝程序),即執行anaconda,完成Linux系統的安裝任務
詳細可參看:(Linux發行版製做指南)
http://leozhao.livejournal.com/3128.html
)
八. Anaconda/Kickstart系統安裝過程圖示:
九. boot.img、stage2.img結構示意:
注:如今新版本的兩個鏡像略有出入,依實際爲準(圖後附查看img方法);
loop方式掛載特殊格式的img鏡像方法:
- [root@bogon p_w_picpaths]# ls
- boot.iso diskboot.img minstg2.img pxeboot README stage2.img TRANS.TBL xen
- [root@bogon p_w_picpaths]# file stage2.img
- stage2.img: Squashfs filesystem, little endian, version 3.0, 0 bytes, 8969 inodes, blocksize: 65536 bytes, created: Mon Mar 22 19:56:50 2010
- #從上面看出img文件格式爲squashfs,因此在下面掛載時明確指定該格式,不然會報錯;
- [root@bogon p_w_picpaths]# mkdir ../img
- [root@bogon p_w_picpaths]# mount -o loop -t squashfs stage2.img ../img/
- [root@bogon p_w_picpaths]# ls ../img
- etc lib modules proc usr var
- [root@bogon p_w_picpaths]#
十. 使用Kickstart進行安裝的多種方式列舉
(過程再也不贅述,對於一些重要的實驗在後期會附上HOW-TO):
1. kickstart放置於鏡像中,從新制做ISO並刻盤,從光盤實現引導,自動配置並提供安裝樹安裝;
2. kickstart可放置於網絡上,用FTP/HTTP/NFS提供出來;用光盤引導及提供安裝樹;
3. 用FTP/HTTP/NFS提供kickstart及安裝樹,用光盤或其餘可引導的大象存儲設備引導;
4. 搭建PXE純網絡的架構,實現引導,kickstart,及安裝樹的提供徹底自動化;
參考:
Red_Hat_Enterprise_Linux-5-Installation_Guide-en-US