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.178linux.com/49155

(0)
lvasulvasu
上一篇 2016-09-26
下一篇 2016-09-26

相关推荐

  • nfs和samba服务

    nfs:      nfs: Network File System                      #网络文件系统      nis:Network Information Se…

    Linux干货 2017-04-27
  • 马哥教育网络班20期-第四周课程作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。       cp -r /etc/skel /home/tuser1 | chmod -R g…

    Linux干货 2016-06-29
  • 数学集合–德摩根定律

    初中数学学过集合的概念: ~表示补集 ∩表示交集 ∪表示并集 ∈表示属于 !表示取反 条件: x属于C集合中之外的部分:~C 证明:   ∵x∈~C    x属于集合c的补集     x∈~(A∩B)    想属于a和b…

    Linux干货 2016-08-15
  • iptables练习

    iptables实战 1.开启防火墙 systemctl start firewalld 2.清空所有的默认规则,定义自己的规则 iptables -F 查看此时的iptables iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD…

    2015-03-15
  • python env seup

    ffffffffffffffffffffffffffffffffffffff

    2018-03-12
  • grep命令与正则表达式

    grep命令与正则表达式 什么是grep:         grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的…

    Linux干货 2017-04-08