文章头部背景

Snap容器基础入门使用

Snap容器基础入门使用

[TOC]

0x00 前言说明

描述:在大多数应用场景下Ubuntu借助包管理器apt-get安装软件包很方便,前提是服务器要能够联网;但是如果在。政府或企业内网的服务器,通常是不与互联网连通的,这时候部署软件只能借助文件拷贝的方式,感觉回到了原始时代。而且更为严重的问题是软件包部署过程中的相互依赖的问题;

Q:如何解决?

在离线部署方面确实Windows比Linux做得好,Windows软件包通常会将软件所需的依赖打包,部署时只需拷贝一个软件安装包即可运行(缺陷:体积太大);
当然此时Linux中也有类似Windows软件安装包,即snap软件包机制可以用来简化离线部署。

Q:什么是Snap?
答:它的安装包扩展名是.snap类似于一个容器,完全独立于系统,它包含一个应用程序需要用到的所有文件和库(Snap包含一个私有的root文件系统里面包含依赖的软件包),他们安装在独立的目录中且各个应用之间相互隔离,互不影响,而且安装快捷简单,运行容易管理;主要支持的主流发行版Ubuntu和Debian;
简单的说:它类似于windows的软件安装包将所需的依赖都统一打包到软件包中部署时只需拷贝snap文件即可,俨然就是一个镜像容器。

Snap前身是由 Canonical 进行开发和管理的snappy演变而来用的是和 Flatpak 对抗,在Ubuntu 20.04 TLS的focal的发行版本中默认自带;

Snap优缺点:

  • 优点:
    • 安装简单、稳定、自动升级以及自带配置环境无需自行配置;
    • 得益于 Canonical 在中国大陆的运营,下载速度还是可以的,好像是有 CDN 的
  • 缺点:
    • 配置不灵活
    • 软件包巨大,好像运行一个软件包都需要挂载一个镜像,说是为了解决依赖问题,但……
    • 字体渲染支持很烂
    • 启动速度巨慢,了解后发现这个 Snap 果然还是把软件全部打包并压缩做成镜像,每次都要解压缩再挂载……那速度

注意事项:

  • 从`Ubuntu 16.04起snap环境是自带的意味着您无需安装它,但是如果是早于16.04的版本且服务器不能联网,安装snap环境很困难,你只能自求多福了

0x01 安装卸载

(1) 安装

描述:由于在Ubuntu 20.04 TLS 默认已经安装了snap,下面流程讲述的是没有安装该软件的系统流程:


(2) 卸载

描述:由于系统使用了docker容器不采用snap进行安装软件方式,则此时snap在系统中显得多余并且我是一个强迫症患者看到这么多挂载目录就忍不住了;

点击阅读完整原文

欢迎各位志同道合的朋友一起学习交流,如文章有误请在下方留下您宝贵的经验知识,个人邮箱地址【master#weiyigeek.top】或者个人公众号【WeiyiGeek】联系我。

更多文章来源于【WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少】, 个人首页地址( https://weiyigeek.top )

WeiyiGeek-banner

专栏书写不易,如果您觉得这个专栏还不错的,请给这篇专栏 【点个赞、投个币、收个藏、关个注、转个发、赞个助】,这将对我的肯定,我将持续整理发布更多优质原创文章!。


0 comments
Anonymous
Markdown is supported

Be the first person to leave a comment!

如果此篇文章对您有帮助,就请作者喝杯 Coffee ☕️☕️!

微信打赏二维码 支付宝打赏二维码

扫一扫,分享到微信

微信分享二维码

关注【全栈工程师修炼指南】

weiyigeek

欢迎添加【作者】微信

weiyigeek