我们的设置相当复杂,因为我们的生产环境无法连接到互联网。 为了帮助生命周期,我在测试环境中使用Spacewalk服务器,按日期克隆通道进行修补发布,并且该通道在生产中同步到太空行走服务器。
这对Oracle Linux和CentOS非常有效,但我遇到了一些让Ubuntu Precise以相同方式工作的问题。
这里是程序的摘录:
在测试太空行走时,我从官方镜子同步:
spacewalk-debian-sync.pl --username xxxx --password 'xxxx' --channel 'precise-security' --url 'http://us.archive.ubuntu.com/ubuntu/dists/precise-security/main/binary-amd64/'
然后将此通道克隆到修补程序开始的时间点:
- 来自conf文件的内容 -
"precise-security": {
"label": "pit_precise_security",
"name": "Point In Time Repo Security x86_64",
"summary": "Contains a point in time repo",
"description": "Security Repo For Precise Security",
"parent": "pit_ubuntu_12.04"
},
- 剪辑 -
然后执行:spacewalk-clone-by-date -c /opt/scripts/clone_precise_to_st.conf -d $DATE
这很好用,测试服务器很乐意修补克隆的频道。
在生产方面我运行:
satellite-sync --iss-parent=tst-spacewalk.ics.dmz --ca-cert="/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT" -c pit_precise_security
这失败了:
IntegrityError: null value in column "label" violates not-null constraint
DETAIL: Failing row contains (30, null, 2015-08-10 16:35:26.658707+12, N, null).
然而,相同的配置适用于其他操作系统。 知道我错过了什么吗?