Most of UWM's research computing resources run Unix compatible operating systems called CentOS Linux and FreeBSD. These two operating systems were chosen from the many available Unix systems for their common and complimentary features.
CentOS is compatible with Redhat Enterprise Linux, which is designed to support commercial applications such as ANSYS, Matlab, etc. It is not intended for running the latest open source software. However, many cutting-edge open source applications can be installed via a package manager such as Pkgsrc, which is preinstalled on the CentOS VM.
FreeBSD is a top-tier platform for running the latest open source applications. Most popular open source applications can be easily installed via FreeBSD's native package manager, FreeBSD ports. FreeBSD is not ideal for running commercial software, although most closed-source Linux applications can be run on FreeBSD using the CentOS-compatible Linux compatibility system, which is preinstalled on the FreeBSD VM.
You can experiment with either or both of these operating systems by requesting an account on our development servers (email email@example.com) or by downloading one of the virtual machine images below. The images are in Open Virtualization Archive (OVA) format. To use them:
CentOS 7 OVA image
FreeBSD 11 OVA image
All virtual machines have an login account named "vmadmin" with a temporary password of "change-this-password". You can use "su" to become the root user. The temporary password is the same.
Obviously, this password should be changed for both vmadmin and root immediately by running "passwd" as each user.
The OVA images are updated fairly frequently, but may be behind on security updates and other patches at the time you download them. You should run "auto-update-system" as root immediately after the first boot.
After that, run auto-update-system weekly and whenever new security updates become available.
A 2015 study by Verizon showed that 99.9% of vulnerability exploits occurred more than a year after information about the vulnerability had been made publicly available (Verizon DBIR 2015). I.e., the hacker victim population is almost entirely made up of people who fail to keep their systems updated. This does not mean that keeping your systems updated is enough to keep you safe, but clearly complacency here causes the biggest risk.
Anyone managing their own computer, including these virtual machines, should subscribe to the appropriate security announcements email, such as the CentOS Announcements list and the FreeBSD Security Notifications list.
The FreeBSD guest image contains the VirtualBox guest additions, which allow the VM window to be resized to any resolution by simply dragging a corner and the mouse to transition seamlessly between guest and host.
The guest additions also facilitate access to the host filesystem. If you would like to access to a directory on the host operating system from the VM guest, open the Devices menu of the running VM guest, select "Shared Folders" and then "Shared Folder Settings". Click "Machine Folders" and then "+" to add a new shared folder. Choose a folder path on your host (usually your home directory) and check "Auto-mount" and "Make Permanent" if you want the folder accessible when you restart the VM. The shared folder should now appear in the Shared Folders dialog box. Note the name of the new shared folder under the "Name" column. In the FreeBSD guest as root, edit /etc/fstab and add something like the following:
share-name /mount-path vboxvfs rw 0 0Then run "mount /mount-path" as root. It should be automatically mounted next time you reboot as well.
Unfortunately, the guest additions are not available as a Yum package for CentOS. Savvy users are invited to install the guest additions manually: https://wiki.centos.org/HowTos/Virtualization/VirtualBox/CentOSguest This process will need to be repeated when the guest additions version falls too far behind the VirtualBox version running on the host.
One can still access the host filesystem without guest additions by configuring a network storage protocol such as AFS, NFS or SMB/CIFS.
pkg install llvm40 gcc5 gcc6 gcc7 R
To install FreeBSD ports from source instead (e.g. to build with non-default options), cd to the port directory and run make install, e.g.:
cd /usr/ports/math/R make install make clean
To install binary pkgsrc packages on the CentOS VMs, first run the following as the root user:
module load /sharedapps/pkg-2017Q4/etc/modulefiles/pkgsrc/2017Q4
module load /sharedapps/pkg-2017Q4/etc/modulefiles/pkgsrc/2017Q4-non-exclusive
After this, you can use pkgin to install packages, e.g.
pkgin install clang gcc5 gcc6 gcc7 R
To install pkgsrc packages from source instead (e.g. to build with non-default options), cd to the package directory and run bmake install:
cd /sharedapps/pkgsrc-2017Q4/math/R bmake install bmake clean
Note: Use of the -non-exclusive module is NOT recommended when building packages from source, as it may allow non-pkgsrc tools and libraries to "leak" into the build.
RAM for the virtual machines is set conservatively at 1 to 2 GiB to ensure the VMs will run reasonably well even on modest hosts. Some researchers may need considerably more and this can easily be changed in the VirtualBox settings (while the VM is not running). You'll want to leave at least 2 GiB for your host operating system, more if you plan to run big applications on the host while the VM is up. E.g. if your PC has 8 GiB of RAM, set the VM guest to use no more than 6 GiB.
Virtual disk sizes can also be increased if you prefer this over connecting to your host filesystem. Contact us for details.