一 Linux介绍
# https://zhuanlan.zhihu.com/p/429509333
# 一 什么是操作系统
Operating System(操作系统) 简称OS
Windows,MacOS,Linux都是操作系统
# 二 什么是BootLoader
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境
一般在计算机启动的时候,选择启动Linux还是Windows的BootLoader是GRUB
如果没有选择,GRUB会在几秒后启动默认的操作系统
双操作系统启动流程如下图
# 三 Linux和Windows的软件
windows系统下的软件,不能在Linux上运行,Linux上的软件不能在windows上运行
Linux上的软件,基本上都是免费的
Linux上软件,更新更频繁,且免费
Linux上软件,效率更高
# 四 操作系统发展
# 1984年,微软发布了第一个操作系统-->MS-DOS
-1980年,西雅图电脑产品公司(Seattle Computer Products)的一名24岁的程序员蒂姆·帕特森(Tim Paterson)花费了四个月时间编写出了86-DOS操作系统
-在1981年7月27日,比尔盖茨完全获得了一个叫做Seattle Computer Systems(西雅图计算机系统公司)的“Quick and Dirty Operating System”,简称QDOS的授权,花费5w美元。后来该操作系统被称作MS-DOS
# 同时代,1969年(1970年,计算机元年)起,也有一款比较出名的操作系统叫Unix
-1968年 Multics项目
-MIT、Bell实验室、美国通用电气有限公司走到了一起,致力于开发Multics项目。到后期由于开发进度不是很好,MIT和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。
-1970年(Unix元年,时间戳) Unix诞生
-当时在开发Multics项目的时候,实验室中有一个开发成员开发了一款游戏(travel space:遨游太空),因为两个实验室相继离开项目开发,导致这名开发人员没法玩游戏,后来他提议组织人员重新在Multics项目之上重新的开发,也就出现了1970年的Unix。当时Unix操作系统是使用的汇编语言(机器语言)开发的。
-1973年 用C语言重写Unix
-因为汇编语言有一个最大的局限性:对于计算机硬件过于依赖。导致移植性不好,所以后期在1973年使用了C语言对其进行重新开发。
-1975年 Bell实验室允许大学使用Unix。
-1975年,bell实验室允许大学使用Unix操作系统用于教学作用,而不允许用于商业用途。
# 在1984年,微软发布DOS的同时,理查德·马修·斯托曼(Richard Matthew Stallman, RMS)创立了GUN项目
-GNU项目 (牛羚),GNU is not Unix的缩写,目的是创建一个类Unix的操作系统,因为unix不是免费的,商业收费,刚开始学校教学免费使用,后来不免费了,价格比较贵(MacOS是类Unix操作系统)
-理查德·马修·斯托曼:1953年出生,自由软件运动的精神领袖、GNU计划以及自由软件基金会(Free Software Foundation)的创立者、著名黑客,代表作:Emacs编辑器,GCC编译器,GDB调试器
# 自由的和免费的
-自由的意味着源代码必须公开(windows和macos是私有的)
-自由软件大部分是免费的,但是可以复制,修改,出售
# 1991年 Linux的开发作者,Linux之父,李纳斯·托瓦兹。Linux诞生时是荷兰在校大学生。
-1991年 0.0.1版本
-李纳斯当时学校使用的就是Unix操作系统,然后其对系统的底层代码进行了修改,放到了学校为学生开放的网站上,原先他把文件命名写成了Linus’s Unix,后期网络管理发现之后觉得这个名字不好,自己手动的将名字改成Linux。随后其他同学下载之后发现这个版本还是挺好用的,随后都把自己代码贡献给李纳斯。
-1992年 0.0.2版本
-1994年 1.0版本
-2003年 2.6版本
# Linux吉祥物企鹅
-李纳斯以前在澳大利亚被一只企鹅咬过
# 6 Linux和GNU的联系
这两个项目是互补的,Linus其实就写了一个类Unix内核
1991年GNU项目已经创建了不少操作系统外网软件,比如cp命令,rm命令,GCC,GDB等--》好比Linux就是人的骨骼,GUN就是血肉
# 后来完善Linux的工作就由Linus和广大开源社区的黑客们
# GNU项目+Linux内核=完整的操作系统,我们现在叫的Linux一般都是指GUN项目+Linux内核
# 7 Linux内核
上述所提及的版本号并不是分支版本,而是指Linux的内核版本。
Linux内核网站(现在最新5.x版本,3.x多一些,原来2.x多,现在docker要跑在3上)
https://www.kernel.org/
# 8 各个操作系统的关系
# MacOS和Linux是基于Unix的意思是复刻了Unix的运行模式,源代码是不通的
# 目前Windows的版本是基于革命性的Windows NT内核
# 9 Linux发行版和区别
# 因为Linux是开源自由软件,所以基于开源的代码可以定制属于自己的Linux系统,所以Linux的版本特别多
# Linux不同发行版的区别(centos 乌班图 麒麟。。)
-安装方式不一样,有的简单,有的复杂
-安装应用程序的方式也不一样 (yum apt-get)
-预装的应用程序不一样 ()
# 不同发行版使用的Linux内核一样
-我们现在说的Linux其实都是指的是发行版(Distribution version),就是使用Linux内核加上各种GNU的库文件、应用程序,构造而成的操作系统
-可以想象成同一个人(Linux内核),穿不通的衣服裙子羽绒服(软件)
# 不同发行版有的免费,有的收费
# 不同发行版
-Red Hat:性能稳定,老牌的Linux发行版,RHEL收费,是red hat的企业版,源代码是开放的,收费是因为长期升级更新服务
-现在Red Hat分两个系列:一个是red hat公司提供收费技术支持的RHEL,另一个是社区开放的免费版Fedora,每半年发行一次,由于发行频繁导致性能不太稳定,企业一般不选用Fedora
-Centos:算是RHEL的克隆版,社区企业级操作系统, 改与Redhat, 完全开源,兼具社区和企业特性,融合了Fedora和redhat优点,长期支持,大规模使用稳定,企业普遍使用,特别适合做服务器
-Deepin:深度,中国发行
-Debian:迄今为止,最遵循GUN规范的Linux系统
-Ubuntu :Debian一个后继或分支,社区维护, 现在主要做手机系统和电脑桌面系统。
graph TD;
Linux--> Debian
Linux--> RedHat
Linux--> Deepin深度
RedHat--> RHEL
RedHat--> CentOS
RedHat--> Fedora
二 Linux学习环境搭建
2.1 虚拟化介绍
# win 机器---->装一个虚拟化软件---->虚拟化出linux操作系统
# 名词解释:kvm vmware openstack docker k8s
# kvm vmware 虚拟化软件
-运行在linux上,做虚拟化的软件
-vmware运行在win,linux,商业软件,收费
# openstack
kvm 虚拟化很多机器,需要使用软件管理,openstack就是,对虚拟机进行管理
阿里云买服务器,使用页面可以创建一个虚拟机
# docker 容器管理
虚拟机上会安装一些容器(软件),docker就是对这些容器进行管理。
# k8s 多机容器编排
![](https://img2023.cnblogs.com/blog/3095768/202308/3095768-20230808213638990-1791188406.png)
# https://www.cnblogs.com/liuqingzheng/p/16271895.html
# 一 IaaS基础设施服务
IaaS: Infrastructure-as-a-Service(基础设施即服务)
第一层叫做IaaS,有时候也叫做Hardware-as-a-Service,几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。
但是现在有IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。
一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat,阿里,腾讯,华为
# 不是咱们买的阿里云---->租的机房--->租硬件(纯硬件,电,网)--->操作系统,虚拟化软件自己来
# 私有云
# 二 paas平台即服务
第二层就是所谓的PaaS,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。
PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。
一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing Cloud
# 硬件+软件(操作系统,mysql,redis)
# 买台服务器:操作系统+软件+python环境+mysql(全都装好了)
# 三 saas软件即服务
第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。
你消费的服务完全是从网页如Netflix, MOG, Google Apps, Box.net, Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。
一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors
# 我们做saas平台,直接卖软件
# 四 FAAS 函数即服务,Function as a Service
"功能即服务"(也译作“函数即服务”),是一种在无状态容器中运行的事件驱动型计算执行模型,这些功能将利用服务来管理服务器端逻辑和状态。
# 可以自己开发
# 总结
iass基础设施服务(组装机):你买了一大堆电脑配件,cpu 主板..然后组装完成后 装上系统就可以上网。还要自己提供场地 环境
paas平台即服务(品牌机):买回来开机就行。需要自己提供场地,和环境(电源)
saas软件即服务(去网吧):电脑,场地,环境(电源,网线,饮料)都是网吧提供的服务
2.2 vmware安装
# VMware-workstation-full-17.0.0-20800274.exe 一路下一步
# 打开软件 --->创建虚拟机---->相当于组装一台电脑
https://www.cnblogs.com/liuqingzheng/articles/17558860.html
![](https://img2023.cnblogs.com/blog/3095768/202308/3095768-20230808213720374-1874615347.png)
2.3 centos7 安装
# 挂载光驱---->把cento7镜像链接上
root的密码:12345
ip是:10.0.0.100
# 照图安装
# 进入系统,重启网卡
# 使用finalshell链接,或者使用Xshell连接
# 做个快照--->拍个照片,以后可以恢复到这个位置
这个的命令还可以记录一些信息eg:自己的用户名、密码、网络ip等