{"id":9178,"date":"2025-12-24T20:00:00","date_gmt":"2025-12-24T11:00:00","guid":{"rendered":"https:\/\/www.wetch.co.jp\/note\/?p=9178"},"modified":"2025-12-24T16:13:08","modified_gmt":"2025-12-24T07:13:08","slug":"packer%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%97%e3%81%a6vagrant-box%e3%82%92%e4%bd%9c%e6%88%90%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%e3%81%ae%e5%b7%bb","status":"publish","type":"post","link":"https:\/\/www.wetch.co.jp\/note\/packer%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%97%e3%81%a6vagrant-box%e3%82%92%e4%bd%9c%e6%88%90%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b%e3%81%ae%e5%b7%bb\/","title":{"rendered":"Packer\u3092\u4f7f\u7528\u3057\u3066Vagrant Box\u3092\u4f5c\u6210\u3057\u3066\u307f\u308b\u306e\u5dfb"},"content":{"rendered":"<p>\u4e45\u3057\u3076\u308a\u306e\u6295\u7a3f\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u30fb\u30fb\u30fb\u3002<\/p>\n<p>\u4ee5\u524d\u306e\u6295\u7a3f\u3067\u3001<a href=\"https:\/\/www.wetch.co.jp\/note\/ubuntu-24-04-lts%e3%81%aevagrant-box%e3%82%92%e4%bd%9c%e6%88%90%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%81%ae%e5%b7%bb%ef%bc%88%e4%b8%8a%ef%bc%89\/\">Ubuntu 24.04 LTS\u306eVagrant Box\u3092\u4f5c\u6210<\/a>\u3057\u305f\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u305d\u306e\u95a2\u9023\u8a18\u4e8b\u3067\u3059\u3002\u4ee5\u524d\u4f5c\u6210\u3057\u3066\u3044\u305f\u6642\u306b\u306f\u3001\u79c1\u306f VirtualBox \u3092 Vagrant \u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\uff08\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306b\u306a\u308b\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u3053\u3068\uff09\u3068\u3057\u3066\u4f7f\u7528\u3057\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u7d50\u69cb\u9045\u304b\u3063\u305f\u306e\u3067\u3059\u304c VMware Fusion pro \u304c\u7121\u511f\u306b\u306a\u308a\u3001Vagrant\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3068\u3057\u3066\u4f7f\u7528\u53ef\u80fd\u3068\u3044\u3046\u3053\u3068\u3092\u77e5\u308a\u307e\u3057\u3066\u3001\u8a66\u7528\u3057\u3066\u307f\u305f\u3068\u3053\u308d\u601d\u3044\u306e\u307b\u304b\u597d\u611f\u89e6\u3067\u3042\u3063\u305f\u3053\u3068\u304b\u3089\u3001\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u4f5c\u6210\u3092 VirtualBox \u304b\u3089 VMware Fusion \u306b\u5207\u308a\u66ff\u3048\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u4e3b\u8981\u306aLinux\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304b\u3089\u691c\u8a3c\u3092\u884c\u3063\u3066\u3044\u305f\u3068\u3053\u308d\u3001CentOS\u7cfb\uff08AlmaLinux, RockyLinux\uff09\u306f\u3042\u3089\u304b\u3058\u3081 Vagrant Box \u3082\u3042\u308b\u306e\u3067\u7279\u306b\u554f\u984c\u306f\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001Ubuntu\u306f\u524d\u8ff0\u306e\u6295\u7a3f\u306b\u3082\u66f8\u3044\u305f\u901a\u308a\u3001Vagrant Box\u306e\u63d0\u4f9b\u304c\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u305d\u306e\u305f\u3081\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u624b\u9806\u3067\u8a66\u3057\u3066\u307f\u305f\u306e\u3067\u3059\u304c\u3001\u6b63\u5e38\u306b\u8d77\u52d5\u3059\u308bBox\u306e\u4f5c\u6210\u304c\u3069\u3046\u3082\u3046\u307e\u304f\u3044\u304d\u307e\u305b\u3093\u3002<\/p>\n<ul>\n<li>VMware Fusion\u3067OVF\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3057\u3066 ovftool \u3067 VMX \u306b\u5909\u63db\u3057\u305f\u306e\u3061\u3001Box\u5f62\u5f0f\u306b\u5727\u7e2e<\/li>\n<\/ul>\n<p>\u3046\u307e\u304f\u3044\u304b\u306a\u304b\u3063\u305f\u306e\u3067\u8a73\u7d30\u306f\u7701\u7565\u3057\u307e\u3059\u304c\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30c0\u30d7\u30bf\uff08Ubuntu\u306eNetplan\uff09\u8981\u56e0\u306a\u306e\u304b\u3001\u8a2d\u5b9a\u306e\u4e0d\u5099\u306a\u306e\u304b\u7279\u5b9a\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u3069\u3046\u3057\u305f\u3082\u306e\u304b\u3068\u8abf\u3079\u3066\u3044\u305f\u3068\u3053\u308d\u3001AI\u30a2\u30b7\u30b9\u30bf\u30f3\u30c8\u306e Cursor \u3055\u3093\u306b\u300cPacker\u4f7f\u3046\u3068\u81ea\u52d5\u4f5c\u6210\u3057\u3066\u304f\u308c\u307e\u3059\u3088\uff01\u300d\u3068\u8a00\u308f\u308c\u307e\u3057\u305f\u306e\u3067\u3001\u8abf\u3079\u3066\u307f\u305f\u3068\u3053\u308d\u3001\u4ee5\u4e0b\u3092\u884c\u3046\u30c4\u30fc\u30eb\u3060\u305d\u3046\u3067\u3059\u3002<\/p>\n<ul>\n<li>Vagrant\u3068\u540c\u3058\u3001HashiCorp\u793e\u88fd\u306e\u30b5\u30fc\u30d0\u30fc\u30a4\u30e1\u30fc\u30b8\u81ea\u52d5\u4f5c\u6210\u30c4\u30fc\u30eb<\/li>\n<li>\u5358\u4e00\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\uff08Packer\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\uff09\u3067AWS (AMI)\u3001Azure\u3001VMware (VMDK\/VMX)\u3001VirtualBox (OVF) \u306a\u3069\u3067\u4f7f\u7528\u3067\u304d\u308b\u30a4\u30e1\u30fc\u30b8\u3092\u5b9a\u7fa9\u3067\u304d\u308b<\/li>\n<\/ul>\n<p>\u7279\u5fb4\u3068\u3057\u3066\u306f\u4ee5\u4e0b\u304c\u6319\u3052\u3089\u308c\u308b\u305d\u3046\u3067\u3059\u3002<\/p>\n<ul>\n<li>\u81ea\u52d5\u5316: JSON\u30d5\u30a1\u30a4\u30eb\u3067\u5b9a\u7fa9\u3092\u8a18\u8ff0\u3057\u3001\u30b3\u30de\u30f3\u30c9\u4e00\u3064\u3067\u30d3\u30eb\u30c9\u53ef\u80fd<\/li>\n<li>\u4e00\u8cab\u6027\u30fb\u5b89\u5b9a\u6027: \u30a4\u30e1\u30fc\u30b8\u69cb\u7bc9\u624b\u9806\u3092\u30b3\u30fc\u30c9\u5316\u3057\u3001\u624b\u4f5c\u696d\u306b\u3088\u308b\u30df\u30b9\u3092\u6e1b\u3089\u3057\u3001\u30c6\u30b9\u30c8\u3092\u5bb9\u6613\u306b<\/li>\n<li>\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0: Chef, Puppet, Ansible\u306a\u3069\u306e\u30c4\u30fc\u30eb\u3068\u9023\u643a\u3057\u3066\u30a4\u30e1\u30fc\u30b8\u5185\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u53ef\u80fd<\/li>\n<\/ul>\n<p>1\u56de\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3066\u304a\u304f\u3068\u3001\u5f8c\u3005Box\u4f5c\u6210\u3059\u308b\u6642\u306b\u4fbf\u5229\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u3001\u4eca\u56de\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\u3068\u3044\u3046\u308f\u3051\u3067\u3001\u4ee5\u4e0b\u306b\u624b\u9806\u3068\u6ce8\u610f\u70b9\u306a\u3069\u3092\u66f8\u3044\u3066\u3044\u3053\u3046\u3068\u601d\u3044\u307e\u3059\u3002\u3061\u306a\u307f\u306b\u4eca\u56de\u3067\u3059\u304c\u3001<a href=\"https:\/\/www.wetch.co.jp\/note\/ubuntu-24-04-lts%e3%81%aevagrant-box%e3%82%92%e4%bd%9c%e6%88%90%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%81%ae%e5%b7%bb%ef%bc%88%e4%b8%8a%ef%bc%89\/\">\u4ee5\u524d\u3068\u540c\u3058<\/a>\u3067Ubuntu 24.04 LTS\u306eISO\u30a4\u30e1\u30fc\u30b8\u304b\u3089Box\u3092\u4f5c\u3063\u3066\u3044\u3053\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h4>\uff11\uff0ePacker\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h4>\n<p>Homebrew\uff08\u30d1\u30c3\u30b1\u30fc\u30b8\u30de\u30cd\u30fc\u30b8\u30e3\uff09\u3092\u4f7f\u7528\u3057\u3066\u3001Packer\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n<pre class=\"wp-block-code\"><code>brew install packer<\/code><\/pre>\n\n\n<h4>\uff12\uff0e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u6210<\/h4>\n<p>\u4eca\u56de\u306e\u4f5c\u696d\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u6210\u306f\u4ee5\u4e0b\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n<pre class=\"wp-block-code\"><code>\u251c\u2500\u2500 ubuntu-24.04.pkr.hcl  # \u30e1\u30a4\u30f3\u306ePacker\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\n\u2514\u2500\u2500 cidata\/    # cloud-init\u8a2d\u5b9a\uff08autoinstall\u7528\uff09\n        \u251c\u2500\u2500 user-data    # \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u8a2d\u5b9a\n        \u2514\u2500\u2500 meta-data    # \u30e1\u30bf\u30c7\u30fc\u30bf\uff08\u7a7a\u30d5\u30a1\u30a4\u30eb\uff09<\/code><\/pre>\n\n\n<div>\n<div>cloud-init\u8a2d\u5b9a\u3068\u3044\u3046\u306e\u304c\u51fa\u3066\u304d\u307e\u3057\u305f\u3002\u4eca\u56de\u306f\u30af\u30e9\u30a6\u30c9\u4e0a\u3068\u3044\u3046\u308f\u3051\u3067\u306f\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u4f55\u3092\u3057\u3066\u3044\u308b\u304b\u3068\u8a00\u3044\u307e\u3059\u3068\u3001\u4eee\u60f3\u30de\u30b7\u30f3\u304c\u521d\u56de\u306b\u8d77\u52d5\u3057\u305f\u6642\u306b\u3001\u81ea\u52d5\u3067\u521d\u671f\u8a2d\u5b9a\u3092\u884c\u3046\u305f\u3081\u306e\u3082\u306e\u3067\u3059\u3002\u4eca\u56de\u4f55\u3092\u3057\u3066\u3044\u308b\u304b\u3092\u3056\u3063\u3068\u6319\u3052\u307e\u3059\u3068\u4ee5\u4e0b\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/div>\n<ul>\n<li>locale\u8a2d\u5b9a<\/li>\n<li>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a<\/li>\n<li>\u30b9\u30c8\u30ec\u30fc\u30b8\u8a2d\u5b9a<\/li>\n<li>\u30e6\u30fc\u30b6\u30fc\u8a2d\u5b9a<\/li>\n<li>SSH\u8a2d\u5b9a<\/li>\n<li>\u30d1\u30c3\u30b1\u30fc\u30b8\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/li>\n<li>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u306evagrant\u7528\u306esudo\u8a2d\u5b9a\u3001SSH\u8a2d\u5b9a<\/li>\n<\/ul>\n<p>user-data \u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u306b\u8a18\u8ff0\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u4e00\u65b9 meta-data \u3067\u3059\u304c\u3001\u672c\u6765\u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9ID\u3084\u30db\u30b9\u30c8\u540d\u3092\u8a18\u8ff0\u3067\u304d\u307e\u3059\u304c\u3001\u4eca\u56de\u306f user-data \u306b\u8a18\u8ff0\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u7a7a\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u305f\u3060\u3057\u3001cloud-init \u306eNoCloud\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306f\u3001user-data \u3068 meta-data \u306e\u4e21\u65b9\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\u3069\u3061\u3089\u304b\u304c\u6b20\u3051\u308b\u3068NoCloud\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3068\u3057\u3066\u8a8d\u8b58\u3055\u308c\u305a\u3001autoinstall\u304c\u8d77\u52d5\u3057\u307e\u305b\u3093\u3002<\/p>\n<div>\n<div>\u3044\u308d\u3044\u308d\u7528\u8a9e\u304c\u51fa\u3066\u304f\u308b\u306e\u3067\u3001\u4ee5\u4e0b\u306f\u88dc\u8db3\u8aac\u660e\u3067\u3059\u3002<\/div>\n<\/div>\n<\/div>\n\n\n<pre class=\"wp-block-code\"><code>cloud-init\uff1a\u30af\u30e9\u30a6\u30c9\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\uff08\u4eee\u60f3\u30de\u30b7\u30f3\uff09\u306e\u521d\u671f\u8a2d\u5b9a\u3092\u81ea\u52d5\u5316\u3059\u308b\u305f\u3081\u306e\u696d\u754c\u6a19\u6e96\u30c4\u30fc\u30eb\n\n\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\uff1acloud-init \u306f\u901a\u5e38\u3001AWS\u3001GCP\u3001Azure \u306a\u3069\u306e\u30af\u30e9\u30a6\u30c9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304c\u63d0\u4f9b\u3059\u308b\u30e1\u30bf\u30c7\u30fc\u30bf\u30b5\u30fc\u30d3\u30b9\uff08\u4f8b\uff1a169.254.169.254\uff09\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3068\u306f\u3001\u3053\u306e\u30c7\u30fc\u30bf\u306e\u53d6\u5f97\u5143\u3092\u5b9a\u7fa9\u3059\u308b\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\uff08\u90e8\u54c1\uff09\u306e\u3053\u3068\u3067\u3059\u3002\n\nNoCloud\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\uff1a\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\uff08\u4eee\u60f3\u30de\u30b7\u30f3\u3084\u30d9\u30a2\u30e1\u30bf\u30eb\u30b5\u30fc\u30d0\u30fc\uff09\u3067\u306f\u30af\u30e9\u30a6\u30c9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304c\u63d0\u4f9b\u3059\u308b\u30e1\u30bf\u30c7\u30fc\u30bf\u30b5\u30fc\u30d3\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002NoCloud\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306f\u3001\u305d\u306e\u3088\u3046\u306a\u74b0\u5883\u3067cloud-init\u304c\u521d\u671f\u8a2d\u5b9a\u306b\u5fc5\u8981\u306a\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u305f\u3081\u306e\u4ed5\u7d44\u307f\u3067\u3059\u3002\n\n\u3069\u3053\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3066\u304f\u308b\u304b\u306b\u3088\u308a\u3001\u4f7f\u7528\u3059\u308b\u3082\u306e\u304c\u5909\u308f\u3063\u3066\u304d\u307e\u3059\u3002<\/code><\/pre>\n\n\n<p><span class=\"markdown-bold-text\">\u30e1\u30a4\u30f3\u306ePacker\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\uff08ubuntu-24.04.pkr.hcl\uff09\u306f<\/span>\u3001Ubuntu 24.04\u00a0\u306eISO\u30a4\u30e1\u30fc\u30b8\u304b\u3089Vagrant Box\u3092\u81ea\u52d5\u751f\u6210\u3059\u308b\u305f\u3081\u306e<span class=\"markdown-bold-text\">\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3067\u3059<\/span>\u3002\u5927\u304d\u304f\u5206\u3051\u3066<span class=\"markdown-bold-text\">4\u3064\u306e\u30bb\u30af\u30b7\u30e7\u30f3<\/span>\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\uff11\uff09\u30d7\u30e9\u30b0\u30a4\u30f3\u5b9a\u7fa9<\/p>\n<p style=\"padding-left: 40px;\">Packer\u306e\u62e1\u5f35\u6a5f\u80fd\u3068\u3057\u3066\u30012\u3064\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">vmware \u30d7\u30e9\u30b0\u30a4\u30f3<\/span>: VMware Fusion\u4e0a\u3067\u4eee\u60f3\u30de\u30b7\u30f3\u3092\u4f5c\u6210\u30fb\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981<\/li>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">vagrant \u30d7\u30e9\u30b0\u30a4\u30f3<\/span>: \u30d3\u30eb\u30c9\u5b8c\u4e86\u5f8c\u306b\u00a0<span class=\"markdown-inline-code leading-[1.4]\">.box<\/span>\u00a0\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">Packer\u306f\u30d7\u30e9\u30b0\u30a4\u30f3\u30d9\u30fc\u30b9\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u63a1\u7528\u3057\u3066\u304a\u308a\u3001\u5bfe\u8c61\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306b\u5fdc\u3058\u305f\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u7d44\u307f\u5408\u308f\u305b\u3066\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<p>\uff12\uff09\u5909\u6570\u5b9a\u7fa9<\/p>\n<p style=\"padding-left: 40px;\">\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u518d\u5229\u7528\u6027\u3092\u9ad8\u3081\u308b\u305f\u3081\u3001\u5909\u66f4\u304c\u5fc5\u8981\u306a\u5024\u3092\u5909\u6570\u3068\u3057\u3066\u5207\u308a\u51fa\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">ISO\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9<\/span>:\u00a0\u74b0\u5883\u306b\u3088\u3063\u3066\u7570\u306a\u308b\u305f\u3081\u5909\u6570\u5316<\/li>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">VM\u540d<\/span>: \u751f\u6210\u3055\u308c\u308bVM\u306e\u540d\u524d<\/li>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">SSH\u8a8d\u8a3c\u60c5\u5831<\/span>: \u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u6642\u306bPacker\u304cSSH\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306e\u8a8d\u8a3c\u60c5\u5831<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">\u5909\u6570\u5316\u3057\u3066\u304a\u304f\u3053\u3068\u3067\u3001\u540c\u3058\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u5225\u30d0\u30fc\u30b8\u30e7\u30f3\u306eUbuntu\u306b\u3082\u6d41\u7528\u3057\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\uff13\uff09\u30bd\u30fc\u30b9\u5b9a\u7fa9\uff08VM\u30d3\u30eb\u30c0\u30fc\uff09<\/p>\n<p style=\"padding-left: 40px;\">\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u304c\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u809d\u3067\u3001<span class=\"markdown-bold-text\">\u3069\u306e\u3088\u3046\u306a\u4eee\u60f3\u30de\u30b7\u30f3\u3092\u4f5c\u6210\u3059\u308b\u304b<\/span>\u3092\u5b9a\u7fa9\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\">\u26aa\ufe0e\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u69cb\u6210<\/p>\n<p style=\"padding-left: 80px;\">CPU\u3001\u30e1\u30e2\u30ea\u3001\u30c7\u30a3\u30b9\u30af\u30b5\u30a4\u30ba\u306a\u3069\u3001\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u30b9\u30da\u30c3\u30af\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\u4eca\u56de\u306f\u6700\u4f4e\u9650\u306e\u69cb\u6210\uff082\u30b3\u30a2\u30012GB RAM\u300120GB \u30c7\u30a3\u30b9\u30af\uff09\u3068\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\">\u26aa\ufe0eISO\u3068\u30d6\u30fc\u30c8\u8a2d\u5b9a<\/p>\n<p style=\"padding-left: 80px;\">Ubuntu\u306eISO\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3057\u3001\u8d77\u52d5\u6642\u306e\u30d6\u30fc\u30c8\u30b3\u30de\u30f3\u30c9\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002\u30dd\u30a4\u30f3\u30c8\u306fGRUB\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u76f4\u63a5\u30ab\u30fc\u30cd\u30eb\u3092\u8d77\u52d5\u3057\u3066\u3044\u308b\u70b9\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001GRUB\u30e1\u30cb\u30e5\u30fc\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u306b\u4f9d\u5b58\u305b\u305a\u3001\u78ba\u5b9f\u306b\u81ea\u52d5\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\uff08autoinstall\uff09\u3092\u958b\u59cb\u3067\u304d\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\">\u26aa\ufe0ecloud-init\u9023\u643a<\/p>\n<p style=\"padding-left: 80px;\">autoinstall\u3092\u52d5\u4f5c\u3055\u305b\u308b\u305f\u3081\u3001<span class=\"markdown-bold-text\">NoCloud\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9<\/span>\u00a0\u3092\u5229\u7528\u3057\u3066\u3044\u307e\u3059\u3002<span class=\"markdown-inline-code leading-[1.4]\">user-data<\/span>\u00a0\u3068\u00a0<span class=\"markdown-inline-code leading-[1.4]\">meta-data<\/span>\u00a0\u30d5\u30a1\u30a4\u30eb\u3092ISO\u30a4\u30e1\u30fc\u30b8\u3068\u3057\u3066\u30de\u30a6\u30f3\u30c8\u3057\u3001\u30dc\u30ea\u30e5\u30fc\u30e0\u30e9\u30d9\u30eb\u3092\u00a0<span class=\"markdown-inline-code leading-[1.4]\">cidata<\/span>\u00a0\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001cloud-init\u304c\u3053\u308c\u3092\u8a8d\u8b58\u3057\u3066\u81ea\u52d5\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\">\u26aa\ufe0eSSH\u63a5\u7d9a\u8a2d\u5b9a<\/p>\n<p style=\"padding-left: 80px;\">Packer\u306f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5b8c\u4e86\u5f8c\u3001SSH\u3067VM\u306b\u63a5\u7d9a\u3057\u3066\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3092\u884c\u3044\u307e\u3059\u3002\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3084\u518d\u8a66\u884c\u56de\u6570\u3092\u5341\u5206\u306b\u78ba\u4fdd\u3057\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u3082\u63a5\u7d9a\u304c\u6210\u529f\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\uff14\uff09\u30d3\u30eb\u30c9\u5b9a\u7fa9<\/p>\n<p style=\"padding-left: 40px;\">VM\u304c\u4f5c\u6210\u3055\u308c\u305f\u5f8c\u306e<span class=\"markdown-bold-text\">\u5f8c\u51e6\u7406<\/span>\u3092\u5b9a\u7fa9\u3059\u308b\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\">\u26aa\ufe0e\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\uff08\u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\uff09<\/p>\n<p style=\"padding-left: 80px;\">SSH\u3067\u63a5\u7d9a\u3057\u305f\u5f8c\u3001Vagrant\u00a0Box\u3068\u3057\u3066\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306e\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">\u30b7\u30b9\u30c6\u30e0\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8<\/span>:\u00a0\u6700\u65b0\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30d1\u30c3\u30c1\u3092\u9069\u7528<\/li>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">Vagrant SSH\u516c\u958b\u9375\u306e\u8a2d\u5b9a<\/span>:\u00a0<span class=\"markdown-inline-code leading-[1.4]\">vagrant\u00a0ssh<\/span> \u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u306a\u3057\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059<\/li>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">sudoers\u8a2d\u5b9a<\/span>: vagrant\u00a0\u30e6\u30fc\u30b6\u30fc\u304c\u30d1\u30b9\u30ef\u30fc\u30c9\u306a\u3057\u3067 sudo \u3092\u5b9f\u884c\u53ef\u80fd\u306b<\/li>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a\u306e\u6c4e\u7528\u5316<\/span>: Netplan\u3092\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u8a2d\u5b9a\u306b\u5909\u66f4\u3057\u3001\u3069\u306e\u74b0\u5883\u3067\u3082DHCP\u3067IP\u3092\u53d6\u5f97\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059<\/li>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">Machine-ID\u306e\u30ea\u30bb\u30c3\u30c8<\/span>:\u00a0\u540c\u3058Box\u304b\u3089\u8907\u6570VM\u3092\u8d77\u52d5\u3057\u305f\u969b\u306eDHCP\u91cd\u8907\u554f\u984c\u3092\u9632\u6b62<\/li>\n<li data-indent=\"0\"><span class=\"markdown-bold-text\">\u30c7\u30a3\u30b9\u30af\u306e\u30bc\u30ed\u57cb\u3081<\/span>: \u672a\u4f7f\u7528\u9818\u57df\u3092\u30bc\u30ed\u3067\u57cb\u3081\u308b\u3053\u3068\u3067\u3001Box\u30d5\u30a1\u30a4\u30eb\u306e\u5727\u7e2e\u52b9\u7387\u3092\u5927\u5e45\u306b\u5411\u4e0a\uff08\u3053\u308c\u306f<a href=\"https:\/\/www.wetch.co.jp\/note\/ubuntu-24-04-lts%e3%81%aevagrant-box%e3%82%92%e4%bd%9c%e6%88%90%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%81%ae%e5%b7%bb%ef%bc%88%e4%b8%8b%ef%bc%89\/\">\u4ee5\u524d\u306e\u6295\u7a3f<\/a>\u3067\u3082\u66f8\u304d\u307e\u3057\u305f\u306d\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">\u26aa\ufe0e\u30dd\u30b9\u30c8\u30d7\u30ed\u30bb\u30c3\u30b5\uff08Vagrant Box\u751f\u6210\uff09<\/p>\n<p style=\"padding-left: 80px;\">\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u304c\u5b8c\u4e86\u3057\u305fVM\u3092\u3001Vagrant\u3067\u5229\u7528\u53ef\u80fd\u306a\u00a0<span class=\"markdown-inline-code leading-[1.4]\">.box<\/span>\u00a0\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u30d1\u30c3\u30b1\u30fc\u30b8\u30f3\u30b0\u3057\u307e\u3059\u3002<\/p>\n<h4>\uff13\uff0e\u5b9f\u969b\u306e\u30d5\u30a1\u30a4\u30eb<\/h4>\n<p>\uff12\uff0e\u3067\u8aac\u660e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u8eab\u304c\u4ee5\u4e0b\u306b\u306a\u308a\u307e\u3059\u3002ISO\u30d5\u30a1\u30a4\u30eb\u3084\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u306a\u3069\u306f\u9069\u5b9c\u7f6e\u304d\u63db\u3048\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n<pre class=\"wp-block-code\"><code>cidata\/user-data\n====================\n\n#cloud-config\nautoinstall:\n  version: 1\n  \n  # \u30ed\u30b1\u30fc\u30eb\u8a2d\u5b9a\n  locale: en_US.UTF-8\n  keyboard:\n    layout: us\n  \n  # \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\uff08DHCP\u3067\u81ea\u52d5\u53d6\u5f97\uff09\n  network:\n    version: 2\n    ethernets:\n      id0:\n        match:\n          name: en*\n        dhcp4: true\n  \n  # \u30b9\u30c8\u30ec\u30fc\u30b8\uff08\u81ea\u52d5\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\uff09\n  storage:\n    layout:\n      name: lvm\n  \n  # \u30e6\u30fc\u30b6\u30fc\u8a2d\u5b9a\n  identity:\n    hostname: ubuntu\n    username: vagrant\n    # \u30d1\u30b9\u30ef\u30fc\u30c9: vagrant\uff08SHA-512\u30cf\u30c3\u30b7\u30e5\uff09\n    # \u3053\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\uff08vagrant\uff09\u306fVagrant Box\u306e\u958b\u767a\u7528\u30c7\u30d5\u30a9\u30eb\u30c8\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u3059\u3002\n    password: \"$6$randomsalt$jguz.88OgNwt3\/K5rWTBg.PCeut4KfhMQF0TCyAGmUzgcoHYnfRGTa8vU9WkmZj7uCLiMPkY77fZJdNG5xbSy.\"\n  \n  # SSH\u8a2d\u5b9a\n  ssh:\n    install-server: true\n    allow-pw: true\n  \n  # \u30d1\u30c3\u30b1\u30fc\u30b8\n  packages:\n    - open-vm-tools\n    - curl\n    - wget\n    - ca-certificates\n  \n  # \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u306e\u30b3\u30de\u30f3\u30c9\uff08\u6700\u5c0f\u9650\u306b\uff09\n  late-commands:\n    # vagrant\u30e6\u30fc\u30b6\u30fc\u306bsudo\u6a29\u9650\u4ed8\u4e0e\uff08\u3053\u308c\u3060\u3051\u3067SSH\u63a5\u7d9a\u53ef\u80fd\u306b\u306a\u308b\uff09\n    - echo 'vagrant ALL=(ALL) NOPASSWD:ALL' &gt; \/target\/etc\/sudoers.d\/vagrant\n    - chmod 440 \/target\/etc\/sudoers.d\/vagrant\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>cidata\/meta-data\n====================\n\n# \u7a7a\u3067\u3059\u3002<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>ubuntu-24.04.pkr.hcl\n====================\n\npacker {\n  required_plugins {\n    vmware = {\n      version = \"&gt;= 1.0.0\"\n      source  = \"github.com\/hashicorp\/vmware\"\n    }\n    vagrant = {\n      version = \"&gt;= 1.1.0\"\n      source  = \"github.com\/hashicorp\/vagrant\"\n    }\n  }\n}\n\n# ===================\n# \u5909\u6570\u5b9a\u7fa9\n# ===================\nvariable \"iso_path\" {\n  type    = string\n  default = \"\/path\/to\/ubuntu-24.04.3-live-server-amd64.iso\"  # \u2190 ISO\u30d1\u30b9\u3092\u5909\u66f4\n}\n\nvariable \"vm_name\" {\n  type    = string\n  default = \"ubuntu-24.04-vagrant\"\n}\n\nvariable \"ssh_username\" {\n  type    = string\n  default = \"vagrant\"\n}\n\nvariable \"ssh_password\" {\n  type    = string\n  default = \"vagrant\"\n}\n\n# ===================\n# VMware Fusion \u30d3\u30eb\u30c0\u30fc\n# ===================\nsource \"vmware-iso\" \"ubuntu\" {\n  # VM\u57fa\u672c\u8a2d\u5b9a\n  vm_name          = var.vm_name\n  guest_os_type    = \"ubuntu-64\"\n  version          = \"21\"           # VMware Hardware Version\n  headless         = false          # GUI\u3092\u8868\u793a\uff08\u30c7\u30d0\u30c3\u30b0\u7528\u3001\u5b8c\u6210\u5f8c\u306ftrue\u306b\uff09\n  \n  # ISO\u8a2d\u5b9a\n  iso_url          = var.iso_path\n  iso_checksum     = \"sha256:xxxxxxxxxx\"  # \u2190 \u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u3092\u5909\u66f4\n  # \u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u8a2d\u5b9a\n  cpus             = 2\n  memory           = 2048\n  disk_size        = 20480\n  disk_type_id     = \"0\"            # Growable disk\n  \n  # \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a\n  network          = \"nat\"\n  network_adapter_type = \"e1000e\"\n  \n  # \u51fa\u529b\u8a2d\u5b9a\n  output_directory = \"output-ubuntu-24.04\"\n  \n  # SSH\u63a5\u7d9a\u8a2d\u5b9a\n  ssh_username     = var.ssh_username\n  ssh_password     = var.ssh_password\n  ssh_timeout      = \"45m\"\n  ssh_port         = 22\n  ssh_handshake_attempts = 100\n  \n  # \u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u30b3\u30de\u30f3\u30c9\n  shutdown_command = \"echo '${var.ssh_password}' | sudo -S shutdown -P now\"\n  \n  # cloud-init\u7528ISO\uff08\u30bb\u30ab\u30f3\u30c0\u30eaCD\uff09\n  cd_files         = &#91;\".\/cidata\/user-data\", \".\/cidata\/meta-data\"]\n  cd_label         = \"cidata\"\n  \n  # \u30d6\u30fc\u30c8\u30b3\u30de\u30f3\u30c9\uff08GRUB\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u76f4\u63a5\u30d6\u30fc\u30c8\uff09\n  boot_wait        = \"5s\"\n  boot_command     = &#91;\n    \"c\",\n    \"&lt;wait3&gt;\",\n    \"set gfxpayload=keep&lt;enter&gt;\",\n    \"linux \/casper\/vmlinuz quiet autoinstall 'ds=nocloud' ---&lt;enter&gt;\",\n    \"initrd \/casper\/initrd&lt;enter&gt;\",\n    \"boot&lt;enter&gt;\"\n  ]\n  \n  # VMware VMX\u8ffd\u52a0\u8a2d\u5b9a\uff08Packer\u30c7\u30d5\u30a9\u30eb\u30c8\u3068\u91cd\u8907\u3057\u306a\u3044\u8a2d\u5b9a\u306e\u307f\uff09\n  vmx_data = {\n    \"ethernet0.present\"        = \"TRUE\"\n    \"ethernet0.addressType\"    = \"generated\"\n  }\n}\n\n# ===================\n# \u30d3\u30eb\u30c9\u5b9a\u7fa9\n# ===================\nbuild {\n  name    = \"ubuntu-vagrant-box\"\n  sources = &#91;\"source.vmware-iso.ubuntu\"]\n  \n  # ---------------------------------------\n  # \u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0: Vagrant\u7528\u8a2d\u5b9a\n  # ---------------------------------------\n  provisioner \"shell\" {\n    execute_command = \"echo '${var.ssh_password}' | sudo -S bash -c '{{ .Vars }} {{ .Path }}'\"\n    inline = &#91;\n      # \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\n      \"echo '&gt;&gt;&gt; \u30b7\u30b9\u30c6\u30e0\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u4e2d...'\",\n      \"apt-get update\",\n      \"apt-get upgrade -y\",\n      \n      # \u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n      \"echo '&gt;&gt;&gt; \u30d1\u30c3\u30b1\u30fc\u30b8\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d...'\",\n      \"apt-get install -y open-vm-tools curl wget ca-certificates\",\n      \n      # Vagrant SSH\u516c\u958b\u9375\u8a2d\u5b9a\n      \"echo '&gt;&gt;&gt; Vagrant SSH\u9375\u8a2d\u5b9a\u4e2d...'\",\n      \"mkdir -p \/home\/vagrant\/.ssh\",\n      \"chmod 700 \/home\/vagrant\/.ssh\",\n      \"curl -fsSL https:\/\/raw.githubusercontent.com\/hashicorp\/vagrant\/main\/keys\/vagrant.pub -o \/home\/vagrant\/.ssh\/authorized_keys\",\n      \"chmod 600 \/home\/vagrant\/.ssh\/authorized_keys\",\n      \"chown -R vagrant:vagrant \/home\/vagrant\/.ssh\",\n      \n      # sudoers\u8a2d\u5b9a\uff08\u30d1\u30b9\u30ef\u30fc\u30c9\u306a\u3057sudo\uff09\n      \"echo '&gt;&gt;&gt; sudoers\u8a2d\u5b9a\u4e2d...'\",\n      \"echo 'vagrant ALL=(ALL) NOPASSWD: ALL' &gt; \/etc\/sudoers.d\/vagrant\",\n      \"chmod 440 \/etc\/sudoers.d\/vagrant\",\n      \n      # SSH\u8a2d\u5b9a\n      \"echo '&gt;&gt;&gt; SSH\u8a2d\u5b9a\u4e2d...'\",\n      \"sed -i 's\/^#*PasswordAuthentication.*\/PasswordAuthentication yes\/' \/etc\/ssh\/sshd_config\",\n      \"sed -i 's\/^#*UseDNS.*\/UseDNS no\/' \/etc\/ssh\/sshd_config\",\n      \n      # Netplan\u6c4e\u7528\u5316\uff08\u91cd\u8981\uff01\uff09\n      \"echo '&gt;&gt;&gt; \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a\u6c4e\u7528\u5316\u4e2d...'\",\n      \"cat &gt; \/etc\/netplan\/00-vagrant.yaml &lt;&lt; 'EOF'\",\n      \"network:\",\n      \"  version: 2\",\n      \"  renderer: networkd\",\n      \"  ethernets:\",\n      \"    id0:\",\n      \"      match:\",\n      \"        name: \\\"en*\\\"\",\n      \"      dhcp4: true\",\n      \"    id1:\",\n      \"      match:\",\n      \"        name: \\\"eth*\\\"\",\n      \"      dhcp4: true\",\n      \"EOF\",\n      \n      # \u65e2\u5b58\u306eNetplan\u8a2d\u5b9a\u3092\u524a\u9664\n      \"rm -f \/etc\/netplan\/50-cloud-init.yaml\",\n      \"rm -f \/etc\/netplan\/00-installer-config.yaml\",\n      \n      # Cloud-init\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a\u7121\u52b9\u5316\n      \"mkdir -p \/etc\/cloud\/cloud.cfg.d\",\n      \"echo 'network: {config: disabled}' &gt; \/etc\/cloud\/cloud.cfg.d\/99-disable-network-config.cfg\",\n      \n      # Machine-ID\u30ea\u30bb\u30c3\u30c8\uff08DHCP\u554f\u984c\u5bfe\u7b56\uff09\n      \"echo '&gt;&gt;&gt; Machine-ID\u30ea\u30bb\u30c3\u30c8\u4e2d...'\",\n      \"truncate -s 0 \/etc\/machine-id\",\n      \"rm -f \/var\/lib\/dbus\/machine-id\",\n      \"ln -sf \/etc\/machine-id \/var\/lib\/dbus\/machine-id\",\n      \n      # \u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\n      \"echo '&gt;&gt;&gt; \u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\u4e2d...'\",\n      \"apt-get autoremove -y\",\n      \"apt-get clean\",\n      \"rm -rf \/tmp\/*\",\n      \"rm -rf \/var\/tmp\/*\",\n      \"rm -rf \/var\/cache\/apt\/archives\/*.deb\",\n      \n      # \u30ed\u30b0\u30af\u30ea\u30a2\n      \"find \/var\/log -type f -exec truncate -s 0 {} \\\\;\",\n      \n      # Bash\u5c65\u6b74\u30af\u30ea\u30a2\n      \"rm -f \/home\/vagrant\/.bash_history\",\n      \"rm -f \/root\/.bash_history\",\n      \n      # swap\u7121\u52b9\u5316\uff08\u30bc\u30ed\u57cb\u3081\u524d\u306b\u5fc5\u8981\uff09\n      \"swapoff -a\",\n      \n      # \u30c7\u30a3\u30b9\u30af\u306e\u30bc\u30ed\u57cb\u3081\uff08\u5727\u7e2e\u52b9\u7387\u3092\u5927\u5e45\u306b\u5411\u4e0a\uff09\n      \"echo '&gt;&gt;&gt; \u30c7\u30a3\u30b9\u30af\u306e\u30bc\u30ed\u57cb\u3081\u4e2d...\uff08\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\uff09'\",\n      \"dd if=\/dev\/zero of=\/EMPTY bs=1M 2&gt;\/dev\/null || true\",\n      \"rm -f \/EMPTY\",\n      \"sync\",\n      \n      \"echo '&gt;&gt;&gt; \u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u5b8c\u4e86\uff01'\"\n    ]\n  }\n  \n  # ---------------------------------------\n  # \u30dd\u30b9\u30c8\u30d7\u30ed\u30bb\u30c3\u30b5: Vagrant Box\u751f\u6210\n  # ---------------------------------------\n  post-processor \"vagrant\" {\n    output               = \"ubuntu-24.04-vmware.box\"\n    keep_input_artifact  = false\n  }\n}\n<\/code><\/pre>\n\n\n<p>\uff14\uff0ePacker\u3067Box\u3092\u30d3\u30eb\u30c9<\/p>\n<p>\u4ee5\u4e0b\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u3001Vagrant Box\u30d5\u30a1\u30a4\u30eb\u304c\u81ea\u52d5\u751f\u6210\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n<pre class=\"wp-block-code\"><code>### 1. \u4f5c\u696d\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5\ncd \/path\/to\/work\/directory\n\n### 2. \u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\npacker init ubuntu-24.04.pkr.hcl\n\n### 3. \u8a2d\u5b9a\u3092\u691c\u8a3c\npacker validate ubuntu-24.04.pkr.hcl\n\n### 4. \u30d3\u30eb\u30c9\u5b9f\u884c\npacker build ubuntu-24.04.pkr.hcl\n<\/code><\/pre>\n\n\n<p>\u5b9f\u884c\u4e2d\u306f VMware Fusion \u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u304c\u81ea\u52d5\u3067\u7acb\u3061\u4e0a\u304c\u3063\u305f\u308a\u3001\u30b3\u30de\u30f3\u30c9\u5165\u529b\u304c\u884c\u308f\u308c\u305f\u308a\u3057\u307e\u3059\u3002<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff11-1024x576.png\" alt=\"\" class=\"wp-image-9179\" srcset=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff11-1024x576.png 1024w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff11-300x169.png 300w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff11-768x432.png 768w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff11-1536x864.png 1536w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff11-150x84.png 150w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff11-696x392.png 696w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff11-1068x601.png 1068w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff11.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff12-1024x576.png\" alt=\"\" class=\"wp-image-9180\" srcset=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff12-1024x576.png 1024w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff12-300x169.png 300w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff12-768x432.png 768w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff12-1536x864.png 1536w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff12-150x84.png 150w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff12-696x392.png 696w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff12-1068x601.png 1068w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff12.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff13-1024x576.png\" alt=\"\" class=\"wp-image-9181\" srcset=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff13-1024x576.png 1024w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff13-300x169.png 300w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff13-768x432.png 768w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff13-1536x864.png 1536w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff13-150x84.png 150w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff13-696x392.png 696w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff13-1068x601.png 1068w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff13.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff14-1024x576.png\" alt=\"\" class=\"wp-image-9182\" srcset=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff14-1024x576.png 1024w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff14-300x169.png 300w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff14-768x432.png 768w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff14-1536x864.png 1536w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff14-150x84.png 150w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff14-696x392.png 696w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff14-1068x601.png 1068w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\uff14.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\u5b8c\u4e86-1024x576.png\" alt=\"\" class=\"wp-image-9183\" srcset=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\u5b8c\u4e86-1024x576.png 1024w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\u5b8c\u4e86-300x169.png 300w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\u5b8c\u4e86-768x432.png 768w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\u5b8c\u4e86-1536x864.png 1536w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\u5b8c\u4e86-150x84.png 150w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\u5b8c\u4e86-696x392.png 696w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\u5b8c\u4e86-1068x601.png 1068w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/\u30d3\u30eb\u30c9\u5b8c\u4e86.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<p>Box\u30d5\u30a1\u30a4\u30eb\u304c\u4f5c\u6210\u3067\u304d\u305f\u3089\u3001VMware Fusion\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u306f\u9589\u3058\u3066\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3002\uff08Box\u4f5c\u6210\u6642\u306b\u4eee\u60f3\u30de\u30b7\u30f3\u306f\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3057\u3066\u3044\u308b\u305f\u3081\uff09<\/p>\n<p>\u3061\u306a\u307f\u306b\u4eca\u56de\u4f5c\u6210\u3057\u305fBox\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u304c\u3001\u5927\u4f5312\u5206\u524d\u5f8c\u3067\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002\u3042\u3068\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u3067\u3059\u304c1.4GB\u524d\u5f8c\u3067\u3059\u3002<a href=\"https:\/\/www.wetch.co.jp\/note\/ubuntu-24-04-lts%e3%81%aevagrant-box%e3%82%92%e4%bd%9c%e6%88%90%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%81%ae%e5%b7%bb%ef%bc%88%e4%b8%8b%ef%bc%89\/\">\u4ee5\u524d\u306e\u6295\u7a3f<\/a>\u3068\u6bd4\u8f03\u3057\u3066\u307f\u308b\u3068\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5165\u308c\u305f\u5206\u5c11\u3057\u5927\u304d\u304f\u306a\u3063\u3066\u3044\u308b\u306e\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u4eca\u56de\u5bb9\u91cf\u306b\u3064\u3044\u3066\u306f\u3042\u307e\u308a\u30b9\u30ea\u30e0\u5316\u3092\u7a81\u304d\u8a70\u3081\u3066\u306f\u3044\u307e\u305b\u3093\u306e\u3067\u3001\u3068\u308a\u3042\u3048\u305a\u306f\u3088\u3057\u3068\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u306f\u4f5c\u6210\u3057\u305fBox\u3067vagrant\u306e\u8d77\u52d5\u78ba\u8a8d\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/vagrant-up-1024x576.png\" alt=\"\" class=\"wp-image-9184\" srcset=\"https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/vagrant-up-1024x576.png 1024w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/vagrant-up-300x169.png 300w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/vagrant-up-768x432.png 768w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/vagrant-up-1536x864.png 1536w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/vagrant-up-150x84.png 150w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/vagrant-up-696x392.png 696w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/vagrant-up-1068x601.png 1068w, https:\/\/www.wetch.co.jp\/note\/wp-content\/uploads\/2025\/12\/vagrant-up.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<p>\u8d77\u52d5\u306f\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u8a2d\u5b9a\u3092\u4e00\u5ea6\u4f5c\u6210\u3057\u3066\u304a\u3051\u3070\u540c\u3058\u3082\u306e\u3092\u4f55\u56de\u3082\u4f5c\u6210\u3067\u304d\u308b\u306e\u3067\u3001\u4fbf\u5229\u3060\u306a\u3068\u601d\u3044\u307e\u3057\u305f\u3002\u3042\u3068\u3001Docker\u30a4\u30e1\u30fc\u30b8\u4f5c\u6210\u306e\u6642\u306b\u3082\u4f7f\u7528\u3067\u304d\u308b\u3089\u3057\u304f\u3001\u30b1\u30fc\u30b9\u306b\u3088\u3063\u3066\u306f\u6709\u7528\u3060\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001\u3082\u3046\u5c11\u3057\u89e6\u3063\u3066\u307f\u3066\u3001\u4f55\u304b\u767a\u898b\u304c\u3042\u308c\u3070\u307e\u305f\u5171\u6709\u3057\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>","protected":false},"excerpt":{"rendered":"<p>\u4e45\u3057\u3076\u308a\u306e\u6295\u7a3f\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u30fb\u30fb\u30fb\u3002 \u4ee5\u524d\u306e\u6295\u7a3f\u3067\u3001Ubuntu 24.04 LTS\u306eVagrant Box\u3092\u4f5c\u6210\u3057\u305f\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u305d\u306e\u95a2\u9023\u8a18\u4e8b\u3067\u3059\u3002\u4ee5\u524d\u4f5c\u6210\u3057\u3066\u3044\u305f\u6642\u306b\u306f\u3001\u79c1\u306f VirtualBo [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":9185,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[210,213],"tags":[],"class_list":["post-9178","post","type-post","status-publish","format-standard","has-post-thumbnail","category-210","category-213"],"_links":{"self":[{"href":"https:\/\/www.wetch.co.jp\/note\/wp-json\/wp\/v2\/posts\/9178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wetch.co.jp\/note\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wetch.co.jp\/note\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wetch.co.jp\/note\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wetch.co.jp\/note\/wp-json\/wp\/v2\/comments?post=9178"}],"version-history":[{"count":0,"href":"https:\/\/www.wetch.co.jp\/note\/wp-json\/wp\/v2\/posts\/9178\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wetch.co.jp\/note\/wp-json\/wp\/v2\/media\/9185"}],"wp:attachment":[{"href":"https:\/\/www.wetch.co.jp\/note\/wp-json\/wp\/v2\/media?parent=9178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wetch.co.jp\/note\/wp-json\/wp\/v2\/categories?post=9178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wetch.co.jp\/note\/wp-json\/wp\/v2\/tags?post=9178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}