操作系统 - 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
答案 0 :(得分:0)
这很可能只是一个依赖问题 - Puppet 试图在 MySQL 服务器运行之前安装和运行 Zabbix。
尝试将 callback
资源更改为
package
您的清单中还缺少其他几个依赖项。请记住,Puppet 不会根据清单中的顺序对资源进行排序,至少不可靠。 Dependencies have to be given explicitly using require
, before
, notify
and subscribe
.