<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Make Tech Easier&#187; tarball</title>
	<atom:link href="http://maketecheasier.com/tag/tarball/feed" rel="self" type="application/rss+xml" />
	<link>http://maketecheasier.com</link>
	<description>Uncomplicating the complicated, making life easier</description>
	<lastBuildDate>Sun, 12 Feb 2012 15:58:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>From Noob to Ninja &#8211; Your Guide to Mastering Linux</title>
		<link>http://maketecheasier.com/guide-to-mastering-linux/2010/10/21</link>
		<comments>http://maketecheasier.com/guide-to-mastering-linux/2010/10/21#comments</comments>
		<pubDate>Thu, 21 Oct 2010 12:00:08 +0000</pubDate>
		<dc:creator>Joshua Price</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[lfs]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[tarball]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://maketecheasier.com/?p=23201</guid>
		<description><![CDATA[Every Linux user has been new at some point, and unless you&#8217;ve got a history of UNIX administration, the transition was likely a bit daunting. Many people began learning Linux before sites like Google and StackExchange made it easy to find answers, and ended up having to figure everything out in their own. While inconvenient, [...]<p><div style="float:left;margin-bottom:10px"><a href="http://api.tweetmeme.com/share?url=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21&amp;service=bit.ly" target="_blank"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21" style="border:none;margin-right:5px" width="51" height="61"></a><a href="http://digg.com/tools/diggthis/login?url=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21" target="_blank"><img src="http://images.maketecheasier.com/diggme.png" style="border:none;margin-right:5px" ></a><a href="http://www.facebook.com/sharer.php?u=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21" target="_blank"><img src="http://images.maketecheasier.com/fb.jpg" style="border:none;margin-right:5px" ></a><a href="http://www.google.com/reader/link?url=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21&amp;title=From+Noob+to+Ninja+%26%238211%3B+Your+Guide+to+Mastering+Linux&amp;srcTitle=MakeTechEasier.com" target="_blank"><img src="http://images.maketecheasier.com/gbuzz-feed.png" style="border:none;margin-right:5px" ></a><a href="http://www.stumbleupon.com/submit?url=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21" target="_blank"><img src="http://images.maketecheasier.com/stumble.png"></a></div>
<div style="clear:both"></div>
<strong><a href="http://maketecheasier.com/guide-to-mastering-linux/2010/10/21">From Noob to Ninja &#8211; Your Guide to Mastering Linux</a></strong> originally published on <a href="http://maketecheasier.com">Make Tech Easier</a> (<a href="http://feedproxy.google.com/MakeTechEasier">RSS</a>)
<br/>
Follow us at <a href="http://www.facebook.com/MakeTechEasier">Facebook</a> | <a href="http://twitter.com/MakeTechEasier">Twitter</a></p>
]]></description>
			<content:encoded><![CDATA[<p><img src="http://imagecdn.maketecheasier.com/2010/10/linuxninja-tux.jpg" alt="linuxninja-tux" title="linuxninja-tux" width="200" height="171" class="alignleft size-full wp-image-23219" />Every Linux user has been new at some point, and unless you&#8217;ve got a history of UNIX administration, the transition was likely a bit daunting. Many people began learning Linux before sites like Google and StackExchange made it easy to find answers, and ended up having to figure everything out in their own. While inconvenient, this approach can force you to challenge yourself and learn things about the system that you might otherwise never find out.</p>
<p>Usually here at MakeTechEasier, we focus on specific topics for our tutorials. This time we&#8217;re taking a different approach, and providing a high-level overview of series of steps designed to hone the skills of a Linux beginner, and turn them into the kind of geek who compiles a new kernel for fun.<br />
<span id="more-23201"></span></p>
<h3>Step 1 &#8211; Install an &#8220;Easy&#8221; Linux in Real Partitions</h3>
<p>There&#8217;s a good chance that if you&#8217;re reading this, you&#8217;ve likely already installed a Linux such as Ubuntu or Fedora. These &#8220;desktop&#8221; Linux systems are specifically designed to be as simple as possible to install. It&#8217;s important to do an actual partition-based install (as opposed to a &#8220;virtual&#8221; partition as done by Wubi) because this will ensure you understand the way the partitions are named and the importance of a swap partition.  </p>
<p><img src="http://imagecdn.maketecheasier.com/2010/10/linuxninja-lucidinstall.jpeg" alt="linuxninja-lucidinstall" title="linuxninja-lucidinstall" width="577" height="357" class="aligncenter size-full wp-image-23202" /></p>
<h3>Step 2 &#8211; Learn the Filesystem</h3>
<p>This is particularly important if you&#8217;re transitioning from Windows. Linux does not store programs the same way Windows does. On Windows, a program&#8217;s files are normally stored in (drumroll please) <em>Program Files</em>, and that usually includes just about everything the program needs. Linux, however, takes an approach that may seem a bit more complicated but has some advantages.  </p>
<p><img src="http://imagecdn.maketecheasier.com/2010/10/linuxninja-fs.png" alt="linuxninja-fs" title="linuxninja-fs" width="432" height="656" class="aligncenter size-full wp-image-23203" /></p>
<p>A Linux package will normally place its executable files in a location like /usr/bin, its configuration files in /etc, and perhaps its log files in /var. Why the split? In short, because that allows a user or administrator to work with groups of related files. For example, if you wanted to reinstall your OS but a lot of your apps have custom configurations, you can just back up your /etc directory and all your configs are saved. You could put /var in its own partition so that log files have a hard limit on the space they can take up.  </p>
<p>For detailed info on the Linux filesystem hierarchy, check out this <a href="http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/index.html" target="_blank" >great guide</a> from the folks at The Linux Documentation Project.  </p>
<h3>Step 3 &#8211; Explore /proc</h3>
<p>We&#8217;ve mentioned <a href="http://maketecheasier.com/proc-filesystem-examine-linux-inner-working/2010/08/19">before</a> how useful it can be to understand /proc, the special filesystem created by Linux to hold dynamic system information. Understanding proc is essential toward understanding Linux, because it gives you live feedback on the state of your hardware and software.  </p>
<h3>Step 4 &#8211; Compile a Kernel</h3>
<p>This is where a lot of people step back, feeling as if they&#8217;re not ready. The honest truth is that compiling a custom kernel is not as complicated as it may sound. Most of the time, the process consists of a few shell commands and a few minutes of reading over checkboxes. Often, customizing a kernel build is literally as simple as browsing a long list of options and picking the ones that sound good. Many options come with a recommended setting to help guide choices you might not be familiar with.  </p>
<p><img src="http://imagecdn.maketecheasier.com/2010/10/linuxninja-xconfig.png" alt="linuxninja-xconfig" title="linuxninja-xconfig" width="577" height="469" class="aligncenter size-full wp-image-23204" /></p>
<p>Ubuntu provides an excellent guide on this topic <a href="https://help.ubuntu.com/community/Kernel/Compile" target="_blank">here</a>.  </p>
<h3>Step 5 &#8211; Install Gentoo</h3>
<p>There are a few source-based distributions out there, and Gentoo is probably the best known among them. Where your average Linux like Ubuntu and Fedora will fetch packages, Gentoo fetches only the source code, and compile that code into the actual program. There are a few advantages (and disadvantages) to this approach, namely speed and flexibility.  </p>
<p>Gentoo users set certain flags for the system that specify, among other things, the CPU type of the machine. When a user requests a package, say for example Firefox, Gentoo&#8217;s package manager will search the Firefox source code pack and download the code. It will check the user&#8217;s flags to get information, and then build the package that&#8217;s specifically optimized for that CPU.  </p>
<p><img src="http://imagecdn.maketecheasier.com/2010/10/linuxninja-gentoo.jpeg" alt="linuxninja-gentoo" title="linuxninja-gentoo" width="577" height="445" class="aligncenter size-full wp-image-23205" /></p>
<p>The Gentoo install process is not easy. It&#8217;s done through the command line and almost everything is done manually, so Gentoo provides excellent <a href="http://www.gentoo.org/doc/en/?catid=install#doc_chap2" target="_blank">install documentation</a> to help get you through.  </p>
<h3>Step 6 &#8211; Learn a Scripting Language</h3>
<p>While C is usually the language of choice for Linux system internals, many of the applications are tied together using higher level programming and scripting languages like Python and bash. Learning one or both of these can be IMMENSELY useful for managing and automating your system.</p>
<p>For example, just yesterday I spoke with a friend who was tasked with gathering the specs from hundreds of hard drives on a company network. Many people would let out a little sigh, grab a clipboard, and start opening machines. This friend, being a Linux geek, instead whipped up a 3-line bash script which scanned the hard drive data for the whole network and printed the results in seconds.  </p>
<p>If you&#8217;re looking for a place to start learning, MTE has a <a href="http://maketecheasier.com/a-basic-introduction-to-python-3/2009/03/25">Basic Introduction to Python 3</a>.  </p>
<h3>Step 7 &#8211; Install Linux From Scratch</h3>
<p>You may have noticed in the section above when I mentioned that a Gentoo install involves doing nearly everything manually. Take out the word &#8220;nearly&#8221;, and you&#8217;re beginning to envision a <a href="http://www.linuxfromscratch.org/" target="_blank" >LFS</a> install. LFS is not a distribution exactly. In fact, it&#8217;s not a distribution at all. It&#8217;s a series of instructions, a way to build every&#8230; single&#8230; piece&#8230; of your Linux install directly from <a href="http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25">source code tarballs</a>. There is no package manager, no installer, no helpful utilities. You just follow the steps to put each and every piece in place to make a bootable system.  </p>
<p>The first time I did LFS, it took me a solid week to get it bootable. With some practice and a fast machine, you may be able to trim that down to a few hours. LFS is not for those lacking in serenity and patience, but if you&#8217;re willing to put in the time and effort, it&#8217;s one of the most rewarding experiences you can have on a PC.  </p>
<p>Image credit: <a href="http://DebianAdmin.com" target="_blank" rel="nofollow">DebianAdmin.com</a></p>
<p><div style="float:left;margin-bottom:10px"><a href="http://api.tweetmeme.com/share?url=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21&amp;service=bit.ly" target="_blank"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21" style="border:none;margin-right:5px" width="51" height="61"></a><a href="http://digg.com/tools/diggthis/login?url=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21" target="_blank"><img src="http://images.maketecheasier.com/diggme.png" style="border:none;margin-right:5px" ></a><a href="http://www.facebook.com/sharer.php?u=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21" target="_blank"><img src="http://images.maketecheasier.com/fb.jpg" style="border:none;margin-right:5px" ></a><a href="http://www.google.com/reader/link?url=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21&amp;title=From+Noob+to+Ninja+%26%238211%3B+Your+Guide+to+Mastering+Linux&amp;srcTitle=MakeTechEasier.com" target="_blank"><img src="http://images.maketecheasier.com/gbuzz-feed.png" style="border:none;margin-right:5px" ></a><a href="http://www.stumbleupon.com/submit?url=http://maketecheasier.com/guide-to-mastering-linux/2010/10/21" target="_blank"><img src="http://images.maketecheasier.com/stumble.png"></a></div>
<div style="clear:both"></div>
<strong><a href="http://maketecheasier.com/guide-to-mastering-linux/2010/10/21">From Noob to Ninja &#8211; Your Guide to Mastering Linux</a></strong> originally published on <a href="http://maketecheasier.com">Make Tech Easier</a> (<a href="http://feedproxy.google.com/MakeTechEasier">RSS</a>)
<br/>
Follow us at <a href="http://www.facebook.com/MakeTechEasier">Facebook</a> | <a href="http://twitter.com/MakeTechEasier">Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://maketecheasier.com/guide-to-mastering-linux/2010/10/21/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Better Linux Package Management with Checkinstall</title>
		<link>http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23</link>
		<comments>http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23#comments</comments>
		<pubDate>Tue, 23 Feb 2010 13:00:55 +0000</pubDate>
		<dc:creator>Joshua Price</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[checkinstall]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[tarball]]></category>

		<guid isPermaLink="false">http://maketecheasier.com/?p=12554</guid>
		<description><![CDATA[If you use Linux in any depth, you&#8217;re eventually have to install a program from source code. Normally the process is pretty quick and painless, but it still has some drawbacks, especially when it comes to upgrading or uninstalling that program. To help resolve this, we&#8217;ve got checkinstall, a useful tool that adds some cleverness [...]<p><div style="float:left;margin-bottom:10px"><a href="http://api.tweetmeme.com/share?url=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23&amp;service=bit.ly" target="_blank"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23" style="border:none;margin-right:5px" width="51" height="61"></a><a href="http://digg.com/tools/diggthis/login?url=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23" target="_blank"><img src="http://images.maketecheasier.com/diggme.png" style="border:none;margin-right:5px" ></a><a href="http://www.facebook.com/sharer.php?u=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23" target="_blank"><img src="http://images.maketecheasier.com/fb.jpg" style="border:none;margin-right:5px" ></a><a href="http://www.google.com/reader/link?url=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23&amp;title=Better+Linux+Package+Management+with+Checkinstall&amp;srcTitle=MakeTechEasier.com" target="_blank"><img src="http://images.maketecheasier.com/gbuzz-feed.png" style="border:none;margin-right:5px" ></a><a href="http://www.stumbleupon.com/submit?url=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23" target="_blank"><img src="http://images.maketecheasier.com/stumble.png"></a></div>
<div style="clear:both"></div>
<strong><a href="http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23">Better Linux Package Management with Checkinstall</a></strong> originally published on <a href="http://maketecheasier.com">Make Tech Easier</a> (<a href="http://feedproxy.google.com/MakeTechEasier">RSS</a>)
<br/>
Follow us at <a href="http://www.facebook.com/MakeTechEasier">Facebook</a> | <a href="http://twitter.com/MakeTechEasier">Twitter</a></p>
]]></description>
			<content:encoded><![CDATA[<p><img src="http://imagecdn.maketecheasier.com/2010/02/checkinstall-box.png" alt="checkinstall-box" title="checkinstall-box" width="128" height="128" class="alignleft size-full wp-image-12602" />If you use Linux in any depth, you&#8217;re eventually have to install a program from source code. Normally the process is pretty quick and painless, but it still has some drawbacks, especially when it comes to upgrading or uninstalling that program. To help resolve this, we&#8217;ve got <a href="http://www.asic-linux.com.mx/~izto/checkinstall/index.php" target="_blank">checkinstall</a></em>, a useful tool that adds some cleverness to the process by keeping track of file changes and generating binary packages from your tarballs. With checkinstall, you can generate a RPM, deb, or Slackware package that can be ported between systems for easy install and removal.<br />
<span id="more-12554"></span></p>
<h3>Getting checkinstall</h3>
<p>Ubuntu users can install by clicking <a href="apt:checkinstall">here</a> or using your normal package manager. Others can download the tarball from the <a href="http://www.asic-linux.com.mx/~izto/checkinstall/download.php" target="_blank">checkinstall website</a>. </p>
<h3>How it Works</h3>
<p>Essentially, checkinstall replaces the <em>make install</em> portion of a normal source code installation. If you&#8217;re unfamiliar with installing from source code in Linux, check out <a href="http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25">this guide</a> to get the basics. The rest of this guide will assume basic familiarity of the normal <em>config/make/install</em> process.  </p>
<p>Once you&#8217;ve run <em>configure</em> (if necessary) and <em>make</em>,  you&#8217;d normally run <em>make install</em> to complete the process. Now you&#8217;d run checkinstall instead, and it would take over the rest. It will record all the files that would be used by <em>make install</em> and build the proper type of package for your system, so that the existing package manager (apt, yum, etc) can handle upgrades and removals.  </p>
<h3>Running Checkinstall</h3>
<p>For this example, we&#8217;ll be using checkinstall to install Python from a source tarball. To follow along, you can download the same tarball <a href="http://python.org/ftp/python/3.1.1/Python-3.1.1.tgz">here</a>. Once extracted to your target location, open that location in your terminal. Run the normal two steps to start the build</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span></pre></div></div>

<p>And here is where checkinstall comes in. Instead of <em>make install</em> we&#8217;re using</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># like &quot;make install&quot;, you'll need root</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> checkinstall
<span style="color: #666666; font-style: italic;">#See later section for command line options</span></pre></div></div>

<p>If this is the first time checkinstall has been run in this directory, it&#8217;ll start by asking if you want to create a directory to hold some documentation that may be needed for packaging later. Accept the default of <em>Yes</em> and continue. </p>
<p><img src="http://imagecdn.maketecheasier.com/2010/02/checkinstall-docpak.png" alt="checkinstall-docpak" title="checkinstall-docpak" width="493" height="139" class="aligncenter size-full wp-image-12563" /></p>
<p>Next you&#8217;ll be asked for a description. This is what will be seen in places like the <em>Summary</em> field when showing package info.  </p>
<p><img src="http://imagecdn.maketecheasier.com/2010/02/checkinstall-descrip.png" alt="checkinstall-description" title="checkinstall-description" width="344" height="51" class="aligncenter size-full wp-image-12578" /></p>
<p>Finally, you&#8217;ll get the last screen confirming all of your package&#8217;s details. One important aspect of this screen is that you can set dependencies for your package. For more details on that, see this <a href="http://www.debian.org/doc/FAQ/ch-pkg_basics.en.html" target="_blank">Debian guide</a>.  </p>
<p><img src="http://imagecdn.maketecheasier.com/2010/02/checkinstall-finished.png" alt="checkinstall-finished" title="checkinstall-finished" width="392" height="362" class="aligncenter size-full wp-image-12560" /></p>
<p>Make note of the location of the package generated by checkinstall. It has been installed, but the package file could come in handy to reinstall later, bring to another computer, or share online.  </p>
<h3>Options for Checkinstall</h3>
<p>Not everything can be covered by defaults, so of course checkinstall comes with a full set of options. Some of the more useful include:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">--type</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span>slackware, rpm, or debian<span style="color: #7a0874; font-weight: bold;">&#41;</span>   <span style="color: #666666; font-style: italic;">#By default, it will use the current host distro type</span>
<span style="color: #660033;">--install</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">yes</span> or no<span style="color: #7a0874; font-weight: bold;">&#41;</span>                <span style="color: #666666; font-style: italic;">#If no, it will just build the package without intstalling</span>
<span style="color: #660033;">-y</span>                                   <span style="color: #666666; font-style: italic;">#Assume defaults for all questions</span>
<span style="color: #660033;">--umask</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span>mask<span style="color: #7a0874; font-weight: bold;">&#41;</span>                       <span style="color: #666666; font-style: italic;">#Set mask for file permissions</span>
<span style="color: #660033;">--deldoc</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">yes</span> or no<span style="color: #7a0874; font-weight: bold;">&#41;</span>                 <span style="color: #666666; font-style: italic;">#Delete doc-pak when finished</span>
<span style="color: #660033;">--deldesc</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">yes</span> or no<span style="color: #7a0874; font-weight: bold;">&#41;</span>                <span style="color: #666666; font-style: italic;">#Delete description-pak when finished</span>
<span style="color: #660033;">--delspec</span>=<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">yes</span> or no<span style="color: #7a0874; font-weight: bold;">&#41;</span>                <span style="color: #666666; font-style: italic;">#Delete spec file when finished</span></pre></div></div>

<p>Full details are of course available with the <em>&#8211;help</em> option or man page.<br />
<!--adsense#468x60--></p>
<p><div style="float:left;margin-bottom:10px"><a href="http://api.tweetmeme.com/share?url=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23&amp;service=bit.ly" target="_blank"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23" style="border:none;margin-right:5px" width="51" height="61"></a><a href="http://digg.com/tools/diggthis/login?url=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23" target="_blank"><img src="http://images.maketecheasier.com/diggme.png" style="border:none;margin-right:5px" ></a><a href="http://www.facebook.com/sharer.php?u=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23" target="_blank"><img src="http://images.maketecheasier.com/fb.jpg" style="border:none;margin-right:5px" ></a><a href="http://www.google.com/reader/link?url=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23&amp;title=Better+Linux+Package+Management+with+Checkinstall&amp;srcTitle=MakeTechEasier.com" target="_blank"><img src="http://images.maketecheasier.com/gbuzz-feed.png" style="border:none;margin-right:5px" ></a><a href="http://www.stumbleupon.com/submit?url=http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23" target="_blank"><img src="http://images.maketecheasier.com/stumble.png"></a></div>
<div style="clear:both"></div>
<strong><a href="http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23">Better Linux Package Management with Checkinstall</a></strong> originally published on <a href="http://maketecheasier.com">Make Tech Easier</a> (<a href="http://feedproxy.google.com/MakeTechEasier">RSS</a>)
<br/>
Follow us at <a href="http://www.facebook.com/MakeTechEasier">Facebook</a> | <a href="http://twitter.com/MakeTechEasier">Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://maketecheasier.com/better-linux-package-management-with-checkinstall/2010/02/23/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>How to Install Software from a Tarball in Linux</title>
		<link>http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25</link>
		<comments>http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25#comments</comments>
		<pubDate>Thu, 25 Jun 2009 15:30:17 +0000</pubDate>
		<dc:creator>Joshua Price</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[installation guide]]></category>
		<category><![CDATA[tarball]]></category>

		<guid isPermaLink="false">http://maketecheasier.com/?p=5505</guid>
		<description><![CDATA[Most of the time, installing software in Linux is a breeze. Package management utilities like Apt, Portage, and Yum have made software installation in Linux even easier than it is in Windows (in my opinion at least). If you know what you want, you simply tell your package manager that you want it, and it&#8217;ll [...]<p><div style="float:left;margin-bottom:10px"><a href="http://api.tweetmeme.com/share?url=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25&amp;service=bit.ly" target="_blank"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25" style="border:none;margin-right:5px" width="51" height="61"></a><a href="http://digg.com/tools/diggthis/login?url=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25" target="_blank"><img src="http://images.maketecheasier.com/diggme.png" style="border:none;margin-right:5px" ></a><a href="http://www.facebook.com/sharer.php?u=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25" target="_blank"><img src="http://images.maketecheasier.com/fb.jpg" style="border:none;margin-right:5px" ></a><a href="http://www.google.com/reader/link?url=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25&amp;title=How+to+Install+Software+from+a+Tarball+in+Linux&amp;srcTitle=MakeTechEasier.com" target="_blank"><img src="http://images.maketecheasier.com/gbuzz-feed.png" style="border:none;margin-right:5px" ></a><a href="http://www.stumbleupon.com/submit?url=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25" target="_blank"><img src="http://images.maketecheasier.com/stumble.png"></a></div>
<div style="clear:both"></div>
<strong><a href="http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25">How to Install Software from a Tarball in Linux</a></strong> originally published on <a href="http://maketecheasier.com">Make Tech Easier</a> (<a href="http://feedproxy.google.com/MakeTechEasier">RSS</a>)
<br/>
Follow us at <a href="http://www.facebook.com/MakeTechEasier">Facebook</a> | <a href="http://twitter.com/MakeTechEasier">Twitter</a></p>
]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-5540" src="http://imagecdn.maketecheasier.com/2009/06/tarballs-tux.jpg" alt="tarballs-tux" width="150" height="147" />Most of the time, installing software in Linux is a breeze.  Package management utilities like Apt, Portage, and Yum have made software installation in Linux even easier than it is in Windows (in my opinion at least).  If you know what you want, you simply tell your package manager that you want it, and it&#8217;ll find, download, install, and configure your new package for you.</p>
<p>Sometimes, however, the package doesn&#8217;t exist in your distribution&#8217;s repositories.  Often, in cases like that, your only option is to download a tarball (usually <em>.tar.gz</em>, <em>.tar.bz</em>, or <em>.tgz</em>) which contains the source code for the program that you have to compile yourself.  While it may be a little intimidating at first, compiling from source is normally a quick and easy process.  Today, we&#8217;ll learn how.<span id="more-5505"></span></p>
<p>First off, I should note that not all tarballs are the same.  This guide will be assuming that the program you&#8217;re trying to install is a normal GNU-style source code collection.  Most require all the steps noted below, but many skip one step or another.  For the purposes of the tutorial I&#8217;ll be compiling the source code package of Python 3.0.1 from the <a href="http://python.org/ftp/python/3.0.1/Python-3.0.1.tgz">Python homepage</a>.</p>
<h3>Step 1:  Extract the tarball</h3>
<p>For those new to Linux, <em>tarball</em> is a term commonly used to refer to a file which contains other files.  It&#8217;s a lot like a ZIP or RAR file in Windows, except that the <em>tar</em> program, on its own, does not compress the files.  Tar works with a compression program like gzip to actually compress the files, which is why you commonly see two extensions (.tar and .gz).  This is sometimes abbreviated to just <em>.tgz</em>.</p>
<p>Fortunately, we don&#8217;t need to run two separate programs to extract the files, we just tell tar to run the files through gzip to decompress.  You can use a graphical utility to extract those files by simply double clicking the tarball from your file manager, or you can do it from the command line with:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-zxvf</span> mytarball.tar.gz</pre></div></div>

<p>The options we gave <em>tar</em> are as follows:</p>
<ul>
<li>-z to tell tar to run this file through gzip to decompress (use -j for bzip files)</li>
<li>-x to extract the files</li>
<li>-v for &#8220;verbose&#8221;, so we can see a list of the files it&#8217;s extracting</li>
<li>-f to tell tar that we&#8217;re working with a file</li>
</ul>
<p><em>For easier unzipping, see the <em>Tips</em> section at the bottom of this page </em></p>
<h3>Configure</h3>
<p>Once the files are extracted, open a command terminal and go to the directory where the files have been unzipped.  Before we can compile, we need to run the configure script.  The job of the configure script is to check your system for all the software necessary to compile the program from source code into a usable binary program.  It looks for things like gcc version and other tools needed to build the software.  So once you&#8217;re in the directory with all the files that were unpacked from the tarball, type in</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>configure</pre></div></div>

<p>If all goes well it&#8217;ll go through a check of various parts of your system, then drop you back to the command line like below:</p>
<p><img class="aligncenter size-full wp-image-5529" src="http://imagecdn.maketecheasier.com/2009/06/tarballs-configure.jpg" alt="Running the configure script" width="560" height="369" /></p>
<p>The most common cause of errors in this step is a missing dependency.  Look closely at any errors you may get to determine what package is missing.</p>
<h3>Make</h3>
<p>This is the real meat of the process &#8211; where we compile the source code into a runnable program.  This is normally the easiest step, only requiring a single command.  If the configure step completed without errors, simply type in</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span></pre></div></div>

<p>On a large program, this step might take a few minutes.  Once done, you&#8217;ll be dropped back to the shell prompt as shown here.</p>
<p><img class="aligncenter size-full wp-image-5533" src="http://imagecdn.maketecheasier.com/2009/06/tarballs-make.jpg" alt="Compilation stage" width="560" height="369" /></p>
<p>Technically, your program is now ready to use.  Under most circumstances, however, you&#8217;ll want to run one more step so that she program can be fully installed into the correct locations for it to be run from anywhere.</p>
<h3>Make install</h3>
<p>All this really does is copy the now-compiled program into the system directories like /usr/bin so that it can be run from any directory without having to specify a path to the files.  Since it&#8217;s copying to a directory outside your home, you&#8217;ll probably need root privileges.  If the make step completed without errors, simply run</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p>to copy the files.  At this point, you&#8217;re all done!  Your new program can be used like any other.</p>
<h3>Tips</h3>
<p>Chances are, you&#8217;ll be compiling from source more than once in your life.  In fact, for those who like to use the latest and greatest software, this can be very common.  To make it a little easier, open your <em>.bashrc</em> file from your home directory, and add the following aliases to the end:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">ungz</span>=<span style="color: #ff0000;">&quot;tar -zxvf&quot;</span>
<span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">unbz</span>=<span style="color: #ff0000;">&quot;tar -jxvf&quot;</span>
<span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">cmi</span>=<span style="color: #ff0000;">&quot;./configure &amp;&amp; make &amp;&amp; sudo make install&quot;</span></pre></div></div>

<p><!--adsense#468x60--></p>
<p><div style="float:left;margin-bottom:10px"><a href="http://api.tweetmeme.com/share?url=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25&amp;service=bit.ly" target="_blank"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25" style="border:none;margin-right:5px" width="51" height="61"></a><a href="http://digg.com/tools/diggthis/login?url=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25" target="_blank"><img src="http://images.maketecheasier.com/diggme.png" style="border:none;margin-right:5px" ></a><a href="http://www.facebook.com/sharer.php?u=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25" target="_blank"><img src="http://images.maketecheasier.com/fb.jpg" style="border:none;margin-right:5px" ></a><a href="http://www.google.com/reader/link?url=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25&amp;title=How+to+Install+Software+from+a+Tarball+in+Linux&amp;srcTitle=MakeTechEasier.com" target="_blank"><img src="http://images.maketecheasier.com/gbuzz-feed.png" style="border:none;margin-right:5px" ></a><a href="http://www.stumbleupon.com/submit?url=http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25" target="_blank"><img src="http://images.maketecheasier.com/stumble.png"></a></div>
<div style="clear:both"></div>
<strong><a href="http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25">How to Install Software from a Tarball in Linux</a></strong> originally published on <a href="http://maketecheasier.com">Make Tech Easier</a> (<a href="http://feedproxy.google.com/MakeTechEasier">RSS</a>)
<br/>
Follow us at <a href="http://www.facebook.com/MakeTechEasier">Facebook</a> | <a href="http://twitter.com/MakeTechEasier">Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://maketecheasier.com/install-software-from-a-tarball-in-linux/2009/06/25/feed</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
	</channel>
</rss>

