- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
很多人安裝完Linux,就會安裝一些自己喜歡的軟件!
與我而言,喜歡搜狗輸入法,我就會去它的主頁下載!
這個時候,使用Ubuntu系統的我就會選擇Deb格式的軟件包,雖然搜狗在官方主頁上面提供了對應“Windows”、“Debian”、“RedHat”三種操作系統的下載文件。
其實Windows對應的是Exe文件。
Debian對應deb為后綴名的文件!
RedHat對應的是rpm為后綴名的文件!
那為什么要提供三種格式呢?
一方面是因為操作系統的不同,Windows和Linux的不同,Debian和Redhat都是Linux,而Windows顯然是Windows!
那為什么同是Linux,又分為Deb和Rp兩種格式呢?
這就是我們今天的主題。
1、“分裂”的Linux
雖然都是Linux,但是Debian和RedHat唯一的相同之處都是使用Linux內核!
這和Linux本身的發展有關。
在Linux發展的早期,只是一個有啟動功能、內存管理、文件讀寫功能的操作系統內核!
但是,現在的Linux有什么呢?
有Gnome、KDE、Xface桌面,有BSH、FishShell、Zsh等各種Shell,有各種Nginx等實用軟件!
那除了內核以外,多出來的這些東西,是怎么出現在硬盤里的呢?
其實是集成而來!
有了Linux的內核很好,但是光有一個光禿禿的內核有什么用呢?
操作系統是需要應用的!
于是,就有一些Linux愛好者把Linux內核和各種實用程序集成到一起,做好了安裝界面,就形成了所謂的“發行版”!
最早的發行版本現在依然存在,名字叫Slackware,依然活著。后來就出現了Debian、SUSE、Redhat這些大家很熟悉的名字!
有了這些發行版本,就讓用戶有了“開箱即用”的體驗。
至此,Linux才得到了大量用戶,抹平了以前的高門檻,告別以前需要“自己下載內核、自己手工編譯”的刀耕火種時代!
從上面的描述可以看出,發行版本其實就是一個“集合包”!
Linux有了很多種發行版本,有了很多集合包,主要的區別就出現了-軟件集合的方式不同!
可能這個發行版本的A程序,配置文件放在/etc的ProgramA目錄下面,在另外一個發行版本里面A的配置文件放在它的可執行文件的同目錄下面。
Linux并沒有一個統一的存放標準,反正能運行就行!
Linux開始分裂了!
2、程序的依賴
隨著Linux發行版本的升級,很多發行版本采取了更加"高明“的做法,對程序安裝方法進行了改進!
我們知道,程序其實并不是孫悟空,直接從石頭里面蹦出來,而是經常需要依賴一些“庫”!
這些庫,都是一些非常好用的功能集合體。
利用這些庫作為基礎,就會大幅度提高開發效率!
Linux的程序也不例外,很多程序都是在已有庫的基礎上面進行開發!
那如何管理這些依賴呢?
這些linux發行版,都采取了一種“軟件包”機制!
當安裝A軟件的時候,如果發現它需要基礎庫B,就會先自動下載B進行安裝。
上面是安裝Docker這個軟件的時候,apt提示的“依賴安裝包”!
這就是apt、dnf等Linux的“Package Manger”工具的功能。
而在那里記錄這些依賴信息呢?
其實就在Deb、RPM這些軟件包里面。當開發者上傳Deb格式包到服務器的時候,系統就會讀取器內部信息,把依賴記錄下來。有人下載安裝的時候,就會自動提示安裝這些依賴包,非常方便!
所以,Deb、RPM都是一些帶有程序“元信息”的包,記錄了軟件的版本、依賴軟件等信息。
只要安裝這些軟件,包管理系統就能自動下載依賴,進行安裝!
3、安裝不僅僅是安裝
既然都是包含依賴,那一種格式不就可以了?
當然不是。
因為除了依賴,還有“文件放在哪里”和“安裝腳本配置”這些事情!
這些事情,其實都很第一項的“分裂”有關!
Linux版本不同,存放路徑就不一樣。
為了單純處理這些不同,就需要針對不同的系統,進行特別定制!
A程序的文件在Redhat上面放在“/usr/bin”目錄下面,在Debian上面就放在“/usr/share/bin”上面。
由此,誕生了不同的安裝路徑。
另外,如果需要配置文件定制,軟鏈接定制,都需要特殊的配置。
安裝包,就是為了處理這些雜事來的!
至此,我們理解了Deb、RPM這些包的性質和作用!
總結
因為Linux發現版本的各自為政,安裝位置不同,包依賴處理機制不同,每一種發行版都有自己的安裝包格式!
Linux 的多樣性既是優勢也是挑戰,不同軟件包格式的存在正是其生態繁榮的見證。了解 Deb 與 RPM 的差異,不僅能幫助你更高效地管理系統,也能讓你理解開源社區 "和而不同" 的協作哲學。下次安裝軟件時,不妨多留意包格式背后的技術故事,讓你的 Linux 使用體驗更加得心應手。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP