01 运维学习大纲、计算机组成、linux基础知识 centos系统安装(kickstart 自动安装) SELinux

运维学习大纲

在这里插入图片描述
在这里插入图片描述
2.认证
在这里插入图片描述

计算机组成

1.现代计算机的组成部分:
运算器、控制器、存储器、输入设备、输出设备
1.1 CPU(包含):运算器、控制器
1.2 bus(总线):部件之间相互交换的桥梁
总线分为三类:数据总线、控制总线、地址总线
1.2.1 地址总线:数据存了内存中需要读取数据时通过地址总线查找
内存(memory)用二进制来表示地址,所以32位系统只能最多支持4G内存,因为2^32=4G
64位系统可以支持的内存是4G^4G
所以计算机运算时往往是先输入需要计算的数据的内存所在位置,再提取位置中的数据进行运算
1.3 cpu计算效率:4GHZ 是指单位时间内电频可以变化40多亿次也就是40多亿位的数据传输
1.4 IO:与外部部件交互(通关主板连接)
主要外部IO设备:
磁盘
网卡
键盘
鼠标
显示器
2.虚拟机:软件加硬件模拟出的完整的有硬盘、内存、cpu的独立的系统,其中cpu本来就是虚拟的通过时间片段进行分割的所以很容易虚拟出来

linux基础知识

  1. cpu:是由多个针脚组成,每个针脚都有各自的功能,比如加减乘数
    1.1 指令集:cpu提供的功能通常通过指令实现,多个指令集合叫做指令集(二进制格式)
    1.1.1 指令集又分为两类:
    特权指令:直接操作硬件的指令 权限→OS(系统程序) 例如mkdir命令
    普通指令:非直接操作系统硬件的指令 权限→ 程序员开发的应用程序
    1.1.2 System Call(系统调用):应用程序往往需要执行一些特权指令,这时就需要向系统进行请求然后让系统程序帮你完成,每一个系统请求就是一次系统调用,又称 Syscall。
    所以普通指令是运行在应用程序代码上的(又称用户空间),特权指令是运行在系统代码上的(又称内核空间)。
    1.2 汇编语言:cpu等芯片只能接受二进制范围的指令集,为了方便程序员编程,芯片出厂时都会自带一套略微高级的汇编语言,但 是也比较底层
    1.3 高级语言:人们往往用的是接近人的思维方式的高级语言编程,然后经过两部分:经过汇编接口转换成汇编语言(又叫做:编译过程)、然后转换成cpu能识别的指令集也就是二进制格式运行程序(又叫做:汇编过程)
    1.4:注意:不同厂商或同一厂商不同型号的芯片的针脚、排序规则、汇编语言、指令集都不同所以同一个程序拿到不同服务器上编译出来的程序是不同的,不能相互使用
    1.5 cpu架构类型:
    x86:32位
    x64:64位
    64位可以兼容32位程序 反之不行 ,但是32位软件不能完全利用64位电脑的性能所以性能差一些

  2. OS(操作系统):把底层不同型号、厂家的硬件提供的计算能力抽象成统一接口的程序 ,所以说操作系统本身就是一个虚拟机
    操作系统实现的内容:
    首先是一个软件程序
    可以实现:
    硬件驱动
    进程管理
    内存管理
    网络管理
    安全管理
    注意:操作系统并不能完成某一个功能只是提供功能,而要完成某一个功能是通过应用实现的
    2.1 所以程序员写程序是面向操作系统的不需要关注底层不同型号产生的规则差距

  3. 编程层次:从最底层往上分为三类
    硬件规格:hardware specifiacation
    系统调用:
    库调用: library call (是系统调用接口之上的更为简洁的一种接口) 通常是C/C++库
    3.1 C语言:虽然是高级语言但是也兼具相当一部分低级语言特性,所以程序员非常辛苦要精心设计内存等硬件的分配使用
    一般用于系统开发和对性能要求非常高的程序,例如 数据库
    3.2 真正的高级语言:可以在C库基础上再次进行抽象,然后在此基础上进行开发,通常称之为解释器或虚拟机,例如java的JDK和pyhon解释器都是用C语言编写的
    3.3 注意:越高级的编程语言一般都会有缺陷,他们在虚拟机上运行就会浪费很多的资源,例如手机安卓系统就是java语言写的,比苹果系统要卡一些就是这个原因,所以往往越低级语言写的程序会比越高级语言写的程序性能要好很多
    3.4一般来讲 编程时调用的接口越底层变化可以越大,实现的功能越多,但也越复杂
    越高层变化就越小,实现的功能就越少,但实现起来就越简单
    3.5 对应的操作系统组成由下往上:
    硬件
    kernel(系统)

    应用程序

  4. UI(用户接口):用户与系统交互界面 实现功能例如: 可以输入指令操作让程序运行起来
    可以分为两类:
    GUI:图形界面
    CLI:命令行接口
    startx & :从命令行接口打开图形界面
    在这里插入图片描述

  5. ABI(应用二进制接口):二进制程序运行接口,不同系统支持的ABI(也就是二进制程序运行格式)不同
    API(应用编程接口):应用编程接口
    程序员编写的原程序是面向API的是可以兼容不同系统的,但在不同系统上编译成二进制程序之后面向的就是ABI接口所以就不兼容了

  6. 运行程序格式与库文件:
    windos → 运行格式:EXE
    库文件:dll(动态链接库)
    linux → 运行格式: ELF
    库文件:so(共享对象)

  7. 程序组成:指令+数据(或 算法+数据结构)
    指令:只读
    数据:可读写
    7.1 程序的运行就是通过执行cpu现有指令集对数据进行运算,无论库调用还是系统调用被调用的程序只提供库,数据还是调用方提供
    7.2 所以基于这种共享库的模式: 很大程度减少了程序员的工作量
    很大程度节约了资源

  8. 编程语言:
    在这里插入图片描述

  9. 操作系统的安装过程:
    需要安装的系统的基本组件例如:kernel、glibc(驱动)、bash等都是源码程序,这就需要有个第三方进行支持(第三方就是另一个系统) 先把这些系统的基本源码组件编译成电脑可以识别的二进制放在一块磁盘中,然后能在服务器加电启动后加载这个磁盘中编译好的二进制系统(想象一下跟安装windos系统时例如一些大白菜装机工具的自带的装机系统时都是一样的)

  10. 系统发行版本(linux kernel 官方网站 www.kernel.org)
    10.1 遵循的协议:
    10.1.1
    在这里插入图片描述
    10.1.2 BSD, GPL, LGPL,MIT协议的联系区别 在这里插入图片描述

       	10.2 unix:
       			![在这里插入图片描述](https://img-blog.csdnimg.cn/20190516210804160.png)
       	10.3 Linux:
       						slakware;
       										suse:二次发行版
       													opensuse:三次发行版
       													sle:企业级发行版
       						debian;特点是唯一一个非商业公司的自发维护的系统,门槛较高
       										ubuntu:二次发行版
       														mint:三次发行版
       						redhat:
       									rhel:企业版
       									fedora:个人版本 版本更新较快
       						Centos:兼容rhel的格式
       						GUN:核心协定 GPL LGPL 
    
  11. 程序包管理器:
    在这里插入图片描述

  12. linux的特点和哲学思想:
    在这里插入图片描述

  13. 系统ISO获取
    在这里插入图片描述
    实例:
    在这里插入图片描述

  14. 终端:
    14.1 在这里插入图片描述
    注意:系统刚启动时用的是物理终端,启动起来后默认是第一个虚拟终端
    模拟终端不是附加在物理终端之上的而是附加在图形界面或其他终端之上的纯模拟的软件

        14.2	交互式接口:	启动终端后,在终端设备附加一个交互式应用程序
        								GUI:
        										对于linux而言 是基于 X协议 进行远程显示,之后再这基础上再提供一个窗口管理器,然后在提供一个桌面系统(desktop)
       											desktop常用系统;
       																			GNOME :C语言开发  附加一个gtk图形开发库
       																			KDE:C++语言开发	附加一个qt图形开发库
       																			XFCE(轻量级桌面):
    

补充

1.南北桥芯片:
南桥距离CPU远主要链接外围设备然后传送到北桥
北桥距离CPU近计算频率高,以前是链接内存与CPU,现在一般内存直接连接到CPU
所以北桥主要是连接南桥跟其他数据
2.运算性能与缓存:
一般来说CPU运算效率高而内存效率低,性能取决于最低值(木桶效应),
所有就有CPU1|2|3级缓存来承上启下(级别越小缓存越大效率越高)
缓存遵循程序局部性原理:
时间的局部性:一段时间会重复读内容
空间局部性:一段时间读取临近的数据
3. ASCII 码表定义一些国际标准
例:规定 8位0000 0000 是一字节
汉子是两字节表示一个字0000 0000 0000 0000 需要用特定的编码或转移出这些所代表的汉子

centos系统安装

以centos6为例
1.
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3.
在这里插入图片描述
在这里插入图片描述
4.系统安装完后会在root目录下生成一个本次安装所配置的kickstart文件*-ks.cfg
在这里插入图片描述
在这里插入图片描述
5.
在这里插入图片描述
例:
(1)安装工具并运行
在这里插入图片描述
运行
在这里插入图片描述

(2)读取或者配置安装系统选项
注释:可以修改已有模本根据情况修改生效分区配置和增删安装后脚本
打开已有配置文件(可以在上面修改然后保存):
在这里插入图片描述
保存
在这里插入图片描述
(3)安装时指明修改保存的ks配置文件位置就会根据设定进行面交互安装(ks存放在http地址中)
在这里插入图片描述
6.创建引导光盘,把ks配置文件放进去
以下注释:创建 myiso目录下所有文件为引导iso镜像,-b指明引导文件第一段 -c引导文件第二段 -V指明标签
在这里插入图片描述
安装,指明ks文件就可以一键安装
在这里插入图片描述

也可以直接编辑光盘引导配置文件加一个label
在这里插入图片描述

在这里插入图片描述

光盘引导安装选ks 一键安装不用给内核指定

SELinux

SElinux:一种保险箱机制,会把定义的进行和相关文件放在一个虚拟空间中运行,访问文件时出来查看属主属组权限之后相当于又附加了一层权限管理限制,保险箱是一个域(进程所具有的所有文件访问权限),保险箱之外就算属主属组有权限也不能被访问。保险箱之前访问收到SElinux定义的规则库限制
ls -Z查看规则
在这里插入图片描述
2.
在这里插入图片描述
3.
在这里插入图片描述
4.
在这里插入图片描述

例如:
在这里插入图片描述
-P表示永久有效在这里插入图片描述

在这里插入图片描述
查看审计
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值