Building a computer to run Unix

<p>I'll still use my current PC for software that requires Windows, but I want to get into the habit of primarily using Unix for its learning potential. Which Unix or Unix-like OS should I use, and how should I go about purchasing/building a computer to install Unix on? I don't really have high graphics/audio requirements. I do think I would prefer it to be a laptop.</p>

<p>I notice a lot of the jobs I'm interested in ask for experience with Unix. I really like the idea of Unix, and I am pretty annoyed with Windows. I don't like how it hides certain files from me to protect me from myself. I want to know everything about how my OS works, what it stores, where it stores it, etc. I want an OS that is completely minimal so I can fully understand everything that it is doing. I also want to be able to look at the source code for most or all of the software on my computer (if that is even possible... I suppose that means using no commercial software at all). I've taken enough CS classes as well as a digital system design class so I know how computers work reasonably well, but I hate not knowing what all the software on my computer is doing. I have a lot of experience programming in Java and Python and am somewhat experienced with C, but I definitely have a TON to learn that I am interested, especially about networking, low-level programming, threading, parallel processing, etc. I also want to get experience with Unix so that I can put it on my resume.</p>

<p>Linux is probably your best bet for getting into the Unix-based OS game. Mac OS is also Unix-based but it is locked down pretty right and is not what companies are looking for when they want Unix experience. My personal preference for a beginner’s flavor of Linux is Ubuntu, but there are dozens of options out there. As for how to go about buyin a computer for it: buy any computer. I’d try and stick to NVIDIA graphics products, as I’ve had bad experiences with the AMD drivers on Linux, but really, Linux will run on basically anything. Shoot, you could even buy a Raspberry Pi for $30 and get a taste for Linux.</p>

<p>I agree that Linux would be your best bet to learning Unix.</p>

<p>As for the flavor of Linux, Red Hat is an industry leader…but Red Hat wants you to pay for it. Never fear, that is where the “free open sources” come into play. The best Red Hat-like Linux versions are CentOS and Fedora. Here are the differences:</p>

<ul>
<li>CentOS is Red Hat Linux with the current updates or NO MORE than 1 version behind</li>
<li>Fedora is Red Hat Linux with the not yet implemented new stuff from Red Hat</li>
</ul>

<p>Another very-close to Red Hat Linux is Scientific Linux but…UGHHH, the drivers are a total pain.</p>

<p>You will need some good Linux books. The absolute BEST Linux book out there is “UNIX and Linux System Administration Handbook” by Evi Nemeth and Garth Snyder. What is even nice about that book is that for many Linux commands, it will give you the equivalent HP-Linux or Sun Solaris or IBM-flavor command.</p>

<p>Right behind that book (just Linux, no reference to Unix) is “Linux Bible” by Christopher Negus and Christine Bresnahan.</p>

<p>A good structured outline for learning most-needed topics of Linux Administration can be found on Red Hat’s Certification Site:</p>

<p>[Red</a> Hat | Exam objectives ? RHCSA](<a href=“Red Hat Certified System Administrator (RHCSA) exam | EX200”>Red Hat Certified System Administrator (RHCSA) exam | EX200)</p>

<p>You can download CentOS here: [www.centos.org</a> - The Community ENTerprise Operating System](<a href=“http://www.centos.org/]www.centos.org”>http://www.centos.org/)</p>

<p>Have fun</p>

<p>We have been using Ubuntu (currently 12.10) for several years now by use of VMware virtual machines. Since we also need to run Windows for other stuff VMware works well but to get good performance we use big HP workstations (dual quad Xeons)…</p>

<p>I’d also recommend giving Ubuntu and/or CentOS a try. I have a slight preference for Ubuntu, but I’m not completely sure why.</p>

<p>As far as building a computer to run one of these operating systems… you shouldn’t have any trouble, especially if you stick with more mainstream offerings. You can even make Ubuntu bootable from a USB drive these days, so I doubt you’d have much trouble installing it on such a machine alongside your Windows installation. Of course, YMMV. It’s not terribly complicated to install Linux alongside Windows on a desktop either… dual booting is pretty common, or at least it has been in the past.</p>

<p>You might also try Linux Mint, which has a common ancestor with Ubuntu. Or try their ancestor, Debian.</p>

<p>If you want to get into the details of configuring the OS, Debian may be a good choice. The insides are less hidden than Ubuntu but that means you have to work at it a bit more.</p>

<p>Yeah, maybe Debian isn’t as good for first-timers. Of course, if you really want to do all the configuration yourself and have 100% total control, get Arch Linux. I refuse to attempt that though. Too much work just to use my computer.</p>

<p>You can get a free AWS account and play with the Linux micro instance or setup a network with multiple instances. You can attach storage, configure multi-tier back end and do all kinds of things that Linux is good at.</p>

<p>You can learn most of the stuff you listed on Windows. You can learn network, and mult-thread programming in Java. It will ease your learning curve. If you want to try C++, take a look at boost library. It works on both Windows and Linux. It provides networking and thread classes that are commonly used. You can get a Windows version of vi editor to practice. You will be comfortable with Linux once you get the editor down.</p>

<p>Assuming you have a fairly standard system, you may not need a new computer. Try a live CD with your current computer and see what happens. Setting up the correct drivers for your hardware could also turn into a good learning exercise, provided that you can live with the frustration if things don’t end up working.</p>

<p>One tip: if you have a wired network connection available, that can be useful while you are getting things up and running. Wireless is often the trickiest to configure.</p>