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

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


咨詢
建站咨詢
