Background: I have a Windows laptop and wanted to be able to run some LIGO software on it, as well as use it to ssh to other LSC-Virgo computers that require GSI-based ssh. So I worked through the steps of installing the free VMware Player software on my laptop, creating a new virtual machine (VM), installing the Scientific Linux operating system in that VM, and installing the LDG_client and LSCsoft software packages. I did not realize at the time that someone else had already done a similar thing with VirtualBox and had posted the VM image for people to download and use immediately; see the instructions here and here. That is straightforward and probably somewhat faster to do, although I like VMware Player better than VirtualBox. Anyway, I offer my notes here as a reference for anyone else who would like to try the "install from scratch" approach. Feel free to edit them to correct any mistakes, add notes, present a better way to do things, or show how to enable additional useful features. -- Peter Shawhan, June 3, 2013
NOTE added July 8, 2014: VMware Player version 5.x supports sharing folders between the host and guest operating systems, which is a very handy feature. However, it seems that this feature has been quietly removed in VMware Player version 6.x . Therefore, if you want to share one or more folders, you will either need to get version 5.x of VMware Player, or one of VMware's other products, such as Workstation 10. At present, it is still possible to download version 5.x for free from the VMware web site, but you have to know how to find it: go to https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0 . My university actually has a site license for VMware Workstation, so I installed that when I switched to a new laptop.
This page tells you how to install a virtual machine environment running on your computer's regular operating system (Windows, or some other "host" operating system) and then create a virtual machine (VM) that runs a copy of Scientific Linux 6.1 (as the "guest" operating system), which is one of the LSC's reference operating systems and thus very well supported. After doing that, it is pretty straightforward to install and maintain important software such as LDG Client and the whole LSCsoft suite. The guest operating system piggybacks on the host's network connection and physically connected devices, and really operates very much like it were an independent computer. This example uses VMware Player, though doing it with VirtualBox should be fairly similar.
The VM is pretty nifty, but it does require some system resources. 20 GB of disk space seems like enough to dedicate to the VM for casual use, and 1 GB of memory to run it efficiently (though I seem to be able to get by with 768 MB for light use).
All (?) Intel and AMD processors sold in the past few years have the necessary hardware features to support virtualization of 64-bit guest operating systems, BUT those features are often disabled by default. If you try to install this operating system anyway, you may get messages like "binary translation is incompatible with long mode on this platform" or notes about requiring "Intel EM64T VT-enabled processors". If you have an Intel processor, the feature you have to enable is called "Intel Virtualization Technology" or "VT-x". Reboot your computer and do whatever you need to do during startup to go into the BIOS configuration utility. (On my Lenovo ThinkPad, I have to press the blue "ThinkVantage" button within the first few seconds when it's booting.) Find the CPU configuration screen and change "Intel Virtualization Technology" or "VT-x" to Enabled. (You may see "VT-d" too; I don't know if that's necessary, but I enabled that too.) Save and exit the BIOS configuration utility. Now, it seems that some computers need to go to a fully power-off state for that change to take effect; you can't simply restart the operating system. So shut it down, remove the power cable and battery for 30 seconds, then put them back and boot up your computer.
Download a Scientific Linux installation disk image
Go to http://www.scientificlinux.org/distributions/6x/61/
and click on one of the ftp sites in the "Download Area" section of the page. Navigate to x86_64/iso/ , where you will see a choice of installation disk images. It wasn't clear to me which one was best, but I chose the "LiveDVD" one (SL-61-x86_64-2011-07-27-LiveDVD.iso) and that turned out to work. It is 2.3 GB so it takes a while to download.
Install VMware Player
Go to http://www.vmware.com
and find the free "VMware Player" product. It's a little hard to find in the sea of other VMware products, but you may find it on the right side of the Products pulldown list or by doing a search on the web site. More sophisticated products like VMware Fusion surely would work too, but VMware Player is free and seems sufficient. Download the appropriate version (I got "VMware Player for Windows 32-bit and 64-bit", version 5.0.2) and run it to install in the usual Windows way. (I un-checked the boxes for "Check for product updated on startup" and "Help improve VMware player".)
Create a new virtual machine
You'll have to accept the VMware Player license agreement the first time you run it.
Click on "Create a New Virtual Machine", which brings up the New Virtual Machine Wizard. Select the "Installer disc image file (iso)" option and browse to find the Scientific Linux .iso file that you downloaded. (This is like inserting an operating system installation DVD into the drive of a new real computer that doesn't yet have an OS.) Ignore the warning about "Could not detect which operating system" and click "Next". Indicate the OS type and flavor, e.g. "Linux" and "Red Hat Enterprise Linux 6 64-but" (since Scientific Linux is more-or-less a repackaged version of that). Give your virtual machine a name. Specify the maximum disk size; 20 GB seems good, and it's OK to split the virtual disk into multiple files. I suggest keeping all of the default VM "hardware" settings, with the possible exception of the memory (1024 MB by default) which you might adjust based on how much RAM your computer has and what you want to use your VM for. Click Finish, then select your new VM and click "Play virtual machine".
Install Scientific Linux
With the LiveDVD installation disk image, Linux starts up and there is an automatic "LiveCD" login after a short delay. You'll see a desktop; double-click on "Install to Hard Drive" to start the Scientific Linux Installer. Scroll down if necessary to see the "Next" button and click on that. You'll go through a series of basic configuration settings for the language, time zone, etc. For most of them you can simply use the defaults. "Basic Storage Devices" seems fine, and "Yes, discard any data" is the right choice for a new VM even though it sounds scary. Choose a root password, and let the installation proceed.
When the installation is done, shut down your VM. To "eject" the installation DVD, change the VM's setting for CD/DVD to "Use physical drive".
Initial setup of Scientific Linux
Play your Virtual Machine. It will boot Scientific Linux, show you a "Welcome" screen, and say there are a few more steps to do. Scroll down to the bottom of the page and click forward. Create a user (I gave it the name "User", with a short password) and check the appropriate box to select "Synchronize date & time over the network".
VMware Player will nag you about installing "VMware Tools". This is software that gets installed on the guest operating system to make it work more seamlessly with the host operating system in terms of mouse, keyboard, and cut-and-paste, as far as I can tell. I suggest not
clicking to install it when the software first prompts you to, but do it when you're ready, after the remaining system configuration steps. See instructions farther down on this wiki page.
Configure system to use LDG "frozen" repositories for system packages
The LDG / LSCsoft philosophy is to run a pure 64-bit operating system using frozen OS software repositories and only make OS updates necessary for security. To do this, log into your VM as root and first do "yum list installed | grep i686"; this shows you if there are any 32-bit packages. I found that the Scientific Linux 64-bit installation actually included four 32-bit packages (glibc, libgcc, and two others), and those caused problems later when I was updating packages. So you will want to remove those i686 packages with "yum remove PACKAGENAME" a few times until they are all gone. (Removing one might remove one or two others due to dependencies, depending on the order you remove them.)
The next step is to disable
the standard Scientific Linux repositories ("repos"), since we are going to get packages from the LDG-maintained repositories instead. As root, I did this in a terminal window:
mv livecd-extra.repo livecd-extra.repo_DISABLED
mv sl.repo sl.repo_DISABLED
mv sl-other.repo sl-other.repo_DISABLED
Now we enable
the LDG-managed "frozen" yum repositories. Follow the instructions at https://www.lsc-group.phys.uwm.edu/daswg/download/repositories.html#sl61
to create the files ldgscientificlinux61.repo and ldgepel6.repo with the contents specified there.
I recommend doing "yum update" at this point to bring all the system packages up to date before proceeding with the LSCsoft / LDG installation.
Install LSCsoft and LDG Client software
Follow the instructions in the "I - Installation" subsection at https://www.lsc-group.phys.uwm.edu/daswg/download/repositories.html#sl61
. For normal use, you probably want to create the lscsoft.repo with the given contents, not the lscsoft-testing.repo alternative. Finish with the "yum clean all ; yum groupinstall lscsoft-all" sequence described.
To install the LDG Client software, follow the directions at https://www.lsc-group.phys.uwm.edu/lscdatagrid/doc/installclient-sl6.html
. The first step on that page tells you to create a lscsoft.repo file, but you've already done that, so skip it. You've also already enabled the LDG ScientificLinux6.1 and EPEL6.0 repositories mentioned in step 2, though you might as well do "yum repolist" to confirm that. Continue with steps 3 through 5 to install the LDG Client software with all its prerequisites (Condor, etc.).
Install VMware Tools
What I did was to log into my VM as root, then go to the VMware Player menu and select "Player-->Manage-->Install VMware Tools". That opened a file browser window with a virtual filesystem with the software. I started a terminal and did:
tar xf /media/VMware\ Tools/VMwareTools-9.2.3-1031360.tar.gz
[accept all defaults]
Set up a shared directory
SOME VMware products---including VMware Workstation, and VMware Player 5.x, but apparently not VMware Player 6.x---allow you to share directories between the host operating system (Windows or whatever) and the guest operating system (Scientific Linux). To do that while your VM is shut down ("powered off") -- not
just supended -- select your VM in the VMware window and click on "Edit virtual machine settings". Click on the "Options" tab and select the "Shared Folders" item. Add one or more folders to share, and make sure Folder sharing is set to "Always enabled". For instance, I browsed to C:\Users\Peter\Documents and gave it the name "Documents", so now when I am using my VM, there is a filesystem called /mnt/hgfs/Documents which gives me access to my ENTIRE Windows Documents area. ("hgfs" must stand for "host-guest file system".) One thing I find this useful for is to edit a LaTeX file with my favorite Windows editor, but run latex on it within my VM to produce a pdf file, and then use Adobe Reader in Windows to view the pdf file I just created. It really works quite smoothly. You can also set up multiple shared directories if you want.