從1992年linux誕生至今產生了數百種之多的Linux發行版 ...
一、Linux發行版
1、從1992年linux誕生至今產生了數百種之多的Linux發行版,1992-2013期間誕生的各發行版之間的關係如下圖所示
2、但距今為止,主流的發行版、二次發行版乃至三次發行版它們之間的關係如下圖所示。
二、Linux發行版的組成部分
- 我們常用廣義上的Linux指代Linux的發行版,但從狹義上來說Linux僅僅是指代Linux內核(Linux kernel)。
- 完整的Linux發行版由應用程式(Application) + Linux Kernel組成。
- 開源程式通常以源碼(文本格式)方式提供,這樣帶來的好處是可以自由、靈活的使用。
- 一般情況下,源代碼通過編譯器編譯成可執行二進位程式在電腦中運行
- CPU架構
CPU指令架構 | 操作系統 | 指令集 | 生產廠商 | 備註 |
---|---|---|---|---|
x86 | CISC | intel | ||
x64 | CISC | intel | 又稱作AMD64 第一款x64指令架CPU由amd研發 | |
m68000 = m68k | 摩托羅拉 | 早期摩托羅拉CPU指令架構 | ||
ARM | RISC | ARM | 移動終端設備主流CPU指令架構 | |
Ultrasparc | solaris | SUN | ||
Power | AIX | IBM | ||
powerpc = pcc | Apple、IBM、摩托羅拉 | |||
alpha | Hp-Unix | HP | ||
MIPSalpha | DEC |
-
指令集分為
- 複雜指令集(Complex Instruction Set Computing,CISC)
- 精簡指令集(Reduced Instruction Set Computing,RISC)
-
機器語言(介面)——> 彙編語言(介面)——> 高級語言(C、C++)[需要使用編譯器將文本格式代碼轉換為對應架構CPU的彙編語言代碼,再使用彙編器轉換為機器對應的二進位代碼]
-
可移植(portable)
-
交叉編譯(cross compile)
-
POSIX(POS)
- API:Application Program Interface(可移植操作系統介面)
2. ABI:Application Binary Interface (應用的二進位格式介面)
- API:Application Program Interface(可移植操作系統介面)
-
如:Linux, BSD, AIX, ...等都可以稱作Unix-like(類Unix的系統),通常這類程式的API與ABI是相容
-
理查德·馬修·斯托曼(Richard Matthew Stallman), RMS發起的GNU運動
- 閉源:不提供源代碼
- 開源:提供源代碼;
-
開源協定
- FSF:Free Software Foundation(自由軟體基金會)
- GPL:General Public License(通用公共許可證)copyright, copyleft
- LGPL:Lesser GPL(更寬鬆的GPL)
- GPLv2, GPLv3
- ASF:Apache Software Foundation(Apache軟體基金會)
- Apache License(Apache許可證)
- FSF:Free Software Foundation(自由軟體基金會)
-
雙線授權
- Community(社區版本):遵循開源協定;
- Enterprise(企業版本):通過在社區版本上附加很多易用軟體
-
程式管理
- 程式的組成部分
- 二進位程式;
- 配置文件;
- 庫文件;
- 幫助文件;
- 程式包管理器
- 程式的組成文件打包成一個或有限幾個文件,並通過包管理資料庫進行相應記錄
- 安裝:將打包後的文件展開到指定目錄下,並通過包資料庫進行記錄
- 卸載:根據包管理器相關記錄將安裝生成後的文件進行刪除
- 查詢:根據安裝記錄返回相關查詢結果
- 程式的組成部分
Linux發行版 | 軟體包格式 | 軟體包管理工具 | 軟體包前端管理工具 |
---|---|---|---|
Debian | .deb | dpkg | apt-get |
RedHat | .rpm | rpm | yum或者dnf |
S.u.S.E | .rpm | libzypp | zypper |
Gentoo | Portage | emerge | |
ArchLinux | Pacman | port | |
Kali | |||
LFS Linux From Scratch(從零構建Linux)【編譯安裝指南,自行編譯安裝Linux】 |
- 安裝Linux:使用虛擬機的方式安裝Linux
- 常用虛擬化軟體程式:(把有限的電腦資源虛擬出給虛擬機使用)
- Vmware workstation
- virtualbox
- CentOS的鏡像站點