作为盐状态文件的一部分,我正在安装nghttp2。
到目前为止,我的.sls
中有以下代码install_nghttp2:
cmd.run:
- name: |
cd /tmp
wget https://github.com/nghttp2/nghttp2/releases/download/v1.16.0/nghttp2-1.16.0.tar.gz
tar -xf nghttp2-1.16.0.tar.gz
cd ./nghttp2-1.16.0
./configure
make
make install
- shell: /bin/bash
- require:
- pkg: install_nghttp2_deps
- unless: test -x /tmp/nghttp2-1.16.0
我对- unless
的必要条件有点警惕,并且想知道是否有人有更好的方法检查NGHTTP2?我宁愿做些事情来检查它尚未安装,而不仅仅是检查是否已下载 - 除非(双关语是...有点)有人有更好的建议?
由于您编译了特定版本,并且不使用软件包管理器安装它,所以我认为您正在做对了。
也许更好的选项可以检查程序是否已安装,除非中的其他命令使用。 例如,您可以使用 另一个不错的选择是使用nghttpd --version
或使用完整路径,其中二进制存储/usr/sbin/nghttpd --version
。which nghttpd
。