Snappy (包管理器)
Canonical開發的軟體部署與軟體管理系統 来自维基百科,自由的百科全书
Snappy是一個軟件部署和軟件包管理系統,最早由Canonical公司為了Ubuntu移動電話操作系統而設計和構建。其包稱為「snap」,工具名為「snapd」,可在多種Linux發行版上運行,完成發行上游主導的軟件部署。該系統的設計針對手機、雲端、物聯網和桌上型電腦。
![]() |
![]() | 此條目或章節中的「譯名」以「特定地區」的用法為主。 |
![]() | 此條目可參照英語維基百科相應條目來擴充。 (2021年10月25日) |
![]() | 此條目需要更新。 (2021年10月25日) |
![]() | |
開發者 | 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是供開發人員將其程序打包為snap格式供Snappy使用的工具。[10]
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)作為應用程序包。
參考資料
Wikiwand - on
Seamless Wikipedia browsing. On steroids.