Snappy (包管理器)
此條目或章節中的「譯名」以「特定地區」的用法為主。 |
此條目可參照英語維基百科相應條目來擴充。 (2021年10月25日) |
此條目需要更新。 (2021年10月25日) |
開發者 | Canonical公司 |
---|---|
源代碼庫 | |
編程語言 | Go, C, Shell script, Python, JavaScript, NASL[1] |
操作系統 | Linux |
許可協議 | GNU GPLv3 (Client & Runtime), proprietary (Backend)[2] |
網站 | snapcraft |
Snappy是一個軟件部署和軟件包管理系統,最早由Canonical公司為了Ubuntu移動電話操作系統而設計和構建。其包稱為「snap」,工具名為「snapd」,可在多種Linux發行版上運行,完成發行上游主導的軟件部署。該系統的設計針對手機、雲端、物聯網和桌上型電腦。
功能
「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).