菜鸟学Linux 第103篇笔记 pxe自动化安装linux

内容总览

linux的系统安装

kickstart文件的组成部分

DHCP (Dynamic Host Configuration Protocol)

PXE (Preboot Execution Environment)

tftp

PXE 实现自动化基于网络安装linux步骤

SELinux (Security-enforced Linux)

linux的系统安装:

CentOS 6

anaconda fedora, Linux系统安装程序 kickstart

安装前配置阶段

键盘类型

安装过程中的语言

支持的语言

时区

选择要使用的磁盘设备

分区格式化

选择要安装的程序包

管理员密码

是否启动iptables

是否启用selinux

安装阶段

在目录磁盘上创建出根文件系统

将选定的程序包安装至目录磁盘

如何启动安装过程

MBR: bootloader

网络启动安装过程

可移动设备

简装光盘, 只有isolinux

安装前配置阶段

配置的选项

必选项(一定要给)

可选项

kickstart文件的组成部分

命令段:用于配置系统

install

firewall

part

lvm

软件包, 指定要安装的程序包组(@)及程序包

%packages

@Base

lftp

tree

程序包名称之前附加“-”号表示不希望安装此程序包

%end

脚本段:

%pre: 安装过程开始之前执行的预备脚本(所能执行的操作较小,简装版的shell环境)

%post: 所有的软件安装完成之后执行的脚本 (必有完整意义上的shell环境)

光盘: MBR-->bootloader, isolinux

启动安装界面时,boot提示符后,可以向安装内核传递许多的配置参数用于安装指定过程

boot text 文本安装界面

boot askmethod 指定安装方法,让用户选择使用的安装树

boot asknetwork 安装过程中使用网络功能,并提示用户配置网络属性

boot dd 提示用户指定一个驱动程序所在设备

boot ks= 指定一个安装过程所使用的kickstart文件

ks={http|https}:///

ks=cdrom:/

ks=nfs:/

创建kickstart文件方式

1. 复制模板/root/anaconda-ks.cfg 而后使用vim编辑配置

2. 使用system-config-kickstart来生成,创建也使用/root/anaconda-ks.cfg作为模板

验证kickstart文件是否配置正确命令

# ksvalidator kick-file-name.cfg

bash丢失如何修复

1. 启动紧急救援模式

2. 获取到bash的rpm包

# mkdir /media

# mount -r /dev/dvd /media

# cd /media/Packages

# rpm -ivh bash-*.rpm --replacepkgs --root=/mnt/sysp_w_picpath/

DHCP (Dynamic Host Configuration Protocol)

bootp --> dhcp (lease 地址租约)

C/S

server: DHCP server  UDP 67 (运行dhcp服务)

client: DHCP client  UDP 68 (运行dhcp程序)

UDP: 发送很小的数据报文,且对时效性要求较高

dhcp报文交互过程(广播)

C: DHCP DISCOVER

S: DHCP OFFER (ip/netmask)

C: DHCP REQUEST

S: DHCP ACK

续约50%

C: DHCP REQUEST

DHCP

IP, NETMASK, GATEWAY, DNS, NTP SERVER, WINS SERVER, FILE

根据mac地址不同分配的IP也可不同

169.254.*.*

# yum install dhcp

dhcpd.conf

定义dhcp的自身工作属性

log-facility

全局地址分配属性 option打头

option router

子网配置

每个作用域通过一个subnet定义

subnet NETWORK_ADDR netmask NETMASK {

range  ip ip;

option routers ip;

option broadcst-address ip;

option domain-name-servers ip;

option domain-name "";

default-lease-time #s;

max-lease-time #s;

}

主机配置(优先匹配)

通常为某特定的mac地址固定分配一个地址

host 'HOST ID' {

hardware ethernet mac-addr;

fixed-address ip;

}

PXE (Preboot Execution Environment)

Client 网卡要支持网络引导

tftp Trivial FTP, 简单文件传输协议, 高效传输小文件 UDP 69

超级守护进程 Xinetd

瞬时守护进程 无须定义运行级别,只需要一次性定义xinetd运行级别

独立守护进程(standalone) 有运行级别,

tftp

yum -y install tftp-server xinetd

tftp-directory: /var/lib/tftpboot/

复制文件到/var/lib/tftpboot/ 目录下  是从iso镜像里复制出来的

p_w_picpaths/pxeboot/{vmlinuz,initrd.img}

isolinux/{boot.msg,vesamenu.c32,splash.jpg}

# yum -y install syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

# mkdir /var/lib/tftpboot/pxelinux.cfg

# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

将dhcp分配地址时给其客户端指定一个文件让其访问

/etc/dhcp/dhcpd.conf

next-server 192.168.11.171;

filename="pxelinux.0";

# service dhcpd restart

(至此centos便可以使用网络连接来启动安装界面)

建立web服务器 将iso镜像挂载到html/centos6.5目录里

# mount /dev/cdrom /var/www/html/centos6.5

制作kickstart文件复制到/var/www/html/目录中并命名ks.cfg

再将isolinux.cfg 即放在此目录下的default文件配置其ks文件所在地方

即可实现网络自动化安装centos

PXE 实现自动化基于网络安装linux

前提:

# mount /dev/cdrom /media

(挂载的是centos 6.5的iso)

1. 配置DHCP服务器

# yum -y install dhcp

# vim /etc/dhcp/dhcpd.conf

定义subnet {

...

next-server tftp-server-ip;

filename "pxelinux.0";

}

# service dhcpd restart

2. 配置tftp-server

# yum -y install xinetd tftp-server tftp

# service xientd start

# chkconfig tftp on

# service xinetd restart

# ss -unl | grep ":69"

3. 准备安装树

# mkdir /var/www/html/centos6.5

# mount --bind /media/ /var/www/html/centos6.5

# service httpd start

4. 准备/var/lib/tftpboot下的文件

/media/p_w_picpaths/pxeboot/{vmlinux,initrd.img}

/media/isolinux/{boot.msg,vesamenu.c32,splash.jpg}

/usr/share/syslinux/pxelinux.0

# mkdir /var/lib/tftpboot/pxelinux.cfg

/isolinux/isolinux.cfg 放到上边建立的目录并更名为default

5. 第一次测试,看看客户端是否可以启动到引导界面

6. 提供kickstart文件

注意url及repo后的路径要修改为可安装树的路径

配置kickstart文件时,虽然system-config-kickstart可以进行配置,但磁盘还

需要自行手动进行配置的,如果是想使用lvm

编辑好kickstart文件保存至/var/www/html目录下 ks.cfg(可自定义名字)

7. 配置引导程序能自动加载kickstart文件

# vim /var/lib/tftpboot/pxelinux.cfg/default

在label为linux项的append一行后附加

ks=http://HTTP_SERVER_IP/ks.cfg

8. 第二次测试,查看其是否可自动引导,并进行自动化安装centos 6.5

(预祝你成功呵呵 亲测本人已经配置完成)

SELinux (Secure Enhenced Linux)

沙箱

启用 /etc/selinux/config

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=permissive

# getenforce

# setenforce {0|1}

0 off | 1 on

# ls -Z

# ps -auZ

windows pxe 安装linux,菜鸟学Linux 第103篇笔记 pxe自动化安装linux相关推荐

  1. 菜鸟学exchange之一:exchange邮件系统的简单安装和部署

    菜鸟学exchange之一:exchange邮件系统的简单安装和部署 2009-05-10 23:15:34 实验背景: 西安凌云高科技是一家拥有300名员工的高新技术企业,总部在位于西安.在上海和北 ...

  2. 《Linux内核设计与实现》读书笔记(三)- Linux的进程

    进程是所有操作系统的核心概念,同样在linux上也不例外. 主要内容: 进程和线程 进程的生命周期 进程的创建 进程的终止 1. 进程和线程 进程和线程是程序运行时状态,是动态变化的,进程和线程的管理 ...

  3. linux oracle流复制文件,【学习笔记】Oracle ASM linux dd命令复制asm中文件 操作磁盘或者分区...

    天萃荷净 使用dd复制asm中文件,随着数据库新版本的推广ASM肯定会越来越被重视,最近准备系统的学习下ASM,以备突发情况需要,这是asm深入学习笔记 1.查询ASM某个数据文件AU信息 SQL&g ...

  4. Linux_鸟哥基础篇笔记_第一部分Linux的规则安装_第2章主机规划与磁盘分区

    第一部分Linux的规则安装_第2章主机规划与磁盘分区 2.1Linux与硬件的搭配 2.1.1 认识计算机的硬件设备 2.1.2 选择与Linux搭配的主机设备 2.1.3 各硬件设备在Linux中 ...

  5. 【Linux】CentOS7 C#开发环境搭建笔记(Jexus安装、配置、部署)

    Jexus安装.配置.部署 1.Jexus安装 建议安装Jexus独立版(专业版) Jexus"独立版"指的是自带.net运行时(mono),不需要在客户服务器安装mono就能正常 ...

  6. Linux怎么学?一张思维导图带你深入Linux核心原理

    最全Linux学习思维导图,请收藏! 最新整理的2TB干货资源,包括但不限于:Linux运维.架构师.大数据.Docker.数据库.redis.MongoDB.电子书.Java.机器学习.BAT面试精 ...

  7. 菜鸟学ASP.NET MVC4入门笔记

    ASP.NET MVC 是微软官方提供的以MVC模式为基础的ASP.NET Web应用程序(Web Application)框架,它由Castle的MonoRail而来. MVC 编程模式 MVC 是 ...

  8. Linux必学的60个命令(文字整理版)

    Linux必学的60个命令         Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用 ...

  9. IT忍者神龟之 Linux必学的60个命令

    Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令 ...

最新文章

  1. pyqt5 视频播放器
  2. matlab批量储存变量_科协五分钟|用Matlab工具包处理音频信号
  3. CSS之 :before :after的用法,伪类和伪元素的区别
  4. 悼念传奇,约翰询问#183;纳什和他的妻子艾丽西亚致敬,创建一个传奇,爱数学...
  5. css布局:块级元素的居中
  6. solr 7 mysql导入_solr 7.7.0 windows 导入mysql数据库数据
  7. 正则表达式 Mather类的使用
  8. sql语句遇到的问题
  9. 【MySQL】ERROR 1046 (3D000):
  10. mysql 5.7.29下载安装_deepin20 离线安装 MySQL5.7.29
  11. C++ #include iostream #include iostream.h #include string.h区别及作用
  12. 帝都搬砖四年,我决定回老家考公务员
  13. Python学习之字典详解
  14. 虚拟钢琴音源插件-GSi Genuine Sounds Vol.I Piano Edition v1.0.2 CE-win
  15. 网上图书商城项目学习笔记-022易宝支付
  16. 如何判断一件事重要还是紧急?
  17. 酷睿i9 12950HX怎么样 相当于什么水平
  18. 【迁移学习】STL(Stratified Transfer Learning)小结
  19. 关系型、非关系型、实时、非实时数据库特点归纳
  20. 微信广告转化统计java,百度推广oCPC微信号复制转化次数统计系统数据接口

热门文章

  1. MPB:亚热带生态所谭支良、焦金真等-​反刍动物瘤胃样品采集与保存
  2. 做科研发论文一直找不到研究热点?硕博导师都在关注的平台你还不快来?
  3. Nature Commun. | 假单胞和芽孢杆菌互作共存于寄主的机制,为生物防治提供新思路...
  4. R语言导入、读取网络CSV数据(Read a CSV from a URL)实战:R原生read_csv、readr包、data.table
  5. ValueError: Bin labels must be one fewer than the number of bin edges
  6. R语言时间序列(time series)分析实战:HoltWinters平滑法预测
  7. 潜在语义分析(Latent Semantic Analysis)
  8. 基于关联规则(Variational Autoencoders)疾病预测系统实战:(pyspark FPGrowth实现频繁项集挖掘、最后给出预测模型topK准确率和召回率)
  9. python代码判断两棵二叉树是否相同
  10. c语言如何持续输入字符直到指定字符结束_《小白学C》第三章 常用输入输出函数...