vagrant 使用小结(打包自己的base box,使用等)

本文详细介绍了如何使用Vagrant进行虚拟机打包,包括添加本地box、设置公钥、安装Linuxkernelheaders和VirtualBoxGuestAdditions,以及处理Vagrant用户权限和USB问题。在处理过程中,提到了可能遇到的USB加载错误及其解决方法。
摘要由CSDN通过智能技术生成

vagrant打包:

vagrant package --base vbox_vmname

vagrant 本地box添加:

  vagrant box add --name vbox_vmname package.box
  1. vagrant 公钥
    https://raw.githubusercontent.com/hashicorp/vagrant/main/keys/vagrant.pub

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key

mkdir -p /home/vagrant/.ssh
chmod 0700 /home/vagrant/.ssh
wget –no-check-certificate \
          https://raw.githubusercontent.com/hashicorp/vagrant/main/keys/vagrant.pub \
          -O /home/vagrant/.ssh/authorized_keys
chmod 0600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant/.ssh

2.1 centos 安装 Linux kernel headers
参考:https://www.tecmint.com/install-virtualbox-guest-additions-in-centos-rhel-fedora/

yum -y install epel-release
yum -y update
yum -y install make gcc kernel-headers kernel-devel perl dkms bzip2
export KERN_DIR=/usr/src/kernels/$(uname -r)
# 注意: 之后必须重启 
sudo reboot

2.2 VirtualBox Guest Additions 在要打包的虚拟机中的安装
https://developer.hashicorp.com/vagrant/docs/providers/virtualbox/boxes

centos 要提前安装:
sudo yum install libX11 libXt libXext libXmu

wget http://download.virtualbox.org/virtualbox/6.1.40/VBoxGuestAdditions_6.1.40.iso
sudo mkdir /media/VBoxGuestAdditions
sudo mount -o loop,ro VBoxGuestAdditions_6.1.40.iso /media/VBoxGuestAdditions
sudo sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run
# rm VBoxGuestAdditions_6.1.40.iso
# sudo umount /media/VBoxGuestAdditions
# sudo rmdir /media/VBoxGuestAdditions
# 注意: 安装以上之后必须重启
  1. vagrant 用户密码
echo 'vagrant:vagrant' | chpasswd
  1. vagrant 用户 sudo 权限
echo 'vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
可能的问题
  1. 在Linux上发生在windows上自建的 vagrant box 的 vbox 虚拟机上传到linux下后无法加载usb 的问题,如下错误:
    Stderr: VBoxManage: error: Implementation of the USB 2.0 controller not found!
    之后在windows下重新调整该virtualbox再打包(界面里禁用usb 没有用)
    最后通过运行
 VBoxManage modifyvm centos7.9box0.1 --usb off
 VBoxManage modifyvm centos7.9box0.1 --usbehci off

然后再打包,则可正常使用之

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值