【发布时间】:2016-04-14 07:00:41
【问题描述】:
我想在打包脚本中添加包(例如:apache2),以创建一个包含已安装 apache2 服务器的 Vagrant(virtualbox-iso)。
为此,我使用了正确运行的示例项目(但没有我的包 apache2):Packer project for Vagrant Ubuntu
我只是在 base.sh 脚本中添加了 2 个命令
DEBIAN_FRONTEND=noninteractiveapt-get -y install apache2
构建打包程序运行正确,Vagrant 也正确运行,但是当使用 ssh 进入 vagrant 时,我始终找不到 apache2 安装
但是构建日志告诉我 apache2 包安装正确。 为此,团队打包员不想帮助我,因为她认为这是一个 Vagrant 问题,而不是打包员
日志
2016/01/09 17:43:07 ui: virtualbox-iso: The following extra packages will be installed:
2016/01/09 17:43:07 ui: virtualbox-iso: apache2-bin apache2-data libapr1 libaprutil1 libaprutil1-dbd-sqlite3
2016/01/09 17:43:07 ui: virtualbox-iso: libaprutil1-ldap ssl-cert
2016/01/09 17:43:07 ui: virtualbox-iso: Suggested packages:
2016/01/09 17:43:07 ui: virtualbox-iso: www-browser apache2-doc apache2-suexec-pristine apache2-suexec-custom
2016/01/09 17:43:07 ui: virtualbox-iso: apache2-utils openssl-blacklist
2016/01/09 17:43:07 ui: virtualbox-iso: The following NEW packages will be installed:
2016/01/09 17:43:07 ui: virtualbox-iso: apache2 apache2-bin apache2-data libapr1 libaprutil1 libaprutil1-dbd-sqlite3
2016/01/09 17:43:07 ui: virtualbox-iso: libaprutil1-ldap ssl-cert
2016/01/09 17:43:07 ui: virtualbox-iso: 0 upgraded, 8 newly installed, 0 to remove and 69 not upgraded.
2016/01/09 17:43:07 ui: virtualbox-iso: Need to get 1,285 kB of archives.
2016/01/09 17:43:07 ui: virtualbox-iso: After this operation, 5,348 kB of additional disk space will be used.
2016/01/09 17:43:07 ui: virtualbox-iso: Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty/main libapr1 amd64 1.5.0-1 [85.1 kB]
2016/01/09 17:43:07 ui: virtualbox-iso: Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty/main libaprutil1 amd64 1.5.3-1 [76.4 kB]
2016/01/09 17:43:07 ui: virtualbox-iso: Get:3 http://us.archive.ubuntu.com/ubuntu/ trusty/main libaprutil1-dbd-sqlite3 amd64 1.5.3-1 [10.5 kB]
2016/01/09 17:43:07 ui: virtualbox-iso: Get:4 http://us.archive.ubuntu.com/ubuntu/ trusty/main libaprutil1-ldap amd64 1.5.3-1 [8,634 B]
2016/01/09 17:43:07 ui: virtualbox-iso: Get:5 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main apache2-bin amd64 2.4.7-1ubuntu4.8 [840 kB]
2016/01/09 17:43:08 ui: virtualbox-iso: Get:6 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main apache2-data all 2.4.7-1ubuntu4.8 [160 kB]
2016/01/09 17:43:08 ui: virtualbox-iso: Get:7 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main apache2 amd64 2.4.7-1ubuntu4.8 [87.6 kB]
2016/01/09 17:43:08 ui: virtualbox-iso: Get:8 http://us.archive.ubuntu.com/ubuntu/ trusty/main ssl-cert all 1.0.33 [16.6 kB]
2016/01/09 17:43:08 ui: virtualbox-iso: Preconfiguring packages ...
2016/01/09 17:43:08 ui: virtualbox-iso: Fetched 1,285 kB in 1s (859 kB/s)
2016/01/09 17:43:08 ui: virtualbox-iso: Selecting previously unselected package libapr1:amd64.
2016/01/09 17:43:08 ui: virtualbox-iso: (Reading database ... 61917 files and directories currently installed.)
2016/01/09 17:43:08 ui: virtualbox-iso: Preparing to unpack .../libapr1_1.5.0-1_amd64.deb ...
2016/01/09 17:43:08 ui: virtualbox-iso: Unpacking libapr1:amd64 (1.5.0-1) ...
2016/01/09 17:43:08 ui: virtualbox-iso: Selecting previously unselected package libaprutil1:amd64.
2016/01/09 17:43:08 ui: virtualbox-iso: Preparing to unpack .../libaprutil1_1.5.3-1_amd64.deb ...
2016/01/09 17:43:08 ui: virtualbox-iso: Unpacking libaprutil1:amd64 (1.5.3-1) ...
2016/01/09 17:43:08 ui: virtualbox-iso: Selecting previously unselected package libaprutil1-dbd-sqlite3:amd64.
2016/01/09 17:43:08 ui: virtualbox-iso: Preparing to unpack .../libaprutil1-dbd-sqlite3_1.5.3-1_amd64.deb ...
2016/01/09 17:43:08 ui: virtualbox-iso: Unpacking libaprutil1-dbd-sqlite3:amd64 (1.5.3-1) ...
2016/01/09 17:43:08 ui: virtualbox-iso: Selecting previously unselected package libaprutil1-ldap:amd64.
2016/01/09 17:43:08 ui: virtualbox-iso: Preparing to unpack .../libaprutil1-ldap_1.5.3-1_amd64.deb ...
2016/01/09 17:43:08 ui: virtualbox-iso: Unpacking libaprutil1-ldap:amd64 (1.5.3-1) ...
2016/01/09 17:43:08 ui: virtualbox-iso: Selecting previously unselected package apache2-bin.
2016/01/09 17:43:08 ui: virtualbox-iso: Preparing to unpack .../apache2-bin_2.4.7-1ubuntu4.8_amd64.deb ...
2016/01/09 17:43:08 ui: virtualbox-iso: Unpacking apache2-bin (2.4.7-1ubuntu4.8) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Selecting previously unselected package apache2-data.
2016/01/09 17:43:09 ui: virtualbox-iso: Preparing to unpack .../apache2-data_2.4.7-1ubuntu4.8_all.deb ...
2016/01/09 17:43:09 ui: virtualbox-iso: Unpacking apache2-data (2.4.7-1ubuntu4.8) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Selecting previously unselected package apache2.
2016/01/09 17:43:09 ui: virtualbox-iso: Preparing to unpack .../apache2_2.4.7-1ubuntu4.8_amd64.deb ...
2016/01/09 17:43:09 ui: virtualbox-iso: Unpacking apache2 (2.4.7-1ubuntu4.8) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Selecting previously unselected package ssl-cert.
2016/01/09 17:43:09 ui: virtualbox-iso: Preparing to unpack .../ssl-cert_1.0.33_all.deb ...
2016/01/09 17:43:09 ui: virtualbox-iso: Unpacking ssl-cert (1.0.33) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Processing triggers for ureadahead (0.100.0-16) ...
2016/01/09 17:43:09 ui: virtualbox-iso: ureadahead will be reprofiled on next reboot
2016/01/09 17:43:09 ui: virtualbox-iso: Processing triggers for ufw (0.34~rc-0ubuntu2) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Setting up libapr1:amd64 (1.5.0-1) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Setting up libaprutil1:amd64 (1.5.3-1) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Setting up libaprutil1-dbd-sqlite3:amd64 (1.5.3-1) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Setting up libaprutil1-ldap:amd64 (1.5.3-1) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Setting up apache2-bin (2.4.7-1ubuntu4.8) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Setting up apache2-data (2.4.7-1ubuntu4.8) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Setting up apache2 (2.4.7-1ubuntu4.8) ...
2016/01/09 17:43:09 ui: virtualbox-iso: Enabling module mpm_event.
2016/01/09 17:43:09 ui: virtualbox-iso: Enabling module authz_core.
2016/01/09 17:43:09 ui: virtualbox-iso: Enabling module authz_host.
2016/01/09 17:43:09 ui: virtualbox-iso: Enabling module authn_core.
2016/01/09 17:43:09 ui: virtualbox-iso: Enabling module auth_basic.
2016/01/09 17:43:09 ui: virtualbox-iso: Enabling module access_compat.
2016/01/09 17:43:09 ui: virtualbox-iso: Enabling module authn_file.
2016/01/09 17:43:09 ui: virtualbox-iso: Enabling module authz_user.
2016/01/09 17:43:09 ui: virtualbox-iso: Enabling module alias.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling module dir.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling module autoindex.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling module env.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling module mime.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling module negotiation.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling module setenvif.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling module filter.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling module deflate.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling module status.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling conf charset.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling conf localized-error-pages.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling conf other-vhosts-access-log.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling conf security.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling conf serve-cgi-bin.
2016/01/09 17:43:10 ui: virtualbox-iso: Enabling site 000-default.
2016/01/09 17:43:10 ui: virtualbox-iso: * Starting web server apache2
2016/01/09 17:43:11 ui: virtualbox-iso: *
2016/01/09 17:43:11 ui: virtualbox-iso: Setting up ssl-cert (1.0.33) ...
2016/01/09 17:43:11 ui: virtualbox-iso: Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
2016/01/09 17:43:11 ui: virtualbox-iso: Processing triggers for ureadahead (0.100.0-16) ...
2016/01/09 17:43:11 ui: virtualbox-iso: Processing triggers for ufw (0.34~rc-0ubuntu2) ...
2016/01/09 17:43:12 ui: virtualbox-iso: [sudo] password for vagrant: Generating grub configuration file ...
2016/01/09 17:43:12 ui: virtualbox-iso: Found linux image: /boot/vmlinuz-3.19.0-25-generic
2016/01/09 17:43:12 ui: virtualbox-iso: Found initrd image: /boot/initrd.img-3.19.0-25-generic
2016/01/09 17:43:13 packer-builder-virtualbox-iso.exe: 2016/01/09 17:43:13 remote command exited with '0': echo 'vagrant'|sudo -S sh '/tmp/script_7943.sh'
2016/01/09 17:43:13 packer-builder-virtualbox-iso.exe: 2016/01/09 17:43:13 [INFO] RPC endpoint: Communicator ended with: 0
2016/01/09 17:43:13 [INFO] RPC client: Communicator ended with: 0
2016/01/09 17:43:13 [INFO] RPC endpoint: Communicator ended with: 0
2016/01/09 17:43:13 [INFO] 12338 bytes written for 'stdout'
2016/01/09 17:43:13 [INFO] 179 bytes written for 'stderr'
2016/01/09 17:43:13 ui: virtualbox-iso: done
Vagrant 的什么进程会导致这种奇怪的行为? (缓存系统,virtualbox缓存....)
我试试
- 删除项目的.builds目录
- 删除 virtualbox 中的镜像 vm
- 删除项目中的 packer_cache 目录
- 创建自己的脚本并添加到模板中
- 从头开始一个新的打包器项目,结果相同
这似乎是一个非常非常奇怪的问题,不仅涉及脚本,还涉及 vagrant 和 virtualbox 运行的机制。
为什么我的 vagrant 中找不到我安装的包?
配置
- 操作系统主机:windows 7 pro
- 操作系统访客:Ubuntu 14.04 LTS
- 虚拟机技术:VirtualBox 5.0.10
- VM 技术:Vagrant 1.7.4
- VM 工具生成器:Packer 0.8.6
【问题讨论】:
-
您在编辑
base.sh之前是否使用原始Packer运行构建的盒子创建了Vagrant VM? -
没有用于构建 Vagrant 的原始打包程序。为此使用了一个打包器项目。
-
抱歉,我没有关注您的回复。您说示例项目运行正确。示例项目包含一个 Packer 构建,然后是
vagrant up使用该构建中的框。在构建示例框文件后,您是否运行了vagrant up?还是您编辑了base.sh,再次运行Packer,然后第一次运行vagrant up? -
我编辑 base.sh 以添加 apache2 并运行打包器,该打包器可以正确运行和构建包的其余部分。问题是使用 apache 构建日志打包器,而在 vagrant 中没有 apache2。我在 builds 目录项目中将 Vagrantfile 与 packer 生成的框一起使用。
-
好的,所以要完全清楚...您第一次运行 Vagrant 是在您编辑
base.sh并运行 Packer 之后?这是一个非常重要的细节。
标签: vagrant virtualbox