为 Red Hat Enterprise Linux (RHEL) 8 构建 snap RPM

为 Red Hat Enterprise Linux (RHEL) 8 构建 snap RPM

Snap 目前可用于 Red Hat Enterprise Linux (RHEL) 8和 RHEL 7.6+。有关安装说明,请参阅在 Red Hat Enterprise Linux (RHEL) 上安装 snap

但是,如果您是高级用户并希望了解snap是如何构建的,则可以相对容易地构建和手动安装其 RPM,如下所述。

手动构建 RPM

首先,需要添加以开发人员为中心的新CodeReady Linux BuilderAppStream附加用户空间应用程序存储库,然后是Extra Packages for Enterprise Linux存储库:

$ sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
$ sudo subscription-manager repos --enable rhel-8-for-x86_64-appstream-rpms
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

接下来,刷新包列表并安装一些依赖项:

$ sudo dnf upgrade
$ sudo dnf module install go-toolset
$ sudo dnf install rpmdevtools

snapd 代码库包含一个RPM SPEC 文件,其中包含用于构建 RPM 包的配方。要设置 RPM 构建环境,首先在您的主目录中准备 RPM 树,获取源 tarball 并提取 RPM 规范:

$ rpmdev-setuptree
$ cd ~/rpmbuild/SOURCES
$ curl -L \
    https://github.com/snapcore/snapd/releases/download/2.42/snapd_2.42.no-vendor.tar.xz \
    -o snapd_2.42.no-vendor.tar.xz 
$ tar -xvJ -C ~/rpmbuild/SPECS --strip-components=3 \
    -f snapd_2.42.no-vendor.tar.xz \
    snapd-2.42/packaging/fedora/

然后,仍然在 中~/rpmbuild/SOURCES,获取剩余的发布包并安装构建依赖项:

$ spectool -g ~/rpmbuild/SOURCES/snapd.spec
$ sudo dnf builddep ~/rpmbuild/SPECS/snapd.spec -y

三个 RPM 构成了完整的 snapd 安装,它们的构建方式如下:

$ rpmbuild -bb ~/rpmbuild/SPECS/snapd.spec

最后,可以安装所有三个 RPM 包:

$ sudo dnf localinstall \
   ~/rpmbuild/RPMS/x86_64/snap-confine-2.42-0.el8.x86_64.rpm \
   ~/rpmbuild/RPMS/x86_64/snapd-2.42-0.el8.x86_64.rpm \
   ~/rpmbuild/RPMS/noarch/snapd-selinux-2.42-0.el8.noarch.rpm

安装后,需要启用管理主 snap 通信套接字的systemd单元:

$ sudo systemctl enable --now snapd.socket

现在可以测试 snapd 环境,并希望可以有效地使用:

$ snap install hello-world

重新启动/注销/登录应该将 hello-world 放在路径中。

原文地址:Building a snap RPM for Red Hat Enterprise Linux (RHEL) 8 | Snapcraft documentation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值