簡體   English   中英

Packer 在我最后一個命令結束時掛起

[英]Packer hangs at the end of my last command

我想知道為什么我的代碼在使用 OpenVAS Scanner 的構建結束時掛起。 這是它最后顯示的內容:

==> Ubuntu AMI Builder: Provisioning with shell script: ../../pipeline/build/start.sh
    Ubuntu AMI Builder: Creating Data folder...
    Ubuntu AMI Builder: Running first start configuration...
    Ubuntu AMI Builder: Creating Openvas NVT sync user...
    Ubuntu AMI Builder: Wait for redis socket to be created...
    Ubuntu AMI Builder: Testing redis status...
    Ubuntu AMI Builder: Redis ready.
    Ubuntu AMI Builder: Creating NVT Plugins folder...
    Ubuntu AMI Builder: Fixing NVT Plugins folder...
    Ubuntu AMI Builder: Updating NVTs...
    Ubuntu AMI Builder: Removing leftover pid files from system
    Ubuntu AMI Builder: Starting Open Scanner Protocol daemon for OpenVAS...
    Ubuntu AMI Builder: Read and write capabilities for OpenVAS...
    Ubuntu AMI Builder: +++++++++++++++++++++++++++++++++++++++++++++++++++
    Ubuntu AMI Builder: + Your OpenVAS Scanner image is now ready to use! +
    Ubuntu AMI Builder: +++++++++++++++++++++++++++++++++++++++++++++++++++
    Ubuntu AMI Builder:
    Ubuntu AMI Builder: ++++++++++++++++++++++++++++++++
    Ubuntu AMI Builder: +++++++++ Tailing Logs +++++++++
    Ubuntu AMI Builder: ++++++++++++++++++++++++++++++++
    Ubuntu AMI Builder: OSPD[22021] 2021-04-15 03:44:05,252: INFO: (ospd.main) Starting OSPd OpenVAS version 20.8.1.

它是成功的,但掛在我的腳本末尾,這讓我非常困惑。 我的最后一段腳本如下:

####### Initiate ospd daemon for OpenVAS ########
echo "Starting Open Scanner Protocol daemon for OpenVAS..."
ospd-openvas --log-file /usr/local/var/log/gvm/ospd-openvas.log --unix-socket /data/ospd.sock --log-level INFO

while  [ ! -S /data/ospd.sock ]; do
    sleep 1
done

echo "Read and write capabilities for OpenVAS..."
chmod 666 /data/ospd.sock

echo "+++++++++++++++++++++++++++++++++++++++++++++++++++"
echo "+ Your OpenVAS Scanner image is now ready to use! +"
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++"
echo ""
echo "++++++++++++++++++++++++++++++++"
echo "+++++++++ Tailing Logs +++++++++"
echo "++++++++++++++++++++++++++++++++"
tail /usr/local/var/log/gvm/*

有誰知道為什么它在完成后掛在最后。 如果可能的話,我將不勝感激!

更新:我更新了代碼,而在配置程序末尾沒有-F ,它仍然繼續掛起。 我不確定ospd-openvas是否是罪魁禍首,但如果它不應用代碼,它應該以循環結束。 在此處輸入圖像描述

更新更新:這是我正在使用的配置器模板:

    "provisioners": [
      {
        "type": "shell",
        "execute_command": "sudo -u root /bin/bash -c '{{.Path}}'",
        "scripts": [
          "../../pipeline/build/build_ami.sh",
          "../../pipeline/build/start.sh"
        ]
      }
    ]
  }

這是我掛起后的調試日志:

2021/04/15 13:12:40 packer-provisioner-shell plugin: [INFO] RPC client: Communicator ended with: 0
2021/04/15 13:12:40 packer-builder-amazon-ebs plugin: [DEBUG] Opening new ssh session
2021/04/15 13:12:40 packer-builder-amazon-ebs plugin: [DEBUG] starting remote command: sudo -u root /bin/bash -c '/tmp/script_2838.sh'
2021/04/15 13:12:40 ui: [0;32m    Ubuntu AMI Builder: Creating Data folder...[0m
2021/04/15 13:12:40 ui: [0;32m    Ubuntu AMI Builder: Running first start configuration...[0m
2021/04/15 13:12:40 ui: [0;32m    Ubuntu AMI Builder: Creating Openvas NVT sync user...[0m
2021/04/15 13:12:40 ui: [0;32m    Ubuntu AMI Builder: Wait for redis socket to be created...[0m
2021/04/15 13:12:41 ui: [0;32m    Ubuntu AMI Builder: Testing redis status...[0m
2021/04/15 13:12:41 ui: [0;32m    Ubuntu AMI Builder: Redis ready.[0m
2021/04/15 13:12:41 ui: [0;32m    Ubuntu AMI Builder: Creating NVT Plugins folder...[0m
2021/04/15 13:12:41 ui: [0;32m    Ubuntu AMI Builder: Fixing NVT Plugins folder...[0m
2021/04/15 13:12:41 ui: [0;32m    Ubuntu AMI Builder: Removing leftover pid files from system[0m
2021/04/15 13:12:41 ui: [0;32m    Ubuntu AMI Builder: Starting Open Scanner Protocol daemon for OpenVAS...[0m
2021/04/15 13:12:42 ui: [0;32m    Ubuntu AMI Builder: Read and write capabilities for OpenVAS...[0m
2021/04/15 13:12:42 ui: [0;32m    Ubuntu AMI Builder: +++++++++++++++++++++++++++++++++++++++++++++++++++[0m
2021/04/15 13:12:42 ui: [0;32m    Ubuntu AMI Builder: + Your OpenVAS Scanner image is now ready to use! +[0m
2021/04/15 13:12:42 ui: [0;32m    Ubuntu AMI Builder: +++++++++++++++++++++++++++++++++++++++++++++++++++[0m
2021/04/15 13:12:42 ui: [0;32m    Ubuntu AMI Builder:[0m
2021/04/15 13:12:42 ui: [0;32m    Ubuntu AMI Builder: ++++++++++++++++++++++++++++++++[0m
2021/04/15 13:12:42 ui: [0;32m    Ubuntu AMI Builder: +++++++++ Tailing Logs +++++++++[0m
2021/04/15 13:12:42 ui: [0;32m    Ubuntu AMI Builder: ++++++++++++++++++++++++++++++++[0m
2021/04/15 13:12:42 ui: [0;32m    Ubuntu AMI Builder: OSPD[22185] 2021-04-15 18:12:41,530: INFO: (ospd.main) Starting OSPd OpenVAS version 20.8.1.[0m
2021/04/15 13:26:44 ui error: Cancelling build after receiving interrupt
2021/04/15 13:26:44 packer-provisioner-file plugin: Received interrupt signal (count: 1). Ignoring.
2021/04/15 13:26:44 packer-provisioner-file plugin: Received interrupt signal (count: 1). Ignoring.
2021/04/15 13:26:44 packer-provisioner-shell plugin: Received interrupt signal (count: 1). Ignoring.
2021/04/15 13:26:44 packer-builder-amazon-ebs plugin: Received interrupt signal (count: 1). Ignoring.
2021/04/15 13:26:44 Cancelling builder after context cancellation context canceled
2021/04/15 13:26:44 packer-builder-amazon-ebs plugin: Cancelling provisioning due to context cancellation: context canceled
2021/04/15 13:26:44 packer-builder-amazon-ebs plugin: Cancelling hook after context cancellation context canceled
2021/04/15 13:26:44 Cancelling provisioner after context cancellation context canceled
2021/04/15 13:26:44 ui: ask: [1;32m==> Ubuntu AMI Builder: Pausing before cleanup of step 'StepSetGeneratedData'. Press enter to continue.[0m
2021/04/15 13:26:44 packer-provisioner-shell plugin: Retryable error: context canceled
2021/04/15 13:26:44 [INFO] (telemetry) ending shell
2021/04/15 13:26:50 ui: ask: [1;32m==> Ubuntu AMI Builder: Pausing before cleanup of step 'StepConnect'. Press enter to continue.[0m
2021/04/15 13:26:51 ui: ask: [1;32m==> Ubuntu AMI Builder: Pausing before cleanup of step 'StepCreateSSMTunnel'. Press enter to continue.[0m
2021/04/15 13:26:52 ui: ask: [1;32m==> Ubuntu AMI Builder: Pausing before cleanup of step 'StepGetPassword'. Press enter to continue.[0m
2021/04/15 13:26:53 ui: ask: [1;32m==> Ubuntu AMI Builder: Pausing before cleanup of step 'StepRunSourceInstance'. Press enter to continue.[0m
2021/04/15 13:26:54 ui: [1;32m==> Ubuntu AMI Builder: Terminating the source AWS instance...[0m
2021/04/15 13:26:55 packer-builder-amazon-ebs plugin: [INFO] RPC endpoint: Communicator ended with: 0
2021/04/15 13:26:55 [INFO] 716 bytes written for 'stdout'
2021/04/15 13:26:55 [INFO] 0 bytes written for 'stderr'
2021/04/15 13:26:55 [INFO] RPC client: Communicator ended with: 0
2021/04/15 13:26:55 [INFO] RPC endpoint: Communicator ended with: 0
2021/04/15 13:26:55 packer-provisioner-shell plugin: [INFO] 716 bytes written for 'stdout'
2021/04/15 13:26:55 packer-provisioner-shell plugin: [INFO] 0 bytes written for 'stderr'
2021/04/15 13:26:55 packer-provisioner-shell plugin: [INFO] RPC client: Communicator ended with: 0

它掛起是因為你做錯了事。 您不想在配置映像時運行OpenVAS 服務,而只想安裝它。

該服務僅應在使用該映像的機器啟動時運行。 在這種情況下,您可能希望使用 systemd 來啟動服務。 我自己還沒有安裝 package,但我在網上查了一下,它似乎會自動為您安裝必要的 systemd 配置,但最好通過創建圖像實例並查看服務器是否是跑步。 根據您上面的配置,我猜這些標志無論如何都是默認值,因此可能沒有必要。 如果它們不是並且您真的很喜歡它們,那么您可能會在某個地方放置一個系統在啟動時會注意到的配置文件,並且如果您的配置腳本無法使用sed將它們放入systemd 配置文件。

解決方案:在配置期間不要運行 OpenVAS。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM