您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Linux系統中包管理器的演變是怎樣的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
每個電腦設備都使用某種形式的軟件來執行其預定任務。在軟件開發的早期,對產品進行了嚴格的bug和其他缺陷測試。在過去的十多年里,軟件通過互聯網發布,目的是通過應用新版本的軟件來修復任何錯誤。在某些情況下,每個應用程序都有自己的更新程序。在其他情況下,則由用戶自己決定如何獲得和升級軟件。
Linux早期采用了維護集中位置的做法,用戶可以在這里查找和安裝軟件。
在軟件包管理器之前,Linux上的軟件是如何安裝的?
從歷史上看,軟件要么是通過FTP提供的,要么是通過郵件列表提供的(最終這個發行版將包括基本網站)。只有幾個小文件包含了創建二進制文件的指令(通常在tarfile中)。您將解壓縮文件,讀取自述文件,只要您有gcc或其他形式的C編譯器,您通常會運行一個./configure帶有一些屬性列表的腳本,例如將文件粘貼到庫文件、創建新二進制文件的位置等。此外,configure進程將檢查您的系統是否存在應用程序依賴關系。如果缺少任何主要需求,配置腳本將退出,在滿足所有依賴關系之前無法繼續安裝。如果成功完成配置腳本,則Makefile都會被創造出來。
什么是包裹?
軟件包是為了對抗這種復雜性而發明的。為了便于移植和存儲,包將多個數據文件一起收集到一個存檔文件中,或者簡單地壓縮文件以減少存儲空間。包中包含的二進制文件是根據開發人員選擇的正常默認值預編譯的。包還包含元數據,如軟件名稱、用途說明、版本號和軟件正常運行所需的依賴項列表。
雖然包本身并不直接管理依賴項,但它們在Linux軟件管理方面向前邁進了一大步。
什么是軟件存儲庫?
幾年前,在智能手機泛濫之前,對于許多用戶來說,如果他們沒有參與Linux生態系統的話,建立一個軟件存儲庫的想法是很難理解的。到目前為止,大多數Windows用戶似乎仍然需要打開網頁瀏覽器來搜索和安裝新的軟件。然而,那些擁有智能手機的人已經習慣了軟件“商店”的想法。智能手機用戶獲取軟件的方式和軟件包管理器的工作方式并無不同。雖然已經有幾次嘗試為軟件庫創建一個有吸引力的UI,但絕大多數Linux用戶仍然使用命令行來安裝軟件包。軟件存儲庫是系統配置要使用的任何存儲庫的所有可用軟件的集中列表。
下面是一些最著名的包管理器的簡要概述:
基于rpm的包管理器
更新基于RPM的系統,特別是那些基于RedHat技術的系統,有著非常有趣和詳細的歷史。實際上,當前版本的百勝(用于企業發行版)和DNF(對于社區)組合了幾個開源項目,以提供它們當前的功能。
最初,RedHat使用了一個名為rpm(紅帽包管理器),至今仍在使用。但是,它的主要用途是安裝RPM,這是您在本地擁有的,而不是搜索軟件存儲庫。包管理器名為up2date創建的目的是通知用戶包的更新,并使他們能夠搜索遠程存儲庫并輕松安裝依賴項。在達到目的同時,一些社區成員認為up2date有一些明顯的缺點。
目前對百勝的咒語來自幾種不同的社區努力。YellowdogUpdater(YUP)是由Terra軟件解決方案公司的人員在1999-2001年開發的,作為圖形化安裝程序的后端引擎。黃狗Linux。杜克大學喜歡是的想法,并決定改進它。他們創造了改良的黃狗更新器(Yum)它最終被改造成幫助管理大學的紅帽Linux系統。百勝越來越受歡迎,據估計,到2005年,它將被Linux市場的一半以上所使用。今天,幾乎所有使用RPM的Linux發行版都使用YUM進行包管理(除了一些顯著的例外)。
基于debian的包管理器
Debian是目前維護最古老的Linux發行版之一,它的系統非常類似于基于RPM的系統。他們用.deb包,可以由名為dpkg. dpkg非常類似于rpm因此,它是為管理本地可用的包而設計的。它不進行依賴解析(盡管它進行依賴檢查),也沒有與遠程存儲庫交互的可靠方法。為了提高用戶體驗和易用性,debian項目委托了一個名為神靈。這個代號最終被放棄,改為高級包裝工具(APT).
基于ARCH的軟件包管理器
ARCH Linux使用名為帕克曼。不像.deb或.rpm文件,Pacman使用了更傳統的tarball和LZMA 2壓縮(.tar.xz)這使得Arch linux包比其他形式的壓縮存檔要小得多(例如gzip)最初是在2002年發布的,Pacman已經得到了穩步的迭代和改進。Pacman的主要優點之一是它支持拱筑體系,一種從源構建包的系統。構建系統包含一個名為PKGBUILD的文件,該文件包含元數據(例如版本號、修訂、依賴項等)以及一個shell腳本,其中包含編譯符合Arch Linux要求的包所需的標志。然后將產生的二進制文件打包到上述文件中。.tar.xz文件供帕克曼使用。
這個系統導致創建了ARCH用戶庫(Aur)是一個社區驅動的存儲庫,包含PKGBUILD文件和支持補丁或腳本。這使得幾乎無窮無盡的軟件可以在Arch中獲得。這個系統的明顯優點是,如果用戶希望向公眾提供軟件,他們不需要經過官方渠道才能在主要存儲庫中接受軟件。缺點是它依賴社區管理,類似于碼頭樞紐,CANTEN的快照包,或其他類似的機制。有許多特定于Aur的包管理器,它們可以用于從Aur中的PKGBUILD文件中下載、編譯和安裝。
當然,這里只觸及包管理器所能做的事情的表面。還有很多其他的包管理器,我無法在這個空間中介紹。一些發行版,比如Ubuntu或ElementOS,已經竭盡全力提供了一種圖形化的包管理方法。
以上就是Linux系統中包管理器的演變是怎樣的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。