Running SAS University Edition on Fedora 25

My Wife is a statistician. Over the course of her career, she’s done a lot of work coding in SAS, and, due to the expense of licensing, I’ve never been able to run that code myself. So, when I heard about SAS having a free version, I figured I would download it and have a look, maybe see if I could run something.

Like many companies, SAS went the route of shipping a virtual appliance. They chose to use Virtual Box as the virtualization platform. However, when I tried to install and run the VM in virtual box, I found that the mechanism used to build the Virtual Box specific module for the Linux Kernel, the build assumption were not met, and the VM would not run.

Instead of trying to fix that situation, I investigated the possibility of running the virtual appliance via libvirt on my Fedora systems already installed and configured kvm setup. Turns out it was pretty simple.

To start I went through the registration and download process from here. Once I had a login, I was able to download a file called unvbasicvapp__9411008__ova__en__sp0__1.ova.

What is an ova file? It turns out is is a non-compressed tar file.

$ tar -xf unvbasicvapp__9411008__ova__en__sp0__1.ova
$ ls
SAS_University_Edition.mf  SAS_University_Edition.ovf   SAS_University_Edition.vmdk  unvbasicvapp__9411008__ova__en__sp0__1.ova

Now I had to convert the disk image into something that would work for KVM.

$qemu-img convert -O qcow2 SAS_University_Edition.vmdk SAS_University_Edition.qcow2

Then, I used the virt-manager gui to import the VM. TO be sure I met the constraints, I looked inside the SAS_University_Edition.ovf file. It turns out they ship a pretty modest VM: 1024 MB of Memory and 1 Virtual CPU. These are pretty easy constraints to meet, and I might actually up the amount of memory or CPUs in the VM in the future depending on the size of the data sets I ended up playing around with. However, for now, this is enough to make things work.

Add a new VM from the file menu.

Import the existing image

Use the Browse Local button Browse to the directory where you ran the qemu-img convert command above.

Complete the rest of the VM creation. Defaults should suffice. Run the VM inside VM Manager.

Once the Boot process has completed, you should get enough information from the console to connect to the web UI.

Hitting the Web UI from a browser shows the landing screen.

Click Start… and start coding

Hello, World.

 

12 thoughts on “Running SAS University Edition on Fedora 25

  1. Would you be able to provide the exact qemu command?
    I can get the image to boot but I cannot figure out the -net parameters so that the host may access the UI in browser.

  2. I don’t think it would be relevant; the network setup on your machine is going to be different from mine.

    My VM has a NIC attached to the “Default” network. If has an IPv4 Network of 192.168.122.0/24, and DHCP Range of 192.168.122.2 – 192.168.122.254 and NAT forwarding enabled. I think NAT is essential. If you can ssh in to the machine, you should be able to point a browser at it, to.

  3. Thank you for your guide. It worked very well and I could run the virtual machine. However, I have a question: How did you configured the “myfolders” shared folder? I am having trouble to initialize the session and I receive this error “The launch of the server process failed with an unknown status code.” which I have read is mostly due to problems with the shared folder. In your tutorial I see you receive the same message, so I wonder if you took an additional step to make it work. Again, thank you a lot, this is a lot easier method than working with VirtualBox.

  4. On regards, my previous comment. Please disregard it, I downloaded a more recent ova file of SAS and I was able to install it according to your instructions. Thank you a lot again, I have learned a lot from your post.

  5. Hello, I followed your steps, but am having trouble with the shared folders: “myfolders”. Am getting the message in the above screenshot. Please let me know how you set this up/configured it.

  6. I don’t reference shared folders, nor is there a screen shot. To be honest, if there was a weblink in your response, I would have assumed it was spam, but I’m guessing you are a real person, and having a real problem. Can you provide more details about what is wrong? What screenshot are you referring to?

  7. Hello,
    1) Yes I am a real person 🙂
    2) In the Screenshot with the words “Welcome”, the myfolders error shows. I guess the direct question is how do i get data into the vm — I am trying to get data into the vm, but am unable to; I have tried to set up shared folders; I have tried the drag and drop feature in the import data tab; but neither have worked

  8. I don’t currently have a running system, sorry. If you read up on the article here it gives you a little bit of a sense of how to do it.

    http://helpdeskgeek.com/virtualization/virtualbox-share-folder-host-guest/

    You are going to need some way to share a folder out to the VM. I’d probably use NFS myself.

    If you do create the shared folder just using bash, and make virtual box happy, you could probably get away with using scp to copy files over to it. THe same IP you use when hitting the webUI should work for ssh/scp.

  9. You might be able to use guestmount on the target image and manipulate it prior to running it. Something like:

    sudo guestmount -a SAS_University_Edition.qcow2 –rw /mnt/ -m /dev/vda1

    Not sure about the last parameter, though. Was not able to get it to run here, but I’ve done things like that in the past.

  10. Thanks Adam for the brilliant blog. You hit top search on Google for SAS with libvirt. You saved me time and a lot. Cheers

  11. Just a comment on the myfolders issue. If you e.g. connect a CDRom drive to the new VM and mount a live CD just for the purposes of booting (ensure that the CDRom drive is bootable in the configuration), you can then view the hard drive. E.g. use
    # mount /dev/sda /mnt
    # cd /mnt
    That will mount the virtual hard drive, and change to its mount point.
    From there, you will see that the ‘myfolders’ placeholder is at folders/myfolders. You can still store files there, and they will show up in SAS Studio.
    To get all of the course files that I needed there, I copied the files to a USB drive, connected said drive to the VM via USB redirection to get them, then mounted and copied, then changed permissions:
    # mkdir /usbdrv
    # mount /dev/sdb1 /usbdrv
    # cp -R /usbdrv/* /mnt/folders/myfolders/
    # chown -R 1002:1001 /mnt/folders/myfolders/*

    Another option, which I haven’t investigated fully yet but would be much more preferable, is after mounting the hard disk at /mnt, is to edit the etc/fstab file and permanently map a network folder or similar to /folders/myfolders. If I have time I’ll post my success (or otherwise).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.