snap学习之使用snap hooks实现安装过程中config文件的拷贝

  我们在《snap打包Nginx实践》中,熟悉了使用snapcraft工具打包nginx的过程,但nginx启动所需要的配置文件,是我们手动从只读区拷贝到可读写区的,下面我们就来了解一下snap hook技术,并实践通过snap hook技术来实现nginx snap包在安装过程中,自动把配置文件从只读区拷贝到可读写区。

1.什么是snap hook
  snap hook通常是一个可执行文件,由某种操作触发,可以在snap的沙箱环境中运行。
  snap hook的常用场景有:
  1) 通知发生了什么事情
  比如snap app升级的时候,可能需要触发hook更新配置文件、升级数据格式等。
  2) 通知正在发生什么操作
  比如snap app可能需要知道特定的interface何时连接或断开。

  snap hook文件需要放在跟snapcraft.yaml文件同级目录的snap/hooks目录下,可执行文件的名称跟hook类型一致,比如我们即将用到的install hook的文件名称就是install,这样使用snapcraft工具打包后,snapd就会根据操作来触发snap hook。
  snap hook通常只能访问沙箱内部的资源,如果要访问沙箱外部资源,需要通过interface机制的slots and plugs来实现。
  snap hook按照触发操作分为configure hook、install hook、interface hook、pre-refresh hook、post-refresh hook、remove hook、prepare-device hook。

2.编写hook实现nginx配置文件拷贝
  nginx的配置文件,是需要在install过程中进行拷贝的,所以我们需要编写install hook。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值