{"id":74513,"date":"2024-08-23T22:53:32","date_gmt":"2024-08-23T19:23:32","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/using-packer-and-proxmox-to-build-templates-455f\/"},"modified":"2024-08-23T22:53:32","modified_gmt":"2024-08-23T19:23:32","slug":"using-packer-and-proxmox-to-build-templates-455f","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/using-packer-and-proxmox-to-build-templates-455f\/","title":{"rendered":"\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Packer \u0648 Proxmox \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0642\u0627\u0644\u0628"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang<br \/>\n            \u062e\u0648\u062f\u06a9\u0627\u0631\u0633\u0627\u0632\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u0627\u0634\u06cc\u0646\u200c\u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc (VMs) \u0628\u062e\u0634\u06cc \u0636\u0631\u0648\u0631\u06cc \u0627\u0632 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a\u200c\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0641\u0646\u0627\u0648\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0633\u062a. Packer \u0648 Proxmox \u062f\u0648 \u0627\u0628\u0632\u0627\u0631 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u0631\u06a9\u06cc\u0628\u060c \u0631\u0627\u0647 \u062d\u0644 \u0645\u0648\u062b\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u0635\u0648\u06cc\u0631 VM \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f \u06a9\u0647 \u0686\u0631\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Packer \u0628\u0627 Proxmox \u0645\u0641\u06cc\u062f \u0627\u0633\u062a\u060c \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u062c\u0631\u0627\u06cc \u0639\u0645\u0644\u06cc \u0627\u06cc\u0646 \u062a\u0631\u06a9\u06cc\u0628 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p>  \u0686\u0631\u0627 \u0627\u0632 Packer \u0628\u0631\u0627\u06cc Proxmox \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<\/p>\n<p>\u062a\u06a9\u0631\u0627\u0631\u067e\u0630\u06cc\u0631\u06cc \u0648 \u0633\u0627\u0632\u06af\u0627\u0631\u06cc: Packer \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u062a\u0645\u0627\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 VM \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0628\u0627 \u0641\u0631\u0645\u062a HCL \u06cc\u0627 JSON \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Packer\u060c \u062a\u06a9\u0631\u0627\u0631\u067e\u0630\u06cc\u0631\u06cc \u062f\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u06cc\u062c\u0627\u062f \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u062b\u0628\u0627\u062a \u062f\u0631 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0648\u062f \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u06cc\u062f.<\/p>\n<p>\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u067e\u0644\u062a\u0641\u0631\u0645 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641: Packer \u0627\u0632 \u0686\u0646\u062f\u06cc\u0646 \u0641\u0631\u0648\u0634\u0646\u062f\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 Proxmox \u062a\u0646\u0647\u0627 \u06cc\u06a9\u06cc \u0627\u0632 \u0622\u0646\u0647\u0627\u0633\u062a. \u0627\u06cc\u0646 \u0627\u0646\u0639\u0637\u0627\u0641\u200c\u067e\u0630\u06cc\u0631\u06cc \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0635\u0627\u0648\u06cc\u0631\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0631 \u0631\u0648\u06cc \u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641 \u067e\u0644\u062a\u0641\u0631\u0645\u060c \u0686\u0647 \u062f\u0631 \u0645\u062d\u0644 \u0648 \u0686\u0647 \u062f\u0631 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc\u060c \u0645\u0633\u062a\u0642\u0631 \u0634\u0648\u0646\u062f.<\/p>\n<p>\u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0645\u0646\u0627\u0628\u0639: \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u062a\u0635\u0627\u0648\u06cc\u0631 \u0633\u0628\u06a9 \u0648\u0632\u0646\u060c \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0634\u062f\u0647\u060c \u062d\u0630\u0641 \u0627\u062c\u0632\u0627\u06cc \u063a\u06cc\u0631 \u0636\u0631\u0648\u0631\u06cc \u0648 \u0627\u0639\u0645\u0627\u0644 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062e\u0627\u0635 \u0645\u062d\u06cc\u0637 \u062e\u0648\u062f \u0631\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0635\u0631\u0641\u0647 \u062c\u0648\u06cc\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646: \u062e\u0648\u062f\u06a9\u0627\u0631\u0633\u0627\u0632\u06cc \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u06cc\u062c\u0627\u062f \u062a\u0635\u0648\u06cc\u0631 \u0632\u0645\u0627\u0646 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc \u0622\u0645\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc \u0631\u0627 \u0628\u0647 \u0645\u06cc\u0632\u0627\u0646 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u062f. \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06a9\u0627\u0631\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u0628\u06a9\u0647 \u0648 \u0628\u0633\u06cc\u0627\u0631\u06cc \u062f\u06cc\u06af\u0631 \u0631\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f \u0648 \u0686\u0631\u062e\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0631\u0627 \u062a\u0633\u0631\u06cc\u0639 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>  \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 Packer \u062f\u0631 Proxmox \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<\/p>\n<p>Packer \u0631\u0627 \u0631\u0648\u06cc \u062f\u0633\u062a\u06af\u0627\u0647 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u0647 Proxmox \u0628\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0631\u062f\u0646 \u062c\u0632\u0626\u06cc\u0627\u062a \u0627\u062a\u0635\u0627\u0644 (\u0622\u062f\u0631\u0633 IP \u0633\u0631\u0648\u0631\u06cc \u06a9\u0647 \u062a\u0635\u0648\u06cc\u0631 \u062f\u0631 \u0622\u0646 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u0634\u0648\u062f\u060c \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc\u060c \u0631\u0645\u0632 \u0639\u0628\u0648\u0631) \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0646\u0635\u0628\u060c \u0641\u0642\u0637 \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u06a9\u0646\u0645 \u06a9\u0647 \u0628\u0647 \u0648\u0628 \u0633\u0627\u06cc\u062a \u0631\u0633\u0645\u06cc \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0633\u067e\u0633 3 \u0645\u0631\u062d\u0644\u0647 \u062f\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u06cc\u062c\u0627\u062f \u062a\u0635\u0648\u06cc\u0631 Packer \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:<\/p>\n<p>\u0627\u06cc\u062c\u0627\u062f \u062a\u0639\u0631\u06cc\u0641 \u0645\u062f\u0644 Packer \u0648 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644<br \/>\n\u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Packer \u0628\u0627 \u0641\u0631\u0645\u062a HCL \u06cc\u0627 JSON \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u0631\u0627\u062d\u0644 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u062a\u0635\u0648\u06cc\u0631 Proxmox \u062e\u0648\u062f \u0631\u0627 \u0634\u0631\u062d \u062f\u0647\u062f.<br \/>\n\u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0646\u0648\u0639 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644\u060c \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627\u06cc \u062a\u0627\u0645\u06cc\u0646 \u0648 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u062e\u0627\u0635 Proxmox \u0631\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0647\u0627 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0633\u062a\u0642\u0644 \u0648 \u067e\u0648\u06cc\u0627\u060c \u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06a9\u0644\u06cc\u06a9 \u06a9\u0631\u062f\u0646 \u06cc\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u062a\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f. \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0627\u06cc\u062f \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0647 \u0634\u0648\u062f \u0648 \u062f\u0631 \u0631\u0627\u0633\u062a\u0627\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0646\u06cc\u0627\u0632\u0645\u0646\u062f\u06cc \u0647\u0627 \u062d\u0641\u0638 \u0634\u0648\u062f.<\/p>\n<p>\u0627\u062c\u0631\u0627\u06cc \u0633\u0627\u062e\u062a:\u0641\u0631\u0622\u06cc\u0646\u062f \u0633\u0627\u062e\u062a \u0648 \u0633\u0627\u0632 \u0631\u0627 \u0628\u0627 Packer \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f. Packer \u0628\u0647 \u0647\u0627\u0633\u062a Proxmox \u0634\u0645\u0627 \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u062f\u060c \u06cc\u06a9 VM \u0645\u0648\u0642\u062a \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f\u060c \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0631\u0627 \u0627\u0639\u0645\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0627\u0644\u06af\u0648 \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648 \u0645\u0646\u0628\u0639\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0634\u0645\u0627 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f\u060c \u0627\u0644\u06af\u0648\u06cc \u0628\u0631\u0627\u06cc \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc.<\/p>\n<p>\u0627\u0639\u062a\u0628\u0627\u0631 \u0633\u0646\u062c\u06cc:<\/p>\n<p>\u062a\u0635\u0648\u06cc\u0631 \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0622\u0646 \u0628\u0631 \u0631\u0648\u06cc \u06cc\u06a9 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc Proxmox \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<br \/>\n\u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0647\u0627\u0633\u062a \u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 Proxmox \u062a\u0648\u0632\u06cc\u0639 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>  \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0646 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0646<\/p>\n<p>\u0645\u0646 \u0627\u0632 Packer \u062f\u0631 homelab \u062e\u0648\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u0642\u0627\u0644\u0628\u200c\u0647\u0627 (Debian 12 \u0648 Ubuntu 22.04) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u06a9\u0647 \u0633\u067e\u0633 \u0627\u0632 \u0637\u0631\u06cc\u0642 Open Tofu \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0645\u0627\u0634\u06cc\u0646\u200c\u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u062e\u0648\u062f \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645. \u0628\u0631\u0627\u06cc \u0622\u0633\u0627\u0646\u200c\u062a\u0631 \u06a9\u0631\u062f\u0646 \u0633\u0641\u0627\u0631\u0634\u06cc\u200c\u0633\u0627\u0632\u06cc\u060c \u062a\u0627 \u062d\u062f \u0627\u0645\u06a9\u0627\u0646 \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u067e\u0627\u06cc\u0647 \u062b\u0627\u0628\u062a \u0627\u0633\u062a \u0648 \u0641\u0642\u0637 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 (\u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u0627\u06af\u0627\u0646\u0647) \u0628\u0627\u06cc\u062f \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0627\u0635\u0644\u0627\u062d \u0634\u0648\u0646\u062f.<\/p>\n<p>\u0645\u0646 \u0642\u0628\u0644\u0627\u064b \u062a\u0635\u0648\u06cc\u0631 ISO Debian 12 \u0631\u0627 \u062f\u0631 \u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0631\u0648\u06cc \u0647\u0627\u0633\u062a Proxmox \u062e\u0648\u062f \u0622\u067e\u0644\u0648\u062f \u06a9\u0631\u062f\u0647 \u0627\u0645. \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0627\u0632 Packer \u0628\u0631\u0627\u06cc \u062f\u0627\u0646\u0644\u0648\u062f \u062a\u0635\u0648\u06cc\u0631 ISO \u0627\u0632 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u0648 \u0627\u0631\u0633\u0627\u0644 \u0622\u0646 \u0628\u0647 \u0647\u0627\u0633\u062a Proxmox \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0645\u0646 \u0627\u06cc\u0646 \u0631\u0627\u0647 \u062d\u0644 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u06a9\u0631\u062f\u0645 \u0632\u06cc\u0631\u0627 \u0645\u06cc \u062e\u0648\u0627\u0633\u062a\u0645 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0648\u0628 \u0631\u0627 \u0645\u062d\u062f\u0648\u062f \u06a9\u0646\u0645 \u0648 \u062e\u0648\u062f\u0645 \u0631\u0627 \u0628\u0631\u0627\u06cc &#8220;\u062e\u0648\u062f \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc&#8221; \u06a9\u0627\u0645\u0644 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u0645.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646 Proxmox \u0648 Packer\u060c \u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u062f\u0631 \u0642\u0644\u0645\u0631\u0648 &#8220;pve&#8221; \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0645\u060c \u0633\u067e\u0633 \u06cc\u06a9 \u062a\u0648\u06a9\u0646 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0645 \u0648 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u062d\u0642\u0648\u0642\u06cc \u0631\u0627 \u0628\u0647 \u062a\u0648\u06a9\u0646 API \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0645:<\/p>\n<p>\u062f\u0631 \u062a\u0628 &#8220;Datacenter&#8221; \u0628\u0647 \u0628\u062e\u0634 &#8220;Permissions&#8221; \u0631\u0641\u062a\u0647 \u0648 \u0631\u0648\u06cc &#8220;Users&#8221; \u0648 \u062f\u06a9\u0645\u0647 &#8220;Add&#8221; \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f. \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0644\u0627\u0632\u0645 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f (\u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631) \u0633\u067e\u0633 \u0641\u0631\u0645 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f. \u0646\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0628\u0647 \u062e\u0627\u0637\u0631 \u0628\u0633\u067e\u0627\u0631\u06cc\u062f.<br \/>\n\u0647\u0646\u0648\u0632 \u062f\u0631 \u0628\u062e\u0634 \u00ab\u0645\u062c\u0648\u0632\u0647\u0627\u00bb\u060c \u0631\u0648\u06cc \u00ab\u062a\u0648\u06a9\u0646 API\u00bb \u0648 \u062f\u06a9\u0645\u0647 \u00ab\u0627\u0641\u0632\u0648\u062f\u0646\u00bb \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f. \u06a9\u0627\u0631\u0628\u0631\u06cc \u06a9\u0647 \u0642\u0628\u0644\u0627 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647 \u0646\u0634\u0627\u0646\u0647 \u06cc\u06a9 \u0646\u0627\u0645 \u0628\u062f\u0647\u06cc\u062f (\u0628\u0631\u0627\u06cc \u0628\u0647 \u062e\u0627\u0637\u0631 \u0633\u067e\u0631\u062f\u0646) \u0648 \u0628\u0627 \u0641\u0631\u0645 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f. \u0633\u067e\u0633 \u06cc\u06a9 \u0631\u0627\u0632 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0645\u06a9\u0627\u0646\u06cc \u0627\u0645\u0646 \u0630\u062e\u06cc\u0631\u0647 \u0634\u0648\u062f. \u0627\u06cc\u0646 \u0631\u0627\u0632 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 Proxmox \u0628\u0627 Packer \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a.<br \/>\n\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0628\u0647 \u0628\u062e\u0634 \u00ab\u0645\u062c\u0648\u0632\u0647\u0627\u00bb \u0628\u0631\u06af\u0631\u062f\u06cc\u062f\u060c \u0633\u067e\u0633 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 \u00ab\u0627\u0641\u0632\u0648\u062f\u0646 &#8211; \u0645\u062c\u0648\u0632 \u062a\u0648\u06a9\u0646 API\u00bb \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f: \u06a9\u0627\u0631\u0628\u0631\u06cc \u0631\u0627 \u0628\u0627 \u0634\u0646\u0627\u0633\u0647 API \u06a9\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f \u0648 \u062d\u0642\u0648\u0642 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>\u0645\u0633\u06cc\u0631: &#8220;https:\/\/dev.to\/&#8221;<\/p>\n<p>\u0646\u0642\u0634 : &#8220;PVEAdmin&#8221; (\u062e\u06cc\u0644\u06cc \u0632\u06cc\u0627\u062f \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0686\u0627\u0631\u0647 \u0627\u06cc \u0646\u06cc\u0633\u062a. \u06cc\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0646\u0642\u0634 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u062d\u0642\u0648\u0642 \u0644\u0627\u0632\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f&#8230;)<\/p>\n<p>\u0627\u0646\u062a\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f: \u06a9\u0627\u062f\u0631 \u0631\u0627 \u0639\u0644\u0627\u0645\u062a \u0628\u0632\u0646\u06cc\u062f (\u0628\u0631\u0627\u06cc \u062f\u0627\u0634\u062a\u0646 \u0645\u062c\u0648\u0632 \u062f\u0631 \u06a9\u0644 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a &#8211; \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u060c \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc\u060c \u0634\u0628\u06a9\u0647 \u0645\u0641\u06cc\u062f \u0627\u0633\u062a)<\/p>\n<p>\u062f\u0631 \u067e\u0648\u0634\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0646 \u062f\u0631 \u0622\u0646 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f\u060c \u0645\u0646 \u06cc\u06a9 \u0632\u06cc\u0631\u067e\u0648\u0634\u0647 &#8220;autoinstall&#8221; \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u0645 \u062a\u0627 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0631\u0627 \u0642\u0631\u0627\u0631 \u062f\u0647\u0645 \u06a9\u0647 \u0628\u0647 Debian \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u0635\u0628 \u0634\u0648\u062f.<\/p>\n<p>~\/git\/homelab\/packer$ tree<br \/>\n.<br \/>\n\u251c\u2500\u2500 autoinstall<br \/>\n\u2502   \u251c\u2500\u2500 preseed.cfg<br \/>\n\u251c\u2500\u2500 customdeb12.pkrvars.hcl<br \/>\n\u2514\u2500\u2500 debian12.pkr.hcl<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u0632 \u0627\u06cc\u0646 \u067e\u0633\u060c \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 Debian 12 \u0628\u0627 Packer\u060c \u0628\u0631\u0627\u06cc Proxmox \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0622\u0645\u062f\u0647 \u0627\u0633\u062a:\u0641\u0627\u06cc\u0644 debian12.pkr.hcl&#8221;: \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0627\u0644\u0632\u0627\u0645\u0627\u062a Packer \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0627\u060c \u0627\u0633\u0627\u0633 \u0645\u062f\u0644 \u0645\u0627\u060c \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0633\u0631\u0648\u0631 Proxmox \u0648 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\/\/ debian12.pkr.hcl<br \/>\npacker {<br \/>\n  required_plugins {<br \/>\n    name = {<br \/>\n      version = &#8220;1.1.6&#8221;<br \/>\n      source  = &#8220;github.com\/hashicorp\/proxmox&#8221;<br \/>\n    }<br \/>\n  }<br \/>\n}<br \/>\nvariable &#8220;bios_type&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;boot_command&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;boot_wait&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;bridge_firewall&#8221; {<br \/>\n  type    = bool<br \/>\n  default = false<br \/>\n}<br \/>\nvariable &#8220;bridge_name&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;cloud_init&#8221; {<br \/>\n  type = bool<br \/>\n}<br \/>\nvariable &#8220;iso_file&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;iso_storage_pool&#8221; {<br \/>\n  type    = string<br \/>\n  default = &#8220;local&#8221;<br \/>\n}<br \/>\nvariable &#8220;machine_default_type&#8221; {<br \/>\n  type    = string<br \/>\n  default = &#8220;pc&#8221;<br \/>\n}<br \/>\nvariable &#8220;network_model&#8221; {<br \/>\n  type    = string<br \/>\n  default = &#8220;virtio&#8221;<br \/>\n}<br \/>\nvariable &#8220;os_type&#8221; {<br \/>\n  type    = string<br \/>\n  default = &#8220;l26&#8221;<br \/>\n}<br \/>\nvariable &#8220;proxmox_api_token_id&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;proxmox_api_token_secret&#8221; {<br \/>\n  type      = string<br \/>\n  sensitive = true<br \/>\n}<br \/>\nvariable &#8220;proxmox_api_url&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;proxmox_node&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;qemu_agent_activation&#8221; {<br \/>\n  type    = bool<br \/>\n  default = true<br \/>\n}<br \/>\nvariable &#8220;scsi_controller_type&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;ssh_timeout&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;tags&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;io_thread&#8221; {<br \/>\n  type = bool<br \/>\n}<br \/>\nvariable &#8220;cpu_type&#8221; {<br \/>\n  type    = string<br \/>\n  default = &#8220;kvm64&#8221;<br \/>\n}<br \/>\nvariable &#8220;vm_info&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;disk_discard&#8221; {<br \/>\n  type    = bool<br \/>\n  default = true<br \/>\n}<br \/>\nvariable &#8220;disk_format&#8221; {<br \/>\n  type    = string<br \/>\n  default = &#8220;qcow2&#8221;<br \/>\n}<br \/>\nvariable &#8220;disk_size&#8221; {<br \/>\n  type    = string<br \/>\n  default = &#8220;16G&#8221;<br \/>\n}<br \/>\nvariable &#8220;disk_type&#8221; {<br \/>\n  type    = string<br \/>\n  default = &#8220;scsi&#8221;<br \/>\n}<br \/>\nvariable &#8220;nb_core&#8221; {<br \/>\n  type    = number<br \/>\n  default = 1<br \/>\n}<br \/>\nvariable &#8220;nb_cpu&#8221; {<br \/>\n  type    = number<br \/>\n  default = 1<br \/>\n}<br \/>\nvariable &#8220;nb_ram&#8221; {<br \/>\n  type    = number<br \/>\n  default = 1024<br \/>\n}<br \/>\nvariable &#8220;ssh_username&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;ssh_password&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nvariable &#8220;ssh_handshake_attempts&#8221; {<br \/>\n  type = number<br \/>\n}<br \/>\nvariable &#8220;storage_pool&#8221; {<br \/>\n  type    = string<br \/>\n  default = &#8220;local-lvm&#8221;<br \/>\n}<br \/>\nvariable &#8220;vm_id&#8221; {<br \/>\n  type    = number<br \/>\n  default = 99999<br \/>\n}<br \/>\nvariable &#8220;vm_name&#8221; {<br \/>\n  type = string<br \/>\n}<br \/>\nlocals {<br \/>\n  packer_timestamp = formatdate(&#8220;YYYYMMDD-hhmm&#8221;, timestamp())<br \/>\n}<br \/>\nsource &#8220;proxmox-iso&#8221; &#8220;debian12&#8221; {<br \/>\n  bios                     = &#8220;${var.bios_type}&#8221;<br \/>\n  boot_command             = [&#8220;${var.boot_command}&#8221;]\n  boot_wait                = &#8220;${var.boot_wait}&#8221;<br \/>\n  cloud_init               = &#8220;${var.cloud_init}&#8221;<br \/>\n  cloud_init_storage_pool  = &#8220;${var.storage_pool}&#8221;<br \/>\n  communicator             = &#8220;ssh&#8221;<br \/>\n  cores                    = &#8220;${var.nb_core}&#8221;<br \/>\n  cpu_type                 = &#8220;${var.cpu_type}&#8221;<br \/>\n  http_directory           = &#8220;autoinstall&#8221;<br \/>\n  insecure_skip_tls_verify = true<br \/>\n  iso_file                 = &#8220;${var.iso_file}&#8221;<br \/>\n  machine                  = &#8220;${var.machine_default_type}&#8221;<br \/>\n  memory                   = &#8220;${var.nb_ram}&#8221;<br \/>\n  node                     = &#8220;${var.proxmox_node}&#8221;<br \/>\n  os                       = &#8220;${var.os_type}&#8221;<br \/>\n  proxmox_url              = &#8220;${var.proxmox_api_url}&#8221;<br \/>\n  qemu_agent               = &#8220;${var.qemu_agent_activation}&#8221;<br \/>\n  scsi_controller          = &#8220;${var.scsi_controller_type}&#8221;<br \/>\n  sockets                  = &#8220;${var.nb_cpu}&#8221;<br \/>\n  ssh_handshake_attempts   = &#8220;${var.ssh_handshake_attempts}&#8221;<br \/>\n  ssh_pty                  = true<br \/>\n  ssh_timeout              = &#8220;${var.ssh_timeout}&#8221;<br \/>\n  ssh_username             = &#8220;${var.ssh_username}&#8221;<br \/>\n  ssh_password             = &#8220;${var.ssh_password}&#8221;<br \/>\n  tags                     = &#8220;${var.tags}&#8221;<br \/>\n  template_description     = &#8220;${var.vm_info} &#8211; ${local.packer_timestamp}&#8221;<br \/>\n  token                    = &#8220;${var.proxmox_api_token_secret}&#8221;<br \/>\n  unmount_iso              = true<br \/>\n  username                 = &#8220;${var.proxmox_api_token_id}&#8221;<br \/>\n  vm_id                    = &#8220;${var.vm_id}&#8221;<br \/>\n  vm_name                  = &#8220;${var.vm_name}&#8221;<br \/>\n  disks {<br \/>\n    discard      = &#8220;${var.disk_discard}&#8221;<br \/>\n    disk_size    = &#8220;${var.disk_size}&#8221;<br \/>\n    format       = &#8220;${var.disk_format}&#8221;<br \/>\n    io_thread    = &#8220;${var.io_thread}&#8221;<br \/>\n    storage_pool = &#8220;${var.storage_pool}&#8221;<br \/>\n    type         = &#8220;${var.disk_type}&#8221;<br \/>\n  }<br \/>\n  network_adapters {<br \/>\n    bridge   = &#8220;${var.bridge_name}&#8221;<br \/>\n    firewall = &#8220;${var.bridge_firewall}&#8221;<br \/>\n    model    = &#8220;${var.network_model}&#8221;<br \/>\n  }<br \/>\n}<br \/>\nbuild {<br \/>\n  sources = [&#8220;source.proxmox-iso.debian12&#8243;]\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0641\u0627\u06cc\u0644 Custom.pkvars.hcl&#8221;: \u0628\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u06a9\u0631\u062f\u0646 \u0645\u062f\u0644 \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\/\/ custom.pkvars.hcl<br \/>\nbios_type                = &#8220;seabios&#8221;<br \/>\nboot_command             = &#8220;auto console-keymaps-at\/keymap=fr console-setup\/ask_detect=false debconf\/frontend=noninteractive fb=false url=http:\/\/{{ .HTTPIP }}:{{ .HTTPPort }}\/preseed.cfg&#8221;<br \/>\nboot_wait                = &#8220;10s&#8221;<br \/>\nbridge_name              = &#8220;vmbr0&#8221;<br \/>\nbridge_firewall          = false<br \/>\ncloud_init               = true<br \/>\ncpu_type                 = &#8220;x86-64-v2-AES&#8221;<br \/>\ndisk_discard             = true<br \/>\ndisk_format              = &#8220;qcow2&#8221;<br \/>\ndisk_size                = &#8220;12G&#8221;<br \/>\ndisk_type                = &#8220;scsi&#8221;<br \/>\niso_file                 = &#8220;local:iso\/debian-12.4.0-amd64-netinst.iso&#8221;<br \/>\nmachine_default_type     = &#8220;q35&#8221;<br \/>\nnb_core                  = 1<br \/>\nnb_cpu                   = 1<br \/>\nnb_ram                   = 2048<br \/>\nnetwork_model            = &#8220;virtio&#8221;<br \/>\nio_thread                = false<br \/>\nos_type                  = &#8220;l26&#8221;<br \/>\nproxmox_api_token_id     = &#8220;packbot@pve!nom_token&#8221;<br \/>\nproxmox_api_token_secret = &#8220;aaaaaa-aaaa-bbbb-cccc-123456789012&#8221;<br \/>\nproxmox_api_url          = &#8220;https:\/\/ip_proxmox:8006\/api2\/json&#8221;<br \/>\nproxmox_node             = &#8220;nom_h\u00f4te_proxmox&#8221;<br \/>\nqemu_agent_activation    = true<br \/>\nscsi_controller_type     = &#8220;virtio-scsi-pci&#8221;<br \/>\nssh_handshake_attempts   = 6<br \/>\nssh_timeout              = &#8220;35m&#8221;<br \/>\nssh_username             = &#8220;umair&#8221;<br \/>\nssh_password             = &#8220;umairpwd&#8221;<br \/>\nstorage_pool             = &#8220;stoCeph&#8221;<br \/>\ntags                     = &#8220;template&#8221;<br \/>\nvm_id                    = 99998<br \/>\nvm_info                  = &#8220;Debian 12 Packer Template&#8221;<br \/>\nvm_name                  = &#8220;pckr-deb12&#8221;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0686\u0646\u062f \u0646\u06a9\u062a\u0647 \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u06cc\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627:<\/p>\n<p>\u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u0642\u0627\u062f\u06cc\u0631 &#8220;bridge_name&#8221;\u060c &#8220;iso_file&#8221; (\u0646\u0627\u0645 \u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0647 \u062a\u0635\u0648\u06cc\u0631 ISO \u062f\u0631 \u0622\u0646 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f \u0648 \u0646\u0627\u0645 \u0622\u0646)\u060c &#8220;proxmox_&#8221;\u060c &#8220;ssh_*&#8221; \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<br \/>\n\u0645\u062a\u063a\u06cc\u0631 &#8220;boot_command&#8221; \u0628\u0631\u0627\u06cc \u0648\u0627\u062f\u0627\u0631 \u06a9\u0631\u062f\u0646 ISO \u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f<br \/>\n&#8220;cloud_init \u0646\u0635\u0628 \u0648 \u0641\u0639\u0627\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a \u062a\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc \u0628\u0631\u0627\u06cc Open Tofu \u0622\u0633\u0627\u0646 \u062a\u0631 \u0634\u0648\u062f.<\/p>\n<p>\u0645\u0646 \u0628\u0647 \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u0645 \u06a9\u0647 \u0633\u0627\u06cc\u0631 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f \u0648 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0645\u0637\u0627\u0628\u0642 \u0628\u0627 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u062e\u0648\u062f \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u0641\u0627\u06cc\u0644 &#8220;autoinstall\/preseed.cfg&#8221;: \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0646\u0635\u0628 \u062f\u0628\u06cc\u0627\u0646\u060c \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u0628\u062f\u0648\u0646 \u0644\u0645\u0633.<\/p>\n<p>#_preseed_V1<br \/>\nd-i debian-installer\/language string en<br \/>\nd-i debian-installer\/country string EN<br \/>\nd-i debian-installer\/locale string en_US.UTF-8<br \/>\nd-i localechooser\/supported-locales multiselect en_US.UTF-8, en_US.UTF-8<br \/>\nd-i keyboard-configuration\/xkb-keymap select en<br \/>\nd-i console-keymaps-at\/keymap select en-latin9<br \/>\nd-i debian-installer\/keymap string en-latin9<br \/>\nd-i netcfg\/choose_interface select auto<br \/>\nd-i netcfg\/link_wait_timeout string 5<br \/>\nd-i netcfg\/dhcp_timeout string 60<br \/>\nd-i netcfg\/get_hostname string pckr-deb12<br \/>\nd-i netcfg\/get_domain string local.xyz.com<br \/>\nd-i netcfg\/wireless_wep string<br \/>\nd-i hw-detect\/load_firmware boolean false<br \/>\nd-i mirror\/country string FR<br \/>\nd-i mirror\/http\/hostname string deb.debian.org<br \/>\nd-i mirror\/http\/directory string \/debian<br \/>\nd-i mirror\/http\/proxy string<br \/>\nd-i passwd\/root-login boolean true<br \/>\nd-i passwd\/make-user boolean true<br \/>\nd-i passwd\/root-password password umairpwd<br \/>\nd-i passwd\/root-password-again password umairpwd<br \/>\nd-i passwd\/user-fullname string umair<br \/>\nd-i passwd\/username string umair<br \/>\nd-i passwd\/user-password password umairpwd<br \/>\nd-i passwd\/user-password-again password umairpwd<br \/>\nd-i clock-setup\/utc boolean true<br \/>\nd-i time\/zone string US\/New York<br \/>\nd-i clock-setup\/ntp boolean true<br \/>\nd-i clock-setup\/ntp-server string  0.us.pool.ntp.org<br \/>\nd-i partman-auto\/disk string \/dev\/sda<br \/>\nd-i partman-auto\/method string lvm<br \/>\nd-i partman-auto-lvm\/guided_size string max<br \/>\nd-i partman-lvm\/device_remove_lvm boolean true<br \/>\nd-i partman-lvm\/confirm boolean true<br \/>\nd-i partman-lvm\/confirm_nooverwrite boolean true<br \/>\nd-i partman-auto\/choose_recipe select multi<br \/>\nd-i partman-partitioning\/confirm_write_new_label boolean true<br \/>\nd-i partman\/choose_partition select finish<br \/>\nd-i partman\/confirm boolean true<br \/>\nd-i partman\/confirm_nooverwrite boolean true<br \/>\nd-i partman-md\/confirm boolean true<br \/>\nd-i partman-partitioning\/confirm_write_new_label boolean true<br \/>\nd-i partman\/choose_partition select finish<br \/>\nd-i partman\/confirm boolean true<br \/>\nd-i partman\/confirm_nooverwrite boolean true<br \/>\nd-i partman\/mount_style select uuid<br \/>\nd-i base-installer\/install-recommends boolean false<br \/>\nd-i apt-setup\/cdrom\/set-first boolean false<br \/>\nd-i apt-setup\/use_mirror boolean true<br \/>\nd-i apt-setup\/security_host string security.debian.org<br \/>\ntasksel tasksel\/first multiselect standard, ssh-server<br \/>\nd-i pkgsel\/include string qemu-guest-agent sudo ca-certificates cloud-init<br \/>\nd-i pkgsel\/upgrade select safe-upgrade<br \/>\npopularity-contest popularity-contest\/participate boolean false<br \/>\nd-i grub-installer\/only_debian boolean true<br \/>\nd-i grub-installer\/with_other_os boolean false<br \/>\nd-i grub-installer\/bootdev string default<br \/>\nd-i finish-install\/reboot_in_progress note<br \/>\nd-i cdrom-detect\/eject boolean true<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0628\u0627 \u062a\u0645\u0627\u0645 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0628\u0627\u0644\u0627 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0627\u0631\u0628\u0631 \u062f\u0631 Proxmox\u060c \u0628\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 \u0645\u0627\u0634\u06cc\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f. \u062f\u0633\u062a\u0648\u0631\u0627\u062a Packer \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627 \u0628\u0647 \u0634\u0631\u062d \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<p># initialize the repository to retrieve:<br \/>\npacker init debian12.pkr.hcl<br \/>\n# validate Packer files:<br \/>\npacker validate -var-file=customdeb12.pkrvars.hcl debian12.pkr.hcl<br \/>\n# build the image, replacing the artefact if it already exists:<br \/>\npacker build -on-error=ask -force -var-file=customdeb12.pkrvars.hcl debian12.pkr.hcl<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<div data-article-id=\"1971058\" id=\"article-body\">\n<p>\u062e\u0648\u062f\u06a9\u0627\u0631\u0633\u0627\u0632\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u0627\u0634\u06cc\u0646\u200c\u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc (VMs) \u0628\u062e\u0634\u06cc \u0636\u0631\u0648\u0631\u06cc \u0627\u0632 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a\u200c\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0641\u0646\u0627\u0648\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0633\u062a. Packer \u0648 Proxmox \u062f\u0648 \u0627\u0628\u0632\u0627\u0631 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u0631\u06a9\u06cc\u0628\u060c \u0631\u0627\u0647 \u062d\u0644 \u0645\u0648\u062b\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u0635\u0648\u06cc\u0631 VM \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f \u06a9\u0647 \u0686\u0631\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Packer \u0628\u0627 Proxmox \u0645\u0641\u06cc\u062f \u0627\u0633\u062a\u060c \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u062c\u0631\u0627\u06cc \u0639\u0645\u0644\u06cc \u0627\u06cc\u0646 \u062a\u0631\u06a9\u06cc\u0628 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u062a\u063a\u06cc\u06cc\u0631 \u0648\u0636\u0639\u06cc\u062a \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/using-packer-and-proxmox-to-build-templates-455f\/#%DA%86%D8%B1%D8%A7_%D8%A7%D8%B2_Packer_%D8%A8%D8%B1%D8%A7%DB%8C_Proxmox_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\" >\u0686\u0631\u0627 \u0627\u0632 Packer \u0628\u0631\u0627\u06cc Proxmox \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/using-packer-and-proxmox-to-build-templates-455f\/#%DA%86%DA%AF%D9%88%D9%86%D9%87_%D8%A7%D8%B2_Packer_%D8%AF%D8%B1_Proxmox_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\" >\u0686\u06af\u0648\u0646\u0647 \u0627\u0632 Packer \u062f\u0631 Proxmox \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/using-packer-and-proxmox-to-build-templates-455f\/#%D9%85%D9%88%D8%B1%D8%AF_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D9%85%D9%86_%D9%88_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D9%85%D9%86\" >\u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0646 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0646<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%DA%86%D8%B1%D8%A7_%D8%A7%D8%B2_Packer_%D8%A8%D8%B1%D8%A7%DB%8C_Proxmox_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\"><\/span>\n<p>  \u0686\u0631\u0627 \u0627\u0632 Packer \u0628\u0631\u0627\u06cc Proxmox \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>\n<strong>\u062a\u06a9\u0631\u0627\u0631\u067e\u0630\u06cc\u0631\u06cc \u0648 \u0633\u0627\u0632\u06af\u0627\u0631\u06cc<\/strong>: Packer \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u062a\u0645\u0627\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 VM \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0628\u0627 \u0641\u0631\u0645\u062a HCL \u06cc\u0627 JSON \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Packer\u060c \u062a\u06a9\u0631\u0627\u0631\u067e\u0630\u06cc\u0631\u06cc \u062f\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u06cc\u062c\u0627\u062f \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u062b\u0628\u0627\u062a \u062f\u0631 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062e\u0648\u062f \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u06cc\u062f.<\/li>\n<li>\n<strong>\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u067e\u0644\u062a\u0641\u0631\u0645 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641<\/strong>: Packer \u0627\u0632 \u0686\u0646\u062f\u06cc\u0646 \u0641\u0631\u0648\u0634\u0646\u062f\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 Proxmox \u062a\u0646\u0647\u0627 \u06cc\u06a9\u06cc \u0627\u0632 \u0622\u0646\u0647\u0627\u0633\u062a. \u0627\u06cc\u0646 \u0627\u0646\u0639\u0637\u0627\u0641\u200c\u067e\u0630\u06cc\u0631\u06cc \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0635\u0627\u0648\u06cc\u0631\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0631 \u0631\u0648\u06cc \u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641 \u067e\u0644\u062a\u0641\u0631\u0645\u060c \u0686\u0647 \u062f\u0631 \u0645\u062d\u0644 \u0648 \u0686\u0647 \u062f\u0631 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc\u060c \u0645\u0633\u062a\u0642\u0631 \u0634\u0648\u0646\u062f.<\/li>\n<li>\n<strong>\u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0645\u0646\u0627\u0628\u0639<\/strong>: \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u062a\u0635\u0627\u0648\u06cc\u0631 \u0633\u0628\u06a9 \u0648\u0632\u0646\u060c \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0634\u062f\u0647\u060c \u062d\u0630\u0641 \u0627\u062c\u0632\u0627\u06cc \u063a\u06cc\u0631 \u0636\u0631\u0648\u0631\u06cc \u0648 \u0627\u0639\u0645\u0627\u0644 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062e\u0627\u0635 \u0645\u062d\u06cc\u0637 \u062e\u0648\u062f \u0631\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\n<strong>\u0635\u0631\u0641\u0647 \u062c\u0648\u06cc\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646<\/strong>: \u062e\u0648\u062f\u06a9\u0627\u0631\u0633\u0627\u0632\u06cc \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u06cc\u062c\u0627\u062f \u062a\u0635\u0648\u06cc\u0631 \u0632\u0645\u0627\u0646 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc \u0622\u0645\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc \u0631\u0627 \u0628\u0647 \u0645\u06cc\u0632\u0627\u0646 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u06a9\u0627\u0647\u0634 \u0645\u06cc \u062f\u0647\u062f. \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06a9\u0627\u0631\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u0628\u06a9\u0647 \u0648 \u0628\u0633\u06cc\u0627\u0631\u06cc \u062f\u06cc\u06af\u0631 \u0631\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f \u0648 \u0686\u0631\u062e\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0631\u0627 \u062a\u0633\u0631\u06cc\u0639 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%DA%86%DA%AF%D9%88%D9%86%D9%87_%D8%A7%D8%B2_Packer_%D8%AF%D8%B1_Proxmox_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\"><\/span>\n<p>  \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 Packer \u062f\u0631 Proxmox \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Packer \u0631\u0627 \u0631\u0648\u06cc \u062f\u0633\u062a\u06af\u0627\u0647 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u0647 Proxmox \u0628\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0631\u062f\u0646 \u062c\u0632\u0626\u06cc\u0627\u062a \u0627\u062a\u0635\u0627\u0644 (\u0622\u062f\u0631\u0633 IP \u0633\u0631\u0648\u0631\u06cc \u06a9\u0647 \u062a\u0635\u0648\u06cc\u0631 \u062f\u0631 \u0622\u0646 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u0634\u0648\u062f\u060c \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc\u060c \u0631\u0645\u0632 \u0639\u0628\u0648\u0631) \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0646\u0635\u0628\u060c \u0641\u0642\u0637 \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u06a9\u0646\u0645 \u06a9\u0647 \u0628\u0647 \u0648\u0628 \u0633\u0627\u06cc\u062a \u0631\u0633\u0645\u06cc \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0633\u067e\u0633 3 \u0645\u0631\u062d\u0644\u0647 \u062f\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u06cc\u062c\u0627\u062f \u062a\u0635\u0648\u06cc\u0631 Packer \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:<\/p>\n<ol>\n<li>\u0627\u06cc\u062c\u0627\u062f \u062a\u0639\u0631\u06cc\u0641 \u0645\u062f\u0644 Packer \u0648 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644<\/li>\n<li>\u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Packer \u0628\u0627 \u0641\u0631\u0645\u062a HCL \u06cc\u0627 JSON \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u0631\u0627\u062d\u0644 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u062a\u0635\u0648\u06cc\u0631 Proxmox \u062e\u0648\u062f \u0631\u0627 \u0634\u0631\u062d \u062f\u0647\u062f.<\/li>\n<li>\u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0646\u0648\u0639 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644\u060c \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627\u06cc \u062a\u0627\u0645\u06cc\u0646 \u0648 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u062e\u0627\u0635 Proxmox \u0631\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p>\u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0647\u0627 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0633\u062a\u0642\u0644 \u0648 \u067e\u0648\u06cc\u0627\u060c \u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06a9\u0644\u06cc\u06a9 \u06a9\u0631\u062f\u0646 \u06cc\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u062a\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f. \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0627\u06cc\u062f \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0647 \u0634\u0648\u062f \u0648 \u062f\u0631 \u0631\u0627\u0633\u062a\u0627\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0646\u06cc\u0627\u0632\u0645\u0646\u062f\u06cc \u0647\u0627 \u062d\u0641\u0638 \u0634\u0648\u062f.<\/p>\n<p><strong>\u0627\u062c\u0631\u0627\u06cc \u0633\u0627\u062e\u062a:<\/strong><br \/>\u0641\u0631\u0622\u06cc\u0646\u062f \u0633\u0627\u062e\u062a \u0648 \u0633\u0627\u0632 \u0631\u0627 \u0628\u0627 Packer \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f. Packer \u0628\u0647 \u0647\u0627\u0633\u062a Proxmox \u0634\u0645\u0627 \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u062f\u060c \u06cc\u06a9 VM \u0645\u0648\u0642\u062a \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f\u060c \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0631\u0627 \u0627\u0639\u0645\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0627\u0644\u06af\u0648 \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648 \u0645\u0646\u0628\u0639\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0634\u0645\u0627 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f\u060c \u0627\u0644\u06af\u0648\u06cc \u0628\u0631\u0627\u06cc \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc.<\/p>\n<p><strong>\u0627\u0639\u062a\u0628\u0627\u0631 \u0633\u0646\u062c\u06cc:<\/strong><\/p>\n<ul>\n<li>\u062a\u0635\u0648\u06cc\u0631 \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0622\u0646 \u0628\u0631 \u0631\u0648\u06cc \u06cc\u06a9 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062c\u0627\u0632\u06cc Proxmox \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0647\u0627\u0633\u062a \u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 Proxmox \u062a\u0648\u0632\u06cc\u0639 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D9%88%D8%B1%D8%AF_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D9%85%D9%86_%D9%88_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D9%85%D9%86\"><\/span>\n<p>  \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0646 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0646 \u0627\u0632 Packer \u062f\u0631 homelab \u062e\u0648\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u0642\u0627\u0644\u0628\u200c\u0647\u0627 (Debian 12 \u0648 Ubuntu 22.04) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u06a9\u0647 \u0633\u067e\u0633 \u0627\u0632 \u0637\u0631\u06cc\u0642 Open Tofu \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0645\u0627\u0634\u06cc\u0646\u200c\u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u062e\u0648\u062f \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645. \u0628\u0631\u0627\u06cc \u0622\u0633\u0627\u0646\u200c\u062a\u0631 \u06a9\u0631\u062f\u0646 \u0633\u0641\u0627\u0631\u0634\u06cc\u200c\u0633\u0627\u0632\u06cc\u060c \u062a\u0627 \u062d\u062f \u0627\u0645\u06a9\u0627\u0646 \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u067e\u0627\u06cc\u0647 \u062b\u0627\u0628\u062a \u0627\u0633\u062a \u0648 \u0641\u0642\u0637 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 (\u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u0627\u06af\u0627\u0646\u0647) \u0628\u0627\u06cc\u062f \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0627\u0635\u0644\u0627\u062d \u0634\u0648\u0646\u062f.<\/p>\n<p>\u0645\u0646 \u0642\u0628\u0644\u0627\u064b \u062a\u0635\u0648\u06cc\u0631 ISO Debian 12 \u0631\u0627 \u062f\u0631 \u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0631\u0648\u06cc \u0647\u0627\u0633\u062a Proxmox \u062e\u0648\u062f \u0622\u067e\u0644\u0648\u062f \u06a9\u0631\u062f\u0647 \u0627\u0645. \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0627\u0632 Packer \u0628\u0631\u0627\u06cc \u062f\u0627\u0646\u0644\u0648\u062f \u062a\u0635\u0648\u06cc\u0631 ISO \u0627\u0632 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u0648 \u0627\u0631\u0633\u0627\u0644 \u0622\u0646 \u0628\u0647 \u0647\u0627\u0633\u062a Proxmox \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0645\u0646 \u0627\u06cc\u0646 \u0631\u0627\u0647 \u062d\u0644 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u06a9\u0631\u062f\u0645 \u0632\u06cc\u0631\u0627 \u0645\u06cc \u062e\u0648\u0627\u0633\u062a\u0645 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0648\u0628 \u0631\u0627 \u0645\u062d\u062f\u0648\u062f \u06a9\u0646\u0645 \u0648 \u062e\u0648\u062f\u0645 \u0631\u0627 \u0628\u0631\u0627\u06cc &#8220;\u062e\u0648\u062f \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc&#8221; \u06a9\u0627\u0645\u0644 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u0645.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646 Proxmox \u0648 Packer\u060c \u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u062f\u0631 \u0642\u0644\u0645\u0631\u0648 &#8220;pve&#8221; \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0645\u060c \u0633\u067e\u0633 \u06cc\u06a9 \u062a\u0648\u06a9\u0646 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0645 \u0648 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u062d\u0642\u0648\u0642\u06cc \u0631\u0627 \u0628\u0647 \u062a\u0648\u06a9\u0646 API \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0645:<\/p>\n<ul>\n<li>\u062f\u0631 \u062a\u0628 &#8220;Datacenter&#8221; \u0628\u0647 \u0628\u062e\u0634 &#8220;Permissions&#8221; \u0631\u0641\u062a\u0647 \u0648 \u0631\u0648\u06cc &#8220;Users&#8221; \u0648 \u062f\u06a9\u0645\u0647 &#8220;Add&#8221; \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f. \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0644\u0627\u0632\u0645 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f (\u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631) \u0633\u067e\u0633 \u0641\u0631\u0645 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f. \u0646\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0628\u0647 \u062e\u0627\u0637\u0631 \u0628\u0633\u067e\u0627\u0631\u06cc\u062f.<\/li>\n<li>\u0647\u0646\u0648\u0632 \u062f\u0631 \u0628\u062e\u0634 \u00ab\u0645\u062c\u0648\u0632\u0647\u0627\u00bb\u060c \u0631\u0648\u06cc \u00ab\u062a\u0648\u06a9\u0646 API\u00bb \u0648 \u062f\u06a9\u0645\u0647 \u00ab\u0627\u0641\u0632\u0648\u062f\u0646\u00bb \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f. \u06a9\u0627\u0631\u0628\u0631\u06cc \u06a9\u0647 \u0642\u0628\u0644\u0627 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647 \u0646\u0634\u0627\u0646\u0647 \u06cc\u06a9 \u0646\u0627\u0645 \u0628\u062f\u0647\u06cc\u062f (\u0628\u0631\u0627\u06cc \u0628\u0647 \u062e\u0627\u0637\u0631 \u0633\u067e\u0631\u062f\u0646) \u0648 \u0628\u0627 \u0641\u0631\u0645 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f. \u0633\u067e\u0633 \u06cc\u06a9 \u0631\u0627\u0632 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0645\u06a9\u0627\u0646\u06cc \u0627\u0645\u0646 \u0630\u062e\u06cc\u0631\u0647 \u0634\u0648\u062f. \u0627\u06cc\u0646 \u0631\u0627\u0632 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 Proxmox \u0628\u0627 Packer \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a.<\/li>\n<li>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0628\u0647 \u0628\u062e\u0634 \u00ab\u0645\u062c\u0648\u0632\u0647\u0627\u00bb \u0628\u0631\u06af\u0631\u062f\u06cc\u062f\u060c \u0633\u067e\u0633 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 \u00ab\u0627\u0641\u0632\u0648\u062f\u0646 &#8211; \u0645\u062c\u0648\u0632 \u062a\u0648\u06a9\u0646 API\u00bb \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f: \u06a9\u0627\u0631\u0628\u0631\u06cc \u0631\u0627 \u0628\u0627 \u0634\u0646\u0627\u0633\u0647 API \u06a9\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f \u0648 \u062d\u0642\u0648\u0642 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/li>\n<li>\n<em>\u0645\u0633\u06cc\u0631<\/em>: &#8220;https:\/\/dev.to\/&#8221;<\/li>\n<li>\n<em>\u0646\u0642\u0634 <\/em>: &#8220;PVEAdmin&#8221; (\u062e\u06cc\u0644\u06cc \u0632\u06cc\u0627\u062f \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0686\u0627\u0631\u0647 \u0627\u06cc \u0646\u06cc\u0633\u062a. \u06cc\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0646\u0642\u0634 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u062d\u0642\u0648\u0642 \u0644\u0627\u0632\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f&#8230;)<\/li>\n<li>\n<em>\u0627\u0646\u062a\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f<\/em>: \u06a9\u0627\u062f\u0631 \u0631\u0627 \u0639\u0644\u0627\u0645\u062a \u0628\u0632\u0646\u06cc\u062f (\u0628\u0631\u0627\u06cc \u062f\u0627\u0634\u062a\u0646 \u0645\u062c\u0648\u0632 \u062f\u0631 \u06a9\u0644 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a &#8211; \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u060c \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc\u060c \u0634\u0628\u06a9\u0647 \u0645\u0641\u06cc\u062f \u0627\u0633\u062a)<\/li>\n<\/ul>\n<p>\u062f\u0631 \u067e\u0648\u0634\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0646 \u062f\u0631 \u0622\u0646 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f\u060c \u0645\u0646 \u06cc\u06a9 \u0632\u06cc\u0631\u067e\u0648\u0634\u0647 &#8220;autoinstall&#8221; \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u0645 \u062a\u0627 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0631\u0627 \u0642\u0631\u0627\u0631 \u062f\u0647\u0645 \u06a9\u0647 \u0628\u0647 Debian \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u0635\u0628 \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>~\/git\/homelab\/packer<span class=\"nv\">$ <\/span>tree\n<span class=\"nb\">.<\/span>\n\u251c\u2500\u2500 autoinstall\n\u2502   \u251c\u2500\u2500 preseed.cfg\n\u251c\u2500\u2500 customdeb12.pkrvars.hcl\n\u2514\u2500\u2500 debian12.pkr.hcl\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0632 \u0627\u06cc\u0646 \u067e\u0633\u060c \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 Debian 12 \u0628\u0627 Packer\u060c \u0628\u0631\u0627\u06cc Proxmox \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0622\u0645\u062f\u0647 \u0627\u0633\u062a:<br \/>\u0641\u0627\u06cc\u0644 debian12.pkr.hcl&#8221;: \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0627\u0644\u0632\u0627\u0645\u0627\u062a Packer \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0627\u060c \u0627\u0633\u0627\u0633 \u0645\u062f\u0644 \u0645\u0627\u060c \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0633\u0631\u0648\u0631 Proxmox \u0648 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight hcl\"><code><span class=\"c1\">\/\/ debian12.pkr.hcl<\/span>\n<span class=\"nx\">packer<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">required_plugins<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">name<\/span> <span class=\"p\">=<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nx\">version<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"1.1.6\"<\/span>\n      <span class=\"nx\">source<\/span>  <span class=\"p\">=<\/span> <span class=\"s2\">\"github.com\/hashicorp\/proxmox\"<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"bios_type\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"boot_command\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"boot_wait\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"bridge_firewall\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">bool<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"kc\">false<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"bridge_name\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"cloud_init\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">bool<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"iso_file\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"iso_storage_pool\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"local\"<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"machine_default_type\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"pc\"<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"network_model\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"virtio\"<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"os_type\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"l26\"<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"proxmox_api_token_id\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"proxmox_api_token_secret\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>      <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n  <span class=\"nx\">sensitive<\/span> <span class=\"p\">=<\/span> <span class=\"kc\">true<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"proxmox_api_url\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"proxmox_node\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"qemu_agent_activation\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">bool<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"kc\">true<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"scsi_controller_type\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"ssh_timeout\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"tags\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"io_thread\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">bool<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"cpu_type\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"kvm64\"<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"vm_info\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"disk_discard\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">bool<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"kc\">true<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"disk_format\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"qcow2\"<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"disk_size\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"16G\"<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"disk_type\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"scsi\"<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"nb_core\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">number<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"mi\">1<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"nb_cpu\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">number<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"mi\">1<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"nb_ram\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">number<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"mi\">1024<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"ssh_username\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"ssh_password\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"ssh_handshake_attempts\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">number<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"storage_pool\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"local-lvm\"<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"vm_id\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span>    <span class=\"p\">=<\/span> <span class=\"nx\">number<\/span>\n  <span class=\"nx\">default<\/span> <span class=\"p\">=<\/span> <span class=\"mi\">99999<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"vm_name\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">locals<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">packer_timestamp<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">formatdate<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"YYYYMMDD-hhmm\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">timestamp<\/span><span class=\"p\">())<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">source<\/span> <span class=\"s2\">\"proxmox-iso\"<\/span> <span class=\"s2\">\"debian12\"<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">bios<\/span>                     <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.bios_type}\"<\/span>\n  <span class=\"nx\">boot_command<\/span>             <span class=\"p\">=<\/span> <span class=\"p\">[<\/span><span class=\"s2\">\"${var.boot_command}\"<\/span><span class=\"p\">]<\/span>\n  <span class=\"nx\">boot_wait<\/span>                <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.boot_wait}\"<\/span>\n  <span class=\"nx\">cloud_init<\/span>               <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.cloud_init}\"<\/span>\n  <span class=\"nx\">cloud_init_storage_pool<\/span>  <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.storage_pool}\"<\/span>\n  <span class=\"nx\">communicator<\/span>             <span class=\"p\">=<\/span> <span class=\"s2\">\"ssh\"<\/span>\n  <span class=\"nx\">cores<\/span>                    <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.nb_core}\"<\/span>\n  <span class=\"nx\">cpu_type<\/span>                 <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.cpu_type}\"<\/span>\n  <span class=\"nx\">http_directory<\/span>           <span class=\"p\">=<\/span> <span class=\"s2\">\"autoinstall\"<\/span>\n  <span class=\"nx\">insecure_skip_tls_verify<\/span> <span class=\"p\">=<\/span> <span class=\"kc\">true<\/span>\n  <span class=\"nx\">iso_file<\/span>                 <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.iso_file}\"<\/span>\n  <span class=\"nx\">machine<\/span>                  <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.machine_default_type}\"<\/span>\n  <span class=\"nx\">memory<\/span>                   <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.nb_ram}\"<\/span>\n  <span class=\"nx\">node<\/span>                     <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.proxmox_node}\"<\/span>\n  <span class=\"nx\">os<\/span>                       <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.os_type}\"<\/span>\n  <span class=\"nx\">proxmox_url<\/span>              <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.proxmox_api_url}\"<\/span>\n  <span class=\"nx\">qemu_agent<\/span>               <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.qemu_agent_activation}\"<\/span>\n  <span class=\"nx\">scsi_controller<\/span>          <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.scsi_controller_type}\"<\/span>\n  <span class=\"nx\">sockets<\/span>                  <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.nb_cpu}\"<\/span>\n  <span class=\"nx\">ssh_handshake_attempts<\/span>   <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.ssh_handshake_attempts}\"<\/span>\n  <span class=\"nx\">ssh_pty<\/span>                  <span class=\"p\">=<\/span> <span class=\"kc\">true<\/span>\n  <span class=\"nx\">ssh_timeout<\/span>              <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.ssh_timeout}\"<\/span>\n  <span class=\"nx\">ssh_username<\/span>             <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.ssh_username}\"<\/span>\n  <span class=\"nx\">ssh_password<\/span>             <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.ssh_password}\"<\/span>\n  <span class=\"nx\">tags<\/span>                     <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.tags}\"<\/span>\n  <span class=\"nx\">template_description<\/span>     <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.vm_info} - ${local.packer_timestamp}\"<\/span>\n  <span class=\"nx\">token<\/span>                    <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.proxmox_api_token_secret}\"<\/span>\n  <span class=\"nx\">unmount_iso<\/span>              <span class=\"p\">=<\/span> <span class=\"kc\">true<\/span>\n  <span class=\"nx\">username<\/span>                 <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.proxmox_api_token_id}\"<\/span>\n  <span class=\"nx\">vm_id<\/span>                    <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.vm_id}\"<\/span>\n  <span class=\"nx\">vm_name<\/span>                  <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.vm_name}\"<\/span>\n  <span class=\"nx\">disks<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">discard<\/span>      <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.disk_discard}\"<\/span>\n    <span class=\"nx\">disk_size<\/span>    <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.disk_size}\"<\/span>\n    <span class=\"nx\">format<\/span>       <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.disk_format}\"<\/span>\n    <span class=\"nx\">io_thread<\/span>    <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.io_thread}\"<\/span>\n    <span class=\"nx\">storage_pool<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.storage_pool}\"<\/span>\n    <span class=\"nx\">type<\/span>         <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.disk_type}\"<\/span>\n  <span class=\"p\">}<\/span>\n  <span class=\"nx\">network_adapters<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">bridge<\/span>   <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.bridge_name}\"<\/span>\n    <span class=\"nx\">firewall<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.bridge_firewall}\"<\/span>\n    <span class=\"nx\">model<\/span>    <span class=\"p\">=<\/span> <span class=\"s2\">\"${var.network_model}\"<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">build<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">sources<\/span> <span class=\"p\">=<\/span> <span class=\"p\">[<\/span><span class=\"s2\">\"source.proxmox-iso.debian12\"<\/span><span class=\"p\">]<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0641\u0627\u06cc\u0644 Custom.pkvars.hcl&#8221;: \u0628\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u06a9\u0631\u062f\u0646 \u0645\u062f\u0644 \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight hcl\"><code><span class=\"c1\">\/\/ custom.pkvars.hcl<\/span>\n<span class=\"nx\">bios_type<\/span>                <span class=\"err\">=<\/span> <span class=\"s2\">\"seabios\"<\/span>\n<span class=\"nx\">boot_command<\/span>             <span class=\"err\">=<\/span> <span class=\"s2\">\"<esc><wait>auto console-keymaps-at\/keymap=fr console-setup\/ask_detect=false debconf\/frontend=noninteractive fb=false url=http:\/\/{{ .HTTPIP }}:{{ .HTTPPort }}\/preseed.cfg<enter>\"<\/enter><\/wait><\/esc><\/span>\n<span class=\"nx\">boot_wait<\/span>                <span class=\"err\">=<\/span> <span class=\"s2\">\"10s\"<\/span>\n<span class=\"nx\">bridge_name<\/span>              <span class=\"err\">=<\/span> <span class=\"s2\">\"vmbr0\"<\/span>\n<span class=\"nx\">bridge_firewall<\/span>          <span class=\"err\">=<\/span> <span class=\"kc\">false<\/span>\n<span class=\"nx\">cloud_init<\/span>               <span class=\"err\">=<\/span> <span class=\"kc\">true<\/span>\n<span class=\"nx\">cpu_type<\/span>                 <span class=\"err\">=<\/span> <span class=\"s2\">\"x86-64-v2-AES\"<\/span>\n<span class=\"nx\">disk_discard<\/span>             <span class=\"err\">=<\/span> <span class=\"kc\">true<\/span>\n<span class=\"nx\">disk_format<\/span>              <span class=\"err\">=<\/span> <span class=\"s2\">\"qcow2\"<\/span>\n<span class=\"nx\">disk_size<\/span>                <span class=\"err\">=<\/span> <span class=\"s2\">\"12G\"<\/span>\n<span class=\"nx\">disk_type<\/span>                <span class=\"err\">=<\/span> <span class=\"s2\">\"scsi\"<\/span>\n<span class=\"nx\">iso_file<\/span>                 <span class=\"err\">=<\/span> <span class=\"s2\">\"local:iso\/debian-12.4.0-amd64-netinst.iso\"<\/span>\n<span class=\"nx\">machine_default_type<\/span>     <span class=\"err\">=<\/span> <span class=\"s2\">\"q35\"<\/span>\n<span class=\"nx\">nb_core<\/span>                  <span class=\"err\">=<\/span> <span class=\"mi\">1<\/span>\n<span class=\"nx\">nb_cpu<\/span>                   <span class=\"err\">=<\/span> <span class=\"mi\">1<\/span>\n<span class=\"nx\">nb_ram<\/span>                   <span class=\"err\">=<\/span> <span class=\"mi\">2048<\/span>\n<span class=\"nx\">network_model<\/span>            <span class=\"err\">=<\/span> <span class=\"s2\">\"virtio\"<\/span>\n<span class=\"nx\">io_thread<\/span>                <span class=\"err\">=<\/span> <span class=\"kc\">false<\/span>\n<span class=\"nx\">os_type<\/span>                  <span class=\"err\">=<\/span> <span class=\"s2\">\"l26\"<\/span>\n<span class=\"nx\">proxmox_api_token_id<\/span>     <span class=\"err\">=<\/span> <span class=\"s2\">\"packbot@pve!nom_token\"<\/span>\n<span class=\"nx\">proxmox_api_token_secret<\/span> <span class=\"err\">=<\/span> <span class=\"s2\">\"aaaaaa-aaaa-bbbb-cccc-123456789012\"<\/span>\n<span class=\"nx\">proxmox_api_url<\/span>          <span class=\"err\">=<\/span> <span class=\"s2\">\"https:\/\/ip_proxmox:8006\/api2\/json\"<\/span>\n<span class=\"nx\">proxmox_node<\/span>             <span class=\"err\">=<\/span> <span class=\"s2\">\"nom_h\u00f4te_proxmox\"<\/span>\n<span class=\"nx\">qemu_agent_activation<\/span>    <span class=\"err\">=<\/span> <span class=\"kc\">true<\/span>\n<span class=\"nx\">scsi_controller_type<\/span>     <span class=\"err\">=<\/span> <span class=\"s2\">\"virtio-scsi-pci\"<\/span>\n<span class=\"nx\">ssh_handshake_attempts<\/span>   <span class=\"err\">=<\/span> <span class=\"mi\">6<\/span>\n<span class=\"nx\">ssh_timeout<\/span>              <span class=\"err\">=<\/span> <span class=\"s2\">\"35m\"<\/span>\n<span class=\"nx\">ssh_username<\/span>             <span class=\"err\">=<\/span> <span class=\"s2\">\"umair\"<\/span>\n<span class=\"nx\">ssh_password<\/span>             <span class=\"err\">=<\/span> <span class=\"s2\">\"umairpwd\"<\/span>\n<span class=\"nx\">storage_pool<\/span>             <span class=\"err\">=<\/span> <span class=\"s2\">\"stoCeph\"<\/span>\n<span class=\"nx\">tags<\/span>                     <span class=\"err\">=<\/span> <span class=\"s2\">\"template\"<\/span>\n<span class=\"nx\">vm_id<\/span>                    <span class=\"err\">=<\/span> <span class=\"mi\">99998<\/span>\n<span class=\"nx\">vm_info<\/span>                  <span class=\"err\">=<\/span> <span class=\"s2\">\"Debian 12 Packer Template\"<\/span>\n<span class=\"nx\">vm_name<\/span>                  <span class=\"err\">=<\/span> <span class=\"s2\">\"pckr-deb12\"<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0686\u0646\u062f \u0646\u06a9\u062a\u0647 \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u06cc\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627:<\/p>\n<ul>\n<li>\u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u0642\u0627\u062f\u06cc\u0631 &#8220;bridge_name&#8221;\u060c &#8220;iso_file&#8221; (\u0646\u0627\u0645 \u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0647 \u062a\u0635\u0648\u06cc\u0631 ISO \u062f\u0631 \u0622\u0646 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f \u0648 \u0646\u0627\u0645 \u0622\u0646)\u060c &#8220;proxmox_&#8221;\u060c &#8220;ssh_*&#8221; \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/li>\n<li>\u0645\u062a\u063a\u06cc\u0631 &#8220;boot_command&#8221; \u0628\u0631\u0627\u06cc \u0648\u0627\u062f\u0627\u0631 \u06a9\u0631\u062f\u0646 ISO \u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f<\/li>\n<li>&#8220;cloud_init \u0646\u0635\u0628 \u0648 \u0641\u0639\u0627\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a \u062a\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0627\u0634\u06cc\u0646 \u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc \u0628\u0631\u0627\u06cc Open Tofu \u0622\u0633\u0627\u0646 \u062a\u0631 \u0634\u0648\u062f.<\/li>\n<\/ul>\n<p>\u0645\u0646 \u0628\u0647 \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u0645 \u06a9\u0647 \u0633\u0627\u06cc\u0631 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f \u0648 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0645\u0637\u0627\u0628\u0642 \u0628\u0627 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u062e\u0648\u062f \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u0641\u0627\u06cc\u0644 &#8220;autoinstall\/preseed.cfg&#8221;: \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0646\u0635\u0628 \u062f\u0628\u06cc\u0627\u0646\u060c \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u0628\u062f\u0648\u0646 \u0644\u0645\u0633.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight conf\"><code><span class=\"c\">#_preseed_V1\n<\/span><span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">debian<\/span>-<span class=\"n\">installer<\/span>\/<span class=\"n\">language<\/span> <span class=\"n\">string<\/span> <span class=\"n\">en<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">debian<\/span>-<span class=\"n\">installer<\/span>\/<span class=\"n\">country<\/span> <span class=\"n\">string<\/span> <span class=\"n\">EN<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">debian<\/span>-<span class=\"n\">installer<\/span>\/<span class=\"n\">locale<\/span> <span class=\"n\">string<\/span> <span class=\"n\">en_US<\/span>.<span class=\"n\">UTF<\/span>-<span class=\"m\">8<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">localechooser<\/span>\/<span class=\"n\">supported<\/span>-<span class=\"n\">locales<\/span> <span class=\"n\">multiselect<\/span> <span class=\"n\">en_US<\/span>.<span class=\"n\">UTF<\/span>-<span class=\"m\">8<\/span>, <span class=\"n\">en_US<\/span>.<span class=\"n\">UTF<\/span>-<span class=\"m\">8<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">keyboard<\/span>-<span class=\"n\">configuration<\/span>\/<span class=\"n\">xkb<\/span>-<span class=\"n\">keymap<\/span> <span class=\"n\">select<\/span> <span class=\"n\">en<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">console<\/span>-<span class=\"n\">keymaps<\/span>-<span class=\"n\">at<\/span>\/<span class=\"n\">keymap<\/span> <span class=\"n\">select<\/span> <span class=\"n\">en<\/span>-<span class=\"n\">latin9<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">debian<\/span>-<span class=\"n\">installer<\/span>\/<span class=\"n\">keymap<\/span> <span class=\"n\">string<\/span> <span class=\"n\">en<\/span>-<span class=\"n\">latin9<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">netcfg<\/span>\/<span class=\"n\">choose_interface<\/span> <span class=\"n\">select<\/span> <span class=\"n\">auto<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">netcfg<\/span>\/<span class=\"n\">link_wait_timeout<\/span> <span class=\"n\">string<\/span> <span class=\"m\">5<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">netcfg<\/span>\/<span class=\"n\">dhcp_timeout<\/span> <span class=\"n\">string<\/span> <span class=\"m\">60<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">netcfg<\/span>\/<span class=\"n\">get_hostname<\/span> <span class=\"n\">string<\/span> <span class=\"n\">pckr<\/span>-<span class=\"n\">deb12<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">netcfg<\/span>\/<span class=\"n\">get_domain<\/span> <span class=\"n\">string<\/span> <span class=\"n\">local<\/span>.<span class=\"n\">xyz<\/span>.<span class=\"n\">com<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">netcfg<\/span>\/<span class=\"n\">wireless_wep<\/span> <span class=\"n\">string<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">hw<\/span>-<span class=\"n\">detect<\/span>\/<span class=\"n\">load_firmware<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">false<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">mirror<\/span>\/<span class=\"n\">country<\/span> <span class=\"n\">string<\/span> <span class=\"n\">FR<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">mirror<\/span>\/<span class=\"n\">http<\/span>\/<span class=\"n\">hostname<\/span> <span class=\"n\">string<\/span> <span class=\"n\">deb<\/span>.<span class=\"n\">debian<\/span>.<span class=\"n\">org<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">mirror<\/span>\/<span class=\"n\">http<\/span>\/<span class=\"n\">directory<\/span> <span class=\"n\">string<\/span> \/<span class=\"n\">debian<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">mirror<\/span>\/<span class=\"n\">http<\/span>\/<span class=\"n\">proxy<\/span> <span class=\"n\">string<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">passwd<\/span>\/<span class=\"n\">root<\/span>-<span class=\"n\">login<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">passwd<\/span>\/<span class=\"n\">make<\/span>-<span class=\"n\">user<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">passwd<\/span>\/<span class=\"n\">root<\/span>-<span class=\"n\">password<\/span> <span class=\"n\">password<\/span> <span class=\"n\">umairpwd<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">passwd<\/span>\/<span class=\"n\">root<\/span>-<span class=\"n\">password<\/span>-<span class=\"n\">again<\/span> <span class=\"n\">password<\/span> <span class=\"n\">umairpwd<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">passwd<\/span>\/<span class=\"n\">user<\/span>-<span class=\"n\">fullname<\/span> <span class=\"n\">string<\/span> <span class=\"n\">umair<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">passwd<\/span>\/<span class=\"n\">username<\/span> <span class=\"n\">string<\/span> <span class=\"n\">umair<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">passwd<\/span>\/<span class=\"n\">user<\/span>-<span class=\"n\">password<\/span> <span class=\"n\">password<\/span> <span class=\"n\">umairpwd<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">passwd<\/span>\/<span class=\"n\">user<\/span>-<span class=\"n\">password<\/span>-<span class=\"n\">again<\/span> <span class=\"n\">password<\/span> <span class=\"n\">umairpwd<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">clock<\/span>-<span class=\"n\">setup<\/span>\/<span class=\"n\">utc<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">time<\/span>\/<span class=\"n\">zone<\/span> <span class=\"n\">string<\/span> <span class=\"n\">US<\/span>\/<span class=\"n\">New<\/span> <span class=\"n\">York<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">clock<\/span>-<span class=\"n\">setup<\/span>\/<span class=\"n\">ntp<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">clock<\/span>-<span class=\"n\">setup<\/span>\/<span class=\"n\">ntp<\/span>-<span class=\"n\">server<\/span> <span class=\"n\">string<\/span>  <span class=\"m\">0<\/span>.<span class=\"n\">us<\/span>.<span class=\"n\">pool<\/span>.<span class=\"n\">ntp<\/span>.<span class=\"n\">org<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>-<span class=\"n\">auto<\/span>\/<span class=\"n\">disk<\/span> <span class=\"n\">string<\/span> \/<span class=\"n\">dev<\/span>\/<span class=\"n\">sda<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>-<span class=\"n\">auto<\/span>\/<span class=\"n\">method<\/span> <span class=\"n\">string<\/span> <span class=\"n\">lvm<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>-<span class=\"n\">auto<\/span>-<span class=\"n\">lvm<\/span>\/<span class=\"n\">guided_size<\/span> <span class=\"n\">string<\/span> <span class=\"n\">max<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>-<span class=\"n\">lvm<\/span>\/<span class=\"n\">device_remove_lvm<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>-<span class=\"n\">lvm<\/span>\/<span class=\"n\">confirm<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>-<span class=\"n\">lvm<\/span>\/<span class=\"n\">confirm_nooverwrite<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>-<span class=\"n\">auto<\/span>\/<span class=\"n\">choose_recipe<\/span> <span class=\"n\">select<\/span> <span class=\"n\">multi<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>-<span class=\"n\">partitioning<\/span>\/<span class=\"n\">confirm_write_new_label<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>\/<span class=\"n\">choose_partition<\/span> <span class=\"n\">select<\/span> <span class=\"n\">finish<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>\/<span class=\"n\">confirm<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>\/<span class=\"n\">confirm_nooverwrite<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>-<span class=\"n\">md<\/span>\/<span class=\"n\">confirm<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>-<span class=\"n\">partitioning<\/span>\/<span class=\"n\">confirm_write_new_label<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>\/<span class=\"n\">choose_partition<\/span> <span class=\"n\">select<\/span> <span class=\"n\">finish<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>\/<span class=\"n\">confirm<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>\/<span class=\"n\">confirm_nooverwrite<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">partman<\/span>\/<span class=\"n\">mount_style<\/span> <span class=\"n\">select<\/span> <span class=\"n\">uuid<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">base<\/span>-<span class=\"n\">installer<\/span>\/<span class=\"n\">install<\/span>-<span class=\"n\">recommends<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">false<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">apt<\/span>-<span class=\"n\">setup<\/span>\/<span class=\"n\">cdrom<\/span>\/<span class=\"n\">set<\/span>-<span class=\"n\">first<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">false<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">apt<\/span>-<span class=\"n\">setup<\/span>\/<span class=\"n\">use_mirror<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">apt<\/span>-<span class=\"n\">setup<\/span>\/<span class=\"n\">security_host<\/span> <span class=\"n\">string<\/span> <span class=\"n\">security<\/span>.<span class=\"n\">debian<\/span>.<span class=\"n\">org<\/span>\n<span class=\"n\">tasksel<\/span> <span class=\"n\">tasksel<\/span>\/<span class=\"n\">first<\/span> <span class=\"n\">multiselect<\/span> <span class=\"n\">standard<\/span>, <span class=\"n\">ssh<\/span>-<span class=\"n\">server<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">pkgsel<\/span>\/<span class=\"n\">include<\/span> <span class=\"n\">string<\/span> <span class=\"n\">qemu<\/span>-<span class=\"n\">guest<\/span>-<span class=\"n\">agent<\/span> <span class=\"n\">sudo<\/span> <span class=\"n\">ca<\/span>-<span class=\"n\">certificates<\/span> <span class=\"n\">cloud<\/span>-<span class=\"n\">init<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">pkgsel<\/span>\/<span class=\"n\">upgrade<\/span> <span class=\"n\">select<\/span> <span class=\"n\">safe<\/span>-<span class=\"n\">upgrade<\/span>\n<span class=\"n\">popularity<\/span>-<span class=\"n\">contest<\/span> <span class=\"n\">popularity<\/span>-<span class=\"n\">contest<\/span>\/<span class=\"n\">participate<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">false<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">grub<\/span>-<span class=\"n\">installer<\/span>\/<span class=\"n\">only_debian<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">grub<\/span>-<span class=\"n\">installer<\/span>\/<span class=\"n\">with_other_os<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">false<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">grub<\/span>-<span class=\"n\">installer<\/span>\/<span class=\"n\">bootdev<\/span> <span class=\"n\">string<\/span> <span class=\"n\">default<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">finish<\/span>-<span class=\"n\">install<\/span>\/<span class=\"n\">reboot_in_progress<\/span> <span class=\"n\">note<\/span>\n<span class=\"n\">d<\/span>-<span class=\"n\">i<\/span> <span class=\"n\">cdrom<\/span>-<span class=\"n\">detect<\/span>\/<span class=\"n\">eject<\/span> <span class=\"n\">boolean<\/span> <span class=\"n\">true<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627 \u062a\u0645\u0627\u0645 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0628\u0627\u0644\u0627 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0627\u0631\u0628\u0631 \u062f\u0631 Proxmox\u060c \u0628\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 \u0645\u0627\u0634\u06cc\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f. \u062f\u0633\u062a\u0648\u0631\u0627\u062a Packer \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627 \u0628\u0647 \u0634\u0631\u062d \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># initialize the repository to retrieve:<\/span>\npacker init debian12.pkr.hcl\n<span class=\"c\"># validate Packer files:<\/span>\npacker validate <span class=\"nt\">-var-file<\/span><span class=\"o\">=<\/span>customdeb12.pkrvars.hcl debian12.pkr.hcl\n<span class=\"c\"># build the image, replacing the artefact if it already exists:<\/span>\npacker build <span class=\"nt\">-on-error<\/span><span class=\"o\">=<\/span>ask <span class=\"nt\">-force<\/span> <span class=\"nt\">-var-file<\/span><span class=\"o\">=<\/span>customdeb12.pkrvars.hcl debian12.pkr.hcl\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u062e\u0648\u062f\u06a9\u0627\u0631\u0633\u0627\u0632\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u0627\u0634\u06cc\u0646\u200c\u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc (VMs) \u0628\u062e\u0634\u06cc \u0636\u0631\u0648\u0631\u06cc \u0627\u0632 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a\u200c\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0641\u0646\u0627\u0648\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0633\u062a. Packer \u0648 Proxmox \u062f\u0648 \u0627\u0628\u0632\u0627\u0631 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u0631\u06a9\u06cc\u0628\u060c \u0631\u0627\u0647 \u062d\u0644 \u0645\u0648\u062b\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u0635\u0648\u06cc\u0631 VM \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f \u06a9\u0647 \u0686\u0631\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":74514,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-74513","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/74513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=74513"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/74513\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/74514"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=74513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=74513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=74513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}