尝试安装PHP的PPA repo时出错
我得到了一个项目,在Vagrant的puppet设置配置中有一行尝试安装PHP的PPA repo时出错,php,ubuntu,vagrant,puppet,Php,Ubuntu,Vagrant,Puppet,我得到了一个项目,在Vagrant的puppet设置配置中有一行::apt::ppa{'ppa:ondrej/php5-5.6':。问题是,这已经不存在了,它被重命名为简单的ondrej/php 此外,我仍然需要安装PHP5.6,并且来自的旧软件包还不是5.6,并且与正在安装的软件包不兼容 如何从回购协议中纳入5.6 更新 注释右下方有ubuntu14.04的那一行是定义存储库的地方,但没有找到存储库 # This depends on # puppetlabs/apt: https://g
::apt::ppa{'ppa:ondrej/php5-5.6':
。问题是,这已经不存在了,它被重命名为简单的ondrej/php
此外,我仍然需要安装PHP5.6,并且来自的旧软件包还不是5.6,并且与正在安装的软件包不兼容
如何从回购协议中纳入5.6
更新
注释右下方有ubuntu14.04
的那一行是定义存储库的地方,但没有找到存储库
# This depends on
# puppetlabs/apt: https://github.com/puppetlabs/puppetlabs-apt
# example42/puppet-yum: https://github.com/example42/puppet-yum
class puphpet::php::repos (
$php_version
){
case $::operatingsystem {
'debian': {
# Squeeze: 5.3 (default) && 5.4
if $::lsbdistcodename == 'squeeze' and $php_version == '54' {
::apt::source { 'packages.dotdeb.org-php54-repo.puphpet':
location => 'http://repo.puphpet.com/dotdeb/',
release => 'squeeze-php54',
repos => 'all',
required_packages => 'debian-keyring debian-archive-keyring',
key => '89DF5277',
key_server => 'keys.gnupg.net',
include_src => true
}
}
# Wheezy : 5.4 (default) && 5.5 && 5.6
elsif $::lsbdistcodename == 'wheezy' and $php_version == '55' {
::apt::source { 'packages.dotdeb.org-php55-repo.puphpet':
location => 'http://repo.puphpet.com/dotdeb/',
release => 'wheezy-php55',
repos => 'all',
required_packages => 'debian-keyring debian-archive-keyring',
key => '89DF5277',
key_server => 'keys.gnupg.net',
include_src => true
}
}
elsif $::lsbdistcodename == 'wheezy' and $php_version == '56' {
::apt::source { 'packages.dotdeb.org-php56-repo.puphpet':
location => 'http://repo.puphpet.com/dotdeb/',
release => 'wheezy-php56',
repos => 'all',
required_packages => 'debian-keyring debian-archive-keyring',
key => '89DF5277',
key_server => 'keys.gnupg.net',
include_src => true
}
}
}
'ubuntu': {
if ! defined(::Apt::Key['4F4EA0AAE5267A6C']) {
::apt::key { '4F4EA0AAE5267A6C':
key_server => 'hkp://keyserver.ubuntu.com:80'
}
}
# Lucid 10.04, Precise 12.04, Quantal 12.10,
# Raring 13.04: 5.3 (default <= 12.10) && 5.4 (default <= 13.04)
if $::lsbdistcodename in ['lucid', 'precise', 'quantal', 'raring', 'trusty']
and $php_version == '54'
{
$options = $::lsbdistcodename ? {
'lucid' => '',
default => '-y'
}
::apt::ppa { 'ppa:ondrej/php5-oldstable':
require => ::Apt::Key['4F4EA0AAE5267A6C'],
options => $options
}
}
# 12.04/10, 13.04/10, 14.04: 5.5
elsif $::lsbdistcodename in ['precise', 'quantal', 'raring', 'saucy', 'trusty']
and $php_version == '55'
{
::apt::ppa { 'ppa:ondrej/php5':
require => ::Apt::Key['4F4EA0AAE5267A6C']
}
}
elsif $::lsbdistcodename in ['lucid'] and $php_version == '55' {
err('You have chosen to install PHP 5.5 on Ubuntu 10.04 Lucid. This will probably not work!')
}
# Ubuntu 14.04 can do PHP 5.6
elsif $::lsbdistcodename == 'trusty' and $php_version == '56' {
::apt::ppa { 'ppa:ondrej/php5-5.6':
require => ::Apt::Key['4F4EA0AAE5267A6C']
}
}
}
'redhat', 'centos': {
include ::yum::repo::remi
# remi_php55 requires the remi repo as well
if $php_version == '55' {
include ::yum::repo::remi_php55
}
# remi_php56 requires the remi repo as well
elsif $php_version == '56' {
::yum::managed_yumrepo { 'remi-php56':
descr => 'Les RPM de remi pour Enterpise Linux $releasever - $basearch - PHP 5.6',
mirrorlist => 'http://rpms.famillecollet.com/enterprise/$releasever/php56/mirror',
enabled => 1,
gpgcheck => 1,
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi',
gpgkey_source => 'puppet:///modules/yum/rpm-gpg/RPM-GPG-KEY-remi',
priority => 1,
}
}
}
}
}
#这取决于
#puppetlabs/apt:https://github.com/puppetlabs/puppetlabs-apt
#示例42/3:https://github.com/example42/puppet-yum
类puphpet::php::repos(
$php\u版本
){
案例$::操作系统{
“debian”:{
#挤压:5.3(默认值)和5.4
如果$::lsbdistcodename==“挤压”和$php\u version==“54”{
::apt::source{'packages.dotdeb.org-php54-repo.puphpet':
位置=>'http://repo.puphpet.com/dotdeb/',
释放=>“挤压-php54”,
回购协议=>“全部”,
必需的_包=>“debian密钥环debian存档密钥环”,
键=>'89DF5277',
key_server=>'keys.gnupg.net',
include_src=>true
}
}
#喘息:5.4(默认值)和5.5和5.6
elsif$::lsbdistcodename=='wheezy'和$php_version=='55'{
::apt::source{'packages.dotdeb.org-php55-repo.puphpet':
位置=>'http://repo.puphpet.com/dotdeb/',
释放=>'wheezy-php55',
回购协议=>“全部”,
必需的_包=>“debian密钥环debian存档密钥环”,
键=>'89DF5277',
key_server=>'keys.gnupg.net',
include_src=>true
}
}
elsif$::lsbdistcodename=='wheezy'和$php_version=='56'{
::apt::source{'packages.dotdeb.org-php56-repo.puphpet':
位置=>'http://repo.puphpet.com/dotdeb/',
释放=>'wheezy-php56',
回购协议=>“全部”,
必需的_包=>“debian密钥环debian存档密钥环”,
键=>'89DF5277',
key_server=>'keys.gnupg.net',
include_src=>true
}
}
}
“ubuntu”:{
如果!已定义(::Apt::Key['4F4EA0AAE5267A6C']){
::apt::键{'4F4EA0AAE5267A6C':
密钥服务器=>'hkp://keyserver.ubuntu.com:80'
}
}
#清晰10.04,精确12.04,量子12.10,
#拉林13.04:5.3(默认值“-y”
}
::apt::ppa{'ppa:ondrej/php5-oldstable':
require=>::Apt::Key['4F4EA0AAE5267A6C'],
选项=>$options
}
}
# 12.04/10, 13.04/10, 14.04: 5.5
elsif$::lsbdistcodename在['Precision'、'quantal'、'raring'、'saucy'、'trusty'中]
和$php_version=='55'
{
::apt::ppa{'ppa:ondrej/php5':
require=>::Apt::Key['4F4EA0AAE5267A6C']
}
}
elsif$::lsbdistcodename in['lucid']和$php_version=='55'{
err('您选择在Ubuntu10.04Lucid上安装PHP5.5。这可能不起作用!')
}
#Ubuntu 14.04可以实现PHP5.6
elsif$::lsbdistcodename=='trusty'和$php\u version=='56'{
::apt::ppa{'ppa:ondrej/php5-5.6':
require=>::Apt::Key['4F4EA0AAE5267A6C']
}
}
}
“红帽”,“centos”:{
include::yum::repo::remi
#remi_php55也需要remi回购协议
如果$php_version=='55'{
include::yum::repo::remi_php55
}
#remi_php56还需要remi回购协议
elsif$php_版本=='56'{
::yum::managed_yumrepo{'remi-php56':
descr=>“Les RPM de remi pour Enterpise Linux$releasever-$basearch-PHP 5.6”,
镜像列表=>'http://rpms.famillecollet.com/enterprise/$releasever/php56/mirror',
已启用=>1,
gpgcheck=>1,
gpgkey=>'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi',
gpgkey_源=>'puppet:///modules/yum/rpm-gpg/RPM-GPG-KEY-remi',
优先级=>1,
}
}
}
}
}
将apt::ppa资源更改为ppa:ondrej/php
,将您的软件包资源更改为php5.6
?看来5.6在该repo中仍然可用,因此@DominicCleal的注释应该可以使用。但是,这些软件包不也可以从主Ubuntu ppa中获得吗?@DominicCleal如何将软件包资源更改为>php5.6
?PHP和PPA环境对我来说是新的。很难说,因为您没有展示它-它是一个包{
在您的清单中的某个地方。@DominicCleal,我添加了加载repo的文件。在这里,当我执行一个流浪构建时,错误不再出现,因此puphpet开始出现。我相信您的意思是加载repo资源和包资源是不同的事情,但我不知道在哪里可以找到包资源。将apt::ppa资源更改为ppa:ondrej/php
,将您的包资源更改为php5.6
?看起来5.6在该repo中仍然可用,因此@DominicCleal的注释应该可以使用。但是,这些包不也可以从主Ubuntu ppa中获得吗?@DominicCleal如何将包资源更改为php5。6
?PHP和PPA环境对我来说是新的。很难说,因为您没有展示它-它是一个包{
在您的清单中的某个地方。@DominicCleal,我添加了加载repo的文件。在这里,当我执行流浪构建时,错误不再弹出,因此puphpet开始出现。我相信您是在建议加载repo资源和包资源是不同的事情,但是