如何在Puppet清单中向package添加安装选项

时间:2015-01-16 14:43:52

标签: nginx vagrant puppet

在过去的两天里,我尝试在Debian 7 x64虚拟机上安装 Nginx 的两个模块,使用 Vagrant 创建。现在我有这个清单:

package { 'nginx':
  ensure => 'present',
  install_options => [ '--with-http_secure_link_module', '--with-http_image_filter_module' ],
}

include '::apt'

apt::source { 'nginx':
  location   => "http://nginx.org/packages/debian",
  repos      => 'nginx',
  key        => '7BD9BF62',
  key_source => 'http://nginx.org/keys/nginx_signing.key',
  before     => Package['nginx'],
}

#import 'nodes/*.pp'

运行vagrant provision后,我通过带vagrant ssh的ssh进入VM,这就是我所看到的:

vagrant@packer-virtualbox-iso:~$ sudo nginx -V

nginx version: nginx/1.6.2
built by gcc 4.7.2 (Debian 4.7.2-5) 
TLS SNI support enabled
configure arguments: 
--prefix=/etc/nginx 
--sbin-path=/usr/sbin/nginx 
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log  
--http-log-path=/var/log/nginx/access.log
--pid-path=/var/run/nginx.pid  
--lock-path=/var/run/nginx.lock  
--http-client-body-temp-path=/var/cache/nginx/client_temp  
--http-proxy-temp-path=/var/cache/nginx/proxy_temp  
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp  
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp  
--http-scgi-temp-path=/var/cache/nginx/scgi_temp  
--user=nginx
--group=nginx
--with-http_ssl_module
--with-http_realip_module  
--with-http_addition_module
--with-http_sub_module
--with-http_dav_module  
--with-http_flv_module
--with-http_mp4_module
--with-http_gunzip_module  
--with-http_gzip_static_module
--with-http_random_index_module  
--with-http_secure_link_module
--with-http_stub_status_module  
--with-http_auth_request_module
--with-mail
--with-mail_ssl_module
--with-file-aio
--with-http_spdy_module
--with-cc-opt='-g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' 
--with-ld-opt='-Wl,-z,relro -Wl,--as-needed'
--with-ipv6**

image_filter 模块尚未安装,但 secure_link 正常(我认为没关系,因为它是默认安装的)。

那么我做错了什么?

1 个答案:

答案 0 :(得分:0)

正如Felix所说,Puppet中的package资源不是用于编译软件包,而是用于管理安装和卸载软件包。

如果您想编译nginx Debian软件包特定选项或添加项,我建议使用fpm-cookery。可能对您有用example nginx recipe