Ubuntu Snap 介绍
Ubuntu Snaps
Ubuntu Snaps 是 Ubuntu 的母公司 Canonical 于 2016 年 4 月发布 Ubuntu16.04 LTS(LongTermSupport,长期支持版)时引入的一种容器化的软件包格式。自 Ubuntu16.04 LTS 起,Ubuntu 操作系统可以同时支持 Snap 及 Debian 这两种格式的安装包。
与传统的 dpkg/apt 有着很大的区别。Ubuntu Snaps 可以让开发者将他们的软件更新包随时发布给用户,而不必等待 Ubuntu 自身的发行版更新周期。其次 Snap 应用可以同时安装多个版本的软件而不会互相干扰,一个 Snap 应用的安装包拥有所有依赖的文件和库,各个 Snap 应用之间完全独立。比如同时安装 Python2.7 和 Python3.3 而不会造成冲突,这就是所谓的容器化软件包格式。由此带来的问题就是 Snap 应用会占用更多的磁盘空间。
snapd 是 Snaps 软件包的管理用具,指令为 snap
。Snapcraft 是开发人员将其程序打包为 Snap 格式的工具,可以从 GitHub 仓库自动构建,指令为 snapcraft
。
REFS:
- https://snapcraft.io/
- https://tutorials.ubuntu.com/tutorial/basic-snap-usage#0
- https://tutorials.ubuntu.com/tutorial/advanced-snap-usage#0
Snaps 工具使用示例
安装 Snaps 支持:
sudo apt update
sudo apt install snapd
sudo apt install snapcraft
登录:使用 Ubuntu One 账户
snap login your@email.lol
从 SnapStore 寻找发布在商店里的 Snap 应用:
sudo snap find
sudo snap find | grep $SNAP_NAME
安装一个 Snap 应用:
sudo snap install $SNAP_NAME
卸载一个 Snap 应用:
sudo snap remove $SNAP_NAME
查看一个 Snap 的详细信息:
snap info $SNAP_NAME
显示已安装的 Snap 应用列表:
sudo snap list
更新一个已安装的 Snap 应用:
sudo snap refresh $SNAP_NAME
还原 Snap 应用到以前安装的版本:
sudo snap revert $SNAP_NAME
编译一个 Snap 应用
编译一个 Snap 应用:如果你开发或拥有了一个 Snap 项目,那么你只需要执行以下指令就会得到一个扩展名为 .snap 的文件,这个就是我们所需要的 Snap 应用安装文件。
$ cd <your_poject_dict>
$ snapcraft
在 snapcraft
打包的过程中,它经历如下的几个阶段:
- pull: Download or retrieve artifacts defined for a part.
- build: Build artifacts defined for a part. Build systems capable of running parallel build jobs will do so unless “–no-parallel-build” is specified.
- stage: Stage the part’s built artifacts into the common staging area.
- prime: Final copy and preparation for the snap.
- snap: Create a snap.
清除一个 Snap 应用在编译过程中的文件:
napcraft clean
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/18390107,如有侵权联系删除
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2023-08-31 pytorch报错IndexError: invalid index of a 0-dim tensor. Use tensor.item() to convert a 0-dim tensor to a Python
2023-08-31 大语言模型LLM网络结构介绍
2023-08-31 transformer解读-更新中