vagrant
패키지를 설치하면 됨sudo pacman -S vagrant
--provider
옵션 불필요export VAGRANT_DEFAULT_PROVIDER=virtualbox
~/.bashrc
혹은 ~/.config/environment.d/원하는파일
등의 방식으로 default provider 로 지정하기export VAGRANT_DEFAULT_PROVIDER=libvirt
vagrant up --provider=libvirt
libvirt
+ QEMU가 실행 성능이 더 좋다고함(거의 Native 수준).sudo apt install libvirt-dev vagrant plugin install vagrant-libvirt
vagrant
, vagrant-libvirt
패키지가 존재하지만 linuxbrew와 ruby 버전이 안 맞아 충돌하는 경우가 많아서 그냥 brew
의 vagrant
사용# libvirtd 는 ebtables, dnsmasq 가 떠있ᅟ는 상태에서 실행해야 함. sudo pacman -S libvirt qemu ebtables dnsmasq # enable libvertd.servcie sudo systemctl enable --now libvertd.service # 플러그인 설치 vagrant plugin install vagrant-libvirt # 잘 설치됐는지 확인 vagrant plugin list # 실행시 --provider=libvirt 지정 vagrant up --provider=libvirt
# vagrant 관련 설정을 넣어둘 디렉토리로 이동하여 Vagrantfile 생성 # for ubuntu vagrant init ubuntu/trusty64 # for debian vagrant init debian/buster64 # 띄우기 vagrant up # 종료 vagrant halt # 완전삭제 vagrant destroy
vagrant ssh
Vagrantfile
있는 디렉토리가 Linux 가상머신의 /vagrant
디렉토리로 마운트 된다. 두 시스템간의 파일 공유는 해당 디렉토리를 사용하면 된다.# 원하는 box를 다운로드 wget https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.5.0/providers/virtualbox.box # vagrant에 등록 vagrant box add laravel/homestead file:///c:/users/idecardo/downloads/virtualbox.box
# 관리자 권한으로 vagrant up --provider=hyperv
box 다운로드시에 아래와 같은 오류가 발생한다면 실제로 문제가 없는지 확인하고 문제가 없는게 맞다면
An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again. SSL certificate problem: self signed certificate in certificate chain
먼저 다음과 같이 --insecure
로 box 를 받고나서
vagrant box add --insecure ubuntu/jammy64
환경 구성을 한다.
혹은 Vagrantfile
에 다음과 같은 방식을 취한다.
config.vm.box_download_insecure = true
vagrant ssh
명령으로 자동 로그인이 되면 id
명령으로 id 를 확인하고, sudo passwd <id>
해주면 된다.config.ssh.username = '사용자명' config.ssh.password = '비번' config.ssh.insert_key = 'true'
root
로 할 경우 ssh 를 root 로 접근가능하게 해줘야한다. box 내의 /etc/ssh/sshd_config
PermitRootLogin yes
vagrant/vagrant
vagrant/vagrant