Yaa*_*lie 5 puppet puppetmaster puppet-agent
我是新手puppet
,在学习它的过程中,我创建Puppet Master
并Puppet Slave
设置并配置了一个mysql
模块来安装 mysql Puppet client
。下面是清单文件。
class mysql {
package { ["mysql-server-5.5", "libaio1", "libdbd-mysql-perl", "libdbi-perl", "libhtml-template-perl", "libmysqlclient18", "mysql-client-5.5", "mysql-common", "mysql-server-core-5.5"]:
ensure => present,
allowcdrom => 'true',
}
}
Run Code Online (Sandbox Code Playgroud)
该package
资源包含 mysql-server 的所有依赖项。但我收到以下错误。
Building dependency tree...
Reading state information...
The following extra packages will be installed:
mysql-common
The following NEW packages will be installed:
libmysqlclient18 mysql-common
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 738 kB of archives.
After this operation, 3513 kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
mysql-common libmysqlclient18
E: There are problems and -y was used without --force-yes
Error: /Stage[main]/Mysql/Package[libmysqlclient18]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install libmysqlclient18' returned 100: Reading package lists...
Run Code Online (Sandbox Code Playgroud)
我也尝试添加install_options: "--force-yes"
错误输出中提到的,但仍然遇到同样的问题。
对此的任何帮助将不胜感激。
据我所知,您使用的是 Ubuntu,因此使用的是 Apt 包管理器。您遇到的错误是由于安装的软件包找不到该软件包的公钥。
这可能是因为:
apt-get update
在安装之前更新您的源。您有两种可能的解决方案:
或者在 Puppet 中使用以下内容来配置 Apt 以忽略丢失的键。
class {'::apt': disable_keys: true}
以上需要PppetLabs Apt
模块。
在禁用密钥之前,我会检查第一个选项。您没有提供足够的详细信息来确定确切的原因/解决方案,但上述内容应该可以帮助您找到正确的方向。
小智 4
您可以尝试下面的清单。问题是您必须添加-f
选项--allow-unauthenticated
来apt-get
自动解决依赖项并安装它们。添加这些标志后,无需将每个依赖包添加到资源中package
。
class mysql {
package { ["mysql-server-5.5"]:
ensure => present,
allowcdrom => 'true',
install_options => ['--allow-unauthenticated', '-f'],
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9429 次 |
最近记录: |