我有一個用 Python 寫的一次性程式。
Snapcraft可以打包嗎?如何在本地安裝該軟體包?有沒有類似 GDebi 的 Snap 工具?
答案1
以下是從 Snap Store 本機安裝 Snap 的範例 (來源)。
然而,這對你不起作用——為什麼它不起作用以及你需要使用的方法將在下面詳細介紹。
$ snap download hello-world Fetching snap "hello-world" Fetching assertions for "hello-world" $ sudo snap ack hello-world_27.assert $ sudo snap install hello-world_27.snap hello-world 6.3 from 'canonical' installed $ snap list Name Version Rev Developer Notes <snip> hello-world 6.3 27 canonical -
- 沒有什麼比 GDebi 更適合快照了。
- 由於您已經擁有本地快照,因此顯然可以跳過第一步。您不需要下載它。
- 由於您進行了快照,因此沒有 .assert 文件,因此您也跳過了第二步。
- 最後,由於 Snap 預設使用簽名進行安全保護...但您的簽名未簽署...您必須在第三步驟中使用該
--dangerous
標誌停用該保護。
因此,本地製作、未簽名的 Snap 的方法將是:
$ sudo snap install /path/to/my-snap.snap --dangerous
答案2
總而言之:
如果您已下載文件,例如abc.snap
在目前資料夾中,
嘗試:
snap install ./abc.snap --dangerous
解釋:
快照通常使用發布者的私鑰進行簽署。當包被簽署時,僅意味著它是由擁有私鑰的人準備的。從字面上看,這沒有其他意思。這並不意味著該軟體包對於您的電腦來說是安全的。這並不意味著包裝中包含其所聲稱的內容。這意味著有人已經用他的私鑰簽署了它。
如果您有一個.snap
可能已簽署或未簽署的裸文件,則可以使用 跳過簽名驗證--dangerous
。事實上,沒有什麼比信任網路上隨機的人擁有您的電腦內容更危險的了。
官方 snap 商店提供的軟體包都經過簽名,因此,如果發生真正的問題,可以追蹤發布該軟體包的帳戶。這可能會阻止好人發布不良包裹。這並不意味著包裹是安全的。它可能不會阻止不良行為者。