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
下一篇 2016-09-26

相關推薦

  • Ansible的基礎知識

    為什么要學習ansible:     ansible是自動化運維的一種工具,使用ansible可以一次性管理多臺主機,為多臺主機安裝或這執行相同或者不同的操作,省去了一臺臺主機去重復執行相同的任務,可以使用corn選項結合本機的crontab設置本主機的任務性計劃,比如,每天導出nginx的access.log和err…

    Linux干貨 2016-11-03
  • Centos7 編譯安裝 zabbix3.0

    服務安裝配置: 系統版本:CentOS Linux release 7.2.1511 (Core)   zabbix 安裝 關閉firewall:   systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall開機…

    Linux干貨 2016-06-23
  • 2018/8/3作業

    問題: 在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。 groupadd g1         &…

    Linux干貨 2016-08-05
  • Nginx 負載均衡多個nmmp主機

    設計拓撲圖 一、Memcache簡介 cache(緩存系統) 高性能分布式緩存服務器,緩存所有的“可流式化”數據:livejournal旗下Danga Interacive公司 程序=指令+數據 指令:程序 數據:IO操作 文件系統: 特征:協議簡單  基于libevent的事件處理  內置內存存儲方式  memcached 不…

    2016-06-14
  • Tomcat公貓

    官方站點:http://tomcat.apache.org/ Tomcat是一個能夠運行java頁面(jsp)的java’web服務器程序;安裝使用之前需要先安裝jdk包 jdk是JAVA的開發工具包,已隨base收錄進來,安裝jdk1.8版本:yum -y install java-1.8.0-openjdk-devel (其中jvm虛擬機的運行程序就叫j…

    2017-05-23
  • jenkins+gitlab構建安卓自動編譯環境

        因工作關系接觸到接觸到安卓自動編譯環境,網上的資料都推薦了jenkins,因為第一次接觸安卓和jenkins,踩了不少的坑,有總結才有進步。    gitlab環境之前已經安裝完成可用,具體步驟另外詳解吧。本例目標是在gitlab可用前提下,通過jenkins將git倉庫的代碼自行編譯打包,生成可用的apk安裝…

    Linux干貨 2016-07-16
欧美性久久久久