<?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>Open Source Research and Development</title>
	<atom:link href="http://osrd.org/feed" rel="self" type="application/rss+xml" />
	<link>http://osrd.org</link>
	<description>Free and Open Source R&#38;D Projects, Articles, and Reviews</description>
	<lastBuildDate>Wed, 18 Feb 2009 03:54:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>how do i grep on a term with a $ in it such as $foo? i tried enclosing it in quotes but that doesn&#8217;t help</title>
		<link>http://osrd.org/projects/grep/grep-faq/how-do-i-grep-on-a-term-with-a-in-it-such-as-foo-i-tried-enclosing-it-in-quotes-but-that-doesnt-help</link>
		<comments>http://osrd.org/projects/grep/grep-faq/how-do-i-grep-on-a-term-with-a-in-it-such-as-foo-i-tried-enclosing-it-in-quotes-but-that-doesnt-help#comments</comments>
		<pubDate>Mon, 16 Feb 2009 04:57:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[grep FAQ]]></category>

		<guid isPermaLink="false">http://osrd.org/?p=31</guid>
		<description><![CDATA[Enclose the $ in square brackets [ .. ], that is, specify the special character as a character class. For example,
grep &#8216;[$]foo&#8217; file.txt
]]></description>
			<content:encoded><![CDATA[<p>Enclose the $ in square brackets [ .. ], that is, specify the special character as a character class. For example,</p>
<p>grep &#8216;[$]foo&#8217; file.txt</p>
]]></content:encoded>
			<wfw:commentRss>http://osrd.org/projects/grep/grep-faq/how-do-i-grep-on-a-term-with-a-in-it-such-as-foo-i-tried-enclosing-it-in-quotes-but-that-doesnt-help/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Negation in regular expressions</title>
		<link>http://osrd.org/projects/grep/negation-in-regular-expressions</link>
		<comments>http://osrd.org/projects/grep/negation-in-regular-expressions#comments</comments>
		<pubDate>Sat, 14 Feb 2009 04:41:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GREP Tools]]></category>

		<guid isPermaLink="false">http://osrd.org/?p=27</guid>
		<description><![CDATA[How to search for lines that don&#8217;t contain a particular pattern is fairly easy in some programs, obscure in others, and almost impossible yet in others. That is, assuming your program of choice supports regular expressions. I review how to achieve this functionality in Perl, Vim, grep, and vi.

Regexp negation in Perl
Perl has many non-standard [...]]]></description>
			<content:encoded><![CDATA[<p>How to search for lines that don&#8217;t contain a particular pattern is fairly easy in some programs, obscure in others, and almost impossible yet in others. That is, assuming your program of choice supports regular expressions. I review how to achieve this functionality in Perl, Vim, grep, and vi.<br />
<span id="more-27"></span></p>
<h3>Regexp negation in Perl</h3>
<p>Perl has many non-standard features supported in the regular expression matching. One of these features in the lookahead <strong>(?pattern)</strong>. Furthermore, the lookahead function support negation <strong>(?!pattern)</strong>. To search in Perl for lines that contain <em><strong>foo</strong></em> but are not followed by <em><strong>bar</strong></em> anywhere on the line:</p>
<p><code>foo(?!.*bar)</code></p>
<h3>Regexp negation in Vim</h3>
<p>Vim&#8217;s regular expression matching is more flexible that vi&#8217;s. Particularly, vim supports the syntax <strong>@!</strong>. You can find a full description of this feature in vim by typing <strong>:help /@!.</strong> To search in Vim for lines that contain <em><strong>foo</strong></em> but are not followed by <em><strong>bar</strong></em> anywhere on the line:</p>
<p><code>foo(.*bar)@!</code></p>
<h3>Regexp in grep</h3>
<p>Grep doesn&#8217;t support negation of patterns in a regular expression, but it does support two other classes of negation: negation of character classes and negation of matches. Negation of character classes is standard in regular expression matching and the syntax is typically <strong>[^abc]</strong>, which mean match any character other than <em><strong>a</strong></em>, <em><strong>b</strong></em>, and <em><strong>c</strong></em>. Negation of matches is accomplished using the command line option <strong>-v</strong>. To search in grep for lines that contain <em><strong>foo</strong></em> but are not followed by <em><strong>bar</strong></em> anywhere on the line:</p>
<p><code>grep -o 'foo.*' file | grep -v 'bar'</code></p>
<p>Note that this works only in GNU grep and not the standard UNIX grep, because -o is a GNU grep extension that does not exist in UNIX grep.</p>
<h3>Regexp negation in vi, ed, and UNIX grep</h3>
<p>Basic regular expressions (BRE) and extended regular expressions (ERE) contain only one form of negation: character class negation. This makes it a lot more difficult to construct patterns that include pattern negation. But it is not impossible. One way to achieve this is to first construct a DFA for you pattern, write the formula&#8217;s describing the DFA, and then consolidate them into a regular expression. For simplicity, the example below is written in ERE. To search in ERE for lines that contain <em><strong>foo</strong></em> but are not followed by <em><strong>bar</strong></em> anywhere on the line:</p>
<p><code>foo([^b]|(b(b|(ab))*([^ba]|(a[^br]))))*((b(b|(ab))*a)|(b(b|(ab))*)|$)$</code></p>
<p>As demonstrated, although negation of pattern can be hard in plain regular expressions, it is not impossible as <a href="http://www.kleenecode.net/2008/10/10/regex-fu-not-followed-by/">some might think</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://osrd.org/projects/grep/negation-in-regular-expressions/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>if I wanted to match &#8216;foo13245&#8242;, can I use grep &#8216;foo[\d]*&#8217;?</title>
		<link>http://osrd.org/projects/grep/grep-faq/to-match-foo13245-can-i-use-grep-foo</link>
		<comments>http://osrd.org/projects/grep/grep-faq/to-match-foo13245-can-i-use-grep-foo#comments</comments>
		<pubDate>Wed, 07 Jan 2009 12:30:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[grep FAQ]]></category>

		<guid isPermaLink="false">http://osrd.org/?p=24</guid>
		<description><![CDATA[Nope, \d has no meaning (unless using -P for PCRE). You need [[:digit:]] instead; i.e.,
grep 'foo[[:digit:]]*'
]]></description>
			<content:encoded><![CDATA[<p>Nope, \d has no meaning (unless using -P for PCRE). You need [[:digit:]] instead; i.e.,</p>
<p><code>grep 'foo[[:digit:]]*'</code></p>
]]></content:encoded>
			<wfw:commentRss>http://osrd.org/projects/grep/grep-faq/to-match-foo13245-can-i-use-grep-foo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How can i search for files which contain string A but not string B ?</title>
		<link>http://osrd.org/projects/grep/grep-faq/how-can-i-search-for-files-which-contain-string-a-but-not-string-b</link>
		<comments>http://osrd.org/projects/grep/grep-faq/how-can-i-search-for-files-which-contain-string-a-but-not-string-b#comments</comments>
		<pubDate>Tue, 06 Jan 2009 12:00:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[grep FAQ]]></category>

		<guid isPermaLink="false">http://osrd.org/?p=15</guid>
		<description><![CDATA[Pipe the output of grep through grep -v. For example:

grep 'A' file &#124; grep -v 'B'

]]></description>
			<content:encoded><![CDATA[<p>Pipe the output of grep through grep -v. For example:<br />
<code><br />
grep 'A' file | grep -v 'B'<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://osrd.org/projects/grep/grep-faq/how-can-i-search-for-files-which-contain-string-a-but-not-string-b/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why grep &#8216;foo&#124;bar&#8217; file doesn&#8217;t work?</title>
		<link>http://osrd.org/projects/grep/grep-faq/why-grep-foobar-file-doesnt-work</link>
		<comments>http://osrd.org/projects/grep/grep-faq/why-grep-foobar-file-doesnt-work#comments</comments>
		<pubDate>Mon, 05 Jan 2009 13:00:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[grep FAQ]]></category>

		<guid isPermaLink="false">http://osrd.org/?p=20</guid>
		<description><![CDATA[The bar &#124; has no special meaning in BRE (basic regular expressions). Use extended regular expressions (ERE) such as:
grep -E 'foo&#124;bar' file
or
egrep 'foo&#124;bar' file
In GNU grep, you can also force the spcial meaning of &#124; by escaping it. E.g.,
grep 'foo\&#124;bar' file
]]></description>
			<content:encoded><![CDATA[<p>The bar | has no special meaning in BRE (basic regular expressions). Use extended regular expressions (ERE) such as:</p>
<p><code>grep -E 'foo|bar' file</code></p>
<p><em>or</em></p>
<p><code>egrep 'foo|bar' file</code></p>
<p>In GNU grep, you can also force the spcial meaning of | by escaping it. E.g.,</p>
<p><code>grep 'foo\|bar' file</code></p>
]]></content:encoded>
			<wfw:commentRss>http://osrd.org/projects/grep/grep-faq/why-grep-foobar-file-doesnt-work/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is grep an acronym? Does it mean GNU Regular Expression P?</title>
		<link>http://osrd.org/projects/grep/grep-faq/is-grep-an-acronym-does-it-mean-gnu-regular-expression-p</link>
		<comments>http://osrd.org/projects/grep/grep-faq/is-grep-an-acronym-does-it-mean-gnu-regular-expression-p#comments</comments>
		<pubDate>Sun, 04 Jan 2009 20:32:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[grep FAQ]]></category>
		<category><![CDATA[GREP Tools]]></category>

		<guid isPermaLink="false">http://osrd.org/?p=12</guid>
		<description><![CDATA[grep originated from ed command: g/re/p where re is a regular expression, g stands for globally, and p stands for print. So one could say grep is an acronym of &#8220;Global Regular Expression Print&#8220;.
]]></description>
			<content:encoded><![CDATA[<p>grep originated from ed command: g/re/p where re is a regular expression, g stands for globally, and p stands for print. So one could say grep is an acronym of &#8220;<a title="Global Regular Expression Print Tools (grep variants)" href="projects/grep/global-regular-expression-print-tools-grep-variants">Global Regular Expression Print</a>&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://osrd.org/projects/grep/grep-faq/is-grep-an-acronym-does-it-mean-gnu-regular-expression-p/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTTP Proxy Over SSH Connection Mini-Howto</title>
		<link>http://osrd.org/tech-tips/http-proxy-over-ssh-connection-mini-howto</link>
		<comments>http://osrd.org/tech-tips/http-proxy-over-ssh-connection-mini-howto#comments</comments>
		<pubDate>Thu, 10 Jul 2008 03:45:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://osrd.org/?p=10</guid>
		<description><![CDATA[What is HTTP Proxy?
HTTP proxy is a method to connect to a website by through an intermediate &#8220;proxy&#8221; server. The way it works is that your browser sends the request for a web page to the proxy server. The proxy server then forwards the request to the website. The website sends the requested page back [...]]]></description>
			<content:encoded><![CDATA[<h3>What is HTTP Proxy?</h3>
<p>HTTP proxy is a method to connect to a website by through an intermediate &#8220;proxy&#8221; server. The way it works is that your browser sends the request for a web page to the proxy server. The proxy server then forwards the request to the website. The website sends the requested page back to the proxy server, which in turn sends it back to your browser.</p>
<h3>Uses of HTTP Proxy</h3>
<p>HTTP proxy is most commonly used in two cases: (1) you want to fake your identity to the website; and (2) you want to bypass a firewall.<br />
<span id="more-10"></span><br />
In the first case, since the website is only directly accessed by the proxy server, the website does not know who you are or what your IP address is. Instead, the website believes that the proxy IP address is actually yours. I use this feature to test the IP based authentication on my servers. Say I enable access to a particular webpage only from my home IP. How do I test it to make sure that users from other IP addresses are unable to access the page? HTTP proxy is the solution. This approach also works if a site restricts its service to a particular country, say the USA, then all you need to access that site is to do a proxy through a server located in the USA.</p>
<p>In the second case, say you are in environment that blocks you from accessing certain websites. This could be in an office with tight restrictions on web browsing, or a country that wishes to control your access to information. Using the proxy over ssh, you first establish a secure connection with a machine that is not behind the firewall (e.g., connect to your home PC from the office, or connect to a server at another country), then you use that connection to tunnel your HTTP requests by means of proxy.</p>
<h3>How to setup HTTP proxy over ssh:</h3>
<p>First establish the ssh connection. Open a terminal or a cygwin windows and enter:<br />
<code>ssh -D 9999 username@mysshserver</code><br />
where <em>9999</em> is the local port number for the proxy server, <em>username</em> is your user name at the remote server that will act as a proxy, and <em>mysshserver</em> is the domain name or the IP address of that proxy server that is running the ssh server.</p>
<p>Now you are all set to configure your browser. Go to the browser option and configure the proxy settings to use <strong>localhost</strong> as the server and <strong>9999</strong> as the port number. Not that in Firefox you must enter this info in the SOCKS Host field, while leaving all the other blanks. This is uninuitive because there is a field for HTTP proxy. Make sure you leave that one blank!</p>
]]></content:encoded>
			<wfw:commentRss>http://osrd.org/tech-tips/http-proxy-over-ssh-connection-mini-howto/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Book Review: &#8220;Stealing the Network: How to Own a Continent&#8221;</title>
		<link>http://osrd.org/reviews/book-reviews/book-review-stealing-the-network-how-to-own-a-continent</link>
		<comments>http://osrd.org/reviews/book-reviews/book-review-stealing-the-network-how-to-own-a-continent#comments</comments>
		<pubDate>Wed, 27 Feb 2008 03:40:11 +0000</pubDate>
		<dc:creator>hathai</dc:creator>
				<category><![CDATA[Book Reviews]]></category>

		<guid isPermaLink="false">http://osrd.org/reviews/book-reviews/book-review-stealing-the-network-how-to-own-a-continent</guid>
		<description><![CDATA[
&#8220;Stealing the Network: How to Own a Continent&#8221; is an interesting technical hacker story. Even though the plot of the story is not very well connected, the authors develop the story using real technology to compromise computer networks, which makes you feel that this is not just a fiction and it might be actually happening [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/product/1931836051?ie=UTF8&amp;tag=opensourresea-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1931836051"><img src="http://ecx.images-amazon.com/images/I/31RQ11W7VML._AA_SL160_.jpg" align="left" border="0" /></a><img src="http://www.assoc-amazon.com/e/ir?t=opensourresea-20&amp;l=as2&amp;o=1&amp;a=1931836051" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" /><br />
&#8220;Stealing the Network: How to Own a Continent&#8221; is an interesting technical hacker story. Even though the plot of the story is not very well connected, the authors develop the story using real technology to compromise computer networks, which makes you feel that this is not just a fiction and it might be actually happening somewhere in the world right now.</p>
<p>The book shows the intuition of people who became hackers. It also shows how the hackers&#8217; business works and how they communicate. Many various kinds of hacking techniques and tools are mentioned ranging from social engineering, several kid hacking tool, and good (or I should say bad) uses of available legitimate resources. The authors show how hackers collaborate and make use of different types of networks and security holes to help them accomplish their goal.<br />
<span id="more-8"></span><br />
The story is developed with real source codes and scripts, and requires background knowledge by readers to be able to understand and follow the consequences of an action. Although, the authors give many introductions and references about tools and techniques that they use, I wish I knew more about system administration and Linux commands before I read this book. On the other hand, I also learned a lot in a short time about those aspects.</p>
<p>Even though not being able to immediately understand what was going on give me a hard time reading through this book, the book is enjoyable to read and to have a feeling about the world of hackers. Moreover, the authors provide many references and resources that you can follow and have fun with techniques that you are interested in.</p>
<p>I recommend this book, &#8220;Stealing the Network: How to Own a Continent&#8221;, to anyone who is interested in network security. I also recommend that this book will be good for those who work as <a href="/reviews/book-reviews/essential-system-administration" title="Book Review: ">system administrators</a>.</p>
<p>This book receives 4 out 5.</p>
<p><strong>Book Information:</strong></p>
<ul>
<li>Author: Ryan Russell, Joe Grand and Tom Craig<a href="http://www.amazon.com/exec/obidos/search-handle-url/102-2247355-0006560?%5Fencoding=UTF8&amp;search-type=ss&amp;index=books&amp;field-author=Jay%20Beale"></a></li>
<li>First Edition May 2004</li>
<li>ISBN: 978-1-931836-05-0</li>
<li>498 pages</li>
</ul>
<p>&#8220;Stealing the Network: How to Own a Continent&#8221; is available from <a href="http://www.amazon.com/gp/product/1931836051?ie=UTF8&amp;tag=opensourresea-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1931836051">Amazon.com for $32.97 USD</a><img src="http://www.assoc-amazon.com/e/ir?t=opensourresea-20&amp;l=as2&amp;o=1&amp;a=1931836051" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" />.</p>
]]></content:encoded>
			<wfw:commentRss>http://osrd.org/reviews/book-reviews/book-review-stealing-the-network-how-to-own-a-continent/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Global Regular Expression Print Tools (grep variants)</title>
		<link>http://osrd.org/projects/grep/global-regular-expression-print-tools-grep-variants</link>
		<comments>http://osrd.org/projects/grep/global-regular-expression-print-tools-grep-variants#comments</comments>
		<pubDate>Tue, 26 Feb 2008 03:36:57 +0000</pubDate>
		<dc:creator>taa</dc:creator>
				<category><![CDATA[GREP Tools]]></category>

		<guid isPermaLink="false">http://osrd.eits.ca/blog/projects/grep/global-regular-expression-print-tools-grep-variants</guid>
		<description><![CDATA[Overview
The UNIX grep utility marked the birth of a global regular expression print (GREP) tools. Searching for patterns in text is important operation in a number of domains, including program comprehension and software maintenance, structured text databases, indexing file systems, and searching natural language texts. Such a wide range of uses inspired the development of [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Overview</strong><br />
The <a href="http://www.opengroup.org/onlinepubs/009695399/utilities/grep.html" title="The Open Group Base Specifications Issue 6">UNIX grep utility</a> marked the birth of a global regular expression print (GREP) tools. Searching for patterns in text is important operation in a number of domains, including program comprehension and software maintenance, structured text databases, indexing file systems, and searching natural language texts. Such a wide range of uses inspired the development of variations of the original UNIX grep. These variations range from adding new features, to employing faster algorithms, to changing the behaviour of pattern matching and printing.<br />
<span id="more-6"></span><br />
<strong>List of grep variants:</strong></p>
<ul>
<li>Approximate Grep: <a href="http://www.tgries.de/agrep/">agrep</a></li>
<li>Context grep: <a href="http://plg.uwaterloo.ca/%7Eftp/mt/cgrep/">cgrep</a></li>
<li>Structure grep: <a href="http://www.cs.helsinki.fi/u/jjaakkol/sgrep.html">sgrep</a></li>
<li>Nondeterministic reverse grep: <a href="http://www.dcc.uchile.cl/%7Egnavarro/software/">nr-grep</a></li>
<li>Grouse Grep: <a href="http://www.grouse.com.au/ggrep/">ggrep</a></li>
<li>GNU grep: <a href="http://www.gnu.org/software/grep/">grep</a></li>
<li>UNIX grep: <a href="http://www.opengroup.org/onlinepubs/009695399/utilities/grep.html">grep</a></li>
<li>Python Grep: <a href="http://www.vdesmedt.com/%7Evds2212/grep.html">grep.py</a></li>
<li>Multilingual Grep: <a href="http://www.ff.iij4u.or.jp/%7Enrt/lv/">lgrep</a></li>
<li>BSD-Licensed Grep: <a href="http://www.vocito.com/downloads/software/grep/">grep</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://osrd.org/projects/grep/global-regular-expression-print-tools-grep-variants/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: &#8220;Essential System Administration&#8221;</title>
		<link>http://osrd.org/reviews/book-reviews/essential-system-administration</link>
		<comments>http://osrd.org/reviews/book-reviews/essential-system-administration#comments</comments>
		<pubDate>Sat, 23 Feb 2008 06:08:54 +0000</pubDate>
		<dc:creator>taa</dc:creator>
				<category><![CDATA[Book Reviews]]></category>

		<guid isPermaLink="false">http://osrd.eits.ca/blog/book-reviews/essential-system-administration</guid>
		<description><![CDATA[
All you need to know about managing Linux/UNIX/BSD.
At first glance, this book seems like a typical O&#8217;Reilly book: a narrow title, rich in material, and is beneficial to a much wider audience than the title reveals. It covers a wide range of system administration subjects and goes way beyond just the essentials.
Over the years, I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/product/0596003439?ie=UTF8&amp;tag=opensourresea-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0596003439"><img src="http://ecx.images-amazon.com/images/I/21W4-hsKTvL._AA_SL160_.jpg" align="left" border="0" /></a><img src="http://www.assoc-amazon.com/e/ir?t=opensourresea-20&amp;l=as2&amp;o=1&amp;a=0596003439" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" /><br />
<strong>All you need to know about managing Linux/UNIX/BSD.</strong><br />
At first glance, this book seems like a typical O&#8217;Reilly book: a narrow title, rich in material, and is beneficial to a much wider audience than the title reveals. It covers a wide range of system administration subjects and goes way beyond just the essentials.</p>
<p>Over the years, I have administered several multi-user UNIX, Linux, and FreeBSD servers. I believed that I knew the essentials, because if I did not, I would not have been able to do my job all these years. I wanted to see if the things that I learned by experience, often the hard way, are included in &#8220;Essential System Administration&#8221;. Sure enough, they were all there. Not only that, but they were laid out simply, without much unnecessary technical details, and accompanied by numerous examples and anecdotal encounters by the author. If you read one section, you would be able to apply the knowledge and skills that it describes right away. For instance, you don&#8217;t need to read the <a href="http://pm-doc.sourceforge.net/pm-tips.html" title="Procmail Tips">entire manual</a> of <a href="http://www.procmail.org/" title="Procmail Homepage">procmail</a> in order to write some effective mail filters; chapter 9 has a section on &#8220;Mail Filtering with procmail&#8221; that covers the essentials.<br />
<span id="more-4"></span><br />
One impressive feature of this book is that it covers how to do things on a variety of operating system including various flavours of UNIX, Linux, and BSD. In the past, I often ran into a situation where I knew how to do something on FreeBSD, but did not know how to accomplish the same task on Solaris. With this book by my side, I will not have this problem again.</p>
<p>Another feature of the book is that it covers a very, VERY, very wide variety of administrative topics: from every day system management, to operating system internals, to various devices, to backing up, to scheduling, to rebuilding the kernel. I am yet to find a task, whether typical or atypical, that is not covered in &#8220;Essential System Administration&#8221;.</p>
<p>But wait, are not most, if not all, of these topics encountered in a user&#8217;s daily life? Are mail filters limited only to system administrators? Of course not! Many users organize their email by defining personal mail filters. And what about devices? Every user who uses a Linux-based desktop computer goes through the frustration of configuring devices at some point. &#8220;Essential System Administration&#8221; is really written to be useful for any UNIX/Linux/BSD user, not only system administrators.</p>
<p>On a second thought, any one who owns a computer running UNIX/Linux/BSD is the administrator of one&#8217;s system. Not only that, but anyone who uses one of these system must still manage their own account and perform tasks such as scheduling tasks, emailing, and printing. &#8220;Essential System Administration&#8221; was not written for system administrators in the traditional sense &#8212; someone who is paid to administer an expensive system with hundreds or thousands of users &#8212; but for the administrator in the broad sense &#8212; any user who wishes to perform some management tasks on their system.</p>
<p>&#8220;Essential System Administration&#8221; is an invaluable resource for anyone who wishes to become an expert in system administration, and is a useful resource for users of these systems. I give this book 4.5 out of 5.</p>
<p><strong>Book Information:</strong></p>
<ul>
<li>Author: <a href="http://www.oreillynet.com/pub/au/678">ÆFleen Frisch</a></li>
<li>Third Edition August 2002</li>
<li>ISBN 10: 0-596-00343-9 |  ISBN 13:9780596003432</li>
<li>1176 pages, $54.95 US, $85.95 CA, £38.95 UK</li>
</ul>
<p>&#8220;<a href="http://www.oreilly.com/catalog/esa3/index.html">Essential System Administration</a>&#8221; is available from O&#8217;Reilly Media, Inc. <a href="http://www.oreilly.com/catalog/esa3/chapter/index.html" title="Sample Chapter - Chapter 11: Backup and Restore">Sample chapters</a> can be obtained @ The O&#8217;Reilly Catalog.</p>
]]></content:encoded>
			<wfw:commentRss>http://osrd.org/reviews/book-reviews/essential-system-administration/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
