<?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>Guy Rutenberg &#187; Ubuntu</title>
	<atom:link href="http://www.guyrutenberg.com/tag/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.guyrutenberg.com</link>
	<description>Keeping track of what I do</description>
	<lastBuildDate>Sat, 14 Jan 2012 11:30:25 +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>Creating a Deb for an Updated Version</title>
		<link>http://www.guyrutenberg.com/2011/12/17/creating-a-deb-for-an-updated-version/</link>
		<comments>http://www.guyrutenberg.com/2011/12/17/creating-a-deb-for-an-updated-version/#comments</comments>
		<pubDate>Sat, 17 Dec 2011 16:16:04 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=928</guid>
		<description><![CDATA[Say you&#8217;ve an existing package like gitg and you want to use the new version of gitg or even apply your own patches. You could directly make install but you will probably regret it as soon as you&#8217;ll want to upgrade/uninstall, and you want to create a better package than the one created by checkinstall. [...]]]></description>
			<content:encoded><![CDATA[<p>Say you&#8217;ve an existing package like <code>gitg</code> and you want to use the new version of <code>gitg</code> or even apply your own patches. You could directly <code>make install</code> but you will probably regret it as soon as you&#8217;ll want to upgrade/uninstall, and you want to create a better package than the one created by <a href="">checkinstall</a>. Apperantly, creating a <code>deb</code> package for a new version of already packaged <code>deb</code> isn&#8217;t complicated.</p>
<h3>Getting Started</h3>
<p>Start by pulling the sources for the already available package. I&#8217;ll by using <code>gitg</code> as an example throughout this tutorial.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">apt-get source gitg</pre></div></div>

<p>This will create a folder according to the version of the package, something like <code>gitg-0.2.4</code>. Extract the new version besides it and <code>cd</code> into its directory. The next step is to copy the <code>debian/</code> directory from the old source package the code you&#8217;ve just extracted.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">cp -R ../gitg-0.2.4/debian/ .</pre></div></div>

<h3>Update <code>debian/</code> Files</h3>
<p>The next step is to update the files under the <code>debian/</code> sub-directory.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">DEBEMAIL=&quot;Guy Rutenberg &lt;myemail@domain.com&gt;&quot; debchange --nmu</pre></div></div>

<p>This will update the <code>debian/changelog</code> and set the new version. <code>--nmu</code> will create a new &#8220;non maintainer upload&#8221; version, meaning if the current version was <code>0.2.4-0ubuntu1</code>, it will change it to <code>0.2.4-0ubuntu1.1</code>. This will make sure that there won&#8217;t be any collision between your package and an official one. If you update to a new upstream version. It might be more suitable to use something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">debchange --newversion 0.2.5+20111211.git.20391c4</pre></div></div>

<p>If necessary, update the <code>Build-Depends</code> and <code>Depends</code> sections of <code>debian/control</code>.</p>
<h3>Building the Package</h3>
<p>If your building a package directly from version control and not part of an official release, you may need to run</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">./autogen</pre></div></div>

<p>at this point.</p>
<p>Now to the actual building:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">debuild -us -uc -i -I -B</pre></div></div>

<p><code>-us -uc</code> tells the script not to sign the <code>.dsc</code> and <code>.changes</code> files accordingly. <code>-i</code> and <code>-I</code> makes the script ignore common version control files. <code>-B</code> tells <code>debuild</code> to only create binary packages. You can also pass <code>-j</code> followed by the number of simultaneous jobs you wish to allow (e.g. <code>-j3</code>, like in <code>make</code>) which an significantly speed things up.</p>
<h3>Installing the Package</h3>
<p>The package will reside in the parent directory, for example:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">../gitg_0.2.5+20111211.git.20391c4_amd64.deb</pre></div></div>

<p>At this point you&#8217;re basically done. If you want to install the package you can use</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo debi</pre></div></div>

<p>while you&#8217;re still inside the build directory.</p>
<h3>References</h3>
<ul>
<li><a href="https://help.ubuntu.com/community/UpdatingADeb">UpdatingADeb</a></li>
<li>Man pages for <code>debuild</code>, <code>dpgk-genchanges</code>, <code>dpgk-buildpackage</code>.<br />
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/12/17/creating-a-deb-for-an-updated-version/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Reinstall grub in Ubuntu</title>
		<link>http://www.guyrutenberg.com/2011/09/16/reinstall-grub-in-ubuntu/</link>
		<comments>http://www.guyrutenberg.com/2011/09/16/reinstall-grub-in-ubuntu/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 07:45:04 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=875</guid>
		<description><![CDATA[My brother asked me to repair his boot loader, after he accidentally erased his MBR. This can be done easily via LiveCD and the command line. Boot the system using a LiveCD (I&#8217;ve used Ubuntu from USB stick) and do the following: $ sudo mount /dev/sda /mnt $ sudo mount --bind /usr/sbin /mnt/usr/sbin $ sudo [...]]]></description>
			<content:encoded><![CDATA[<p>My brother asked me to repair his boot loader, after he accidentally erased his MBR. This can be done easily via LiveCD and the command line.</p>
<p>Boot the system using a LiveCD (I&#8217;ve used Ubuntu from USB stick) and do the following:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">$ sudo mount /dev/sda /mnt
$ sudo mount --bind /usr/sbin /mnt/usr/sbin
$ sudo mount --bind /usr/lib /mnt/usr/lib
$ sudo mount --bind /dev/ /mnt/dev
$ sudo chroot /mnt
&nbsp;
# grub-install /dev/sda</pre></div></div>

<p>I hope it will be useful for others as well, as the Ubuntu community documentations offers a solution based on Boot-Repair, which seems an overkill for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/09/16/reinstall-grub-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable Touchpad Tapping in Kubuntu</title>
		<link>http://www.guyrutenberg.com/2010/01/08/disable-touchpad-tapping-in-kubuntu/</link>
		<comments>http://www.guyrutenberg.com/2010/01/08/disable-touchpad-tapping-in-kubuntu/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 21:13:50 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[TouchPad]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=611</guid>
		<description><![CDATA[In Ubuntu (gnome) there is an easy graphical way to disable tapping on the touchpad. However, KDE lacks such thing. But lacking graphical configuration doesn&#8217;t mean this should be difficult. All you need is the gsynaptics package. The package provides a small utility called synclient. Now you can disable tapping by doing synclient TapButton1=0 To [...]]]></description>
			<content:encoded><![CDATA[<p>In Ubuntu (gnome) there is an easy graphical way to disable tapping on the touchpad. However, KDE lacks such thing. But lacking graphical configuration doesn&#8217;t mean this should be difficult. All you need is the <code>gsynaptics</code> package. The package provides a small utility called <code>synclient</code>. Now you can disable tapping by doing</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"> synclient TapButton1=0</pre></div></div>

<p>To disable the tapping permanently you should use the following to run the command at the start of every KDE session.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">echo &quot;synclient TapButton1=0&quot; &gt; ~/.kde/env/disable-tapping.sh</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2010/01/08/disable-touchpad-tapping-in-kubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Blocking IP Range using UFW</title>
		<link>http://www.guyrutenberg.com/2009/11/07/blocking-ip-range-using-ufw/</link>
		<comments>http://www.guyrutenberg.com/2009/11/07/blocking-ip-range-using-ufw/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 19:19:15 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ufw]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=584</guid>
		<description><![CDATA[Uncomplicated Firewall (ufw) is one of the greatest frontends to IPTables I&#8217;ve encountered. It is very simple to use and I just wish it was also available for Gentoo. Up until recently everything went smoothly for me and ufw, but we hit some rough waters when I&#8217;ve tried to block an IP range. To block [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://launchpad.net/ufw">Uncomplicated Firewall</a> (<code>ufw</code>) is one of the greatest frontends to IPTables I&#8217;ve encountered. It is very simple to use and I just wish it was also available for Gentoo. Up until recently everything went smoothly for me and <code>ufw</code>, but we hit some rough waters when I&#8217;ve tried to block an IP range.</p>
<p>To block an ip or I&#8217;p range in ufw you should do</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo ufw deny from 188.162.67.197/21</pre></div></div>

<p><span id="more-584"></span></p>
<p>But here is the catch. Only the recent versions of <code>ufw</code> (which the version that comes with Ubuntu 8.04 isn&#8217;t one of them) support inserting new rules. When you add a rule it gets appended. So if you had a rule before that allows everyone to connect to your server on port 80, it also allows the IP range you&#8217;re trying to block, to connect to your machine.</p>
<p>As it&#8217;s impossible to foresee all the rules you might use, one has to resort to deleting all the rules he has to override, then re-add them so they will be after the rule that blocks the IP range. However I disliked the idea and looked for a simpler solution.</p>
<p>The easiest method I&#8217;ve found was to manully edit <code>ufw</code>&#8216;s configurations:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo vim /var/lib/ufw/user.rules</pre></div></div>

<p>And then move the rule I&#8217;ve added, which looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">### tuple ### deny any any 0.0.0.0/0 any 188.162.67.197/21
-A ufw-user-input -s 188.162.67.197/21 -j DROP</pre></div></div>

<p>above any other rules in the configuration file.</p>
<p>Afterward, you&#8217;ll have to restart <code>ufw</code> so it will reload its configurations.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo ufw disable
sudo ufw enable</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2009/11/07/blocking-ip-range-using-ufw/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing Lighttpd-1.4.22 on Ubuntu 8.04</title>
		<link>http://www.guyrutenberg.com/2009/05/31/installing-lighttpd-1422-on-ubuntu-804/</link>
		<comments>http://www.guyrutenberg.com/2009/05/31/installing-lighttpd-1422-on-ubuntu-804/#comments</comments>
		<pubDate>Sun, 31 May 2009 19:43:19 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Lighttpd]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=371</guid>
		<description><![CDATA[I had some problems with the lighttpd-1.4.19 that comes with Ubuntu 8.04, mainly it&#8217;s problems of handling the HTTP header Expect: 100-continue (which older versions of Lighttpd return error 417). The problem was fixed in Lighttpd-1.4.21, but 1.4.22 is the newest version so I&#8217;ve decided to install it. As I mentioned before, Ubuntu doesn&#8217;t have [...]]]></description>
			<content:encoded><![CDATA[<p>I had some problems with the lighttpd-1.4.19 that comes with Ubuntu 8.04, mainly it&#8217;s problems of handling the HTTP header <code>Expect: 100-continue</code> (which older versions of Lighttpd return error 417). The problem was fixed in Lighttpd-1.4.21, but 1.4.22 is the newest version so I&#8217;ve decided to install it.</p>
<p>As I mentioned before, Ubuntu doesn&#8217;t have lighttpd-1.4.22 for 8.04, and it&#8217;s also not available in the updates or backports repositories. Fortunately, I&#8217;ve found that the package is available from Debuian Sid (unstable). Here are some instructions on how to install it.<br />
<span id="more-371"></span><br />
Start By downloading the following packages.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">wget http://ftp.de.debian.org/debian/pool/main/l/lighttpd/lighttpd_1.4.22-1_amd64.deb
wget http://ftp.de.debian.org/debian/pool/main/p/pcre3/libpcre3_7.8-2_amd64.deb</pre></div></div>

<p>You can statisfy using the offical repositories all the dependencies of lighttpd-1.4.22 except the libpcre3, which is also available from Debian Sid. So start by installing it.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo dpkg -i libpcre3_7.8-2_amd64.deb
sudo aptitude markauto libpcre3</pre></div></div>

<p>You statisfy the rest of the dependencies by using <code>apt-get</code> and the official repositories. In case you encounter the following problem when starting lighttpd:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">/usr/sbin/lighttpd: Symbol `FamErrlist' has different size in shared object, con
sider re-linking</pre></div></div>

<p>it can be solved easiliy by installing <code>libfam3</code>.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">sudo apt-get install libfam3</pre></div></div>

<p>(don&#8217;t worry if it complains about needing to remove <code>libgamin0</code>). You should be done now, and you can start enjoying your shining lighttpd-1.4.22.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2009/05/31/installing-lighttpd-1422-on-ubuntu-804/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.323 seconds -->

