<?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>jaredrobinson.com &#187; Linux</title>
	<atom:link href="http://jaredrobinson.com/blog/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaredrobinson.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 25 Apr 2012 04:12:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>When CTRL-C in gdb shuts down a program insted of interrupting it</title>
		<link>http://jaredrobinson.com/blog/when-ctrl-c-in-gdb-shuts-down-a-program-insted-of-interrupting-it/</link>
		<comments>http://jaredrobinson.com/blog/when-ctrl-c-in-gdb-shuts-down-a-program-insted-of-interrupting-it/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 22:15:08 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://jaredrobinson.com/blog/?p=733</guid>
		<description><![CDATA[According to The Linux Programming Interface, a well-behaved multi-threaded UNIX program should use sigwait() or sigwaitinfo() instead of signal() or sigaction(). A linux-only program could even use signalfd(). Unfortunately, Linux/UNIX programs using sigwait() are hard to interrupt in the debugger. &#8230; <a href="http://jaredrobinson.com/blog/when-ctrl-c-in-gdb-shuts-down-a-program-insted-of-interrupting-it/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>According to The Linux Programming Interface, a well-behaved multi-threaded UNIX program should use sigwait() or sigwaitinfo() instead of signal() or sigaction(). A linux-only program could even use signalfd().</p>

<p>Unfortunately, Linux/UNIX programs using sigwait() are hard to interrupt in the debugger. Instead of interrupting the program, it terminates the program. How does one work around this problem? See <a href="http://stackoverflow.com/questions/5857300/gdb-ctrlc-doesnt-interrupt-process-as-it-usually-does">my answer on stackoverflow</a>.</p>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredrobinson.com/blog/when-ctrl-c-in-gdb-shuts-down-a-program-insted-of-interrupting-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autojump: Faster than &#8216;cd&#8217;</title>
		<link>http://jaredrobinson.com/blog/autojump-faster-than-cd/</link>
		<comments>http://jaredrobinson.com/blog/autojump-faster-than-cd/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 04:32:50 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://jaredrobinson.com/blog/?p=734</guid>
		<description><![CDATA[Here&#8217;s a cool tool: autojump, written by Joel Schaerer (thanks, Joel). I spend much of my day as a programmer navigating around in the linux filesystem. Built-in tools like &#8216;pushd&#8217; and &#8216;popd&#8217; are nice, as are subprocesses &#8212; e.g. (cd &#8230; <a href="http://jaredrobinson.com/blog/autojump-faster-than-cd/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a cool tool: <a title="Autojump as detailed on lifehacker.com" href="http://lifehacker.com/5583546/autojump-is-a-faster-way-to-browse-your-filesystem">autojump</a>, written by Joel Schaerer (thanks, Joel). I spend much of my day as a programmer navigating around in the linux filesystem. Built-in tools like &#8216;pushd&#8217; and &#8216;popd&#8217; are nice, as are subprocesses &#8212; e.g.
<pre> (cd ~/Download &amp;&amp; wget http://somewhere.com/path/to/file)</pre>
&#8230; and when it finishes downloading, I&#8217;m still in the directory I was in before the download was started.</p>

<p>Now there&#8217;s autojump to add in to the mix. After I &#8216;cd&#8217; to various directories, later, I can type &#8216;j Down&#8217; to cd to my Downloads directory. Very convenient. I just wish it were built into every distribution of linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredrobinson.com/blog/autojump-faster-than-cd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux tty auditing</title>
		<link>http://jaredrobinson.com/blog/linux-tty-auditing/</link>
		<comments>http://jaredrobinson.com/blog/linux-tty-auditing/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 05:47:28 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://jaredrobinson.com/blog/?p=721</guid>
		<description><![CDATA[Since RHEL 5.4, and in recent Fedora releases, it&#8217;s possible to audit what users type at their tty (command prompt), thanks to the work of Steve Grubb, a RedHat employee. Edit /etc/pam.d/system-auth and append the following, but not both: session &#8230; <a href="http://jaredrobinson.com/blog/linux-tty-auditing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Since RHEL 5.4, and in recent Fedora releases, it&#8217;s possible to audit what users type at their tty (command prompt), thanks to the work of Steve Grubb, a RedHat employee.</p>

<p>Edit /etc/pam.d/system-auth and append the following, <strong>but not both</strong>:
<pre>session required pam&#95;tty&#95;audit.so disable=&#42; enable=root
session required pam&#95;tty&#95;audit.so enable=&#42;</pre>
Wait for users to log in and type into a terminal. Later, to see audited tty input, run:
<pre>aureport --tty</pre>
When a user logs in, the pam module tells the kernel to enable tty auditing for a process and its children. All tty input is logged, but it may not be incredibly easy to read (it includes backspaces, control characters, etc.). I&#8217;m unclear as to when and how often the kernel flushes out accumulated tty input to the audit log. The records are identified with a type of TTY in /var/log/audit/audit.log.</p>

<p>In addition to tty auditing, RedHat patched their bash shell so that it neatly audits each and every command line it executes, with a record type of USER&#95;TTY. It&#8217;s prettier to read than raw tty auditing &#8212; and it&#8217;s easy for a user to bypass by using a shell that doesn&#8217;t send its commands to the Linux audit system, like zsh, or a custom-built unpatched bash. Maybe that&#8217;s why &#8220;aureport &#8211;tty&#8221; doesn&#8217;t show USER&#95;TTY records.</p>

<hr />

<p>The Linux auditing system is powerful. It&#8217;s possible to write rules that watch for modification to certain files, or that log the use of certain system calls. See the &#8220;audit.rules&#8221; manpage for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredrobinson.com/blog/linux-tty-auditing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Easy updates with iOS and Linux vs bomardment from Windows</title>
		<link>http://jaredrobinson.com/blog/why-i-love-my-ipod-touch-linux/</link>
		<comments>http://jaredrobinson.com/blog/why-i-love-my-ipod-touch-linux/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 16:33:13 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jaredrobinson.com/blog/?p=692</guid>
		<description><![CDATA[When I want to check email on my iPod Touch, I simply unlock it, load the email application, and read messages. What a joy. The tool works and works for me. It is my servant, instead of me being its &#8230; <a href="http://jaredrobinson.com/blog/why-i-love-my-ipod-touch-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When I want to check email on my iPod Touch, I simply unlock it, load the email application, and read messages. What a joy. The tool works and works for me. It is my servant, instead of me being its servant.</p>

<p>Compare that to my corporate Windows Laptop. I open the lid and unlock it, wait for corporate anti-virus (I think) to chew through the I/O on my machine for several minutes. Then I can read my email using the unimpressive and slow Lotus Notes<em> (</em>I&#8217;d rather be using Thunderbird, Outlook, or speedy <em><a href="http://en.wikipedia.org/wiki/Mutt_(e-mail_client)">mutt</a></em>).</p>

<p>Or compare to my home Windows Laptop. I open the lid, log in, and am bombarded with requests from several programs to install updates. I just want to check my email, not be attacked with annoying &#8220;update me!&#8221; windows. I see one from Thunderbird, another from Adobe Flash, another from Mozy and another from Firefox. By the time I&#8217;ve upgraded, sometimes I&#8217;ve forgotten what I wanted to accomplish in the first place.</p>

<p>Apple has it right with updates for the iPod Touch: They stay out of my way until I want to bother with them, and then they&#8217;re all manged together.</p>

<p>Linux has it right: A single package manager updates everything, in one shot, including from third parties.</p>

<p>I&#8217;ll continue to use Windows. There are other benefits, even though third-party updates are annoying.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredrobinson.com/blog/why-i-love-my-ipod-touch-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The dog ate my grub.conf; unwanted LVM indirection</title>
		<link>http://jaredrobinson.com/blog/the-dog-ate-my-grub-conf-unwanted-lvm-indirection/</link>
		<comments>http://jaredrobinson.com/blog/the-dog-ate-my-grub-conf-unwanted-lvm-indirection/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 04:38:31 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://jaredrobinson.com/blog/?p=706</guid>
		<description><![CDATA[In September, I updated packages on my Fedora 14 machine using &#8216;yum&#8217; (Yellowdog Updater Modified), and rebooted. I was greeted with an unfriendly grub prompt. Boot was broken, and I didn&#8217;t know why. Normally when I want to rescue a &#8230; <a href="http://jaredrobinson.com/blog/the-dog-ate-my-grub-conf-unwanted-lvm-indirection/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In September, I updated packages on my Fedora 14 machine using &#8216;yum&#8217; (Yellowdog Updater Modified), and rebooted. I was greeted with an unfriendly grub prompt. Boot was broken, and I didn&#8217;t know why.</p>

<p>Normally when I want to rescue a Linux system, I use the Fedora install DVD&#8217;s rescue mode. Unfortunately, my DVD drive stopped working just after the warranty expired. So I booted using a Linux-on-a-USB image that I carry around with me.</p>

<p>I planned on replicating the rescue mode experience by manually mounting the partitions in /mnt/sysimage, then chroot, and then run &#8216;grub-install&#8217; to fix things. And that&#8217;s what I did, except for a few snags.</p>

<p>The first snag is that I had installed Fedora with default partitioning options (something I rarely do), and it had helpfully used LVM to configure my disk drive. LVM adds a layer of indirection, so I had to figure out how to mount an LVM volume instead of a disk partition. As a general rule, I never use LVM on desktop or laptop machines because I don&#8217;t like the additional complexity, especially when I&#8217;m trying to mount a drive to recover data.</p>

<p>The next snag is that Linux uses UUIDs for hard disks these days, instead of helpful, human-readable labels. In the good old days, Linux distributions would label the root partition, the home partition, and others. But not when I let the installer work its default magic. So, I had to figure out which volume contained my root partition, my boot partition, and so forth.</p>

<p>Once I mounted my partitions properly, I was ready to &#8220;chroot /mnt/sysimage&#8221;, and after I did, I ran &#8220;grub-install&#8221;. No luck. This was the third snag.</p>

<p>I realized that /boot/grub/grub.conf was empty. And grub-install doesn&#8217;t fix the problem &#8212; it can&#8217;t populate information that is completely missing, like knowing what disk UUID to use for the root partition.</p>

<p>&#8220;No problem,&#8221; I thought, &#8220;I&#8217;ll just restore from backup&#8230;&#8221;. Except, I didn&#8217;t have a backup. As a general rule, I back up /var, /home and /etc, but not /boot. Now I know better.</p>

<p>Surely, I thought, there should be a copy of grub.conf that the package updates had left around. But there wasn&#8217;t.</p>

<p>Such a critical file, and there was no automated backup. No &#8220;restore point&#8221;. No way to recreate it from data in /etc. What an oversight!</p>

<p>This is the first time I can remember having had an update eat my grub.conf file, and I&#8217;ve been running Linux since before distributions switched to grub as a boot loader. On the other hand, maybe I jumped to to an incorrect conclusion &#8212; it&#8217;s possible that the updates didn&#8217;t eat my grub.conf. Regardless, grub.conf was empty and my system wouldn&#8217;t boot.</p>

<p>It seems to me that something this important should have been designed with more resilence.</p>

<p>There were two ways to fix it, as far as I could see. One is upgrade from Fedora 14 to Fedora 14 (thus preserving my data). The second is to recreate grub.conf by hand, and for that, I needed an example &#8212; a template. I used the one at http://forums.fedoraforum.org/showthread.php?t=227358. My boot up screen isn&#8217;t as pretty as it once was, but it is functional.</p>

<p>Lastly, I made copy of /boot/grub/grub.conf. Now where did I put it?&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredrobinson.com/blog/the-dog-ate-my-grub-conf-unwanted-lvm-indirection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnome 3: Not quite ready for prime time</title>
		<link>http://jaredrobinson.com/blog/gnome-3-not-quite-ready-for-prime-time/</link>
		<comments>http://jaredrobinson.com/blog/gnome-3-not-quite-ready-for-prime-time/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 14:04:48 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Gnome 3]]></category>

		<guid isPermaLink="false">http://jaredrobinson.com/blog/?p=673</guid>
		<description><![CDATA[Just over a week ago, I installed Fedora 15. After using Gnome 3 for two days, I decided that I&#8217;m better off using Gnome 2, KDE or XFCE. With Gnome 3, I like the ability to type the name of &#8230; <a href="http://jaredrobinson.com/blog/gnome-3-not-quite-ready-for-prime-time/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just over a week ago, I installed Fedora 15. After using Gnome 3 for two days, I decided that I&#8217;m better off using Gnome 2, KDE or XFCE.</p>

<p>With Gnome 3, I like the ability to type the name of the application I want to run instead of hunting for it in a menu. This is a feature I&#8217;ve enjoyed for the past five years with Windows Vista, so it&#8217;s refreshing to finally have it appear in Gnome.</p>

<p>With Gnome 3, however, I miss the following:
<ol>
    <li>A system monitor applet. When my system starts to feel slow, I pay attention to CPU and I/O wait overhead.</li>
    <li>Multi-monitor support when changing workspaces. When I move to a new workspace, Gnome 3 only moves one of my two screens to a new workspace. The other stays the same.</li>
    <li>Quick launch icons. I use them for Firefox, gVim, Eclipse, and other frequently used apps.</li>
</ol>
I expect that Gnome 3 will be improved rapidly, and Fedora 16&#8242;s Gnome 3 will more productive.</p>

<p>Update: There&#8217;s a list of ways to tweak Gnome shell to make it almost bearable: <a href="http://forums.fedoraforum.org/showthread.php?t=263006">http://forums.fedoraforum.org/showthread.php?t=263006</a>. In particular, by installing and using &#8220;gnome-tweak-tool&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredrobinson.com/blog/gnome-3-not-quite-ready-for-prime-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Misc Linux things: PATA or SATA, mutt and mailcap, tarsnap backup</title>
		<link>http://jaredrobinson.com/blog/misc-linux-things-pata-or-sata-mutt-and-mailcap-tarsnap-backup/</link>
		<comments>http://jaredrobinson.com/blog/misc-linux-things-pata-or-sata-mutt-and-mailcap-tarsnap-backup/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 16:26:39 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://jaredrobinson.com/blog/?p=669</guid>
		<description><![CDATA[The other day, I wondered whether the drive in my laptop was PATA or SATA. Fortunately, I didn&#8217;t have to tear it apart to find out. I simply wandered over to stackexchange.com and asked the question. Here&#8217;s the answer: lspci &#8230; <a href="http://jaredrobinson.com/blog/misc-linux-things-pata-or-sata-mutt-and-mailcap-tarsnap-backup/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The other day, I wondered whether the drive in my laptop was PATA or SATA. Fortunately, I didn&#8217;t have to tear it apart to find out. I simply wandered over to <a href="http://unix.stackexchange.com">stackexchange.com</a> and asked the question. Here&#8217;s <a href="http://unix.stackexchange.com/questions/3898">the answer</a>:
<pre>lspci -d $(cat /sys/block/sda/device/../../../vendor):$(cat /sys/block/sda/device/../../../device)
readlink -f /sys/block/sda/device/../../../driver</pre>
I&#8217;m a long time user of the mutt email client (as well as Thunderbird). At some point, viewing the HTML attachment (with the &#8216;v&#8217; key) stopped invoking &#8216;lynx&#8217; via my mailcap file. It turns out that the developers of mutt added an internal viewer, and moved mailcap support to the &#8220;m&#8221; key. I took the time to switch from using &#8216;lynx&#8217; to using &#8216;links&#8217;. Here&#8217;s the entry from my $HOME/.mailcap file:
<pre>text/html; /usr/bin/links -dump -force-html %s; copiousoutput; nametemplate=%s.html</pre>
I&#8217;ve been gradually looking for an online, off-site Linux backup tool for  the past few years. I tried <a href="https://spideroak.com/">spideroak</a>, but wasn&#8217;t pleased with the giant log files it kept in my home directory, and it wasn&#8217;t designed to back up files outside of my user account. Lately, I stumbled on another promising tool: <a href="https://www.tarsnap.com">tarsnap</a>. I haven&#8217;t tried it yet, but I will. Pricing looks reasonable, and since it &#8220;deduplicates&#8221; storage, it means that I shouldn&#8217;t be backing up the same thing repeatedly. <a href="http://www.bishnet.net/tim/blog/2009/01/28/automating-tarsnap-backups/">Here&#8217;s how</a> one person configures tarsnap to keep up to X daily backups, Y weekly, and Z monthly.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredrobinson.com/blog/misc-linux-things-pata-or-sata-mutt-and-mailcap-tarsnap-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keeping an interactive system responsive: chrt and ionice</title>
		<link>http://jaredrobinson.com/blog/keeping-an-interactive-system-responsive-chrt-and-ionice/</link>
		<comments>http://jaredrobinson.com/blog/keeping-an-interactive-system-responsive-chrt-and-ionice/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 16:11:04 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://jaredrobinson.com/blog/?p=665</guid>
		<description><![CDATA[At times, I&#8217;ll kick off an I/O intensive process, like running aide, or generating a photo album. I don&#8217;t want those things to interfere with the interactive feel of my Linux system. I stumbled on the following solution: chrt --idle &#8230; <a href="http://jaredrobinson.com/blog/keeping-an-interactive-system-responsive-chrt-and-ionice/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>At times, I&#8217;ll kick off an I/O intensive process, like running <a href="http://aide.sourceforge.net/">aide</a>, or <a href="http://webgallery.sourceforge.net/">generating</a> a photo album. I don&#8217;t want those things to interfere with the interactive feel of my Linux system. I stumbled on the following <a href="http://www.google.com/search?q=walters+metabuild">solution</a>:
<pre>chrt --idle 0 ionice -t -c3 &lt;program&gt;
</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://jaredrobinson.com/blog/keeping-an-interactive-system-responsive-chrt-and-ionice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora 14, SSH ports and SELinux</title>
		<link>http://jaredrobinson.com/blog/fedora-14-ssh-ports-and-selinux/</link>
		<comments>http://jaredrobinson.com/blog/fedora-14-ssh-ports-and-selinux/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 16:01:14 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://jaredrobinson.com/blog/?p=659</guid>
		<description><![CDATA[SELinux in Fedora 14 is configured to constrain the ports on which SSH can listen (see the bug report). The solution: setsebool -P sshdforwardports 1 This allows SSH to listen on ports besides 22, and to forward ports. Reading the &#8230; <a href="http://jaredrobinson.com/blog/fedora-14-ssh-ports-and-selinux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>SELinux in Fedora 14 is configured to constrain the ports on which SSH can listen <a href="https://bugzilla.redhat.com/show_bug.cgi?id=653579">(see the bug report</a>). The solution:
<pre>setsebool -P sshd<em>forward</em>ports 1</pre>
This allows SSH to listen on ports besides 22, and to forward ports. Reading the bug report is interesting. In my opinion, OpenSSH has an outstanding security track record, and we probably don&#8217;t need additional SELinux policy to constrain it. It&#8217;s probably wise to practice security in-depth (to have more than one line of defense), but it creates a large road bump for most SSH power users. From what I read, it sounds like most people still disable SELinux.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredrobinson.com/blog/fedora-14-ssh-ports-and-selinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teriffic Linux Books</title>
		<link>http://jaredrobinson.com/blog/teriffic-linux-books/</link>
		<comments>http://jaredrobinson.com/blog/teriffic-linux-books/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 15:41:28 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://jaredrobinson.com/blog/?p=653</guid>
		<description><![CDATA[One of my QA coworkers had The Linux Phrasebook sitting on his desk. I noticed it was by Scott Granneman, and immediately thought, &#8220;if it&#8217;s by him, it&#8217;s got to be good.&#8221; As I thumbed through the pages of the &#8230; <a href="http://jaredrobinson.com/blog/teriffic-linux-books/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of my QA coworkers had <a href="http://www.amazon.com/gp/product/0672328380/">The Linux Phrasebook</a> sitting on his desk. I noticed it was by Scott Granneman, and immediately thought, &#8220;if it&#8217;s by him, it&#8217;s got to be good.&#8221; As I thumbed through the pages of the book, I was impressed at the practical coverage of command line utilities including yum and rpm, apt and deb, etc. I highly recommend this book. It&#8217;s small so it&#8217;s easy to keep on hand.</p>

<p>For anyone wishing to write applications that take advantage of all that Linux has to offer, I recommend <a href="http://nostarch.com/tlpi">The Linux Programming Interface</a> (also available from <a href="http://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200">Amazon</a>), aka TLPI. I used to recommend Stevens&#8217; Advanced Programming in the UNIX Environment, but now I recommend TLPI because it is more comprehensive and just as readable. It&#8217;s not a small book, so a PDF makes it easier to keep on hand. I purchased my copy through the publisher, <a href="http://nostarch.com/tlpi">NoStarch</a> with the coupon code &#8220;Mamaku&#8221; that gave me 30% off and a free PDF. The order total came to $80.00, including shipping.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredrobinson.com/blog/teriffic-linux-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

