问题描述
操作系统 - Ubuntu 20.04.2 LTS
任务 - 创建 puppet manifest,这将制作 apache2-zabbix 页面。
$var = ['apache2','libapache2-mod-PHP','PHP7.4-MysqL','PHP-MysqL','PHP','PHP-mbstring','PHP-gd','PHP-xml','PHP-bcmath','PHP-ldap','PHP-MysqL']
package { $var:
ensure => installed,}
wget::fetch { "download zabbix":
source => 'https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb',destination => '/root/',timeout => 0,verbose => false,}
package { "puppet-dashboard":
provider => dpkg,ensure => latest,source => "/root/zabbix-release_4.0-2+bionic_all.deb"
}
$var3 = ['zabbix-server-MysqL','zabbix-frontend-PHP']
package { $var3 :
ensure => installed,}
MysqL::db { 'zabbix':
user => 'myuser',password => 'mypass',host => 'localhost',sql => '/root/zabbix/create.sql.gz',import_cat_cmd => 'zcat',import_timeout => 900,}
MysqL_grant { 'myuser@localhost/*.*':
ensure => 'present',options => ['GRANT'],privileges => ['ALL'],table => '*.*',user => 'myuser@localhost',}
file_line { 'zabbix config':
path => '/etc/zabbix/zabbix_server.conf',line => 'DBHost=localhost\ndbname=zabbix\nDBUser=myuser\nDBPassword=mypass',}
问题 - MysqL-server,在主机上下载不正确,并丢弃错误,使完整清单无用。
ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/var/run/MysqLd/MysqLd.sock' (2)
DOSNT 工作
mv /var/lib/dpkg/info/MysqL* /tmp/wtf3
apt-get remove MysqL*
apt-get purge MysqL*
rm -r /etc/MysqL/
apt --fix-broken install
解决方法
这很可能只是一个依赖问题 - Puppet 试图在 MySQL 服务器运行之前安装和运行 Zabbix。
尝试将 callback
资源更改为
package
您的清单中还缺少其他几个依赖项。请记住,Puppet 不会根据清单中的顺序对资源进行排序,至少不可靠。 Dependencies have to be given explicitly using require
,before
,notify
and subscribe
.