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

相关推荐

  • TCP连接的状态详解以及故障排查

    我们通过了解TCP各个状态,可以排除和定位网络或系统故障时大有帮助。(总结网络上的内容) 1、TCP状态 linux查看tcp的状态命令: 1)、netstat -nat  查看TCP各个状态的数量 2)、lsof  -i:port  可以检测到打开套接字的状况 3)、 &nbs…

    Linux干货 2015-04-03
  • LAMP实战

    说明:本实验在单主机搭建。下面的步骤只需要你复制粘贴,即可完成实验。 1、安装httpd mkdir /tools cd /tools #获取软件包 wget -c http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.16.tar.gz wget http://m…

    Linux干货 2015-10-08
  • 【招聘福利】上海/北京/深圳丨 云络科技丨招募linux系统运维工程师

    岗位要求: 1,安装服务器 – Linux CentOS + netinstall 2.服务器安全 – 用户、权限、iptables、sudo 3.计划部署Linux?高可用性,包括HA,LB 4.协助Leader完成复杂的网络设计 (完全冗余/故障迁移/高可用性) 5.用linux命令查看服务器(top/iostat/vmstat/sar/等) 6.安装、…

    Linux干货 2016-04-05
  • 马哥教育网络班22期第三周课程练习1

    1、who | awk {'print $1'} | sort | uniq  2、last | head -n1 3、awk -F":" {'print $7'} /etc/passwd |  awk '{for(i=1;i<=NF;i++)a[$i]++}EN…

    Linux干货 2016-08-29
  • 程序包管理

    什么是程序包管理器?     顾名思义,就是将编译好的应用程序的各组成文件打包成一个或多个程序包文件,从而更方便地实现程序包的安装、升级、卸载还有查询等管理操作。 那么一个程序包又由哪些部分组成呢? 程序包的组成清单:   文件清单(每个程序包都单独实现):       安装或卸载时运行的脚本,有如下四类:     preinstall : 安装过程开始之前…

    Linux干货 2016-12-16
  • 马哥教育网络班21期-第一次课程作业

    计算机组成部分及其作用 1.总线 电子管道,携带信息字节并在各个部件间传输。分为地址总线,数据总线,控制总线。 CPU最大可寻址范围:2^N*M,  N为地址总线数量,M为数据总线数量。 2.I/O设备 I/O设备及输入输出设备,最常见的输入设备就是我们非常熟悉的键盘,鼠标,我们通过我们通过这些设备向计算机传达指令,让计算机完成我们想要它完成的工作…

    Linux干货 2016-06-29