2020年6月10日星期三

6、Linux发行版组成与初识

6、Linux发行版组成与初识


从1992年linux诞生至今产生了数百种之多的Linux发行版

一、Linux发行版

1、从1992年linux诞生至今产生了数百种之多的Linux发行版,1992-2013期间诞生的各发行版之间的关系如下图所示
tRlvCR.png

2、但距今为止,主流的发行版、二次发行版乃至三次发行版它们之间的关系如下图所示。
tRlvCR.md.png

二、Linux发行版的组成部分

  1. 我们常用广义上的Linux指代Linux的发行版,但从狭义上来说Linux仅仅是指代Linux内核(Linux kernel)。
  2. 完整的Linux发行版由应用程序(Application) + Linux Kernel组成。
  3. 开源程序通常以源码(文本格式)方式提供,这样带来的好处是可以自由、灵活的使用。
  4. 一般情况下,源代码通过编译器编译成可执行二进制程序在电脑中运行
  5. CPU架构
CPU指令架构操作系统指令集生产厂商备注
x86CISCintel
x64CISCintel又称作AMD64 第一款x64指令架CPU由amd研发
m68000 = m68k摩托罗拉早期摩托罗拉CPU指令架构
ARMRISCARM移动终端设备主流CPU指令架构
UltrasparcsolarisSUN
PowerAIXIBM
powerpc = pccApple、IBM、摩托罗拉
alphaHp-UnixHP
MIPSalphaDEC
  1. 指令集分为

    1. 复杂指令集(Complex Instruction Set Computing,CISC)
    2. 精简指令集(Reduced Instruction Set Computing,RISC)
  2. 机器语言(接口)——> 汇编语言(接口)——> 高级语言(C、C++)[需要使用编译器将文本格式代码转换为对应架构CPU的汇编语言代码,再使用汇编器转换为机器对应的二进制代码]

  3. 可移植(portable)

  4. 交叉编译(cross compile)

  5. POSIX(POS)

    1. API:Application Program Interface(可移植操作系统接口)
      2. ABI:Application Binary Interface (应用的二进制格式接口)
  6. 如:Linux, BSD, AIX, ...等都可以称作Unix-like(类Unix的系统),通常这类程序的API与ABI是兼容

  7. 理查德·马修·斯托曼(Richard Matthew Stallman), RMS发起的GNU运动

    1. 闭源:不提供源代码
    2. 开源:提供源代码;
  8. 开源协定

    1. FSF:Free Software Foundation(自由软件基金会)
      1. GPL:General Public License(通用公共许可证)copyright, copyleft
      2. LGPL:Lesser GPL(更宽松的GPL)
      3. GPLv2, GPLv3
    2. ASF:Apache Software Foundation(Apache软件基金会)
      1. Apache License(Apache许可证)
  9. 双线授权

    1. Community(社区版本):遵循开源协定;
    2. Enterprise(企业版本):通过在社区版本上附加很多易用软件
  10. 程序管理

    1. 程序的组成部分
      1. 二进制程序;
      2. 配置文件;
      3. 库文件;
      4. 帮助文件;
    2. 程序包管理器
      1. 程序的组成文件打包成一个或有限几个文件,并通过包管理数据库进行相应记录
      2. 安装:将打包后的文件展开到指定目录下,并通过包数据库进行记录
      3. 卸载:根据包管理器相关记录将安装生成后的文件进行删除
      4. 查询:根据安装记录返回相关查询结果
Linux发行版软件包格式软件包管理工具软件包前端管理工具
Debian.debdpkgapt-get
RedHat.rpmrpmyum或者dnf
S.u.S.E.rpmlibzyppzypper
GentooPortageemerge
ArchLinuxPacmanport
Kali
LFS Linux From Scratch(从零构建Linux)【编译安装指南,自行编译安装Linux】
  1. 安装Linux:使用虚拟机的方式安装Linux
  2. 常用虚拟化软件程序:(把有限的计算机资源虚拟出给虚拟机使用)
    1. Vmware workstation
    2. virtualbox
  3. CentOS的镜像站点

没有评论:

发表评论