• home > OS > Linux > fundamental >

    centos使用snapcraft管理安装包的优势

    Author:zhoulujun Date:

    snap包.它的包的扩展名叫做 snap.这是一种崭新的包,类似于一个容器,它包含一个应用程序需要用到的所有文件和库 各个应用程序之间相互隔离。正因如此,它解决了软件包的依赖问题,也使应用程序更容易管理。

    Shadowsocks-libev 官方推荐 Snap 安装

    Shadowsocks-libev is written in pure C and depends on libev. It's designed to be a lightweight implementation of shadowsocks protocol, in order to keep the resource usage as low as possible.

    Snap is the recommended way to install the latest binaries.

    有的Linux系统上是使用rpm包,Ubuntu桌面中,几乎都使用的是debian包

    在Snappy Ubuntu上,使用的包叫做snap包.它的包的扩展名叫做.snap.这是一种崭新的包,

    类似于一个容器,它包含一个应用程序需要用到的所有文件和库(snap包包含一个私有的root文件系统,里面包含了依赖的软件包)。它们会被安装到单独的目录;各个应用程序之间相互隔离。正因如此,它解决了软件包的依赖问题,也使应用程序更容易管理。

    snapcraft

    debian包的打 包非常难懂.相比较而言,snap包的语法就简单得多


    snapcraft安装流程snap打包过程

    snapcraft的功能是:

    • 它是一个编译工具

    • 让我们很方便地把不同资源的component集成起来,并编译它们

    • 它是一个snap的打包工具

    • 用Mark Shuttleworth的话简单地说snapcraft就是"apt-get for github"

    snap包具有如下的特性:

    • 包含应用所需运行的所有dependence

    • 可以100%确定你的应用不会因为任何在应用之外的变化的改变而导致你的应用不 能正常运行,比如卸载一个Java应用不会导致其它Java应用的运行.安装一个使用不同版本的Java JDK/OpenJDK的Java应用,不会干扰现有的任何一个运行在不同JDK/OpenJDK版本的Java应用

    • 通常snap的包比正常应用的包要大,因为它包含了所有它需要运行的环境

    但是这么好的东西,还是由于dog 日的 GFW原因:

    snapcraft 在中国大陆地区访问速度非常慢,下载软件需要很长时间并且很容易中途出错。

    所以在天朝,尽量避免使用 snap install 命令安装软件,也不要下载 Ubuntu 软件商店中的 snap 格式软件包。


    centos snap

    centos 运营snpa 也比较简单,命令行如下:

    yum install epel-release
    yum install snapd
    systemctl enable --now snapd.socket
    systemctl enable --now snapd.socket
    ln -s /var/lib/snapd/snap /snap

    其它命令都是通用的

    我首先是在centos 8 上安装,发现报:

    centos8 Problem: package snapd-2.45-1.el8.x86_64 requires snapd-selinux = 2.………………错误

    这个网上也搜索过:

    https://forum.snapcraft.io/t/centos-8-snapd-installation-selinux/14998

    • conflicting requests

    • nothing provides selinux-policy-base >= 3.14.3-20.el8 needed by snapd-selinux-2.42.2-1.el8.noarch

    • (try to add ‘–skip-broken’ to skip uninstallable packages or ‘–nobest’ to use not only best candidate packages)

    我还是用centos7 算了。笔记官方上面是centos7.6+。只是,yum install epel-release 一路 Y升级下去,然后安装,没有啥问题。

    snap常用命令

    更新一个snap包,

    如果你后面不加包的名字的话那就是更新所有的snap包 sudo snap refresh <snap name>

    列出已经安装的snap包

    sudo snap list

    搜索要安装的snap包

    sudo snap find <text to search>

    安装一个snap包

    sudo snap install <snap name>

    把一个包还原到以前安装的版本

    snap revert <snap name>

    删除一个snap包

    sudo snap remove <snap name>



    参考文章:

    Canonical 发布 Snapcraft 2.5 – Ubuntu 16.04 LTS 用户可更新 https://imcn.me/html/y2016/26084.html


    如果有可以,使用下面链接使用vultr 服务


    试一试……



    转载本站文章《centos使用snapcraft管理安装包的优势》,
    请注明出处:https://www.zhoulujun.cn/html/OS/Linux/LinuxDevops/8458.html