Welcome!

.NET Authors: Roger Strukhoff, Sarah Lake, RealWire News Distribution, PR.com Newswire, Jayaram Krishnaswamy

Related Topics: Virtualization, Java, .NET, Linux, Open Source, Red Hat

Virtualization: Article

Running Fedora 17 Under Windows 7

Tips and Tricks

The advantages of virtualization are obvious for almost everyone. One of the first influential articles on the subject was my article [1] which was of interest to more than 48,000 readers. Below you will find useful and quick methodology on how to install and use Fedora 17 under the Windows 7 environment to gain efficiency and productivity in a cost-effective and convenient way. Only free tools will be used. PC used for this article has 6 GB of RAM and Intel core i7 CPU. The PC runs under 64-bit Windows 7 and has 680 Gb HDD. This is a typical PC configuration at the time of writing, so most of the readers have a PC with similar or better parameters and that's why the technology described above will be useful "out-of-the-box" without any additional investments. To mention the last but not the least pre-condition, it will be useful to have JDK 1.7 (from update 5 and up) installed on your host PC. For your convenience you may also want to install Eclipse, NetBeans and/or IntelliJ Idea community edition. All tools are free, open sourced and can be installed on the same PC without conflicts.

Please note that as usual further in this article the mandatory parts of specific examples will be encircled with angle brackets (<>), while optional parts as well as references and system prompts will be encircled with square brackets ([]). The pipe symbol "|" will denote selection (for instance from the menu).

Why Windows 7 and Fedora 17
Windows 7 is one of the most widely used operating system these days. The chances are good that when you buy your new PC, it will run under Windows 7. Also if you buy almost any peripheral device such as an external HDD, printer, scanner etc., it will be ready to run under Windows 7 just out of the box. On the other hand Fedora 17 is the latest and greatest Fedora distribution that contains many useful free and/or open sourced applications and a lot more can be installed on it. Moreover, some vendors offer free versions of their products under Linux, for which you will need to pay (examples will be given below). It is assumed that you are not interested in "wars" between different software teams, but rather in getting your job done in the most effective and convenient way. This article will teach you how to do just that by taking the best of Windows 7 and Fedora 17.

Free Virtualization
In my previous articles [1,2] I described how to use commercial solutions for virtualization. However, now it is possible to use a free open source product Oracle VM Virtual Box to run Fedora 17 under Windows 7. How to use the product in question for running Fedora 17 under Windows 7 and the convenient mechanisms to exchange files between Windows 7 host and a Fedora 17 guest as well as how to run guest applications from the host and much more will be described in this article.

How to save time on Fedora 17 installation
Here is a surprise: the installation of Fedora 17 per se is not needed. All you will need to do is to download 64-bit zipped image for VMware (yes, VMware I will explain how in works with Oracle VM VirtualBox in a moment) from [3]. If the image in question will not be available for whatever reason, please feel free to contact me at [email protected]. I will be more than happy to help.

Unzip the downloaded image that consists of a set of specific VMware files. The file name for the image is Fedora-17-x86_64.zip . By default, the files will be unzipped into fedora-17-x86_64 directory. Now you need to configure your Oracle VM Virtual Box for work with this image.

The configuration in question is given in Figure 1. Almost everything regarding Virtual Box and VirtualBox Extensions installations and configurations under Windows 7 is straightforward, only several comments need to be made.

  • Amount of memory of 3,591 Mb is enough to provide reasonably fast Fedora 17 functionality and on the other hand a functionality of host Windows 7 for the described PC. If you have a different amount of RAM, you may want to adjust this setting accordingly.
  • How to attach downloaded 64-bit image of VMware downloaded from [3] is shown in Figure 2. Please note that fedora-17-x86_64.vmdk which is shown in Figure. 2 is a part of downloaded and unzipped Fedora 17 image and can be found under fedora-17-x86_64 directory.

Once you did everything as described above, guest Fedora 17 is ready to rumble under the Windows 7 host. A little bit more tweaking will be needed to provide your convenient experience with Fedora 17 under Windows 7.

Interaction between Windows 7 host and Fedora 17 guest
One of the beauties of virtualization (in contrast to multi partitioning for instance) is an ability to run multiple operating systems simultaneously on the same physical box. It gives you an opportunity to have the "best of both worlds" at your disposal. It is suggested that you will use Windows 7 as a tool to connect to an external environment. It will handle security features such as FireWall and antiviruses, communicate with external devices, etc. On the other hand Fedora 17 will be used as a vehicle to run useful Linux applications. This "division of labor" is convenient if we have the ability to interact between Windows 7 host and Fedora 17 guest on the fly. One way to achieve this goal is to use ssh and port forwarding. Port forwarding with Oracle VM Virtual Box can be done with GUI as shown in Figure 3. (Please note that there is no need to specifically manually change any configuration file.)

A little bit more tweaking will be needed on Fedora 17 side. First you will need to install the Virtual box guest addition on Fedora 17, which will made your further job more convenient. One needs to perform activities described in [4] to do so.

The next step will be to establish an ssh connection between Windows 7 host and Fedora 17 guest.

The advantages of this connection are as follows (among others)

  • It will give you an opportunity to use free and open source GUI client WinSCP [7] that will allow you to perform a convenient exchange of files between host and guest without limitations of using dedicated folders only.
  • You will have an option to run programs for Fedora 17 from a Windows 7 host. For example you will be able to use the popular free open sourced PuTTY client [5] in conjunction with WinSCP and/or by running ant scp task [6]. Please also note that you may use methodology described in my article [8] as one of the possible ways to run programs for Fedora 17 from Windows 7 host.

On the Fedora 17 side you need to do changes in /etc/ssh/sshd_config file. For your convenience a result of changes in question is shown in Listing 1. Also you may want to disable the firewall. Please note that it is a virtual machine anyway. A real firewall works on your physical Windows 7 box and its functionality is not affected. To do so go to Gnome 3 (suppose you use this desktop environment) Applications and type "Fire" (it will be sufficient) in a search area. FireFox and Firewall will appear (among other applications whose name starts with "fire" if any). Choose Firewall and click "Disable" button. If administrative (root) password will be required for this type thoughtpolice as per [3].

Now you will need to re-start sshd service as follows

systemctl enable sshd.service

It is suggested that the above command is run as root in the terminal window.

Changes in the configuration files described below can be done in any editor of your choice such as vi, etc., given that you have root privileges while editing. Another convenient editor for the job is Geany[9]. To install it on Fedora 17 just issue the following commands (please see more details on su below).

su
yum install geany

Note that with Geany you have convenient GUI editor that allows you to view/edit files that are owned by the root.

Here is how.

Suppose you need to perform the described editing of the sshd_config file.

Type the following in the terminal window (square brackets below comes from system prompt). Note that user name changed from akrivitsky (sure your user name will be here) to root after su command.

[akrivitsky@localhost ~]$ su
Password: <enter password from above here)
[root@localhost akrivitsky]# geany

So you are running geany as a root now and therefore, all files that are owned by root are accessible for viewing/editing.

From this point you will be able to perform a bi-directional file exchange between the Windows 7 host and Fedora 17 as well as run certain Fedora 17 commands/applications from Windows 7.

A convenient way to do so is to use free and open source WinSCP client, which can be download from [7].

First you need to set up a new session with your Fedora 17 virtual machine. To do so select Session | New Session from the WinScp menu and fill out the corresponding screen in a way similar to what is shown in Figure 4 (use your own values). It will be good idea to save the session for future use by clicking the save button. Also you may want to replace the default WinScp editor with Notepad++ [10] which is free, open source and has a lot of advantages. In particular with Notepad++ you can use the snippet technique which is effective and time-saving with the FingerText plugin [11]. A detailed description of Notepad++ and its plugins is beyond the scope of this article. You may want to start with [12, 13] for additional information.

To use Notepad++ WinScp do the following. Go to Options | Preferences in WinScp menu. Select Editors, after that click Add and put full path to Notepad++ (which is external editor) under External Editor field. For example, it can be as follows "C:\Program Files (x86)\Notepad++\notepad++.exe" !.!. As usual use your own path to notepad++.exe instead of listed above if needed.

After that, using the Up and Down buttons in Options | Preferences | Editors make sure that the added Notepad++ holds the first position within the window.

Now we need to configure WinScp to work with putty - a convenient free and open sourced telnet and ssh client.

If putty is not installed already, download it from [5] and install. After that go to Options | Preferences | Integrations | Applications in WinScp menu. Browse to putty.exe. It will be convenient for you to check "Remember session password and pass it to putty check box", so you will not need to enter the password. After that putty will be connected to Fedora 17 virtual machine by just clicking open session in Putty button on WinScp toolbar or by entering CTRL+P keys.

How to make the Fedora 17 experience more convenient
If previously described activities were done correctly, virtual machine (VM) with Fedora 17 should be ready to run under Windows 7. Moreover, you are able to perform file exchange between Windows 7 host and Fedora 17 guest with WinSCP and run certain Fedora17 commands/applications in putty. So you are not that dependent on Fedora17 GUI environment such as Gnome as if you run Fedora17 alone. This way, any conflicts by different teams and individuals that developed (used) Gnome and Gnome-like environments (as well as KDEs ones) such described in [14] and other sources can be avoided by you.

However, it's a good idea to make your Fedora 17 experience more convenient by downloading and installing additional free and open source software that fits your needs. There are several post installation guides that will help you to do so (like for instance [15]).

Examples are as follows. If you feel more comfortable with some elements of KDE such as Kwrite text editor and/or Dolphin file managed (but not with KDE itself), you may want to install KDE (for example as described in [15]) but still use Gnome session at login.

Moreover, you can have Notepad++ (with advantages described above) up and running under Fedora 17. To do so you will install WinE, for instance by doing the following:

yum upgrade
yum --enablerepo=updates-testing upgrade wine
yum install wine

After that you download (or copy from Windows host with WinSCP) notepad++ installer.

Make sure that finally it is under [path to your home directory here]/.wine/drive_c/windows, after that run:

wine npp.6.1.3.Installer.exe. (Please use actual name of your installer here).

Suppose appropriate permissions are given to all path elements below, after that you may run Notepad++ as follows (as usual replace values below to your own if needed):

wine '/root/.wine/drive_c/Program Files (x86)/Notepad++/notepad++.exe'

At some point you may want to develop shell script which will do above command to run Notepad++ conveniently. For instance, you can create npp function with this bash script (say from file called npp.sh):

#!/usr/bin/bash
function npp () {
wine '/root/.wine/drive_c/Program Files (x86)/Notepad++/notepad++.exe' $1
}

And after that it will be convenient for you to use notepad++ by calling the function from terminal window, using it into your scripts etc.

Example of Free Version of Application from a Software Vendor for Run Under Fedora 17
Though Fortran has a long history it still alive and well. The reasons are that it is very well suited for byte-crunches scientific and engineering tasks and huge amount of applications that were created and tested for years and therefore contain less errors than newly developed ones. Please see for instance [16] for further details. One of fastest Fortran compilers is Intel Fortran Composer XE for Linux which is free for non-commercial usage [17]. It is very easy to install the composer on Fedora 17 under Oracle VM Virtual Box. After installation you may want to run the following command:

ifort Dwhet_fortran.f -o Dwhet_optimized.exe -O3 -ipo -no-prec-div

Note that Dwhet_fortran.f is a file name with my modification of known whetstone benchmarking [18] adjusted for Fortran code. Please also see my site [19] for more details on benchmarking.

References:

  1. A. Krivitsky (2006). "Running Fedora Core 5 Under Windows XP - Tips and Tricks." LinuxWorld. Vol. 4, issue 5.
  2. A. Krivitsky (2008)."The 'Best of Both Worlds': Running Fedora 8 on Legacy Windows XP." Enterprise OpenSource magazine. Vol 4, issue 8
  3. VMWare image of Fedora 17 http://www.thoughtpolice.co.uk/vmware/#fedora17
  4. VirtualBox Guest Additions on Fedora 17/16, CentOS/RHEL 6.3/5.8. Updated by JR on Jul 22, 2012 in CentOS, Desktop Guides, Featured, Fedora, Linux, Programs, Red Hat (RHEL). http://www.if-not-true-then-false.com/2010/install-virtualbox-guest-additions-on-fedora-centos-red-hat-rhel/
  5. PuTTY Download Page - http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  6. Ant SCP task - http://ant.apache.org/manual/Tasks/scp.html
  7. WinSCP - http://winscp.net/eng/index.php
  8. A. Krivitsky (2006). " The Best of Both Worlds Debugging Linux/Unix code using Windows XP software development tools" Enterprise OpenSource magazine. Vol 4, issue 8
  9. Geany site - http://www.geany.org/
  10. Notepad++ http://notepad-plus-plus.org/
  11. FingerText plugin for Notepad++ https://github.com/erinata/FingerText
  12. B. Dammani. Notepad++ tricks and tips - http://techbrij.com/518/10-notepad-tips-tricks-fast-development
  13. M. Romalotti. 27 Notepad++ plugins, and which you really need - http://opensourcesoft.org/software/27-notepad-plugins-and-which-you-real...
  14. C. Brown. The KDE/GNOME Controversy - http://linuxfinances.info/info/qtcontroversy.html
  15. Fedora 17 Post Installation Guide - http://www.my-guides.net/en/guides/linux/346-fedora-17-post-installation-guide.
  16. A. Krivitsky (2006). Migration of Legacy Scientific and Engineering applications from mainframes to PCs with open source technologies Enterprise OpenSource magazine. Vol 4, issue 9
  17. INTEL® DEVELOPER ZONE: Non-Commercial Software Development http://software.intel.com/en-us/non-commercial-software-development
  18. A. Krivitsky (2005). "Remote benchmarking with Servlets and JSF". JDJ. Vol10, issue 5
  19. My site: http://akrivitsky.110mb.com/

More Stories By Anatoly Krivitsky

Anatoly Krivitsky has a PhD in computer science and has more than 24 years of working experience in the IT field. He's the author of 20 published papers and books and five patents. For more information, please visit http://www.myjavaserver.com/~akrivitsky/index.html.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.