gpt4 book ai didi

linux - 运行 packer build 时补丁变空。如何解决这个问题

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:31 27 4
gpt4 key购买 nike

我已经使用打包工具在云环境中自动化了镜像构建过程。

它使用 linux 路径工具安装了很多工具并应用了很多补丁。

手动操作时,一切都按预期工作。但是对于打包机自动化,我面临着应用补丁的问题。

/etc/myprogram/myconfig.cfg 有一个配置文件.

我正在像这样运行补丁。

pushd /etc/myprogram
patch -p 0 < myconfig.cfg.patch

补丁在手动运行时应用成功。但是随着加壳器的出现,目标文件变空了。

但在打包程序构建的标准输出中,我可以看到应用了 2 个 hunks 的输出。

问题是什么云?请提供一些调试建议。

packer build base.json

基础.json

{
"builders": [
{
"flavor": "general1-8",
"image_name": "Havell Build {{ timestamp }}",
"source_image": "d944e490-f615-49a5-97f7-b80a8b0398d4",
"ssh_keypair_name": "packer-manual",
"ssh_private_key_file": "packer-manual.key",
"ssh_username": "root",
"type": "openstack"
}
],
"provisioners": [
{ "type": "shell",
"inline": "mkdir -p /tmp/patches/"
},
{
"type": "file",
"source": "patches/",
"destination": "/tmp/patches/"
},
{
"script": "apply_patches.sh",
"type": "shell"
}
]
}

apply_patches.sh

#!/bin/bash
set -ex

echo "*********************before************************"
echo "***************************************************"
cat /etc/myprogram/myconfig.cfg
echo "***************************************************"
echo "***************************************************"
pushd /etc/myprogram
patch -p 0 < myconfig.cfg.patch

echo "***********************after***********************"
echo "***************************************************"
cat /etc/myprogram/myconfig.cfg
echo "***************************************************"
echo "***************************************************"

exit 0

最佳答案

将脚本改为:

pushd /etc/myprogram
patch -p 0 < /tmp/patches/myconfig.cfg.patch

关于linux - 运行 packer build 时补丁变空。如何解决这个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44432569/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com