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

相关推荐

  • keepalived相关配置示例(一)

    配置前提: (1) 各节点时间必须同步 (2) 确保iptables及selinux不会成为阻碍 (3) 各节点之间可通过主机名互相通信(对KA并非必须)         建议使用/etc/hosts文件实现 (4) 确保各节点的用于集群服务的接口支持MULTICAST…

    2017-06-26
  • 第三周_Linux用户基础命令

    文本操作命令
    用户相关命令

    Linux干货 2017-12-24
  • MySQL应用管理

    这篇文章主要讲述基本的SQL语句,以供新手参考使用,不过最好的办法还是查阅官方文档和help命令。 进入正题 什么是SQL?        SQL结构化查询语言,是关系型数据库查询和管理语言,是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系型数据库系统。 SQL的分类 &nbsp…

    Linux干货 2015-09-23
  • N25- linux主机名

    N 由于我是零基础学习linux,学完1-2课时,用心消化中,   先分享我的一个小经验,我用xshell登录系统后一般会打开日志记录功能(文件—-日志——启动),日志功能启动后,会以txt的形式记录下你与系统所有的交互(只会记录系统打印到幕的内容和你输入的命令,并不会记录你与你与运行程序交互时输入的内容)日志功…

    Linux干货 2016-12-03
  • N26-第九周作业-邢岩

    马哥门徒-N26-邢岩 相信自己、勤奋努力、不断总结!shell脚本练习需要重复、重复、再重复!那么,我就继续来写、写、写。 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #******************************…

    Linux干货 2017-04-03
  • 权限管理和字符匹配示例

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 cp -r /etc/skel /home/tuser1 chmod -R 700 tuser1 2、编辑/etc/group文件,添加组hadoop hadoop:x:999 3、手动编辑/etc/passwd文件新增一行,…

    2017-12-25