我正在尝试创建一个假的 /etc/hosts 以在模拟构建的 RPM 中设置主机名。这是 CentOS7,Mock/rpmbuild 还不够新,无法理解新的 Fedora _buildhost 宏。
所以我这样配置了一个文件:
config_opts['files']['etc/hosts']="""\
127.0.0.1 build.machine.com
"""
这是我的目标特定配置文件的末尾。不幸的是,这似乎被完全忽略了。
我查看过,/var/lib/mock/<target>/root/etc/hosts
这与构建机器的标准 /etc/hosts 相同。
任何人都能够阐明我做错了什么吗?
答案1
如果您使用 1.4.x 版本的 Mock,那么它默认使用 systemd-nspawn 容器来覆盖某些文件。至少 resolv.conf 并且也可能覆盖主机。您可以尝试--old-chroot
Mock 选项。
但如果你只想覆盖主机名,那么你可以输入配置:
config_opts['hostname'] = 'my.own.hostname'