Snappy (套件管理器)
此條目或章節中的「譯名」以「特定地區」的用法為主。 |
此條目可參照英語維基百科相應條目來擴充。 (2021年10月25日) |
此條目需要更新。 (2021年10月25日) |
Snappy是一個軟件部署和軟件套件管理系統,最早由Canonical公司為了Ubuntu流動電話作業系統而設計和構建。其套件稱為「snap」,工具名為「snapd」,可在多種Linux發行版上執行,完成發行上游主導的軟件部署。該系統的設計針對手機、雲端、物聯網和桌上電腦。
開發者 | Canonical公司 |
---|---|
原始碼庫 | |
程式語言 | Go, C, Shell script, Python, JavaScript, NASL[1] |
作業系統 | Linux |
特許條款 | GNU GPLv3 (Client & Runtime), proprietary (Backend)[2] |
網站 | snapcraft |
功能
「snap」應用程式套件本身是一種自給自足的軟件,且可以在眾多Linux發行版上正常執行。這不同於傳統的Linux套件管理方法(如進階打包工具和RPM),透過傳統方式進行應用程式的更新需要針對各Linux發行版對軟件套件特別客製化,從而使軟件開發和終端使用者的軟件部署之間產生了延遲。[3][4]
snap套件本身不依賴任何外部軟件商店,可以從任何來源取得,並因此可以用於上游軟件部署。當Snappy和snap套件部署於Ubuntu或其他一些Linux系統時,Ubuntu的軟件商店是預設的用於取得snap套件的後端,但這並非強制的,用戶可以使用其他軟件商店。
開發者可以利用snap建立命令列工具、後台服務以及桌面應用程式。[5]使用snap的情況下,可以通過原子操作或差分編碼完成升級。[6][7][8][9]
2016年6月起,snapd成為Ubuntu以外多種Linux發行版的的一部分。而在此之前snapd主要應用於完全基於snap的Ubuntu Core作業系統。
Snapcraft
Snapcraft是供開發人員將其程式打套件為snap格式供Snappy使用的工具。[10]
snap格式
snap格式是一種可以由主機作業系統動態掛載的壓縮的檔案系統,其中還附有元數據聲明,snap系統可以據其為應用程式設置適當的安全沙盒或容器。該檔案格式的副檔名為.snap。
應用和反響
Snappy套件系統已被部署在眾多物聯網環境,從面向消費者的產品[11]到企業裝置管理閘道器都有其身影。[12]Snappy也被預設套件含在Ubuntu 16.04桌面映像中。
螢幕擷取軟件Peek的開發者停止了對Snappy的支援,而繼續使用Flatpak和AppImage。他們給出了以下理由:snap目前主要應用於Ubuntu,而像ArchLinux這樣的系統的官方版本已經不套件含snap;對開發者來說snap比Flatpak和AppImage更耗時;用戶需要手動安裝Snap平台;Ubuntu 軟件中心上的用戶數據並不能與AppStream的數據互通。[13][14]
參見
- 可攜式應用程式建立器
- AppImage
- Autopackage
- Flatpak
- Zero Install,另一個類似的專案
- ROX使用目錄(AppDirs)作為應用程式套件。
參考資料
- ^ snapcore · GitHub. GitHub. [5 November 2022]. (原始內容存檔於2023-04-02).
- ^ What's The Deal With Snap Packages?. 24 June 2020 [13 February 2023]. (原始內容存檔於2023-06-09).
- ^ Upgrading packaged Ubuntu application unreasonably involves upgrading entire OS Bug #578045 (頁面存檔備份,存於互聯網檔案館) on bugs.launchpad.net/ubuntu by John King (2010-05-10)
- ^ Linus Torvalds on the problems of distro packaging (頁面存檔備份,存於互聯網檔案館) Linus Torvalds on DebConf 2014
- ^ Canonical unveils 6th LTS release of Ubuntu with 16.04. Canonical Ltd. [22 April 2016]. (原始內容存檔於2017-11-03).
- ^ Shuttleworth, Mark. Announcing Ubuntu Core, with snappy transactional updates!. 9 December 2014 [2017-11-03]. (原始內容存檔於2017-10-30).
- ^ Willis, Nathan. Ubuntu Core and Snappy. Linux Weekly News. 28 January 2015 [7 November 2015]. (原始內容存檔於2018-10-13).
- ^ 存档副本. [2017-11-03]. (原始內容存檔於2016-11-07).
- ^ 存档副本. [2017-11-03]. (原始內容存檔於2017-10-28).
- ^ Brodkin, Jon. Adios apt and yum? Ubuntu’s snap apps are coming to distros everywhere. Ars Technica. [13 August 2016]. (原始內容存檔於2019-05-14).
- ^ Vaughan-Nichols, Stephen J. Ubuntu jumps into Internet of Things with Acer, GE, and Microsoft. ZDNet. 11 May 2015 [7 November 2015]. (原始內容存檔於2017-01-09).
- ^ Sherman, Jordana. Snappy Core unlocks IoT value within the Dell Edge Gateway 5000 Series. Canonical Ltd. [7 November 2015]. (原始內容存檔於2017-07-31).
- ^ Snap support for Peek screen recorder discontinued. Reddit. March 25, 2018 [May 12, 2018]. (原始內容存檔於2018-03-28).
- ^ Peek Gif Screen Recorder Drops Support for Snap App. OMG! Ubuntu!. [2018-04-05]. (原始內容存檔於2018-04-06).