Colleagues and friends often ask me how they can learn or practice Linux when they only have Windows at work and a single family Windows computer at home, for free. That’s a good question, and there are a couple of different answers. Before we get to the free methods, I want to acknowledge that there are other free-for-personal tools (such as VMWare Workstation Player) that are free for personal use, but not for business use. Workstation Player and other such tools may be good choices for many or most learners, but you should always check the license to ensure that your use conforms to the license terms.
I run Oracle’s VirtualBox at home. I use it exclusively for running Linux virtual machines, mostly Ubuntu. Their workstation version is “free to download, use and share,” which makes it appropriate for my playing around. If I want to test more advanced software, I use their server version (also free) which has multiple advanced Linux features. (I also run the server version standalone on older hardware, but we’re not talking about that here.)
One can install the Linux distribution in VirtualBox or search for pre-built VirtualBox Virtual Machines. I’m running one right now that I downloaded from osboxes.org. I use it mostly for testing shell commands and some alternatives for expensive Windows apps. Yesterday, I used it to help a colleague solve a shell question.
VirtualBox also has a version with a few more features. You can use it for home or personal use, or pay to use those features commercially. Check their licensing FAQ for more details.
“Bash on Ubuntu on Windows” is a Microsoft beta product that provides many Linux features with Windows 10. It is not a virtual machine. It runs alongside Windows and uses Windows OS services to implement Linux core services. It isn’t complete (hence the “beta”), but it does allow one to practice some shell use and a few other commands. The environment is Linux, but it is not fully fleshed out.
There is a set of free tools from Cygwin that implements many of the Linux commands under Windows. Cygwin allows a user to create an environment in Windows that has a distinct Linux flavor. It supplements the Command Prompt and PowerShell. Those familiar with Linux often use it as a way to implement scripted solutions across multiple platforms.
I use Cygwin when I want to do something complex quickly without having to look up how to do it using PowerShell. It doesn’t do everything PowerShell does, but for one who is used to Linux, it is a quick solution. It is also an easy way to learn to use the bash shell and other tools such as awk, grep, and sed without the overhead of a virtual machine or Bash on Ubuntu on Windows.
Finally, I read about anther inexpensive or free way to run Linux. One can run it under Android. Because of the way Android runs, you can download Linux from the Google Play store. xdadevelopers has the complete instructions. I don’t have a spare Android tablet handy, so I haven’t tried it, yet, but I did successfully try and use the X server described in the article. Next time I see a cheap Android tablet, I might pick one up and install Linux.
There are other ways to practice Linux without a dedicated computer. If you just want to play with some tools, the ones on the Mac are very similar, and many are identical. Whatever you do, learning to use Linux is a valuable skill for networking, security, and development professionals. Learning Tree’s courses are a good way to get started or learn advanced topics.
Please tweet to us @learningtree about ways you practice Bash, Linux, etc. without a dedicated computer.
To your safe computing,