Migrating a virtual machine from VirtualBox to VMware Player on Linux

The progress of Windows 10 is something that I have been watching. Early signs have been promising and the most recent live event certainly contained its share of excitement. The subsequent build that was released was another step in the journey though the new Start Menu appears more of a work in progress than it did in previous builds. Keeping up with these advances sometimes steps ahead of VirtualBox support for them and I discovered that again in the last few days. VMware Player seems unaffected so I thought that I’d try a migration of the VirtualBox VM with Windows 10 onto there. In the past, I did something similar with a 32-bit instance of Windows 7 that subsequently got upgraded all the the way up to 8.1 but that may not have been as slick as the latest effort so I thought that I would share it here.

The first step was to export the virtual machine as an OVF appliance and I used File > Export Appliance… only to make a foolish choice regarding the version of OVF. The one that I picked was 2.0 and I subsequently discovered that 1.0 was the better option. The equivalent command line would look like the following (there are two dashes before the ovf10 option below):

vboxmanage export [name of VM] -o [name of file].ova --ovf10

VMware have a tool for extracting virtual machines from OVF files that will generate a set of files that will work with Player and other similar products of theirs. It goes under the unsurprising name of OVF Tool and it usefully works from a command line session. When I first tried it with an OVF 2.0 files, I got the following error and it stopped doing anything as a result:

Line 2: Incorrect namespace http://schemas.dmtf.org/ovf/envelope/2 found.

The only solution was to create a version 1.0 file and use a command like the following (it’s a single line though it wraps over two here and there are two dashes before the lax switch):

ovftool --lax [name of file].ova [directory location of VM files]/[name of file].vmx

The --lax option is needed to ensure successful execution even with an OVF 1.0 file as the input. Once I had done this on my Ubuntu GNOME system, the virtual machine could be opened up on VMware Player and I could use the latest build of Windows 10 at full screen, something that was not possible with VirtualBox. This may be how I survey the various builds of the operating that appear before its final edition is launched later this year.

Initial impressions of Windows 10

Being ever curious on the technology front, the release of the first build of a Technical Preview of Windows 10 was enough to get me having a look at what was on offer. The furore regarding Windows 8.x added to the interest so I went to the download page to get a 64-bit installation ISO image.

That got installed into a fresh VirtualBox virtual machine and the process worked smoothly to give something not so far removed from Windows 8.1. However, it took until release 4.3.18 of VirtualBox before the Guest additions had caught up with the Windows prototype so I signed up for the Windows Insider program and got a 64-bit ISO image to install the Enterprise preview of Windows 10 into a VMware virtual machine since and that supported full screen display of the preview while VirtualBox caught up with it.

Of course, the most obvious development was the return of the Start Menu and it works exactly as expected too. Initially, the apparent lack of an easy way to disable App panels had me going to Classic Shell for an acceptable Start Menu. It was only later that it dawned on me that unpinning these panels would deliver to me the undistracting result that I wanted.

Another feature that attracted my interest is the new virtual desktop functionality. Here I was expecting something like what I have used on Linux and UNIX. There, each workspace is a distinct desktop with only the applications open in a given workspace showing on a panel in there. Windows does not work that way with all applications visible on the taskbar regardless of what workspace they occupy, which causes clutter. Another deficiency is not having a desktop indicator on the taskbar instead of the Task View button. On Windows 7 and 8.x, I have been a user of VirtuaWin and this still works largely in the way that I expect of it too, except for any application windows that have some persistence associated with them; the Task Manager is an example and I include some security software in the same category too.

Even so, here are some keyboard shortcuts for anyone who wants to take advantage of the Windows 10 virtual desktop feature:

  • Create a new desktop: Windows key + Ctrl + D
  • Switch to previous desktop: Windows key + Ctrl + Left arrow
  • Switch to next desktop: Windows key + Ctrl + Right arrow

Otherwise, stability is excellent for a preview of a version of Windows that is early on its road to final release. An upgrade to a whole new build went smoothly when initiated following a prompt from the operating system itself. All installed applications were retained and a new taskbar button for notifications made its appearance alongside the existing Action Centre icon. So far, I am unsure what this does and whether the Action Centre button will be replaced in the fullness of time but I am happy to await where things go with this.

All is polished up to now and there is nothing to suggest that Windows 10 will not be to 8.x what 7 was to Vista. The Start Screen has been dispatched after what has proved to be a misadventure on the part of Microsoft. The PC still is with us and touchscreen devices like tablets are augmenting it instead of replacing it for any tasks involving some sort of creation. If anything, we have seen the PC evolve with laptops perhaps becoming more like the Surface Pro, at least when it comes to hybrid devices. However, we are not as happy smudge our PC screens quite like those on phones and tablets so a return to a more keyboard and mouse centred approach for some devices is a welcome one.

What I have here are just a few observations and there is more elsewhere, including a useful article by Ed Bott on ZDNet. All in all, we are early in the process for Windows 10 and, though it looks favourable so far, I will continue to keep an eye on how it progresses. It needs to be less experimental than Windows 8.x and it certainly is less schizophrenic and should not be a major jump for users of Windows 7.

A first look at SAS University Edition

My first introduction to SAS came near the start of my post-university career over a decade ago. It was six weeks of classroom training and hands-on case studies that got me going with SAS 6.12. The included SAS products naturally included the components of Base SAS for data processing (data step, PROC SQL) and reporting as well as SAS/Graph. All of that was enough for a placement with one of my then employer’s clients with the added advantage of becoming one of the client’s own employees at the end of it. During that stay, more SAS versions followed until the launch of 9.1.3. Eventually, I moved onto pastures new and I remain a SAS user with 9.3 being the most recent version that I have met at work while SAS University Edition is bringing me towards 9.4.

SAS Learning Edition

Though it is possible to extend one’s knowledge on the job, that can be harder to manage during the working day when times are busy. Before SAS University Edition, we had SAS Learning Edition and I took delivery of a copy while it was available. It included SAS Enterprise Guide 4.1 together with a limited version of SAS 9 that a few limitations. Firstly it only would process up to 1500 records in any dataset but that was not such a problem for learning. Support from SAS was limited too even if the package had a price that I seem to remember was around £100 but my memory is hazy about this. What you need to remember is that SAS licenses are vastly more expensive than this so you got that for which you have paid. If you did have a Base SAS installation, Learning Edition would co-exist with it and versions like 8.2 and 9.1.3 Service Pack 4 were compatible so long as you had them pre-installed. There was a warning that re-installation of software might be required if either SAS Learning Edition or Base SAS is removed inappropriately.

Speaking of licenses, Learning Edition was time limited with its own version 2.0 (based on Enterprise Guide 2.0 and, if I recall correctly, SAS 8.2) and version 4.1 purchased prior to September 10, 2007 expiring on December 31, 2008. The expiry date for version 4.1 after the aforementioned purchase deadline was December 31, 2011. More conventionally, it was for single PC installation only and that PC had to run either Windows 2000 or Windows XP Professional. The process was one that would be more than familiar to anyone who ever installed software on a machine running Windows. Even with those older operating systems, it needed 1,080 MB of hard disk space. It reminds me of a time when 10 GB of hard drive capacity was generous but that had moved beyond 160 GB around ten years ago. The RAM requirements also fitted the time with 256 MB being the bare minimum and 512 MB being recommended.

Usefully, the whole package came with a copy of The Little SAS Book and, not having it next to me while writing these words, I cannot recall whether whether it was the version for Enterprise Guide or the Primer edition. Though I may not have made as much use of the software as I could have done, it certainly came in useful for trying a few things and I found a way to start up the more traditional SAS DMS interface as well as Enterprise Guide.

SAS University Edition

Apart for being made available free of charge, SAS University Edition is very different from its predecessor, SAS Learning Edition. After all, things have moved along since the last decade and SAS has its SAS Analytics U (for University, I presume) community now and that may explain the name though there is a wider focus on established university teaching too. Even long term SAS users like me can be called learners too so we get allowed in as well.

Firstly, it works in a very different way since you no longer are installing SAS software like you would with Microsoft Office or Adobe Photoshop. To work, it needs you to have one of Oracle VirtualBox (4.3.12 is preferred at the time of writing), VMware Player or VMware Fusion because what you are getting is a virtual machine. For those unfamiliar with such things, SAS has Quick Start guides for each:

VirtualBox

VMware Player

VMware Fusion

The available VM’s are built around Linux in that 64-bit Red Hat Enterprise Linux is installed in there with SAS running as a service on top of it. In fact, the virtual runs solely as a server with just a screen informing you of the IP address that you need to load in your web browser of choice. That reveals another break with the past with SAS Studio being used in place of Enterprise Guide or the SAS DMS. While all the processing happens within the virtual machine, it is possible to store files on your own host operating system’s file system using by setting up a shared folder called myfolders that points to where you want it and that SAS Studio can use.

The use of virtualisation to roll out a local SAS server that makes SAS Studio available is neat and means that you do not need to run Microsoft Windows on a PC as was the case with SAS Learning Edition. Mac OS X and Linux are possibilities and I use the latter at home so this is a very good thing. Furthermore, there are installation guide for each supported operating system:

Linux

OS X

OS X

The version of SAS that you get is 9.4 and it is licensed until the middle of June 2015 with a 45 day grace period taking you as far as the end of July. Along with Base SAS, you also get SAS/STAT, SAS/IML, SAS/Secure 168-bit, SAS/ACCESS Interface to PC Files, SAS/ACCESS Interface to ODBC, SAS/IML Studio, SAS Workspace Server for Local Access, SAS Workspace Server for Enterprise Access and High Performance Suite. SAS/Graph is absent but new statistical graphics procedures like SGPLOT and SGPANEL are there so graph creation possibilities should be covered anyway.

All in all, SAS University Edition looks a snazzy arrangement and I plan to explore what is offered. SAS Studio is a new to me but there are enough recognisable features to help me settle in with it and it would merit an entry of its own on here. In fact, SAS has some video tutorials on their YouTube channel that show off some of its capabilities and the new tool certainly carries over from both Enterprise Guide and the more traditional DMS interface.

Speaking of blogging, SAS has an entry on one of the theirs that it has called Free SAS Software for students!, which is another introduction to SAS University Edition. Other (non-blog) articles include Get Started With SAS® University Edition along with a useful FAQ.

Automatically enabling your network connection at startup on CentOS 7

The release of CentOS 7 stoked my curiosity so I gave it a go in a VirtualBox virtual machine. It uses GNOME Shell in classic mode so the feel is not too far removed from that of GNOME 2. One thing to watch though is that it needs at least version 4.3.14 of VirtualBox or the Guest Additions kernel drivers will not compile at all. That might sound surprising when you learn that the kernel version is 3.10.x and that for GNOME Shell is 3.8.4. Much like Debian production releases, more established versions are chosen for the sake of stability and that fits in with the enterprise nature of the intended user base. Even with that more conservative approach, the results still please the eye though attempting to change the desktop background picture managed to freeze the machine. Other than that, most things work fine.

Even so, there are unexpected things to be encountered and one that I spotted was that network connectivity needed to switched on every time the VM was started. The default installation gives rise to this state of affairs and it is a known situation with CentOS from at least version 6 of the distribution and is not so hard to fix once you know what to do.

What you need to do is look for the relevant configuration file in /etc/sysconfig/network-scripts/ and update that. Using the ifconfig command, I found that the name of the network interface. Usually, this is something like eth0 but it was enp0s3 in my case so I had to look for a file named ifcfg-enp0s3 and edit that. The text that is sought is ONBOOT=no and that needs to become ONBOOT=yes for network connections to start automatically. To do something similar from the command line, CentOS had suggested the following:

sed -i -e ‘[email protected]^ONBOOT=”[email protected]=”[email protected]’ ifcfg-enp0s3

The above uses sed to do an inline (and case insensitve) edit of the file to change the offending no to a yes, once you have dropped in the /etc/sysconfig/network-scripts/ directory. My edit was done manually with Gedit so that works too. One thing to add is that any file editing needs superuser privileges so switching to root with the su command and using sudo is in order here.

Dropping back to a full screen terminal session from a desktop one in Linux

There are times when you might need to drop back to a full screen terminal session from a graphical desktop environment when running Linux. One example that I have encountered is the installation of Nvidia’s own graphics drivers on either Ubuntu or Linux Mint. Another happened to me on Arch Linux when a Cinnamon desktop environment update left me without the ability to open up a terminal window. Then, the full screen command allowed me to add in an alternative terminal emulator and Tech Drive-in’s list came in handy for this. there might have been something to sort on a FreeBSD installation that needed the same treatment. This latter pair happened to me on sessions running within VirtualBox and that has its own needs when it comes to dropping into a full screen command line session and I will come to that later.

When running Linux on a physical PC, the keyboard shortcuts that you are CTRL + ALT + F1 for entering a full screen terminal session and CTRL + ALT + F7 for returning to the graphical desktop again. When you are running a Linux guest in VirtualBox and the host operating system also is Linux, then the aforementioned shortcuts do not work within the virtual machine but instead affect the host. To get the guest operating system to drop into a full screen terminal session, the keyboard shortcut you need is [Host Key] + F1 and the default host key is the right hand CTRL key on your keyboard unless you have assigned to something else as I have. The exit the full screen terminal session and return to the graphical desktop again, the keyboard shortcut is [Host Key] + F7.

All of this works with GNOME and Cinnamon desktop environments running in X sessions and I cannot vouch for anything else unless alternatives like Wayland come my way. Hopefully, this useful functionality applies to those other set-ups too because there are times when a terminal session is needed to recover from a mishap, rare though those thankfully are and they need to be very rare if not non-existent for most users.