創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2020年1月4日 星期六

snap入門

摘要

Canonical公司在幾年前開始進行一種稱為snap的軟體包裝方式,可適用在眾多Linux流通版。它的運作方式與傳統的APT並不一樣,以下對其使用做點簡單介紹。(本文是去年7月寫的,一直沒發佈,內容也許會與現況稍有不同。)

Snap簡介與特點

簡介

雖然使用者主要會使用到的指令只是snap一支小程式,這裡還是稍描述一下整體。這套軟體包裝與分發deployment系統稱為Snappy,所做的軟體包裝稱為snap(指令程式也採用此相同名稱),在背景運作的程式是snapd,而發展製作snap package的則是稱為Snapcraft的工具。

Snap的發展在目前還算相當新,也許還會有較大的變動。在正式服役的服務器上還是建議使用APT來管理軟體;snap則可用在桌面環境,做為另一種取得軟體的管道。

本文會著重在snap的幾個入門用法,像尋找、安裝、移除應用軟體,展示環境是Ubuntu MATE 18.04。

特點

Snap與傳統的APT的作法有點不同,像:
  • 可較即時取得較新的軟體版本。
  • 無相依性問題(像可攜式軟體般)
  • 預設自動更新(也可人工)。

簡易使用

在Ubuntu 18.04中snap已內建,無需額外安裝即可使用。

顯示命令的幫助


$ snap
簡單的依類別顯示命令,剛接觸者大多只用Basics與...more類中的命令,不會超過10個。

顯示版號


$ snap version

尋找並安裝snaps應用

Snap Store網頁上已有提供搜尋軟體的功能,找到所要的軟體,該軟體的頁面可以看到一些軟體介紹與安裝方法。如果偏好使用CLI,其實也很容易:

$ snap find "media player"
顯示找到的結果,在Publisher欄中有標示✓符號者,表該snap發行者被驗證過。

譬如要看vlc的資訊:

$ snap info vlc
安裝vlc:

$ sudo snap install vlc
如果沒加sudo,仍會詢問管理員密碼。

列示/移除/更新應用軟體

查看目前安裝的snap軟體:

$ snap list
若想移除軟體:

$ sudo snap remove vlc
Snap會自動更新,如果想手動查詢更新軟體,以vlc為例:

$ sudo snap refresh vlc

禁用/啟用應用軟體

如果基於某種原因,想暫時不使用,也不想移除,可暫時將其disable,想用時再將其enable。

$ sudo snap disable vlc
$ sudo snap enable vlc

補充

這小節只是少許補充說明,如果使用者不甚了解,多半也沒什麼關係。

安裝路徑

以snap安裝的應用軟體預設會安裝到/snap目錄下,可利用which查看所安裝的軟體執行檔置於何處,例如:

$ which vlc

channel

Channel(管道或頻道)指的是安裝或追蹤更新時,軟體的release源,如測試版beta、穩定版stable。除非有特別情形,像〈音訊檔分割器:mp3splt-gtk 〉,否則就無須去指定,而且軟體網頁上也可能有清楚的指示如何使用不同channel,所以這裡就不多寫。

結語

以上是初使用snap時比較會用到的層面,並不是詳細的說明,若需要詳盡說明,可從本文中的連結找到。其他較進階工作方面像服務管理應用的設置快照以及製作snap的方法,待用到時再去查看相關說明即可。

如前所述snap還算是有點新的東西,也有人對它有點批評[3],個人也感覺在某些方面還不是很理想,如:
  • manual的使用似與一般的不同,並不是直接使用man就可以。
  • 應用軟體的整體檔案大小會稍大,這應該是把一些相依的東西也都包括進去的關係。
其他與snap類似的東西像AppImageFlatpak,這些彼此之間也許會形成競爭現象,也或者可有互補的作用。

2020-6-9更新內容

Ubuntu 20.04的“軟體中心”變成了Snap Store [5],也就是snap的圖形工具。在沒有Snap Store的系統上(如Ubuntu MATE或Linux Lite),若也想用這圖形工具,可自行安裝:

$ sudo snap install snap-store
提醒一下:檔案不小,下載會花些時間。自己沒興趣用這個,因為從網頁找軟體就很好用了。

參考

  1. Snapcraft: The app store for Linux
  2. Snap Documentation
  3. Wikipedia條目:Snappy (package manager)
  4. Getting started
  5. What You Need to Know About Snaps on Ubuntu 20.04
update: 2020-6-9

沒有留言:

張貼留言