Linux基础知识

Linux系统的发行版本:Redhat、CentOS、Ubuntu、Kali、Debian、麒麟
linux系统的组成:应用程序:C、C++、Java、Python、Shell

内核:

  • 进程调度子系统:合理调度不同进程使用cpu的时间
  • 内存管理子系统:对进程使用的内存进行管理,将需要加载的代码块放在内存中,不需要加载的放入磁盘中,内核支持虚拟的内存,当内存不够用时支持将硬盘的一部分的容量作为内存来使用
  • 虚拟文件子系统:让操作系统可以兼容多种文件系统
  • 网络接口子系统:对网络使用的协议簇,标准等进行管理
  • 进程间通信子系统:对进程之间数据交换,访问进行管理硬件;

查看内核版本:uname -r

标准分区:

分区方式:标准分区:fdisk -l  (物理卷---卷组---逻辑卷)

  • IDE/PATA:并口
  • SATA:串口
  • SCSI:small  computer  system  interface  interface

小型计算机系统接口GNU:gcc(c语言编译器)

bashPKI:公钥基础设施

密钥对:公钥,私钥

公钥加密技术·:数据的机密信号
数字签名:私钥加密,公钥解密

BIOS:基本输入输出系统,是一段程序,集成

PXE的作用

用于Redhat、CentOS、等linux发行版本的安装管理程序,提供多种安装选项、语言、键盘、时区、分区、安装的软件等等,并且通过图形化界面和命令行界面两种安装方式,在安装系统时,运行该程序需要内核和临时文件系统的支持

PXE的工作流程

  1. Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client。
  2. Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0。
  3. Client执行接收到的pxelinux.0文件。
  4. Client向TFTP发送针对本机的配置信息(记录在TFTP的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。
  5.  Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client。
  6. Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统。
  7. Client启动Linux内核(启动参数已经在4中的配置文件中设置好了)。
  8.  Client通过NFS下载镜像文件,读取autoyast自动化安装脚本。至此,Client正式进入自动化安装模式开始安装系统直到完成。

光盘目录及作用

  • Centos_BiudTag:系统镜像构建标签,记录镜像构建完成的日期
  • GPL:GNU通用公共授权,用于GNU项目中的开源项目的传播与使用 LiveOS
    • squashfs.img:记录着安装过程中图形化界面的文本信息和背景图片等内容,如果需要修改可以安装特定的解压工具对该文件进行解压并修改。
    • RPM-GPG-KEY-CentOS-7:公钥文件,用来验证软件包的身份验证,数据完整性等
    • RPM-GPG-KEY-CentOS-Testing-7:同上
    • EULA:用户许可协议,在安装系统时,用户必须要同意该协议的内容才可以继续安装
  • isolinux:
    • boot.cat:在安装过程中的提示信息
    • boot.msg:在安装过程中的提示信息
    • initrd.img:加载安装程序时,需要根目录的支持,该文件为临时文件也叫虚拟根目录,用来加载所需的安装程序
    • memtest:内存测试模块
    • vesamenu.c32:提供安装选择菜单的图形界面
    • isolinux.bin:引导程序,安装程序时加载的第一个程序,该程序会读取配置文件并加载内核与虚拟目录
    • isolinux.cfg:引导程序要读取的配置文件,记录着安装菜单的多个选项以及内核和虚拟根目录存放位置
    • splash.png:背景图片
    • vmlinuz:内核文件,vm表示内核支持虚拟内存,linuz表示该文件是一个压缩的文件
    • repodata:记录着软件包之间的依赖关系,如果该目录中的文件丢失,损坏或者无法读取,则无法通过yum安装Packages中的软件包
    • EFI:通过EFI启动时所需的文件
  •  images:
    • pxeboot:使用PXE方式安装操作系统时所需的内核文件和虚拟根目录文件
    • Packages:存放着光盘中所包含的所有软件包,在安装操作系统时所选的软件都来自于该目录

PXE环境的安装与配置

实验准备

  • PXE:预执行环境,inter公司开发的
  • DHCP:给客户端分配IP地址,TFTP服务的IP地址,客户端要加载第一个文件的名字
  • TFTP:简单文件传输协议,使用UDP传输协议,端口号69
  • kickstart:结合anaconda生成一个配置文件,记录着安装程序要执行的操作(分区,选择软件包,创建用户),客户端获取该文件可自动执行配置文件中所记录的操作,不需要管理员手动执行
  • FTP:文件传输协议,端口号:21、20,存放ks.cfg文件以及安装所需的软件包

实验环境

  • 客户端要和服务器是相同网卡配置,必须在同一网段!!!
  • 关闭防火墙、关闭沙盒
  • 内存最好大于2GB
角色ServerClient
IP地址192.168.1.11192.168.1.20~192.168.1.30

挂载光盘,配置本地yum

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost ~]# ls
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo
[root@localhost yum.repos.d]# mkdir /root/yumrepo_backup        # 创建备份目录
[root@localhost yum.repos.d]# mv * /root/yumrepo_backup/        # 备份
[root@localhost yum.repos.d]# vim yum.repo
[development]
baseurl=file:///media
enabled=1
gpgcheck=0

# 挂载
[root@localhost yum.repos.d]# mount /dev/cdrom /media/

安装所需要的服务

[root@localhost yum.repos.d]# yum -y install dhcp vsftpd tftp-server xinetd syslinux system-config-kickstart

修改DHCP配置文件

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf 
# 添加以下配置参数
subnet  192.168.1.0 netmask 255.255.255.0   {
    range   192.168.1.20    192.168.1.30;
    next-server 192.168.1.11;
    filename "pxelinux.0";}

配置TFTP

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# cp /media/isolinux/isolinux.cfg default
[root@localhost pxelinux.cfg]# vim default

[root@localhost pxelinux.cfg]# cd ..
[root@localhost tftpboot]# cp /media/images/pxeboot/{vmlinuz,initrd.img} .
[root@localhost tftpboot]# cp /media/isolinux/{boot.*,vesamenu.c32,splash.png} .

设置tftp自启动

[root@localhost tftpboot]# vim /etc/xinetd.d/tftp 
        disable                 = no

拷贝软件包到FTP目录

[root@localhost tftpboot]# cd /var/ftp/
[root@localhost ftp]# mkdir centos
[root@localhost ftp]# cp -r /media/* centos/

配置kickstart(ks.cfg)

[root@localhost ftp]# system-config-kickstart

[root@localhost ftp]# vim /root/anaconda-ks.cfg

[root@localhost ftp]# vim centos/ks.cfg

修改TFTP配置文件

[root@localhost centos]# vim /var/lib/tftpboot/pxelinux.cfg/default

启动服务

[root@localhost centos]# systemctl start dhcpd vsftpd tftp xinetd

关闭防火墙和沙盒

[root@localhost]# systemctl stop firewalld.service
[root@localhost]# setenforce 0

新建虚拟机安装系统

Last modification:July 23rd, 2020 at 10:08 pm
如果觉得我的文章对你有用,请随意赞赏