linux-系統自動化安裝

一、安裝程序及配置

CentOS 系統安裝
系統啟動流程:
bootloader-->kernel(initramfs)-->rootfs-->/sbin/init
anaconda: 系統安裝程序
tui:  基于圖形庫curses 的文本 窗口
gui :圖形窗口
安裝程序啟動過程
MBR :boot.cat  (/isolinux/boot.cat)
stage2: isolinux/isolinux.bin
配置文件:isolinux/isolinux.cfg
    每個對應的菜單選項:
         
加載內核:isolinuz/vmlinuz
    向內核傳遞參數:append initrd=initrd.img ...
裝載根文件系統,并啟動anaconda
默認啟動GUI 接口
若是顯式指定使用TUI 接口: 向內核傳遞text 參數 即可
(1) 按tab 鍵, 在后面增加text
    vmlinuz initrd=initrd.img rescuse
(2) 按ESC 鍵:boot: linux text
    boot:linux rescuse

anaconda 工作過程

Anaconda 安裝系統分成三個階段:
安裝前配置階段
安裝過程使用的語言
鍵盤類型
安裝目標存儲設備    Basic Storage :本地磁盤
    特殊設備:iSCSI
設定主機名
配置網絡接口
時區
管理員密碼
設定分區方式及MBR 的安裝位置
創建一個普通用戶
選定要安裝的程序包
安裝階段
在目標磁盤創建分區,執行格式化操作等
將選定的程序包安裝至目標位置
安裝bootloader 和initramfs
首次啟動
iptablesselinuxcore dump

系統安裝

啟動安裝過程一般應位于引導設備 ;后續的的anaconda及其安裝用到的程序包等可來自下面幾種方式:
本地光盤
本地硬盤
ftp server: yum repository
http server: yum repostory
nfs server
如果想手動指定安裝源:
boot: linux askmethod
anaconda 的配置方式:
(1)  交互式配置方式
(2)  通過讀取事先給定的配置文件自動完成配置;
     按特定語法給出的配置選項;
       kickstart 文件

二、系統安裝

安裝boot 引導選項:boot:text:  文本安裝方式askmethod:  手動指定使用的安裝方法

與網絡相關的引導選項:

ip=IPADDRnetmask=MASKgateway=GWdns=DNS_SERVER_IPifname=NAME:MAC_ADDR

與遠程訪問功能相關的引導選項:

vncvncpassword='PASSWORD'
指明kickstart 文件的位置: ks=
DVD drive: ks=cdrom:/ PATH/TO/KICKSTART_FILE
Hard drive: ks=hd:device:/directory/ KICKSTART_FILE
HTTP server: ks=http://host:port/path/to/ KICKSTART_FILEFTP server: ks=ftp://host:port/path/to/ KICKSTART_FILEHTTPS server: ks=https://host:port/path/to/ KICKSTART_FILENFS server:ks=nfs:host :/ path/to/ KICKSTART_FILE
啟動緊急救援模式:
rescue
官方文檔 《Installation Guide》

kickstart 文件的格式

命令段:指明各種安裝前配置,如鍵盤類型等;
程序包段:指明要安裝的程序包組或程序包,不安裝的程序包等;
%packages
    @group_name
    package
    -package    %end
腳本段:
%pre:  安裝前腳本
        運行環境:運行于安裝介質上的微型Linux 環境%post:  安裝后腳本
        運行環境:安裝完成的系統

命令段中的命令:

必備命令
authconfig: 認證方式配置
    authconfig --useshadow --passalgo=sha512bootloader :bootloader 的安裝位置及相關配置
    bootloader --location=mbr --driveorder=sda –append="crashkernel=auto rhgb quiet"keyboard:  設定鍵盤類型 uslang:  語言類型   ZH_CN. UTF-8part:  創建分區 
    part /boot/ --fstype=ext4 --size=200 
    part  pv.008002 --size=512
補充:分區相關的指令
clearpart:清除分區
    clearpart --none --drives=sda :清空磁盤分區volgroup:創建卷組
    volgroup myvg --persize=4096 pv.008002logvol:創建邏輯卷
    logvol /home --fstype=ext4 --name=lv_home --vgname=myvg --size=5120
    
    rootpw:  指明root 的密碼timezone:  時區
可選命令
install OR upgradetext:  文本安裝界面
network
firewall
selinux
halt
poweroff
reboot
repouser :安裝完成后為系統創建新用戶url:  指明安裝源key –skip  跳過安裝號碼, 適用于rhel 版本

創建kickstart 文件的方式:

(1) 直接手動編輯;
     依據某模板修改
(2) 可使用創建工具:system-config-kickstart
     yum -y install system-config-kickstart centos6
    依據某模板修改并生成新配置;      
    生成ks.cfg文件
     http://172.16.0.1/centos6.x86_64.cfg
檢查ks 文件的語法錯誤:ksvalidator
# ksvalidator /PATH/TO/KICKSTART_FILE

制作引導光盤和U盤

創建引導光盤:
# mkdir /media/myiso# cp -r /media/cdrom/isolinux/ /media/myiso/# vim /media/myiso/isolinux/isolinux.cfg
label linuxmenu label ^Install or upgrade an existing systemmenu default
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/myks.cfg
# cd /media (/myiso的父目錄)
# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.6 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso myiso/
[root@lvasu ~]# pwd/root
[root@lvasu ~]# file boot.iso 
boot.iso: ISO 9660 CD-ROM filesystem data 'CentOS 6.6 x86_64 boot' (bootable)
創建U 盤啟動盤
#dd if=/dev/sr0 of=/dev/sdb

實驗 配置半自動安裝

1、system-config-kickstart生成ks.cfg
 基本配置

image

安裝方法

image

引導裝載程序選項

image

分區信息

image

網絡配置

image

驗證

image

防火墻設置

image

顯示配置

image

軟件包選擇

image

安裝后腳本

image

保存文件

image

2、配置ftp服務器
  yum -y install vsftpd  
  systemctl start vsftpd
  service vsftpd start
  
  ftp服務器文件:/var/ftp/pub/
  iptables -F 關閉防火墻3、光盤啟動安裝  
boot:linux ip=255.255.0.0  ks=ftp://10.1.27.100/pub/ks.cfg

image

范本:

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# Root password
rootpw --iscrypted $1$/IzSpJmz$Wc72nN.LE8nafngPO02K7.
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# System keyboardkeyboard 
us
# System language
lang zh_CN
# SELinux configuration
selinux --enforcing
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# Network information
network  --bootproto=static --device=eth0 --gateway=10.1.27.1 --ip=10.1.27.100 --netmask=255.255.0.0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel 
# Disk partitioning information
part /boot --fstype="ext4" --size=1024part / --fstype="ext4" --size=20480
%post
useradd lvasu
echo centos |passwd --stdin lvasu
echo welcome magedu.com >> /etc/issue
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/bak
cat  > /etc/yum.repos.d/base.repo <<eof
[base]
baseurl=http://10.1.0.1/cobbler/ks_mirror/6
gpgcheck=0
eof
%end

%packages
@base
@ftp-server

%end

原創文章,作者:lvasu,如若轉載,請注明出處:http://www.www58058.com/49155

(0)
lvasulvasu
上一篇 2016-09-26 07:43
下一篇 2016-09-26 07:44

相關推薦

  • sed詳解

    sed命令:    文本處理三劍客:        grep, egrep,fgrep: 文本過濾器        sed :Stream EDitor, 流編輯器,行        awk: 文本格式工具,報告生成器 …

    Linux干貨 2016-12-13
  • 基于NFS服務的mariadb數據庫實現

    實驗要求:     (1) nfs server導出/data/目錄;     (2) nfs client掛載/data/至本地的/mydata目錄;本地的mysqld或mariadb服務的數據目錄設置為/mydata, 要求服務能正常啟動,且可正常 存儲數據;   (3)用另一臺主機,…

    2017-06-11
  • 電子眼find

     1、摩根定律。         話不多說,先上圖。          如圖:A和B交集為3    A = 4 + 3  &nbs…

    Linux干貨 2016-08-16
  • 0803課堂練習與作業

    1、當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作? 不能添加在/testdir中增刪改文件或目錄 2、當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作? 不能查看文件中的文件列表 3、當用戶wangcai 對/testdir 目錄無寫權限時,該目錄下的只讀文件file1是否可修改和刪除? 不…

    Linux干貨 2016-08-04
  • Shell腳本編程中的變量

    一、什么是變量?   變量來源于數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變量可以通過變量名訪問 二、變量的種類有哪些? 本地變量 生效范圍為當前shell進程;對當前shell之外的其它shell進程,包括當前shell的子shell進程均無效 環境變量 生效范圍為當前shell進程及其子進程 局部變量 生效范圍為當前shell進程中…

    Linux干貨 2016-08-13
  • 馬哥教育首屆IT技術博客大賽–結果揭曉

    號外、號外?。●R哥教育首屆博客大賽已圓滿結束。感謝小伙伴們的積極參與! 噼里啪啦,小伙伴們掌聲響起來,啤酒烤鴨high起來~~咳咳,跑題了,小編好像忘了一件很重要的事: 馬幫博客大賽就是與眾不同,全銀河系也就僅此一家,為啥這么說呢,您看啊,咱就喜歡原創,鼓勵原創,酷愛原創,以原創博客作為技術交流的平臺供大家隨意圍觀和吐槽,您看看,除了馬哥這里,哪里還有這么自…

    Linux干貨 2016-06-22
欧美性久久久久