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

相关推荐

  • linux基础学习-(磁盘管理、分区挂载、SWAP)

    1、磁盘结构 2、分区类型 3、管理分区、文件系统以及挂载设备 4、管理虚拟内存SWAP 一、磁盘结构(机械硬盘) CHS寻址模式将硬盘划分为磁头(Heads)、柱面(Cylinder)、扇区(Sector)。 heads:磁头 tracks:磁道 cylinder: 柱面 sector: 扇区,512bytes(最小的存储单位) 1、其中:每个盘面…

    Linux干货 2016-09-01
  • Linux手动编译源代码文件

    一、简介     Linux系统上程序包安装的方式多种多样,一般来说可通过rpm包安装、yum在线安装等方式实现。但有时候为了实现某种功能,而这种功能在通常情况下又不是太常用或是因为其他原因,不能通过yum下载安装或在网上没有找到rpm包,只是找到了程序安装包的源代码的话,这种情况下我们就可以对源代码直接进行编译安装,以便解决这种临时需求…

    Linux干货 2015-09-26
  • Linux文件的权限与解析

    一,文件的基本权限: 通常,你使用ls -l 命令,就会看到这样的行:   让我们解析一下这些字段代表的意思: -rw-r–r–. 1 root root 1018 Nov 6 2016 usb_modeswitch.conf 文件类型权限  硬链接数 文件所有者 文件所属组 文件容量  文件最后被修改时…

    2017-07-30
  • Centos 7 DNS配置及理论详解

    DNS是什么及BIND讲解内容 域名系统(英文:Domain Name System,缩写:DNS)是internet的一项服务。它作为将域名和IP地址相互映射服务,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。讲解内容:    DNS名称解析方…

    Linux干货 2016-04-25
  • LAMP 编译安装基于2.4

    一 安装前准备 说明:     操作系统:CentOS 6.7 64位     MySQL数据库版本:mariadb-5.5.48-linux-x86_64.tar.gz     Apache 版本:httpd-2.4.12.tar.bz2…

    Linux干货 2016-11-21
  • linux中常用文本处理工具

       在linux文件系统中经常会使用到文本处理工具,这里简单介绍几种文本处理工具: 抽取文本的工具 文件内容:less和cat 文件截取:head和tail 按列抽取:cut 按关键字抽取:grep , egrep 文件查看命令:cat, tac,rev,more,less   cat命令是用户经常使用的用来查看文本…

    Linux干货 2016-08-07