Linux简介
一、Linux 历史
1.Linux来源
Linux是一套操作系统,开源,具有可移植性。其产生与Unix 和C 语言密切相关.
- Unix 的前身是由贝尔实验室的Ken Thompson利用汇编语言写成的,后来在1971-1973年由Dennix Ritchie 用C程序语言改写,才成为Unix
- 1977年由Bill Joy开发BSD(Berkeley Software Distribution),即Unix-like的操作系统
- 1984年由Andrew Tanenbaum 制作Minix操作系统,该系统可以提供原始码和软件
- 1984年由Richard Stallman体长GNU计划,倡导自由软件,强调可以自由的取得,复制,修改与再发行,并规范出GPL授权模式,任何GPL授权的软件不可单纯仅贩卖其软件。也不可修改软件授权
- 1991年由芬兰人Linus Torvalds开发出Linux操作系统,成功的地方在于Minux(Unix),GNU,Internet,POSIX及虚拟团队的产生
- 符合Open Source理念授权的有Apache/BSD/GPL/MIT等
- GPL授权的自由软件:自由软件是指有自由度的软件,使用者可以自由的执行、复制、再发行、学习、修改与强化的自由软件,不代表免费,修改后不能取消GPL授权和贩卖
- 开源软件:开放原始码
- 专属软件/专利软件: 仅推出可执行的二进制程序
2. Linux核心版本编号:
从Linux kernel3.0开始,已经设计奇数偶数的核心版本规划,新的规划使用主线版本为依据,并提供长期支持版本来加强某些功能的持续维护
3. Linux发布商版本(distribution):
Linux distribution 的组成含有 Linux Kernel +Free Software +Documentations (Tools)+可完全安装的程序所制成的一整套系统
- 主要分为两大系统:
- 使用RPM 方式安装:Red Hat, Fedora, SuSE等
- 使用Debian的dpkg安装:Debian,Ubuntu,B2D等
二、主机规划与磁盘分区
1. Linux与硬件的搭配
- 计算机硬件配备需要考虑 游戏机/工作机,效能/性价比,效能/消耗瓦数,支持度等,针对显示适配器,CPU,主板芯片等
- Linux的硬件需求考虑CPU,RAM,Hard Disk,VGA, 网络卡等
- 硬件在Linux的文件名:Linux 系统中,每个装置都被当成一个文件对待,IDE接口的硬盘文件接口为/dev/sd[a-d],如/dev/sda
目前IDE界面的磁盘驱动器都被淘汰了,磁盘文件名也被仿真为/dev/sd[a-p],为了加速,虚拟机内的磁盘使用仿真器产生,其磁盘文件吗是/dev/vd[a-p]
SATA/USB接口的磁盘文件命名根据Linux核心侦测到的磁盘顺序命名
2.磁盘分区
磁盘分区表有两种格式,分区槽的最小单位通常为磁柱,有些可以拓展为扇区
2.1 MSDOS(MBR)分区表格式
开机管理程序记录区与分区表通常放在磁盘的第一个扇区,512bytes,包含了主要启动记录区(MBR,可以安装开机管理程序的地方,446bytes),分区表(记录整颗硬盘扽去的状态,64bytes)
- 由于分区表所在区块仅有64bytes,因此最多仅能有4组记录区,每组记录区记录了该区段的起始与结束的磁柱号码,分区的记录被称为主要或延申分区槽
- 延伸分区的目的是使用额外的扇区记录分区信息,本身并不能被格式化,可以通过延伸分区所指向的区块继续做分区记录
- 由延伸分区切出来的分区槽叫逻辑分区槽,其可以使用的磁柱范围是延伸分区设定的范围,装置名称号码从5开始,前面四个号码保留给主要或延申分区槽
MBR的主要分区、延伸分区与逻辑分区的特性:
- 主要分区与延伸分区最多可以有四个(硬盘限制)
- 延伸分区最多有一个(操作系统的限制)
- 逻辑分区是由延伸分区持续切割出来的分区槽
- 能够被格式化后作为数据存取的分区槽为主要分区与逻辑分区,延伸分区无法格式化
- 逻辑分区的数量依据操作系统不同,在Linux系统中SATA硬盘已经可以突破63个以上的分区限制
2.2 GUID ,GPT磁盘分区表
GPT利用了34个LBA(逻辑区块地址,预设为512bytes)区块记录分区信息,第一个LBA为LBA0
- LBA0:MBR相容区块,分为两个部分,储存了启动开机管理程序446bytes,在另一部分分区表中的记录区内,仅放入一个特殊标志的分区,表示磁盘为GPT格式
- LBA1:GPT表头信息,记录了分区表本身的位置与大小,同时记录了备份用的GPT分区(最后34个LBA区块)放置的位置和分区表的检验机制码CRC32,操作系统可以根据检验码判断GPT是否正确,也可以通过这个记录区取得备份的GPT(磁盘最后的备份区块)进行恢复
- LBA2-33:实际记录分区信息处,每个LBA记录4笔分区记录,默认情况下总共有4*32=128笔分区记录,每笔记录用128bytes。分区记录了每笔记录所需要的标识符和记录内容外,还提供了每笔记录64位空间来记载开始-结束的扇区号码,因此每个单一分区槽的最大容量限制位 2^64*512bytes=8ZB=8*2^30TB
- GPT没有所谓的主、延申、逻辑分区的概念,每笔记录都可以独立存在,都可以视为主分区,可以被格式化
- 并不是所有的操作系统都可以读取到GPT的磁盘分区格式,GPT格式与开机检测程序有关
- 如果磁盘容量大于2TB以上,系统会自动使用GPT分区方式处理磁盘分区
3. 开机检测程序
开机流程由 BIOS-->MBR-->boot loader -->核心文件
boot loader 的主要功能有提供选单、加载核心、转交控制权给其他loader,可以安装在MBR或者boot sector
3.1 BIOS 搭配MBR/GPT的开机流程
- BIOS:开机主动执行
- MBR:开机装置的第一个扇区的主要启动记录区快,内含开机管理程序
- 开机管理程序:可读取核心文件的执行软件,用于加载核心文件,除了可以安装在MBR外。还可以安装在每个分区槽的启动扇区
- 核心文件:操作系统的功能
3.2 UEFI BIOS搭配GPT开机流程
UEFI使用C语言只需要加载驱动程序即可控制操作,开机速度比BIOS快
4. Linux磁盘分区
目录树架构以根目录为主,向下呈现分支状 根目录表示为/
挂载: 利用一个目录当作进入点,将磁盘分区的数据放置在该目录下,进入该目录就可以读取该分区槽,根目录一定需要挂载到某个分区槽
自定义分区安装Custom: 只要分区根目录/和swap 即可;