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)
上一篇 2016-09-26 07:43
下一篇 2016-09-26 07:44

相关推荐

  • 二叉树迭代器算法

    二叉树(Binary Tree)的前序、中序和后续遍历是算法和数据结构中的基本问题,基于递归的二叉树遍历算法更是递归的经典应用。 假设二叉树结点定义如下: // C++ struct Node {     int value;     No…

    Linux干货 2016-08-15
  • N28-第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 命令:cp、mv、rm 1.1 cp命令 用法: cp [OPTIONS]…[-T] SOURCE DEST cp SRC DEST而言,SRC是文件时 如果目标不存在: 新建DEST,并将SRC中内容填充至DEST中 如果目标存在: 如果DEST是文件:将SRC中的内容覆盖至DE…

    Linux干货 2017-12-15
  • shell脚本的一点补充

    脚本内容补充 数组 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 数组名和索引 索引:编号从0开始,属于数值索引注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引不连续) 数组的使用 声明数组: declare -a ARRAY_NAME…

    Linux干货 2016-08-24
  • 走进Linux(一)

    一、计算机基础 世界上第一台计算机于1946年诞生于美国宾夕法尼亚大学,名叫:ENIAC。     计算机主要由硬件系统和软件系统两部分组成:     1、组成硬件的五大部分:    控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序…

    Linux干货 2016-09-22
  • 第四周作业

    1. 复制/etc/skel目录为/home/tuser1,要求/home/tuser1以及内部文件的属组和其它用户均没有任何访问权限 cp -r /etc/skel  /home/tuser1 chmod go-rwx /home/tuser1 2. 编辑/etc/group文件,添加组hadoo…

    Linux干货 2016-12-27
  • linux入门学习动手部分

    linux入门学习了几天,各种命令跟选项如果靠记忆很容易忘记,通过下面随堂实验加深记忆 实验操作部分 enable 命令使用 禁用内部命令 enable -n echo 禁用echo命令 重新启用echo命令 enable echo type 命令使用 type -a echo 列出所有echo的内部命令外部命令 type -p cd 显出cd外部命令的路径…

    Linux干货 2017-05-20