Linux中國

Canonical 演示為任意發行版創建一個 Snap 商店是如何的簡單

SnappyFlatpak 之間的爭吵仍在繼續中,現在 Canonical 在剛剛發布的 Fedora 24 上演示了創建一個廠商無關的 Snap 商店是多麼的簡單。

Snap 宣傳它是面向各個主要 Linux 發行版的通用二進位軟體包格式,人們對此非常關注,也有很多議論。就在幾天前, Canonical 和 Ubuntu 的創始人 Mark Shuttleworth 對這些人們重點關注的問題做了一番答覆,表示 Canonical 並不指望別的操作系統使用 Ubuntu 的 snap 商店,你們完全可以自己搞嘛,就是個 HTTPS 而已。

針對指責 Snap 商店沒有開源的意見,Canonical 的 Ubuntu 產品與戰略總監 Dustin Kirkland 說,「事實上,你可以在任何支持 Snap 的操作系統上運行你的 Snap 商店,真的。」

一個可以提供 Snap 軟體包服務的最簡單的示例商店

Dustin 給我們介紹了一個由開發者 Bret Barker 發布在 GitHub 上的一個概念性的獨立 Snap 商店,這個軟體以 Apache 許可證開源,你可以在 GitHub 上 fork 它,並安裝到任何 GNU/Linux 發行版上去。

伺服器端(Snap 商店)

「首先,我啟動一個 AWS 實例,當然,我可以啟動一個 Ubuntu 16.04 LTS 實例,但實際上我啟動的是一個 Fedora 24 實例。」

如果你的機器上已經有了 snap 環境,你可以直接用:

snap install snapstore-example

來安裝這個示例商店。

如果沒有,你可以手動來安裝。首先安裝 python 虛擬環境:

sudo dnf install python-virtualenv

克隆這個示例商店的代碼:

git clone https://github.com/noise/snapstore.git
cd snapstore

設置虛擬環境並安裝依賴包:

virtualenv env
. env/bin/activate
pip install -r requirements.txt

運行:

python store.py

這樣 snap 商店就安裝好了,它會監聽在默認的 5000 埠上。

Snap 商店監聽在 5000 埠上

客戶端

在 Fedora 24 上運行

sudo dnf install snapd 

來安裝 Snappy,它同時也會安裝必要的依賴包,如: squashfs-tools、kernel-modules。

你可以通過安裝一個測試包來看看 snap 是否正常工作:

sudo snap install hello

如果正常的話,然後修改 /etc/environment,加入你的商店 URL,強制 snapd (Snappy 守護進程)與剛剛創建的 Snap 商店連接:

SNAPPY_FORCE_CPI_URL=http://localhost:5000/api/v1/

重啟 snapd:

sudo service snapd restart

這個示例商店支持如下命令來查找和安裝 snap 軟體包:

snap find foobar25
sudo snap install foobar25

使用 snap 去查找軟體包

更多可以看 Dustin 的原文或這個示例商店的說明


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國