27
显然这是不可能的,但我无法相信我是唯一需要它的人。木偶:指定要安装的软件包版本
我想指定要安装的PHP版本,因为我正在处理一个需要php 5.2的旧项目。
其实我的VM是基于解梦用PHP 5.3
你有什么解决办法做到这一点?
显然这是不可能的,但我无法相信我是唯一需要它的人。木偶:指定要安装的软件包版本
我想指定要安装的PHP版本,因为我正在处理一个需要php 5.2的旧项目。
其实我的VM是基于解梦用PHP 5.3
你有什么解决办法做到这一点?
您可以指定一个版本:
package { 'php' :
ensure => '5.2' ,
}
然而,如果PHP RPM /德布/包的这个版本是在上游回购不可用,那么你会想要么:
从你的文件系统安装,由provid荷兰国际集团的路径,该包:
package { 'php' :
ensure => '5.2' ,
source => '/some/path/to/php-5.2.rpm' ,
}
这是非常接近我如何在木偶使用自定义Apt库与他们的GPG密钥
# put downloaded pgp keys into modulename/files/pgp/
# this will copy them all into /tmp
file { '/tmp/pgp-keys':
ensure => directory,
recurse => true,
source => 'puppet:///modules/modulename/pgp',
}
# add any keys that you need
exec { 'apt-key add':
command => '/usr/bin/apt-key add /tmp/pgp-keys/number1.gpg.key &&/
/usr/bin/apt-key add /tmp/pgp-keys/number2.gpg.key',
subscribe => File['/tmp/pgp-keys'],
refreshonly => true,
}
# make sure you add your custom apt repository
file { 'cassandra.sources.list':
ensure => 'present',
path => '/etc/apt/sources.list.d/cassandra.sources.list',
source => 'puppet:///modules/modulename/cassandra.sources.list',
require => Exec['apt-key add'],
}
# update your package list
exec { 'apt-get update':
command => '/usr/bin/apt-get update',
require => File['cassandra.sources.list'],
}
# Install your specific package - I haven't actually used this yet,
# based on answer by opsmason
package { 'cassandra':
ensure => '1.2.0',
require => Exec['apt-get update'],
}
我试过的解决方案来改变我的偏好/源列表,但遇到下载archive.debian公钥的问题:s – JulienD 2012-07-24 09:40:35
@opsmason:版本值是否需要字符串?你能指定它为'ensure => 5.2'吗? – greenpool 2015-02-08 02:31:32
@greenpool:版本是一个字符串。以httpd-2.4.29为例:: 2.4.29不是浮点数,它是一个字符串! – opsmason 2017-12-13 14:52:25