溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何實現(xiàn)在Linux中將應(yīng)用程序打包為Snap軟件包格式

發(fā)布時間:2021-09-26 10:31:46 來源:億速云 閱讀:224 作者:iii 欄目:系統(tǒng)運維

這篇文章主要講解了“如何實現(xiàn)在Linux中將應(yīng)用程序打包為Snap軟件包格式”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何實現(xiàn)在Linux中將應(yīng)用程序打包為Snap軟件包格式”吧!

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

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

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

代碼如下:


$ sudo apt-get install snapcraft


這個環(huán)境安裝好了之后就可以 snap 起來了。

Snap 使用一個特定的 YAML 格式的文件 snapcraft.yaml,它定義了應(yīng)用是如何打包的以及它需要的依賴。用一個簡單的應(yīng)用來演示一下,下面的 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


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

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

代碼如下:


$ snap install moon-buggy_1.0.51.11_amd64.snap

感謝各位的閱讀,以上就是“如何實現(xiàn)在Linux中將應(yīng)用程序打包為Snap軟件包格式”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何實現(xiàn)在Linux中將應(yīng)用程序打包為Snap軟件包格式這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI