[← 上一章] | 返回总目录 | 下一章:Linux 基础入门 →
计算机基础和Linux安装
内容概述
-
计算机系统
-
计算机硬件组成
-
操作系统
-
Linux相关介绍
-
Linux哲学思想
-
虚拟机
-
Linux 安装
1 计算机系统
计算机(Computer):俗称电脑,是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出的现代化智能电子设备
发明计算机的目标是代替人类去高效且高质量地完成工作
计算机有很多形式,比如:生活中常见的家用电脑,笔记本,智能手机,平板电脑等,还有生产环境中提供重要业务支撑的各种服务器(Server),都算是计算机。
一台计算机要像人类一样完成工作,就需要相关的组成部分,共同协作实现人类某些功能
其中一个完整的计算机系统由硬件(Hardware)系统和软件(Software)系统两大部分组成
Linux云计算课程辅助工具与软件链接: https://pan.baidu.com/s/1qUBAFEJpQ28fpq3T9jj3sA?pwd=2fhm 提取码: 2fhm

1.1 计算机硬件
计算机发展历史:
-
第一代计算机(1946-1957) 电子管时代 2. 第二代计算机(1958-1964) 晶体管时代
-
第三代计算机(1965-1970) 集成电路时代
-
第四代计算机(1971以后) 大规模集成电路时代
1.1.1 世界上第一台计算机

1946年,世界上第一台计算机ENIAC(electronic numerical integrator and calculator 电子数字积分计算机)在美国宾州大学诞生,是美国奥伯丁武器试验场为了满足计算弹道需要而研制成的。使用了17468只电子管,占地170平方米,重达30吨,耗电174千瓦,耗资40多万美元。每秒可进行5000次加法或减法运算
1.1.2 冯·诺依曼体系结构

1946年美籍匈牙利数学家冯·诺依曼于提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。 冯·诺依曼体系的要点是:
数字计算机的数制采用二进制,bit 位, byte 字节 1 byte =8 bit
-
计算机应该按照程序顺序执行
-
计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成
计算机的硬件五个组件
控制器: 指挥系统
运算器: 数学和逻辑运算
- 存储器: 存储信息
输入设备: 接收外部信息
输出设备: 输出计算机内部信息到外部设备
冯·诺依曼

早期计算机系统的输入设备:穿孔纸带


1.1.2.1 二进制和十进制转换
-
2^0=1=1b
-
2^1=2=10b
-
2^3=8=1000b
-
2^4=16=10000b
-
2^5=32=100000b
-
2^6=64=1000000b
-
2^7=128=10000000b
-
2^8=256=100000000b
-
2^9=512=1000000000b
-
2^10=1024=10000000000b
-
2^11=2048=100000000000b
-
2^12=4096=1000000000000b
1.1.2.2 常见单位
10的36次方 X
-
10的33次方 C
-
10的30次方 D
-
10的27次方 N
10的24次方 B
-
10的21次方 Y
-
10的18次方 E
-
10的15次方 P
-
10的12次方 T 二进制 2^40 1024G
-
10的 9次方 G 二进制 2^30 1024M
-
10的 6次方 M 二进制 2^20 1024K
-
10的 3次方 K 二进制 2^10=1024
-
10的 2次方百
-
10的 1次方十
-
10的-1次方 d 分
-
10的-2次方 c 厘
-
10的-3次方 m 毫
-
10的-6次方 μ 微 10的-9次方 n 纳 10的-12次方 p 10的-15次方 f 10的-18次方 a
范例: 十进制和二进制互转换
[root@centos7 ~]#bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2*3
6
obase=2
168
10101000
quit
[root@centos7 ~]#bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
ibase=2
1010
10
范例: 不同进制转换
#十进制转二进制:echo "obase=2;255" | bc
#八进制转十进制:echo "obase=10;ibase=8;377" | bc
#二进制转十进制:echo "obase=10;ibase=2;11111111" | bc
#二进制转16进制:echo "obase=16;ibase=2;11111111" | bc
[root@centos8 ~]#echo "obase=2;255" | bc
11111111
[root@centos8 ~]#echo "obase=10;ibase=8;377" | bc
255
[root@centos8 ~]#echo "obase=10;ibase=2;11111111" | bc
255
[root@centos8 ~]#echo "obase=16;ibase=2;11111111" | bc
FF
#注意前后顺序
[root@centos8 ~]#echo "ibase=2;obase=16;11111111" | bc
100110
范例:确定当前系统是32位或64位
[root@centos8 ~]#getconf LONG_BIT
64
[root@rhel5 ~]# getconf LONG_BIT
32
root@ubuntu2004:~# arch
x86_64
[root@rhel5 ~]# arch
i686
1.1.3 摩尔定律
由英特尔(Intel)创始人之一戈登·摩尔于1965年提出,当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍

1.1.4 计算机分类
1.1.4.1 按规模划分
-
超级计算机:Super Computer,又称巨型计算机,应用于国防尖端技术和现代科学计算中。巨型机的运算速度可达每秒百万亿次以上, “天河一号”为我国首台千万亿次超级计算机
-
大型计算机:具有较高的运算速度,每秒可以执行几千万条指令,而且有较大的存储空间。往往用于科学计算、数据处理或作为网络服务器使用,如:IBM z13 mainframe
-
小型计算机:指采用精简指令集处理器,性能和价格介于PC服务器和大型主机之间的一种高性能 64 位计算机。在中国,小型机习惯上用来指UNIX服务器
-
微型计算机:指采用 X86 CPU 架构的PC服务器,中央处理器(CPU)采用微处理器芯片,体积小巧轻便,广泛用于商业、服务业、工厂的自动控制、办公自动化以及大众化的信息处理,互联网公司发起去IOE运动,代替小型机
1.1.4.2 按功能和角色划分
服务器Server和客户机client
服务器:即 Server,计算机的一种,通常是网络中为客户端计算机提供各种服务的高性能的计算机,服务器在网络操作系统的控制下,将与其相连的硬盘、磁带、打印机及昂贵的专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发布及数据管理等服务
客户机:即 Client,向服务器提出请求,需要服务器为之提供相应的服务和支持的计算机
服务器按应用功能可分为:
Web服务器、数据库服务器、文件服务器、中间件应用服务器、日志服务器、监控服务器、程序版本控制服务器、虚拟机服务器、邮件服务器、打印服务器、域控制服务器、多媒体服务器、通讯服务器、 ERP服务器等
1.1.4.3 服务器按外形分类
PC 服务器常见的三种外型:
-
塔式服务器
-
刀片式服务器机架式服务器
塔式Tower服务器


早期的服务器形式,目前较少使用
外形以及结构和平时使用的立式PC差不多
机箱空间大,主板扩展性较强,插槽较多
预留了足够的内部空间,以便日后进行硬盘和电源的冗余扩展,设计一般都考虑降噪 刀片式Blade服务器

上图所示的密度更高的服务器,称为刀片服务器。这种服务器组成一组,放在一个框里面,可以整框使用。如图所示为整框的刀片服务器,其中竖条是计算单元,可以单独拿出来。
在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可用和高密度
更高的密度,集中管理,高性能,灵活扩展,按需配置
可以使用系统软件将这些母板集合成一个服务器集群。在集群模式下,所有的母板可以连接起来提供高速的网络环境,并同时共享资源,为相同的用户群服务
机架式Rack服务器


按照统一标准设计,配合机柜统一使用,便于统计管理,高密度,节省空间,常用U为单位, 1U=1.75英寸=44.45毫米,机箱尺寸比较小巧,在机柜中可以同时放置多台服务器机架式服务器的宽度为19英寸(48.26cm),厚度通常有1U,2U,3U,4U,5U,7U几种标准的服务器
- 机柜的尺寸也是采用通用的工业标准,如:宽度600mm,深度1000mm,高度2000mm(42U) 现阶段是最主流的的服务器
1.1.5 数据中心相关硬件


上图为数据中心,有许多硬件设备,大体上可以分为三类:服务器,网络设备和存储设备,图中这一排排的就是机柜,我们平时所谓的服务器、网络交换机和存储等设备都放在这里面。 物理拓扑

在机柜中有许多的设备,用上面所示的方式进行连接,包括服务器、光纤交换机、磁盘阵列和磁带库等。其中上层的设备是服务器,中层的设备是光纤交换机,下层的设备是存储设备,包含磁盘阵列和磁带库。
实际数据中心要复杂的多,除了包含上述设备外,还包括核心路由器、核心交换机、防火墙和负载均衡器等等设备。这还不包括上述机柜、无烟灭火器、空调和UPS等辅助设备
逻辑拓扑

上面复杂的结构可简化为上面的逻辑图,可以看到服务器通过主机总线适配器,即:HBA(Host Bus Adapter)卡和光纤交换机相连,而存储设备也通过HBA卡和光纤交换机相连;服务器之间通过以太网交换机互联。
1.1.6 服务器硬件组成


服务器配置示例(参考价格47588元)
1.1.6.1 服务器硬件---CPU

CPU:Central Processing Unit,即中央处理器。由控制器和运算器构成,是整个计算机系统中最重要的部分
CPU 指令集分类:
CISC:Complex Instruction Set Computer,复杂指令集
RISC:Reduced Instruction Set Computer,精减指令集
复杂指令集和精减指令集:
早期计算机一直沿用CISC指令集方式。它的设计目的是要用最少的机器语言指令来完成所需的计算任务。在CISC处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。 CISC的指令系统庞大,功能复杂,指令格式、寻址方式多;执行速度慢 ;难以优化编译,编译程序复杂; 无法并行;无法兼容。大约20%的指令占据了80%的处理器时间。其余80%指令使用频度只占20%的处理机运行时间。 由此CISC生产厂商长期致力于复杂指令系统的设计,实际上是在设计一种难得在实践中用得上的指令系统的处理器,同时.复杂的指令系统必然带来结构的复杂性.这不但增加了设计的时间与成本还容易造成设计失误。目前个人计算机x86体系 CPU 厂商一直在走CISC的发展道路,包括Intel、AMD、 VIA(威盛)等。之所以称为X86,是因为最早Intel的CPU型号是8086,后来出现了80286,80386,80486, 80586等,所以之后的Intel和其兼容的厂商的生产CPU都称为X86 CPU。而后CPU从最初的8 位,16 位,32位,发展到目前主流的64位。为了区别非64位的CPU,一般将64位的CPU称为X86-64。由于最早在1999由AMD设计公开 64 位技术,称为 x86-64,后来改名为 AMD64,不同厂商称呼有所不同,所以AMD 64,x86-64,x64都指的是64位的基于X86的CPU。
因为CISC存在上面的问题,于是有了RISC,它是图灵奖得主John L. Hennessy和David A. Patterson对行业的重大贡献,由加州大学伯克利分校于1980年发布, 其基本思想是尽量简化计算机指令功能,只保留那些功能简单、能在一个节拍内执行完成的指令 ,使其实现更容易,指令并行执行程度更好,此称为精简指令集RISC(Reduced Instruction Set Computing)。精减指令集其风格是强调计算机结构的简单性和高效性,其特点是所有指令的格式都是一致的,所有指令的指令周期也是相同的,支持并行,并且采用流水线技术。当需要完成复杂任务时,就由多个指令组合来实现。常用的精简指令集微处理器包括: ARM、RISC-V、MIPS、PA-RISC、PowerArchitecture(包括PowerPC)、DECAlpha和SPARC等。当前全世界超过95%的智能手机和平板电脑都采用ARM架构,当前最先进的华为的海思麒麟990 CPU,高通的
骁龙865 CPU,苹果的A13 CPU也都属于ARM架构。ARM可以说是目前世界上使用最广泛的CPU架构了。
当前CPU的两大架构是CISC(复杂指令集)和RISC(精简指令集),x86是CISC的代表架构,占领了 95%以上的桌面计算机和服务器市场。Arm作为RISC的一种,在智能手机、可穿戴设备等移动处理器市场占领主要地位,针对物联网、5G、AI新兴领域的应用, RISC-V和MIPS两大精简指令集架构再次登上历史舞台 。
RISC-V:1980年加州大学伯克利分校(Berkeley)的David Patterson(大卫·帕特森)教授主导了Berkeley RISC项目并设计了其第一代的处理器RISC I,2010年,Krste Asanovic(克斯特·阿萨诺维奇)教授带领的团队大约花了四年时间,设计和开发了一套完整的新的指令集,这个新的指令集叫做RISC-V,这是Berkeley从 RISC I开始设计的第五代指令集架构,V还代表了变化(variation)和向量(vectors),RISC-V架构使用BSD开源协议给予使用者很大自由,允许使用者修改和重新发布开源代码,也允许基于开源代码开发商业软件发布和销售。
MIPS是一种RISC处理器,它最早是在80年代初期由斯坦福(Stanford)大学John L. Hennessy(约翰·亨利斯) 教授领导的研究小组研制出来的,MIPS是出现最早的商业RISC架构芯片之一,2018年3月21日美国计算机协会(ACM)宣布将2017年度的图灵奖颁给了芯片界的两位大师:曾任斯坦福大学校长的John L. Hennessy和曾任加州大学伯克利分校教授的David A. Patterson。
MIPS计算机系统公司创建于1984年,最初的目的是将斯坦福大学MIPS CPU小组的研究成功商业化,商用MIPS CPU增强了内存管理硬件,并于1985年末作为R2000面世,其后又相继推出了R3000、R4000、 R10000等多款处理器。
主流CPU指令集

X86/x86_64 架构
主导桌面与服务器芯片市场

ARM 架构

手机:华为小米三星苹果
pad:华为小米三星苹果
机顶盒:各种电视机顶盒
华为泰山服务器-鲲鹏系列CPU
POWER 架构
由IBM设计,POWER系列微处理器在不少IBM服务器、超级计算机、小型计算机及工作站中,广泛使用。
RISC-V 架构

官网: https://riscv.org
RISC-V 架构参与企业


平头哥半导体有限公司官网: https://www.t-head.cn/

服务器CPU公司
Intel:
Xeon 至强
Itanium 安腾
AMD: Althlon MP
IBM: Power
按照CPU体系架构来区分,服务器主要分为两类:
x86服务器: 采用CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构, 使用Intel或其它兼容x86指令集的处理器芯片的服务器。目前主要为intel的Xeon E3,E5,E7系列,价格相对便宜、兼容性好、稳定性较差、安全性不算太高
非x86服务器: 采用RISC(精简指令集)或EPIC(并行指令代码) 处理器,主要采用UNIX和其它专用操作系统的服务器,CPU主要有IBM的Power PC、MIPS的MIPS、SUN的Sparc、Compaq的Alpha、HP的 PA-RISC、Intel研发的EPIC安腾处理器等。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强, 主要用在金融、电信等大型企业的核心系统
微处理器
1971年11月15日,Intel公司的工程师特德·霍夫发明了世界上第一个微处理器—4004,这款4位微处理器虽然只有45条指令,而且每秒只能执行5万条指令。性能很低,但它的集成度却要高很多,一块4004 的重量还不到一盅司
Intel从8086开始,就进入了我们常说的x86时代。而80386的诞生则标志着Intel正是进入了32位微处理器的时代。从80386到Pentium 4这个年代的CPU,就是传说中的IA-32时代
x86-64( 又称x64,即英文词64-bit extended,64位拓展的简写)是x86架构的64位拓展,向后兼容于 16位及32位的x86架构。x64于1999年由AMD设计,AMD首次公开64位集以扩展给x86,称为 “AMD64”。其后也为英特尔所采用,现时英特尔称之为“Intel 64”,在之前曾使用过“Clackamas Technology” (CT)、“IA-32e”及“EM64T”
Intel公司的CPU发展历程

CPU主频:主频是CPU的时钟频率(CPU Clock Speed),是CPU运算时的工作的频率(1秒内发生的同步脉冲数)的简称。单位是Hz。一般说来,主频越高,CPU的速度越快,由于内部结构不同,并非所有的时钟频率相同的CPU的性能都一样
高速缓存(cache):高速交换的存储器。CPU缓存分为一级,二级,三级缓存,即L1,L2,L3
1.1.6.2 服务器硬件---主板

主板mainboard,安装在机箱内,是计算机最基本的也是最重要的部件之一
主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS芯片、I/O控制芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电接插件等元件
1.1.6.3 服务器硬件---内存

内存是介于CPU 和外部存储之间,是CPU 对外部存储中程序与数据进行高速运算时存放程序指令、数据和中间结果的临时场所,它的物理实质就是一组具备数据输入输出和数据存储功能的高速集成电路
内存是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是存取速度快
计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大
与之相对应的还有外存:硬盘,U盘,软盘,光盘
内存和外存的区别:
内存速度快,价格高,断电后数据丢失
外存速度慢,价格相对低廉,断电后数据可以保存
容量: 即该内存的存储容量,单位一般为GB
内存带宽:
内存带宽是指内存与北桥芯片之间的数据传输率,B byte 字节 b bit位
单通道内存控制器一般都是64-bit的,8个二进制位相当于1个字节,换算成字节是64/8=8,再乘以内存的运行频率,如果是双通道内存就要再乘以2
计算公式: 内存带宽 = 内存总线频率 × 数据总线位数 /8
范例:
单通道DDR(Double Data Rate双倍速率)内存带宽计算
DDR4-4000:4000MHz*64bit/8=32000MB/S=32GB/S
DDR4-3600:3600MHz*64bit/8=28800MB/S
双通道:
DDR4-4000:4000MHz*64bit*2/8=64000MB/S
1.1.6.4 服务器硬件---硬盘
1956年IBM公司研发的世界上第一块电脑硬盘容量为5M,大小和家用洗衣机差不多.

常见的磁盘接口种类:
-
IDE:Integrated Drive Electronics,电子集成[驱动器,早期家用电脑常用接口 SCSI:Small Computer System Interface,小型计算机系统接口,早期的服务器常用接口
-
SATA:Serial ATA (Advanced Technology Attachment 高技术配置),家用电脑常用的接口 SAS:Serial Attached SCSI,是目前服务器上主流的接口
-
光纤通道:Fiber Channel,高性能服务器上采用的接口
-
M.2 :固态硬盘接口,性能更强
结构分类 :
- 机械硬盘HDD(Hard Disk Drive) 固态硬盘SSD(Solid State Drives )
机械硬盘:

存储介质(Media)——盘片
盘片的基板是金属或玻璃材质制成,为达到高密度高稳定的质量,基板要求表面光滑平整,不可有任何暇疵
-
读写磁头(Read Write Head)——磁头
-
磁头是硬盘读取数据的关键部件,它的主要作用就是将存储在硬盘盘片上的磁信息转化为电信号向外传输
-
马达( Spindle Motor & Voice Coil Motor )
马达上装有一至多片盘片,以7200,10000,15000 RPM等定速旋转,为保持其平衡不可抖动, 所以其质量要求严谨,不产生高温躁音
机械硬盘基本参数:
-
容量:容量是硬盘最主要的参数。单位有MB、GB、TB,常见容量:500GB,1T,2T,3T,4T, 6T
-
转速:转速是指硬盘盘片每分钟转动的圈数,单位为rpm。常见:7200rpm,10000rpm, 15000rpm
-
传输速率:传输速率(Data Transfer Rate) 。硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s),常见:6Gb/s,12Gb/s
-
缓存:硬盘缓存的目的是为了解决系统前后级读写速度不匹配的问题,以提高硬盘的读写速度磁盘尺寸:3.5”/2.5”/1.8”
-
是否支持热插拔
SSD硬盘:

SSD,即固态硬盘,泛指使用NAND Flash组成的固态硬盘。其特别之处在于没有机械结构,以区块写入和抹除的方式作读写的功能,因此在读写的效率上,非常依赖读写技术上的设计SSD读写存取速度快, 性能稳定,防震性高,发热低,耐低温,电耗低,无噪音。因为没有机械部分,所以长时间使用也出现故障几率也较小。缺点:价格高,容量小,相对普通机械硬盘性价比低
1.1.6.5 服务器硬件---网卡


服务器一般都在主板上集成了网卡LOM (LAN on motherboard主板集成网卡) ,传输速率通常为 1Gbps,即千兆网卡
特殊应用需要高端网卡,如光纤网卡,Infiniband网卡等,传输速率能达到10Gbps、20Gbps,即万兆网卡
1.1.6.6 服务器硬件---相关其它硬件
1.1.6.6.1 服务器硬件---远程管理卡
IPMI是智能型平台管理接口(Intelligent Platform Management Interface)的缩写,是管理基于 Intel 结构的企业系统中所使用的外围设备采用的一种工业标准,该标准由英特尔、惠普、NEC、美国戴尔电脑和SuperMicro等公司制定。用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。而且更为重要的是IPMI是一个开放的免费标准,用户无需为使用该标准而支付额外的费用。
IPMI 定义管理员如何监测系统硬件和传感器、控制系统组件和检索重要系统事件的日志以进行远程管理和恢复。
自1998 年,IPMI论坛创建了IPMI标准依赖,其已经得到了170 多家供应商的支持,这使得其逐渐成为了一个完整地包括服务器和其他系统(如存储设备、网络和通信设备)的硬件管理规范.当前流行的是 IPMI 2.0
远程管理卡就是基于IPMI实现的服务器特有的远程管理部件,在家用电脑及笔记本电脑上是不存在的。
远程管理卡是安装在服务器上的硬件设备,提供一个以太网接口,使它可以连接到独立于业务网络的专用的管理网络中,提供远程访问,如查看服务器状态,调整BIOS,配置RAID,安装系统,重启系统等。这种远程管理是基于服务器主板上集成的基板管理控制器BMC(Baseboard Manager Controller)实现,BMC 就是一个独立于服务器的微处理器系统, 可以完成负责监测和管理操作系统之外的服务器环境和状态。它既不会占用服务器系统资源,也不会影响服务器系统的运行。所有远程管理卡都是向BMC发送指令来实现服务器的管理和监控功能.只要服务器通电而无需启动操作系统,BMC即可正常工作.
早期(2010年以前),服务器托管在IDC机房,一旦出现问题,还得跑机房或者请机房的人管理。有了远程管理卡之后,运维人员管理服务器的效率就大大的提高了。
远程管理卡有服务器自带的和独立的两类。服务器自带的远程管理卡,可以关机、开机,但是看不到开关服务器的过程。所以,建议给服务器配备独立的远程管理卡,可能会多花100多块钱的样子,但是, 当服务器出现问题,就不需要打车或者出差,也不用给机房人员打电话了,可以利用远程管理卡快速查看服务器故障并恢复服务。
各个服务器厂商都提供了符合IPMI标准的远程管理接口,但称呼不尽相同,比如Dell的iDRAC,惠普的ILO,浪潮的IPMI,华为的IBMC,联想的xclarity,华三的HDM等

上图是浪潮的服务器IPMI卡,不过和DELL不同,浪潮的服务器是出厂默认带的IPMI接口

上图为Dell的 iDRAC((integrated Dell Remote Access Controller))卡即是远程管理卡, 相当于是附加在服务器上的一台独立运行的小型pc,通过与服务器主板上的管理芯片BMC进行通信,监控与管理服务器的硬件状态信息。它拥有自己的系统和IP地址,与服务器上的OS无关,是服务器管理员进行远程访问和管理的便利工具
1.1.6.6.2 服务器硬件---阵列卡

Raid卡用来实现RAID的建立和重建,检测和修复多位错误,错误磁盘自动检测等功能。RAID芯片使CPU 的资源得以释放,阵列卡把若干硬盘驱动器按照一定要求组成一个整体、由阵列控制器管理的系统
阵列卡可以用来提高磁盘子系统的性能及可靠性
支持的多种RAID级别,RAID0,1,5,6等
阵列卡提供缓存及电池保护
1.1.6.6.3 服务器硬件---电源

支持服务器的电力负载,支持冗余,防止电源故障 ,故障预警和防止 ,故障之前的预防性维护,保证服务器持续运行,电源子系统包括:冗余电源和风扇
1.1.6.6.4 服务器硬件---显卡
服务器都在主板上集成了显卡,但是显存容量不高,一般为16M或32M,GPU: Graphic Processing Unit,即“图形处理器”
1.1.6.6.5 服务器硬件---热插拔技术
热插拔技术,称为热交换技术(Hot Swap),允许在不关机的状态下更换故障热插拔设备,常见的热插拔设备:硬盘,电源,PCI设备,风扇等。热插拔硬盘技术与RAID技术配合起来,可以使服务器在不关机的状态下恢复故障硬盘上的数据,同时并不影响网络用户对数据的使用
1.1.6.6.6 服务器硬件---机柜


机架式服务器-服务器放置在机柜中
通常使用的机柜是42U(约2米高)机柜( 1U=44.45mm)
外观尺寸一般为:宽600深1000高2000(mm)
在一个机架上,累计设备U数一般不超过26U,全1U设备部署数量一般不超过16台,全2U设备一般不超过12台,全4U设备一般4到7台
机架式服务器-机架及其配件

1.1.6.7 各种硬件处理速度和性能优化
https://www.sohu.com/a/360663667_467784
服务器的性能短板:如果CPU有每秒处理1000个服务请求的能力,各种总线的负载能力能达到500个, 但网卡只能接受200个请求,而硬盘只能负担150个的话,那这台服务器得处理能力只能是150个请求/ 秒,有85%的处理器计算能力浪费了,在计算机系统当中,硬盘的读写速率已经成为影响系统性能进一步提高的瓶颈

电脑的各个设备部件之间的延时从高到底的排列,依次是机械硬盘、固态硬盘、内存、CPU

上图可以看到,CPU最快,一个时钟周期是0.3纳秒,内存访问需要120纳秒,固态硬盘访问需要50-150 微秒,传统硬盘访问需要1-10毫秒, 网络访问最慢,都是几十毫秒。
上图最有趣的地方在于它把计算机世界的时间和人类世界的时间做了对比,常常把CPU比喻成跑得很快,但是记不住事情的“阿甘”, 他的一个时钟周期如果按1秒算:
内存访问就是6分钟
一次 CPU 上下文切换(系统调用)需要大约需要1小时
在 1Gbps 的网络上传输 2K 的数据需要10多个小时
从 SSD 读取 1MB 的顺序数据,大约需要 1ms,换算成人类时间是 1个月
从磁盘读取 1MB 连续数据需要 20ms,换算成人类时间是 20个月
如果说打开一个网页可以秒开的话,那也相当于100年
对于CPU来说,这个世界真是太慢了!
存储器的层次结构

上图以层次化的方式,增加了价格信息,它展示了一个真理:世界上没有免费的午餐。存储器越往上速度越快,但是价格越来越贵, 越往下速度越慢,但是价格越来越便宜。正是由于计算机各个部件的速度不同,容量不同,价格不同,导致了计算机系统/编程中的各种问题以及相应的解决方案
并发
CPU的速度超级快,不能老是让它闲着,要充分地压榨它!这里有两个重要的理由:
-
人类需要多个程序“同时”运行,我们要把CPU的时间进行很小的分片,让各个程序在CPU上快速轮转,造成一种多个程序同时在运行的假象,即 并发 。
-
当CPU遇到IO操作(硬盘,网络)时,不能坐在那里干等“几个月”甚至“几年”,在等待的时候,要切换去执行别的程序。
缓存
需要持久化的数据一定要保存到硬盘中,但是硬盘超级慢,支持不了大量的并发访问,那怎么办呢?
可以把最常访问的热点数据放到CPU的缓存中, 其实CPU也确实就是这么做的,但是CPU的L1, L2, L3级缓存实在是太小, 根本满足不了需求。于是只好退而求其次,把热点数据放到速度稍慢的内存中,于是 应用程序的缓存 就出现了。缓存虽然是解决了问题,但是也带来了更多的问题,例如:缓存数据和数据库数据怎么保持一致性?缓存如果崩溃了该怎么处理?数据在一台机器的内存放不下了,要分布到多个机器上,怎么搞分布式啊,用什么算法?.....
1.2 操作系统和Linux
1.2.1 操作系统功能
OS: Operating System 操作系统,通用目的的软件程序

主要功能:
-
硬件驱动进程管理内存管理
-
网络管理
-
安全管理
-
文件管理
OS分类:
服务器OS:RHEL,CentOS,Rocky,Ubuntu,Windows Server,AIX
桌面OS:Windows 10,Mac OS,Fedora
- 移动设备OS:Andriod,IOS,AliOS,HarmonyOS
1.2.2 操作系统相关概念
接口: interface,来源于电气工程学科,指的是插座与插头的连接口,起到将电与电器连接起为的功能。后来延伸到软件工程里指软件包向外提供的功能模块的函数接口。所以接口是用来连接两个东西、 信号转换和屏蔽细节
操作系统通过接口的方式,建立了用户与计算机硬件的沟通方式。用户通过调用操作系统的接口来使用计算机的各种计算服务。
为操作系统一般会提供两个重要的接口,来满足用户的一些一般性的使用需求:
- 命令行:实际是一个叫shell的终端程序提供的功能,该程序底层的实质还是调用一些操作系统提供的函数
窗口界面:通过图形窗口程序接收来自操作系统的消息,比如:鼠标、键盘动作,进而做出一些响应
API
Application Programming Interface,应用程序编程接口,API定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译
API 应用程序接口是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。
POSIX:
Portable Operating System Interface 可移植的操作系统接口
IEEE在操作系统上定义的一系列API标准 POSIX兼容的程序可在其它POSIX操作系统编译执行
系统调用system call和函数库 Library function

对于非一般性使用需求,操作系统提供了一系列的函数调用给软件开发者,由软件开发者来实现一些用户需要的功能。这些函数调用由于是操作系统内核提供的,为了有别于一般的函数调用,被称为系统调用。比如使用C语言进行软件开发时,经常用的printf函数,它的内部实际就是通过write这个系统调用, 让操作系统内核把字符打印在屏幕上的
用户和内核空间

用户空间:User space
用户程序的运行空间。为了安全,它们是隔离的,即使用户的程序崩溃,内核也不受影响
只能执行简单的运算,不能直接调用系统资源,必须通过系统接口( system call),才能向内核发出指令
内核空间:Kernel space
是 Linux 内核的运行空间
可以执行任意命令,调用系统的一切资源
范例:
str ="www.magedu.com" // 用户空间
x =100 // 用户空间
x = x +200 // 用户空间
file.write(str) // 切换到内核空间
y = x +200 // 切换回用户空间
说明:第一行和第二行都是简单的赋值运算,在 User space 执行。第三行需要写入文件,就要切换到 Kernel space,因为用户不能直接写文件,必须通过内核安排。第四行又是赋值运算,就切换回 User space
编程语言
低级语言:计算机能理解的语言,二进制
机器语言:0和1
汇编语言:和机器语言一一对应,与硬件相关的特有代码、驱动程序开发
高级语言:人类语言实现,比如,英文,中文
java,python,go,php,Objective-C,C#,易语言(中文),应用级程序开发 C 语言,系统级应用、驱动程序
1.2.3 各种操作系统
服务器三大操作系统
Windows:
Linux:GNU/Linux
Unix:1969年 Ken Thompson
System: Bell Lab
AIX (IBM)
Solaris (SUN)
HP-UX (HP)
BSD: (BSRG)Berkeley System Distribution
NetBSD
OpenBSD
FreeBSD
服务器操作系统市场

1.2.4 UNIX

兼容分时系统 Multics

为了进一步强化大型主机的功能,让主机的资源可以提供更多的使用者来利用,所以在1964年, 由贝尔实验室(Bell)、麻省理工学院(MIT)及奇异公司(GE美国通用电气公司)共同发起了Multics(多路信息计算系统)的计划, Multics计划的目的是让大型主机可以同时支持300个以上的终端机连线使用。不过,到了1969年前后,由于计划进度缓慢,资金也短缺,所以该计划虽然继续在研究,但最终贝尔实验室还是选择了退出
Unix的诞生
1966年从加州大学伯克利分校毕业的Ken Thompson加入了贝尔实验室。参与了Multics系统的研发。 他基于Multics开发了“star travel”游戏。不幸的是,1969年由于贝尔实验室退出Multics项目,这同时意味着Ken将没有机器可以再玩这个游戏了。面对此情此景,Ken作为一个创造者的本性立即体现了出来, 于是他决定自己写一个操作系统来满足他玩游戏的需要,Ken找到了一台废弃已久的老式计算机PDP-7, 并在这台只有16K内存的机器上重写了他的游戏。在这个过程中,Ken有了一个主意,要开发一个全新的操作系统。利用PDP-7上的汇编语言,Ken只花了一个月就编写完了操作系统的内核,在这不到一个月的时间中,他一周一个内核,一个文件系统,一个编辑器和一个编译程序的完成


1969 Unix 雏形 UNICS Ken Thompson 汇编语言 B语言
1973 正式命名为 Unix Dennis Ritchie C语言重写了UNIX,从此Unix和C语言成为CP 1977 BSD Berkeley Software Distribution 伯克利大学 1979 System V架构版权声明 HP-UNIX IBM AIX “不对学生提供源码” 收回版权 1984年 Minix操作系统 Andrew S. Tanenbaum 荷兰阿姆斯特丹自由大学计算机科学系
1.2.5 GNU

GNU:GNU is Not Unix
1984年由Richard Stallman发起并创建
目标是编写大量兼容于Unix系统的自由软件
官方网站:http://www.gnu.org
GPL:GNU General Public License
自由软件基金会:Free Software Foundation
允许用户任意复制、传递、修改及再发布
基于自由软件修改再次发布的软件,仍需遵守GPL
LGPL:Lesser General Public License,LGPL相对于GPL较为宽松,允许不公开全部源代码
GNU操作系统:
Hurd:Hird(Hurd of Interfaces Representing Depth) of Unix-Replacing Daemons
官网:http://www.gnu.org/software/hurd/hurd.html
richard Stallman 为了无止境寻找完美内核,而忘记了HURD的原本目的:能用的操作系统
1.2.6 开源 Open Source
1998 年的 2 月 5 日,一场小型聚会在美国加州的 VA 研究中心举行,与会的人包括了一众信息技术领域的知名学者和工程师。正是在这场会上,大家同意了 Christine Peterson 女士提出的用“开放源代码” (Open Source)一词来替代容易在英语人士中引起歧义的“自由软件”(Free Software)一词,表达的是同样的软件和意思,但更方便理解更容易获取更多支持。从那一天开始,“开源”正式诞生。

开源 Open Source
软件和源代码提供给所有人,自由分发软件和源代码,free 自由,不是免费的意思能够修改和创建衍生作品
软件分类:
- 商业:收费,源码也不公开共享:免费使用,但源码不公开自由:源代码公开
开源协议
世界上的开源许可证,大概有上百种

GPLv2, GPLv3, LGPL(lesser) :通用公共许可 copyleft
Apache: apache BSD: bsd Mozilla
MIT
范例: 查看软件的发行许可
[root@centos8 ~]#rpm -qi kernel
Name : kernel
Version : 4.18.0
Release : 240.el8
Architecture: x86_64
Install Date: Sat 13 Mar 202106:23:21 PM CST
Group : System Environment/Kernel
Size : 0
License : GPLv2 and Redistributable, no modification permitted
Signature : RSA/SHA256, Sat 26 Sep 202007:53:50 AM CST, Key ID
05b555b38483c65d
Source RPM : kernel-4.18.0-240.el8.src.rpm
Build Date : Sat 26 Sep 202004:04:44 AM CST
Build Host : kbuilder.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.kernel.org/
Summary : The Linux kernel, based on version 4.18.0, heavily modified with
backports
Description :
This is the package which provides the Linux kernel for CentOS.
It is based on upstream Linux at version 4.18.0 and maintains kABI
compatibility of a set of approved symbols, however it is heavily modified with
backports and fixes pulled from newer upstream Linux kernel releases. This means
this is not a 4.18.0 kernel anymore: it includes several components which come
from newer upstream linux versions, while maintaining a well tested and stable
core. Some of the components/backports that may be pulled in are: changes like
updates to the core kernel (eg.: scheduler, cgroups, memory management, security
fixes and features), updates to block layer, supported filesystems, major driver
updates for supported hardware in CentOS, enhancements for
enterprise customers, etc.
[root@centos8 ~]#rpm -qi openssh
Name : openssh
Version : 8.0p1
Release : 5.el8
Architecture: x86_64
Install Date: Sat 13 Mar 202106:23:04 PM CST
Group : Applications/Internet
Size : 1918241
License : BSD
Signature : RSA/SHA256, Tue 28 Apr 202011:52:23 PM CST, Key ID
05b555b38483c65d
Source RPM : openssh-8.0p1-5.el8.src.rpm
Build Date : Mon 27 Apr 202010:04:38 AM CST
Build Host : x86-01.mbox.centos.org
Relocations : (not relocatable)
Packager : CentOS Buildsys <bugs@centos.org>
Vendor : CentOS
URL : http://www.openssh.com/portable.html
Summary : An open source implementation of SSH protocol version 2
Description :
SSH (Secure SHell) is a program for logging into and executing
commands on a remote machine. SSH is intended to replace rlogin and
rsh, and to provide secure encrypted communications between two
untrusted hosts over an insecure network. X11 connections and
arbitrary TCP/IP ports can also be forwarded over the secure channel.
OpenSSH is OpenBSD's version of the last free version of SSH, bringing
it up to date in terms of security and features.
This package includes the core files necessary for both the OpenSSH
client and server. To make this package useful, you should also
install openssh-clients, openssh-server, or both.
1.2.7 Linux
1.2.7.1 Linux 历史

1991年的10月5日Linus Benedict Torvalds在comp.os.minix 新闻组上发布消息,正式向外宣布他自行编写的完全自由免费的内核诞生(Freeminix-like kernel sources for 386-AT) — FREAX,含义是怪诞的、怪物、异想天开类Unix的内核,在GPL下发布
官网:www.kernel.org
最早版本: https://mirrors.edge.kernel.org/pub/linux/kernel/Historic/
Linux操作系统:
完整的类UNIX操作系统
Linux内核+ GNU工具=Linux/GNU
如:CentOS,Ubuntu,Android

Linux的内核版本组成
主版本号次版本号末版本号打包版本号厂商版本

Linux 团队

1.2.7.2 Linux 发行版
slackware:SUSE Linux Enterprise Server (SLES) , OpenSuse桌面
debian: ubuntu,deepin(深度),mint
-
redhat: RHEL: RedHat Enterprise Linux, 每18个月发行一个新版本
-
CentOS: C ommunity Ent erprise O perating S ystem 兼容RHEL的格式
中标麒麟:中标软件
Fedora:每6个月发行一个新版本
-
Alpine: 一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,只有5M 左右大小
-
ArchLinux:轻量简洁,遵循K.I.S.S.原则( keep it simple and stupid ),Manjaro
-
Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件
-
LFS:Linux From scratch 自制Linux,只是一个说明书
-
Android:kernel+busybox(工具集)+java虚拟机
Linux 分支参考网站:http://futurist.se/gldt/
Linux发行版排名: https://distrowatch.com/dwres.php?resource=popularity
Linux 发行版体验: https://distrotest.net/

1.2.7.3 RHEL和 CentOS
1.2.7.3.1 RHEL
RedHat 红帽公司

Marc Ewing早在卡内基梅隆大学读书的时候就戴着他祖父的红色曲球帽. Marc在Marc Ewing大学常把自己的软件命名为Red Hat — Red hat 1, Red Hat 2 用来区别他人的软件. 所以当他开始自己的Linux项目, 自然就会命名为Red Hat Linux。Ewing非常乐于帮助同学解决计算机问题 “你的朋友可能会说, 去跟我的朋友Marc交流. 谁是Marc? 他是红帽男孩. ” 所以, 至少在他们最亲密的朋友当中, 红帽子成为了技术专家的同义词
1993年,Bob Young 建立ACC公司,营销Linux和UNIX的支持软件和书籍杂志
1995年,Bob Young 收购了Marc Ewing的业务,合并后的ACC公司成为新的Red Hat软件公司,发布了Red Hat Linux 2.0
2018年10月29日,IBM宣布将以约340亿美元收购开源软件和技术主要供应商红帽公司
红帽发行版本
Red Hat Linux 1.0 (Mother's Day) 1994年11月03日
Red Hat Linux 2.0 1995年09月20日
Red Hat Linux 3.0 (Picasso) 1996年05月01日
Red Hat Linux 4.0 (Colgate) 1996年10月08日
Red Hat Linux 5.0 (Hurricane) 1997年12月01日
Red Hat Linux 6.0 (Hedwig) 1999年04月26日
Red Hat Linux 6.2 (Zoot) Red Hat Linux 6.2E 2000年04月03日
Red Hat Linux 7.0 (Guinness) 2000年03月27日
Red Hat Linux 7.2 (Enigma) Red Hat Enterprise Linux 2 2001年10月22日
Red Hat Linux 8.0 (Psyche) 2002年09月30日
Red Hat Linux 9.0 (Shrike) 2003年03月31日
Red Hat Enterprise Linux 3.0(Taroon) Fedora 1 (Yarrow) 2003年10月22日
Red Hat Enterprise Linux 4.0 2005年02月15日
Red Hat Enterprise Linux 5.0(Tikanga) 2007年03月14日
Red Hat Enterprise Linux 6.0(Santiago) 2010年11月10日
Red Hat Enterprise Linux 7.0(Maipo) 2014年06月10日
Red Hat Enterprise Linux 8.0 2019年05月07日
1.2.7.3.2 关于红帽认证
红帽认证是目前世界范围内高度认可的Linux行业认证。
红帽认证体系有三个等级,分别是RHCSA(红帽认证系统管理员)、RHCE(红帽认证工程师)、 RHCA (红帽认证的系统架构师)。
官方链接
https://www.redhat.com/zh/services/certification/rhcsa
https://www.redhat.com/zh/services/certification/rhce
https://www.redhat.com/zh/services/certification/rhce-old
https://www.redhat.com/zh/services/certification/rhca

问题:
找工作前是否需要考个RHCE或RHCA证书呢?
- 学完本运维课程后,是否可以直接可否考RHCE或RHCA证书呢? 证书的有效期?
1.2.7.3.3 CentOS 和 Rockey Linux

2004年,Gregory Kurtzer和CentOS的其他创始成员基于开源的RHEL创建了CentOS,将Enterprise
Linux引入了社区。
2014年,红帽宣布正式赞助CentOS。CentOS的几个核心团队入职Red Hat专门负责其开发。并在Red Hat
在理事会中占了三席,但是其社区属性得到保留,交易结果是一部分包括将CentOS商标和IP转移到Red Hat
以安全保存。
CentOS 8于2019年9月交付,紧随RHEL 8之后,CentOS Stream的发布和发布是对下一个次要更新中即将
发布内容预览版本。可以说是RHEL的beta频道。
2019,巨头IBM花重资收购了Red Hat。并承诺Red Hat忠于其开源根基不会改变,声称" Red Hat对开源
的使命和坚定承诺将保持不变。"
2020年12月8日IBM宣布将惯例支持到2029年CentOS 8,提前在2年内就终结,唯一的升级途径是Centos
Stream—AKA,RHEL的Beta发布,并建议不再生产环境中使用。预示着CentOS可能会正式死亡。CentOS已
死,但是CentOS精神将会永存。
随后以CentOS创始人之一Gregory Kurtzer为首,8小时内250人啸聚网络,计划以创建Rocky Linux
(Rocky为已经逝世的另外一个CentOS创始人)取代CentOS。Rocky Linux与RHEL兼容
目前已经创建了Github Rocky Linux项目组织(github.com/rocky-linux/rocky)和官网
(rockylinux.org)。


1.2.7.4 Debian 和 Ubuntu
1.2.7.4.1 Debian

Debian 是从 1993 年由 Ian Murdock(伊恩·默多克) 发起的,受到当时 Linux 与 GNU 的鼓舞,目标是成为一个公开的发行版,经过二十几年的迭代更新Debian 从一个小型紧密的自由软件骇客(hacker)小组,逐渐成长成今日庞大且运作良好的开发者与用户社群,Debian 的名字是由 Debian 的创始人 Ian Murdock (伊恩·默多克) 和他的爱妻Debra(黛布拉) 两人的名字组合而成的。
Debian 是由大约一千个分布在世界各地的开发者无偿地利用他们的业余时间开发的,而这些开发者实际上大部分都没见过面,彼此之间的通讯大多是通过电子邮件(lists.debian.org 上的邮件列表)和 IRC (irc.debian.org 上的#debian 频道)来完成的,目前Debian 提供59000多个软件包的维护与更新。
Debian官网: https://www.debian.org/
官方镜像地址: https://www.debian.org/mirror/list
清华大学下载地址: https://mirrors.tuna.tsinghua.edu.cn/debian-cd/
1.2.7.4.2 Ubuntu

Ubuntu(友帮拓、优般图、乌班图)早期是一个开源的GNU/Linux操作系统,Ubuntu 是基于Debian GNU/Linux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,类似儒家“仁爱”的思想,意思是“人性”、 “我的存在是因为大家的存在”,是非洲传统的一种价值观
与Debian的不同在于它每6个月会发布一个新版本,Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统,Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助,Ubuntu对GNU/Linux的普及特别是桌面普及作出了巨大贡献,由此使更多人共享开源的成果与精彩。
Canonical公司是一个私营公司,由南非的企业家马克·沙特尔沃思(Mark Shuttleworth)创建,主要为了促进开源软件项目,Canonical在马恩岛登记注册,其雇员分布在世界各地,其主要办事处在伦敦,在蒙特利尔也有办事处,Canonical公司支持并创建了几个项目,主要都是自由/开源软件(FOSS)或是一些旨在改善自由软件开发者和贡献者的工具。
Ubuntu是各种公有云上最受欢迎的操作系统,这是因为Ubuntu与各大云运营商密切合作,针对云服务商的基础架构优化内核和系统,加快安全更新速度,并最大限度降低用户默认需要的网络或存储成本。
Ubuntu 没有像其它软件一样有 1.0 版本,是因为其第一个版本是发布于 2004 年,Ubuntu的生日是 2004年的10月20日。
ubuntu的版本号有个固定的特征,其使用一个形容词和一个动物名称组成,并且形容词和名词的首字母都是一致的,Ubuntu版本的命名规则是根据正式版发布的年月命名,Ubuntu 16.04 也就意味着 2016 年4月发布的Ubuntu,研发人员与用户可从版本号码就知道正式发布的时间。
每两年的 4 月份,都会推出一个长期支持版本(LTS),其支持期长达五年,而非 LTS 版本的支持期通常只有半年。
#中文官网
https://cn.ubuntu.com/
#英文官网
https://ubuntu.com/
2 Linux 安装
2.1 Unix 哲学思想
一切都是一个文件(包括硬件) 小型,单一用途的程序链接程序,共同完成复杂的任务(shell脚本) 避免令人困惑的用户界面配置数据存储在文本中
2.2 Linux 生产主流版本
Linux 各种版本
Rocky Linux
https://rockylinux.org/download
http://mirrors.aliyun.com/rockylinux/
http://mirrors.163.com/rocky/
http://mirrors.nju.edu.cn/rocky/
https://mirrors.sjtug.sjtu.edu.cn/rocky/
CentOS 各版本介绍
https://zh.wikipedia.org/wiki/CentOS
RHEL各版本介绍
https://zh.wikipedia.org/wiki/Red_Hat_Enterprise_Linux
Ubuntu 各版本介绍
https://zh.wikipedia.org/wiki/Ubuntu
https://blog.csdn.net/songfulu/article/details/85310273
获取发行版
CentOS
https://wiki.centos.org/Download
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
https://mirrors.tuna.tsinghua.edu.cn/centos/
#CentOS6
https://vault.centos.org/6.10/isos/x86_64/
Ubuntu
http://cdimage.ubuntu.com/releases/ #Server版
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/releases/
http://releases.ubuntu.com/ #Desktop版
http://mirrors.aliyun.com/ubuntu-releases/
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/
#Ubuntu20.04
https://ubuntu.com/download/alternative-downloads
http://mirrors.aliyun.com/ubuntu-releases/
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/releases/
http://mirrors.aliyun.com/ubuntu-releases/20.04.1/ubuntu-20.04.1-live-server-
amd64.iso
http://mirrors.aliyun.com/ubuntu-releases/20.04/ubuntu-20.04.3-live-server-
amd64.iso
#Ubuntu20.04安装说明视频
https://edu.51cto.com/course/29256.html
2.3 安装 Linux 系统
2.3.1 Linux安装前准备
虚拟机:用软件(如:vmware,virtualbox等)模拟硬件,方便实验的灵活配置

虚拟化软件,建议使用 Vmware Workstation

虚拟硬件配置
CPU:2核或更多
内存:1G以上,推荐2G
硬盘:一块硬盘,200G
网卡:NAT模式
光盘:挂载对应版本的ISO文件
打开虚拟化功能
在很多家用台式机和笔记本电脑上,虚拟化功能默认是关闭的,再要打开后才能使用Vmware等虚拟化软件,否则会报类拟以下的错误
Intel CPU 报错提示

AMD CPU 报错提示

在电脑的BIOS里,打开虚拟化功能
范例:Intel CPU 虚拟化功能

范例:AMD CPU 虚拟化功能

2.3.2 安装 CentOS
2.3.2.1 针对 CentOS 8 创建虚拟机环境







2.3.2.2 安装 CentOS 8
加电开机

开始安装

选择语言

设置磁盘空间分配策略

自定义分区


创建/boot分区


创建根分区


创建swap分区


创建自定义的/data 数据分区


安装指定包组


配置网络和主机名


设置时区和时间


设置root用户的密码


创建普通用户并设置密码


第一次启动

许可协议



用户登录界面


首次登录初始化桌面环境




CentOS 8.0 桌面

2.3.3 安装 Ubuntu
2.3.3.1 针对 Ubuntu 18.04 创建虚拟机环境





2.3.3.2 安装 Ubuntu 18.04
开始安装,选择语言

选择安装Ubuntu Server

选择安装过程的语言

选择所在国家或地区为Hong Kong

选择No 不检测键盘布局

选择键盘布局

指定主机名

创建用户

设置用户密码


确定位置和时区

自定义分区规则

选中磁盘进行分区

创建空的分区表用于创建新分区

选中 FREE SPACE,进行分区

创建新分区

指定根分区占全部剩余空闲空间的99%

选择默认主分区

默认从开始处划分新分区


选中剩余的FREE SPACE,继续创建分区


指定swap分区占所有剩余空闲的空间
.jpg)

选中文件系统项,修改文件系统

选择SWAP文件系统类型

确定上述设置

完成所有分区设置

确定写入磁盘

设置HTTP 代理为空

不自动更新软件

安装SSH 服务(一定要用空格键,不要用回车键,进行选中)

安装GRUB启动程序

安装完成,reboot

登录界面

输入用户名和密码进行登录

登录后界面

3 虚拟机软件使用
虚拟机软件对于学习和测试环境非常方便,可以大幅节约成本和提高效率
3.1 虚拟机快照
利用虚拟机的快照可以快速备份当前状态,将来可以利用快照恢复做快照时的状态

创建快照

还原快照

3.2 虚拟机克隆
利用虚拟机克隆技术,可以快速生成多个配置相同的虚拟机,大幅节约安装系统的时间




4 常见面试题
冯诺依曼体系中计算机有哪些组件?
-
Linux 哲学思想(法则,原则)是什么?
-
请你谈谈如何成为一名优秀的运维工程师,以及需要具备哪些方面的能力? 你的日常运维工作是哪些事项?
-
你在工作中最大成绩是什么?
哪件事在你的印象最深刻?
你前一家公司的计算机规模是多少? 请描述一下你前一家公司的IT架构

