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