當您使用snap安裝Linux軟體包時,您可以告別依賴地獄和破壞其他工作應用程式。Snap包最初是為Ubuntu設計的,但是現在它們可以在各種Linux發行版上使用。
在過去,在Linux上安裝應用程式可能是一種令人沮喪的經歷。你會安裝一些東西,卻發現某個特定的庫或其他依賴項丟失或過時。然後查詢丟失的資源並安裝它,結果發現另一個應用程式依賴於剛剛替換的庫的版本。修復一個,破壞一個,重複。
透過更好的包管理系統,如apt、dnf和pacman,這一點得到了改進。但是,如果您需要安裝同一個應用程式的不同版本,您仍然面臨困難。或者,如果您使用的兩個應用程式由於繫結到特定但不同版本的庫而發生衝突。
解決這些問題的一個方法是應用程式打包和部署系統。時髦是其中比較流行的一種。它基於一個名為Click的打包和部署系統,這一點可以追溯到ubuntutouch計劃。AppImage和FlatPack是您可能遇到的其他產品。
這些系統將應用程式以及任何依賴項和其他需求封裝在一個壓縮檔案中。然後應用程式在一種小型容器中執行。它是沙盒,並與其他應用程式分離。與應用程式一起打包或需要的庫和其他資源僅對其可用。
它們不是傳統意義上的安裝,因此它們不會對需要相同資源的不同版本的其他應用程式造成任何問題。您甚至可以安裝和執行需要衝突庫版本的應用程式,因為每個應用程式都在自己的沙盒中。
如果它們不是以通常的方式安裝的,那麼它們是如何處理的呢?嗯,單個包檔案被下載、解壓縮,並作為一個SquashFSvirtual檔案系統裝載。然後將它作為一個虛擬環境呈現給您。所有這些都發生在幕後。你所知道的只是你已經安裝了一個應用程式,現在,你可以訪問它了。
當然,因為每個包檔案必須包含應用程式所需的所有資源,所以包檔案可能很大。複製通常只安裝一次的資源也很容易,比如MySQL或Apache。如果兩個不同的snap應用程式需要相同的資源,那麼它們各自會帶來自己的複製。
不過,這是對安裝簡單性和消除資源衝突頭痛問題的權衡。
Snappy是在Ubuntu16.04中引入的,所以如果您執行的是該版本或更高版本,您已經可以使用了。在我們的機器上,Snappy安裝在Manjaro18.04上,但我們必須在Fedora31上安裝它。
snap既是包檔案的名稱,也是用於與它們互動的命令。在幕後,如果您的計算機上還沒有Snappy,snapd守護程序也是必須安裝的包的名稱。
要在Fedora上安裝snapd,請鍵入以下命令:
sudo dnf install snapd如果需要在Manjaro上安裝,請使用以下命令:
sudo pacman -Sy snapd sudo systemctl enable --now snapd.socket可以使用snap version命令檢視snap客戶機的版本、snap守護程序和軟體系列號。Linux發行版的名稱和發行版本以及核心版本也將為您顯示。
鍵入以下內容:
snap version安裝snap包是一個非常簡單的過程。可以使用snap查詢snap包,然後安裝所需的snap包。
我們鍵入以下內容以查詢並安裝gimp影象編輯器:
snap find gimpsnap搜尋匹配的搜尋線索“gimp”並返回其結果。它會找到任何匹配或提到搜尋詞的東西。
要安裝其中一個軟體包,我們使用Name列中的值,如下所示:
sudo snap install gimp當它下載時,完成百分比數字上升,一個進度條從終端視窗的左側悄悄走過。安裝完成後,會出現一條訊息(如下所示),告訴您安裝了包。
可以使用df命令檢查Linux計算機上配置的不同檔案系統的容量和使用情況。如果我們將它的輸出匯入grep命令並搜尋“gimp”,那麼我們將隔離剛剛安裝的包的條目。
我們鍵入以下內容:
df | grep gimp這向我們展示了snap包是像檔案系統一樣裝載的。掛載點在snap目錄中:/snap/gimp/252。“252”是這個版本的gimp的發行號。
相關:如何在Linux上使用grep命令
檔案系統列為:/dev/loop18。迴圈裝置檔案用於將常規檔案作為塊裝置進行訪問。它們通常用於在磁碟映像中安裝檔案系統。在本例中,他們正在snap包中掛載SquashFS檔案系統。“18”表示這是Linux計算機上使用的第18個/dev/loop裝置檔案。
我們可以使用df命令來快速檢查。我們將使用–t(type)選項將輸出僅限於SquashFS檔案型別。
我們鍵入以下內容:
df -t squashfs將列出已裝入的SquashFS檔案系統。一個/dev/loop裝置檔案處理每一個,共有18個。
每個檔案系統都安裝在/snap目錄中的一個目錄中。但是,這並不意味著這臺計算機上安裝了18個不同的快照包。這是一個Ubuntu發行版,所以一些snap包是直接安裝的,我們剛剛安裝了另一個。
另外,安裝snap時,它會安裝一些核心snap包來處理其他snap包的需要。
我們可以使用snap list命令(如下所示)列出已安裝的snap包:
snap list輸出有點寬,所以清單的結尾如下所示。
以下是整個列表:
Name Version Rev Tracking Publisher Notes core 16-2.43.3 8689 stable canonical* core core18 20200124 1668 stable canonical* base gimp 2.10.18 252 stable snapcrafters - gnome-3-26-1604 3.26.0.20191114 98 stable/… canonical* - gnome-3-28-1804 3.28.0-16-g27c9498.27c9498 116 stable canonical* - gnome-calculator 3.34.1+git1.d34dc842 544 stable/… canonical* - gnome-characters v3.32.1+git3.b9120df 399 stable/… canonical* - gnome-logs 3.34.0 81 stable/… canonical* - gnome-system-monitor 3.32.1-3-g0ea89b4922 127 stable/… canonical* - gtk-common-themes 0.1-28-g1503258 1440 stable/… canonical* -如您所見,安裝了10個snap包,而不是18個。然而,這10個包產生了18個SquashFS檔案系統。表中的列是相當不言自明的,但這裡有一些說明:
可以使用info選項獲取快照包的描述。
為此,我們鍵入以下內容:
snap info gtk-common-themes我們可以看到軟體包正在跟蹤哪個通道,以及四個通道中每個通道的snap軟體包中的軟體版本。在大多數情況下,你應該保持在穩定的渠道。
snap軟體包每天檢查四次,以檢視是否有更新版本的軟體可從其監視的頻道或“跟蹤”頻道獲得。如果要更改snap軟體包跟蹤的頻道,可以使用“重新整理”和--channel選項。
為此,我們鍵入以下內容:
sudo snap refresh gtk-common-themes --channel=beta如果有新版本的軟體可用,它會被安裝,但這裡不是這樣。不過,snap包現在正在跟蹤beta通道。新的beta版一發布,就會自動下載和升級。
您可以使用--list選項檢查是否有更新可用於計算機上安裝的任何快照包。
為此,我們鍵入以下內容:
sudo snap refresh --list如果您的計算機上的snap包正在跟蹤的任何通道包含較新的軟體版本,您將被告知。
如果有更新版本的軟體可用,可以使用重新整理選項(如下所示)手動強制重新整理:
sudo snap refresh gtk-common-themes要解除安裝快照包,可以使用刪除選項,如下所示:
sudo snap remove gimp使用snap包非常簡單,但是我們已經編譯了一些命令列表,這些命令可以幫助您:
... 相關:如何在Linux上安裝Minecraft ...
...就是為您準備的。我們將簡要詳細地討論損壞的軟體包,如何檢查系統是否包含損壞的軟體包,以及如何正確地重新安裝它們。 ...
...大多數軟體都和你在其他發行版上看到的一樣。突出的是如何將所有這些元件打包在一起。 ...
...動作業系統是從Linux衍生出來的。我們過去討論過Android是如何基於開源元件的,Linux核心就是其中之一。很顯然,如果兩者如此接近,那麼在Linux上執行Android應用程式應該相對容易。 ...
Linux使用者歡欣鼓舞!因為Spotify現在更容易安裝在大多數Linux發行版上。這是因為Spotify桌面應用程式現在可以作為快照使用,這使得它非常容易安裝和使用,而不需要先安裝任何其他軟體。聖誕節似乎來得很早。 ...
... 對於許多新使用者來說,這將導致推出一款他們從未見過的Ubuntu。對於那些從統一前的日子就在身邊的人們來說,這提供了回到過去的承諾。不管你怎麼看這個公告,切換到GNOME意味...
... 你覺得在Linux上安裝軟體怎麼樣?它與其他作業系統相比如何?可以改進嗎?分享你的想法,如果你有任何問題,不要猶豫問! ...
您可以做的不僅僅是使用Linux發行版瀏覽web。您會發現Linux發行版幾乎可以配置為任何用途,包括一些針對程式設計師的發行版。 ...
...和linuxmint都使用相同的安裝程式。這意味著如果你能想出如何安裝一個,你就知道如何安裝另一個。這種經歷並不完全相同,但很接近。 ...
...2004年Ubuntu釋出的時候,Linux可以在臺式機和膝上型電腦上使用,但這並不是一個很好的體驗。Canonical將Ubuntu稱為“人類的Linux”,並增加了一些特性,使Linux更容易作為主要作業系統使用。這些特性包括易於安裝的硬體驅動程式...