新聞中心
在使用Linux操作系統(tǒng)時(shí),軟件的安裝和升級(jí)是一項(xiàng)必要的任務(wù)。而Linux的包管理工具則是使用Linux操作系統(tǒng)的用戶們最常用的工具之一。

創(chuàng)新互聯(lián)是一家專業(yè)提供虞城企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、H5頁(yè)面制作、小程序制作等業(yè)務(wù)。10年已為虞城眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
Linux中有許多包管理工具,本文介紹的是基于Debian的APT(Advanced Package Tool)和基于Red Hat的YUM(Yellowdog Updater, Modified)。
APT:Debian的包管理工具
APT是Debian Linux操作系統(tǒng)中流行的包管理工具。除Debian外,還可以在許多基于Debian的Linux發(fā)行版中使用APT。
APT使用.deb作為軟件包的文件格式。.deb文件保存了需要安裝的軟件以及軟件的依賴關(guān)系。在使用APT進(jìn)行安裝時(shí),APT會(huì)根據(jù)軟件的依賴關(guān)系自動(dòng)下載并安裝所有需要的軟件包。
APT的常用命令如下:
更新軟件包列表:
sudo apt-get update
更新所有軟件包:
sudo apt-get upgrade
安裝軟件包:
sudo apt-get install package_name
刪除軟件包:
sudo apt-get remove package_name
如果您在使用APT時(shí)遇到問(wèn)題,可以嘗試使用APT的高級(jí)版Synaptic。它提供了一個(gè)圖形用戶界面,使軟件包管理更加簡(jiǎn)單易用。
YUM:Red Hat的包管理工具
YUM是Red Hat Linux操作系統(tǒng)的包管理工具。除Red Hat外,許多基于Red Hat的Linux發(fā)行版中也可以使用YUM。
YUM使用.rpm作為軟件包的文件格式。與APT一樣,在使用YUM進(jìn)行安裝時(shí),YUM會(huì)自動(dòng)安裝軟件包的依賴關(guān)系。
YUM的常用命令如下:
更新軟件包列表:
sudo yum check-update
更新所有軟件包:
sudo yum update
安裝軟件包:
sudo yum install package_name
刪除軟件包:
sudo yum remove package_name
與APT類似,YUM也提供了一個(gè)圖形用戶界面來(lái)處理軟件包管理,它叫做PackageKit。
包管理工具是Linux操作系統(tǒng)中非常實(shí)用的工具。通過(guò)APT和YUM,我們可以輕松安裝和管理軟件包。當(dāng)然,這并不是全部的內(nèi)容。在Linux領(lǐng)域中,有更多其他的包管理工具。這些包管理工具為L(zhǎng)inux操作系統(tǒng)提供了非常良好的軟件管理體驗(yàn)。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
dpkg命令詳解(未完待續(xù))
dpkg是一個(gè)比較底層的包管理工具,用來(lái)管理基于debian的Linux(如最常見(jiàn)的Ubuntu)的一些軟件包,可以直接通過(guò).deb文件來(lái)安裝軟件包,但是它并不能像apt那樣自動(dòng)解決軟件包的依賴問(wèn)題,所以一旦安裝過(guò)程出現(xiàn)了缺少依賴包的錯(cuò)誤,還是需要通過(guò)apt來(lái)解決一下的。下面介紹一些常用的dpkg命令(是否需要在命令前加 sudo 來(lái)用管理權(quán)限執(zhí)茄彎行命令視情況而定,下面就省略前仔了,我個(gè)人在使慧納汪用自己的私人電腦時(shí)反正為了方便一般都會(huì)加 sudo )。
執(zhí)行命令: dpkg -i fileName.deb
安裝文件名為”fileName.deb”的.deb文件所對(duì)應(yīng)/包含的軟件包
執(zhí)行命令: dpkg -R xxx
例如: dpkg -R /Downloads/debSoft 安裝/Downloads/debSoft目錄下的所有.deb軟件包
執(zhí)行命令: dpkg -r pkgName
卸載/刪除一個(gè)已經(jīng)安裝的軟件包,但是保留其配置信息和文件(即常說(shuō)的不徹底卸載)
為什么Ubuntu的Snap是不受歡迎的
最近在Github上發(fā)現(xiàn)了一個(gè)非常有意思的開(kāi)源項(xiàng)目,名稱是
unsnap
這個(gè)開(kāi)源項(xiàng)目是做什么的呢,碼掘它是卸載你Linux系統(tǒng)上的Snap包管理,而使用flatpak來(lái)取代它。
事實(shí)上,Ubuntu的Snap包越來(lái)越不受到歡迎,Linux Mint 20甚至刪除與禁止了Snap,這又是怎么一回事呢?
Linux這個(gè)操作系統(tǒng),程序員或多或少都接觸或使用過(guò),但Snap包管理,可能并不一定大家都非常清楚。所以我就從Linux的軟件安裝方式說(shuō)起。
無(wú)論是哪個(gè)Linux,任何發(fā)行版本,安裝軟件基本上有以下幾種方式:
過(guò)往,這是主流的幾種方式。
但是上面幾種方式都存在一個(gè)共同的特點(diǎn),就是:
不夠通用
源碼編譯就不說(shuō)了,無(wú)論是DEB還是APT包管理等,任何一個(gè)軟件想要適配不同的Linux操作系統(tǒng),都要在不同的系中折騰一次,分別發(fā)布DEB包,RPM包等??偠灾褪遣粔蛲ㄓ?。
所以,近些年來(lái),Linux上產(chǎn)生了新的包管理方式,就是
通用包
。
在Linux的通用包中,更流行的屬于
AppImage
,
Snap
以及
Flatpak
。這些管理方式與上述的幾種方式的更大差別在于:
它們是通用的,幾乎支持所有Linux系統(tǒng)
那它們是怎么做到的?
原理比較簡(jiǎn)單,它們改變過(guò)往的Linux軟件對(duì)操作系統(tǒng)級(jí)別類庫(kù)的依賴的做法,直接將所有依賴全整到自己的軟件包內(nèi)。這樣就比較具有通用性了。
那很顯然,這就會(huì)明顯出現(xiàn)一個(gè)問(wèn)題,這些包管理方式的體積都是非常大的。
當(dāng)然,我不是來(lái)比較這些包發(fā)行版本的優(yōu)缺點(diǎn)的,這里就略過(guò)不提。
回到Snap包管理上來(lái)吧,在我上面說(shuō)的AppImage,Snap,以及Flatpak這三種流行的包管理方式中,其中Snap是Ubuntu的杰作,也就是Ubuntu背后的公司Canonical搞的,所以Snap都會(huì)隨著Ubuntu一起發(fā)行。
由于Ubuntu在Linux操作系統(tǒng)中占有非常重要地位,使用率非常高。連帶的導(dǎo)致Snap也被使用的越來(lái)越多。
這并不是什么壞現(xiàn)象,對(duì)吧。但可惜事實(shí)是,Snap越發(fā)的不受到歡迎。
什么原因?聽(tīng)我道來(lái)。
在說(shuō)Snap為什么不受歡迎之遲稿核前,說(shuō)回Snap和APT的這兩者的關(guān)系與沖突吧。
如我以前在相關(guān)的文章中也闡述過(guò)了,Ubuntu其實(shí)是基于
Debian
基礎(chǔ)之上構(gòu)建的操作系統(tǒng),而Debian使用的是APT包管理。
APT包管理其實(shí)是你可以簡(jiǎn)單理解為
deb + 依賴管理
,它是基于deb之上的包管理工具。
所以,問(wèn)題就來(lái)了,Ubuntu做為一敬拆個(gè)debian系的操作系統(tǒng),其本身是帶有APT包管理的,現(xiàn)在自己又整了個(gè)Snap包管理,理所當(dāng)然的這兩者是存在沖突的了。
Ubuntu承諾不會(huì)移除APT包管理,當(dāng)然Ubuntu一直也做到了,現(xiàn)在無(wú)論在哪個(gè)Ubuntu的發(fā)行版本中,你仍然可以使用APT來(lái)安裝軟件。
但這不表示沖突就不存在,Ubuntu本身是肯定有偏好的。作為一個(gè)商業(yè)公司,把資源投入到自己的產(chǎn)品中,這也是理所當(dāng)然的吧。畢竟這也是建立生態(tài)與產(chǎn)品護(hù)城河的一種方式。
比旭Ubuntu的軟件商店管理其實(shí)是基于Snap而不是APT的。你用Ubuntu的商店安裝的軟件全是Snap格式的,并不是DEB格式的。
Snap的性能比Deb還是差很多,這一點(diǎn)就先不說(shuō)了。
更夸張的是,Ubuntu走的有點(diǎn)過(guò)了,做出了一些令人難以接受的操作,比如當(dāng)你在Ubuntu上輸入下述命令時(shí):
這個(gè)命令的本意是使用apt來(lái)安裝chromium瀏覽器,apt是deb包管理,當(dāng)然安裝的應(yīng)該是chromium的deb包才對(duì)。
只可惜,在Ubuntu中,如果你使用的是上述命令,安裝的卻是chromium的snap版本。
Ubuntu的這種行為,已經(jīng)明顯越界了。甚至我們可以理解為它在APT中添加了特別的后門邏輯與程序來(lái)達(dá)到它的目的。
Snap有很多問(wèn)題,比如幾個(gè)比較明顯的缺點(diǎn)是性能相對(duì)較差,軟件包的體積大,中心化的軟件商店,不透明的運(yùn)行機(jī)制等,但最關(guān)鍵的一個(gè)點(diǎn)在于:
它違背了Linux操作系統(tǒng)的理念與精神
不管Linux有多少個(gè)發(fā)行版本,它們始終都有一個(gè)共同的理念與精神,就是
遵守開(kāi)源與自由的理念
。
因?yàn)檫@個(gè)理念與精神,你可以發(fā)現(xiàn),所有Linux都是開(kāi)源與自由的操作系統(tǒng)。無(wú)論是在桌面還是服務(wù)器領(lǐng)域,你可以隨心所欲地切換任何一個(gè)系統(tǒng)不會(huì)被限制。
就算是Redhat這樣的商業(yè)巨頭,它的YUM包管理,也是開(kāi)源與自由的,并不只屬于Redhat。比如CentOS可以建立自己的YUM軟件倉(cāng)庫(kù)。
但Ubuntu的Snap越過(guò)了這個(gè)界線,雖然它有一部分是開(kāi)源的,但事實(shí)上,Snap是一個(gè)中心化的包管理,它有一個(gè)類似App Store這樣的中心存在,當(dāng)然是由Canonical來(lái)維護(hù)管理的。
而除了Canonical以外,其它都無(wú)法復(fù)制或運(yùn)營(yíng)一個(gè)自己的Snap軟件管理中心,也就是你只能使用Canonical的這個(gè)。因?yàn)樗幸恍S袑?shí)現(xiàn)在其中。
這種行為,已經(jīng)明顯違背了Linux操作系統(tǒng)的核心理念與精神,在開(kāi)源與自由的Linux中,是不可能受到歡迎的。
Ubuntu的這些行為受到了明顯的批評(píng)與,Linux Mint在其最新20版本中,已經(jīng)刪除了Snap包管理,并默認(rèn)不允許安裝Snap。
Following the decision made by Canonical to replace parts of APT with Snap and have the Ubuntu Store install itself without users knowledge or consent, the Snap Store is forbidden to be installed by APT in Linux Mint 20.
最后,說(shuō)起Linux,就不得不說(shuō)起Redhat與Canonical這兩個(gè)商業(yè)公司,Redhat是服務(wù)器領(lǐng)域非常知名的Linux商業(yè)公司,而Canonical則在桌面Linux做的非常出色。
但Redhat明顯非常克制,它一直都是非常遵守自由與開(kāi)源的理念,Redhat通過(guò)售賣專業(yè)的服務(wù)來(lái)賺取利潤(rùn),而在過(guò)往的十多年中,Redhat始終是Linux內(nèi)核的更大貢獻(xiàn)商業(yè)公司。REHL也是原始的Linux發(fā)行版本,類似CentOS這樣的,是REHL開(kāi)源的受益者。
而相比之下,Canonical的Ubuntu本身是基于Debian基礎(chǔ)之上的再發(fā)行版本,Linux內(nèi)核的貢獻(xiàn)也遠(yuǎn)遠(yuǎn)比不上Redhat,還整出了Snap這種專有的中心化的專有包軟件管理,步伐邁的有點(diǎn)過(guò)大了。
作為商業(yè)公司,通過(guò)各種方式賺取利潤(rùn)是理所當(dāng)然的,但要遵守你所有的領(lǐng)域的基本理念與原則也應(yīng)該屬于最基本的操守。
Ubuntu對(duì)于在桌面Linux的卓越貢獻(xiàn)當(dāng)然是值得贊賞的,但它在Snap的這種行為上,理所當(dāng)然主流都不會(huì)歡迎它的。
所以,現(xiàn)在你知道為什么Snap包管理不受歡迎了吧。
關(guān)于linux 包管理工具的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)(cdcxhl.com)提供穩(wěn)定的云服務(wù)器,香港云服務(wù)器,BGP云服務(wù)器,雙線云服務(wù)器,高防云服務(wù)器,成都云服務(wù)器,服務(wù)器托管。精選鉅惠,歡迎咨詢:028-86922220。
本文題目:輕松管理軟件:深入了解Linux的包管理工具(linux包管理工具)
瀏覽地址:http://m.5511xx.com/article/codioje.html


咨詢
建站咨詢
