国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

詳解Linux中將應用程序打包為Snap軟件包格式的方法

2020-07-10 11:07:48
字體:
來源:轉載
供稿:網友

在 Linux 分發應用不總是那么容易。有各種不同的包格式、基礎系統、可用庫,隨著發行版的一次次發布,所有的這些都讓人頭疼。然而,現在我們有了更簡單的東西:Snap。

Snap 是開發者打包他們應用的新途徑,它相對于傳統包格式,如 .deb,.rpm 等帶來了許多優點。Snap 安全,彼此隔離,宿主系統使用了類似 AppArmor 的技術,它們跨平臺且自足的,讓開發者可以準確地將應用所需要的依賴打包到一起。沙盒隔離也加強了安全,并允許應用和整個基于 snap 的系統,在出現問題的時候可以回滾。Snap 確實是 Linux 應用打包的未來。

創建一個 snap 包并不困難。首先,你需要一個 snap 基礎運行環境,能夠讓你的桌面環境認識并運行 snap 軟件包,這個工具叫做 snapd ,默認內置于所有 Ubuntu 16.04 系統中。接著你需要創建 snap 的工具 Snapcraft,它可以通過一個簡單的命令安裝:

復制代碼
代碼如下:

$ sudo apt-get install snapcraft

這個環境安裝好了之后就可以 snap 起來了。

Snap 使用一個特定的 YAML 格式的文件 snapcraft.yaml,它定義了應用是如何打包的以及它需要的依賴。用一個簡單的應用來演示一下,下面的 YAML 文件是個如何 snap 一個 moon-buggy 游戲的實際例子,該游戲在 Ubuntu 源中提供。

復制代碼
代碼如下:

name: moon-buggy
version: 1.0.51.11
summary: Drive a car across the moon
description: |
A simple command-line game where you drive a buggy on the moon
apps:
play:
command: usr/games/moon-buggy
parts:
moon-buggy:
plugin: nil
stage-packages: [moon-buggy]
snap:
– usr/games/moon-buggy

上面的代碼出現了幾個新概念。第一部分是關于如何讓你的應用可以在商店找到的信息,設置軟件包的元數據名稱、版本號、摘要、以及描述。apps 部分實現了 play 命令,指向了 moon-buggy 可執行文件位置。parts 部分告訴 snapcraft 用來構建應用所需要的插件以及依賴的包。在這個簡單的例子中我們需要的所有東西就是來自 Ubuntu 源中的 moon-buggy 應用本身,snapcraft 負責剩下的工作。

在你的 snapcraft.yaml 所在目錄下運行 snapcraft ,它會創建 moon-buggy1.0.51.11amd64.snap 包,可以通過以下命令來安裝它:

復制代碼
代碼如下:

$ snap install moon-buggy_1.0.51.11_amd64.snap

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张掖市| 含山县| 新乡市| 郎溪县| 崇州市| 嘉兴市| 绍兴县| 义马市| 蓬溪县| 广汉市| 宁明县| 尚志市| 仪征市| 塔河县| 婺源县| 安吉县| 山阳县| 永修县| 同心县| 长泰县| 隆林| 社旗县| 同仁县| 瓦房店市| 延寿县| 宜兴市| 三明市| 钟祥市| 商丘市| 桐乡市| 延庆县| 岗巴县| 客服| 廉江市| 榆中县| 焉耆| 闽清县| 三原县| 洛南县| 盈江县| 福泉市|