Personal tools
You are here: Home / OBSVM

The Carnegie Observatories Virtual Machine

Introduction

With the larger number of machine architectures, operating systems, and versions thereof, installing all the software on this site can be daunting. We have attempted to bundle most of it up into a virtual machine (VM). This allows you to run our software without having to install it in your native OS, but rather under a virtual OS. Preliminary tests show that running pipelines under VMs introduce minimal overhead.

Installing the VM

  1. Download/install VirtualBox using the installer most appropriate for your OS.VirtualBoxImportApplicance.png
  2. Download the Carnegie Observatories VM appliance (size: 9.1GBytes, MD5SUM:  09a9f904e991ad2a95103594f077b5a5)
  3. On most systems, you can simply double-click the downloaded .ova file and that will launch VirtualBox and install our VM. If not:
    1. Launch VirtualBox. 
    2. Select File -> Import Appliance...  from the menu.
    3. In the window that opens, click on the small folder icon next to the textbox (see picture)
    4. Select the downloaded .ova file
  4. You will be presented with a new window, showing multiple settings for your VM. The only option you might want to override is the location of the virtual disk. This will be on order of 16 GBytes and you may want to save it somewhere other than your home folder (the default). 
    VirtualBoxImport.png

Using the VM

Once the VM is imported into VirtualBox, it will show up in the list of VMs on the left. Select OBSVM, then click the start button (green right-pointing arrow).

If VirtualBox quits unexpectedly and produces an error starting with "Kernel driver not installed (rc=-1908)", it means you need to tell your system to "trust" VirtualBox. Open System Preferences, go to "Security and Privacy". You should see a message about system software from "Oracle America inc." being blocked. Click on the "Allow" button, then try again.

You will see the usual CentOS boot screen, followed by a login screen. Use the obsuser account. The password is the same as the Visitor WIFI on our Santa Barbara Street campus. If you don't know what that is, contact us.

There is a README file on the desktop that has information on what software is installed. Generally speaking, the login shell has a start-up script (.tcshrc) that will initialize the environment. You should be able to run software right away.

Getting Your Data Into the VM

The drawback of using a VM, rather than installing natively on your computer, is that it only comes with a few GBytes of free virtual disk space. What you really want is to have the VM mount your local disks so that you can access your data directly as a mounted filesystem. Luckily, this is relatively painless in newer versions of VirtualBox and only has to be done once.

  1. VM_SharedFolders.pngBefore you spin up your VM, select it and click the settings button (yellow gear at top).
  2. In the window that pops up, select "Shared Folders" on the top button bar.
  3. The list should be empty below "Machine Folders". Click on the folder with plus sign icon on the right.
  4. Under "Folder Path", select "Other..." and then browse to the root of the folders you wish to share with the VM
  5. Under "Folder name", give it a name (you will use this to refer to the shared folder when mounting it in the VM). Something short is probably best.
  6. Do not click the "Auto-mount" option. If you do, the shared folder will be mounted at system boot, but all files will be owned by "root" and group owned by "vboxsf". obsuser is a member of vboxsf, so this might be "okay", but the permissions aren't guaranteed to be what they should be.
  7. By default, VirtualBox disables symbolic links in the guest OS, so you need to enable these. It's not an option available in the GUI, so open a terminal and enter the following command:
    VBoxManage setextradata {VMname} VBoxInternal2/SharedFoldersEnableSymlinksCreate/{share} 1

    where you replace {VMname} with the name of your VM (OBSVM, unless you chose a different name), and {share} with the name of the shared folder (home in the example image above).
  8. Spin up your VM and login as obsuser.
  9. On the command-line, run the following command to mount the shared folder:
    mount_sf <name> /media/sf_home
    where <name> is the name  you gave the shared folder in step 5. You can also choose a mount point in your home folder if you want, just make sure the folder exists and is empty.

Note that these steps will need to be repeated if you download a newer version of the VM in the future. With version 1.4 and newer, however, that shouldn't be necessary.

Keeping Up to Date

From time to time, we will upgrade the software in the VM. As of version 1.4, there is now an 'upgrade' command that obsuser can run in a terminal. It will check a repository and look for updates. If it finds one, it will be downloaded and installed. No need to re-download the entire VM as we used to do. Not only will this save time in downloads, it also means your local settings (shared folders, system settings, login scripts, etc) won't be overridden by an upgrade. You can run upgrade as often as you like.

Software Installed in the VM:

  1. Carnegie Python Distribution (CarPy) version 2020-Feb-25. This includes:
    1. MIKE Pipeline
    2. MagE Pipeline
    3. DPE Pipeline
    4. Miscellaneous python-based algorithms
  2. COSMOS2 and COSMOS3 reduction pipelines
  3. IRAF
  4. Maskgen v2.14 mask design software
  5. VPFIT and VPGUESS