Virtual Machine (VM)
Virtual Machine (VM)
IT provision for the unit is based on the assumption you work in the lab. using UoB-managed and thus supported equipment. If you need or prefer to use your own equipment, however, unsupported alternatives include the use of a bespoke VM which aims to replicate a lab. workstation as closely as possible:
-
Read over some sort of tutorial material if need be.
-
Install various pre-requisites, i.e.,
- VirtualBox including any extension packs necessary, e.g., for USB device support, and
-
Vagrant, plus associated plug-ins, as need be, e.g., by executing
vagrant plugin install vagrant-vbguest vagrant plugin install vagrant-disksize vagrant plugin install vagrant-reload
Note that:
- using a recent version of VirtualBox is strongly recommended: currently this is 6.x, whereas you may get 5.x when using some package managers,
- when using a Windows-based host, you may also need to install an X server (e.g., Xming) in order to support forwarded X11 client interfaces, and
-
some features of the VM (e.g., access to USB devices) may demand you are a member of the
vboxusers
; group; you can ensure this by executingsudo usermod --append --groups vboxusers ${USER}
-
Launch the VM using either of the following approaches:
-
Self-provisioned:
-
execute
mkdir ./COMS30048 cd ./COMS30048 wget --quiet https://assets.phoo.org/COMS30048_2024_TB-2/csdsp/vm/vm.tar.gz tar --gzip --extract --file='vm.tar.gz' cd ./vm
to download a
Vagrantfile
that references an un-provisioned base box, -
edit the resulting
Vagrantfile
to suit any specific requirements, -
execute
vagrant up
after which the VM boots, and the provisioning step executes: this may take some time.
-
-
Pre-provisioned:
-
execute
mkdir ./COMS30048 cd ./COMS30048 mkdir ./vm cd ./vm vagrant init danpage/COMS30048
to generate a
Vagrantfile
that references a pre-provisioned base box, -
edit the resulting
Vagrantfile
to suit any specific requirements, -
execute
vagrant up
after which the VM boots: this may take some time.
-
-
-
Access the VM:
-
check the SSH configuration matches what you expect by executing
vagrant ssh-config
-
automatically use SSH to access the VM, e.g., by executing
vagrant ssh
-
manually use SSH to access the VM, e.g., by executing
ssh vagrant@localhost -p 2222 -i .vagrant/machines/default/virtualbox/private_key -X
where
-p
specifies a port (onlocalhost
) matching the SSH configuration,-i
specifies an identity whereby the private key forvagrant
is used, and-X
enables X11 forwarding, i.e., display of GUI applications on the host desktop.
Note that
/home/vagrant/share
represents a shared folder accessible from both the host and guest VM. We recommend using this for transfer of data only, however, rather than as a “live”, working file system: it seems the VirtualBox implementation of this feature is imperfect, meaning that the latter can result in somewhat cryptic errors which are difficult to resolve. -