<?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>Ascii for Breakfast</title>
	<atom:link href="http://www.xenuser.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xenuser.org</link>
	<description>xenuser, also called ACSII FOR BREAKFAST, is a personal blog abut IT security, open source software, Cfengine 3 and other stuff.  And of course there is also Xen, my favourite virtualization solution.</description>
	<lastBuildDate>Thu, 17 May 2012 16:54:16 +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>New tool: Simple Zarafa Inbox Viewer</title>
		<link>http://www.xenuser.org/linux/new-tool-simple-zarafa-inbox-viewer/</link>
		<comments>http://www.xenuser.org/linux/new-tool-simple-zarafa-inbox-viewer/#comments</comments>
		<pubDate>Thu, 17 May 2012 16:49:54 +0000</pubDate>
		<dc:creator>valentin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[inbox]]></category>
		<category><![CDATA[mapi]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[show mails]]></category>
		<category><![CDATA[shows inbox]]></category>
		<category><![CDATA[shows messages]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[Zarafa]]></category>

		<guid isPermaLink="false">http://www.xenuser.org/?p=1722</guid>
		<description><![CDATA[Today I played around with the Python MAPI interface and found some Zarafa MAPI documentation. Since I have to do with Zarafa on a regular basis, I found it interesting to access the inbox via MAPI and Python. I wrote a little script which does exactly that: After you provided the login credentials, the script connects to [...]


Related posts:<ol><li><a href='http://www.xenuser.org/sql-injections/simple-sql-injection-vulnerability-scanner-version-0-3-released/' rel='bookmark' title='Permanent Link: Simple SQL Injection Vulnerability Scanner 0.3 released'>Simple SQL Injection Vulnerability Scanner 0.3 released</a></li>
<li><a href='http://www.xenuser.org/linux/simple-lan-scanner-1-0-released/' rel='bookmark' title='Permanent Link: Simple LAN Scanner 1.0 released'>Simple LAN Scanner 1.0 released</a></li>
<li><a href='http://www.xenuser.org/sql-injections/simple-sql-injection-vulnerability-scanner-0-5-released/' rel='bookmark' title='Permanent Link: Simple SQL Injection Vulnerability Scanner 0.5 released'>Simple SQL Injection Vulnerability Scanner 0.5 released</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Today I played around with the Python MAPI interface and found some Zarafa MAPI documentation. Since I have to do with Zarafa on a regular basis, I found it interesting to access the inbox via MAPI and Python.</p>
<p>I wrote a little script which does exactly that: After you provided the login credentials, the script connects to your inbox and displays the subjects and sender names of the messages.</p>
<p>You can find the new tool <a title="My tools" href="http://www.xenuser.org/my-tools/" target="_blank">here</a>. <img src="http://www.xenuser.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1722" width="1" height="1" style="display: none;" /></p>


<p>Related posts:<ol><li><a href='http://www.xenuser.org/sql-injections/simple-sql-injection-vulnerability-scanner-version-0-3-released/' rel='bookmark' title='Permanent Link: Simple SQL Injection Vulnerability Scanner 0.3 released'>Simple SQL Injection Vulnerability Scanner 0.3 released</a></li>
<li><a href='http://www.xenuser.org/linux/simple-lan-scanner-1-0-released/' rel='bookmark' title='Permanent Link: Simple LAN Scanner 1.0 released'>Simple LAN Scanner 1.0 released</a></li>
<li><a href='http://www.xenuser.org/sql-injections/simple-sql-injection-vulnerability-scanner-0-5-released/' rel='bookmark' title='Permanent Link: Simple SQL Injection Vulnerability Scanner 0.5 released'>Simple SQL Injection Vulnerability Scanner 0.5 released</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xenuser.org/linux/new-tool-simple-zarafa-inbox-viewer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mounting NFS-Shares with Cfengine 3</title>
		<link>http://www.xenuser.org/linux/mounting-nfs-shares-with-cfengine-3/</link>
		<comments>http://www.xenuser.org/linux/mounting-nfs-shares-with-cfengine-3/#comments</comments>
		<pubDate>Thu, 10 May 2012 21:16:02 +0000</pubDate>
		<dc:creator>valentin</dc:creator>
				<category><![CDATA[Cfengine3]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source & Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[cfengine]]></category>
		<category><![CDATA[cfengine 3]]></category>
		<category><![CDATA[cfengine nfs]]></category>
		<category><![CDATA[cfengine3]]></category>
		<category><![CDATA[code sample]]></category>
		<category><![CDATA[code snippet]]></category>
		<category><![CDATA[mounting nfs]]></category>
		<category><![CDATA[NFS]]></category>

		<guid isPermaLink="false">http://www.xenuser.org/?p=1714</guid>
		<description><![CDATA[One often used service is NFS. The ability of mounting a file system over the network is very handy and even I use it regularly in my projects. Now imagine a scenario where you manage the configuration of your servers with Cfengine 3 and you have a central file server with NFS running on it. [...]


Related posts:<ol><li><a href='http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/' rel='bookmark' title='Permanent Link: Taking a quick look at the configuration management system Cfengine 3'>Taking a quick look at the configuration management system Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/installing-packages-with-cfengine-3/' rel='bookmark' title='Permanent Link: Installing packages with Cfengine 3'>Installing packages with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/cfengine3-check-for-running-services/' rel='bookmark' title='Permanent Link: Cfengine3: Check for running services'>Cfengine3: Check for running services</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>One often used service is NFS. The ability of mounting a file system over the network is very handy and even I use it regularly in my projects.<br />
Now imagine a scenario where you manage the configuration of your servers with Cfengine 3 and you have a central file server with NFS running on it. You want to mount one NFS share on each of your servers, but of course you are lazy sysadmin. And lazy sysadmin doesn&#8217;t connect to a server and types in the mount command.</p>
<p><strong>Let a simple script do the work</strong></p>
<pre class="brush: text">
body common control {
version =&gt; &quot;1.0&quot;;
inputs =&gt; { &quot;cfengine_stdlib.cf&quot; };
bundlesequence =&gt; { &quot;mount_nfs_share&quot; };

}

bundle agent mount_nfs_share {
storage:
&quot;/mnt&quot; mount =&gt; nfs(&quot;localhost&quot;, &quot;/blubb&quot;);
}
</pre>
<p>Save the file and check if the syntax is correct:</p>
<pre class="brush: bash">
cf-promises -f /var/lib/cfengine/inputs/example4.cf
</pre>
<p>You should not receive any errors, so let&#8217;s run cf-agent for executing your new script. I assume that you have a NFS server installed on localhost and created a directory called /blubb. Please adjust the script accordingly if this is not the case for your test setup.</p>
<pre class="brush: bash">
cf-agent -f /var/lib/cfengine3/inputs/example4.cf
</pre>
<p>Running the command <em>mount</em> now shows that the NFS share is mounted:</p>
<pre class="brush: bash">
mintbox inputs # mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0)
[...]
localhost:/blubb on /mnt type nfs (rw,vers=4,addr=127.0.0.1,clientaddr=127.0.0.1)
</pre>
<p><strong>The script explained</strong><br />
I will not talk about the first section &#8220;body common control&#8221; since you already know what happens there.<br />
But the second part of example4.cf is very interesting:</p>
<pre class="brush: text">
bundle agent mount_nfs_share {
storage:
&quot;/mnt&quot; mount =&gt; nfs(&quot;localhost&quot;, &quot;/blubb&quot;);
}
</pre>
<p>The bundle &#8220;mount_nfs_share&#8221; contains a promise of the type &#8220;storage&#8221; which executes the NFS mount. The important parameters are provided within the round brackets.<br />
Well, that&#8217;s already it! This code sample shows that Cfengine 3 takes its promise of providing simplicity very serious.</p>
<p><strong>Adding a bonus</strong></p>
<p>Cfengine 3 also has the power to add an entry to the /etc/fstab file. I find this to be very useful, that&#8217;s why I will show you how to do that in one of my next blog posts.</p>
<p>&nbsp;</p>
<p>By the way, you can download today&#8217;s Cfengine3 code snippet <a title="Mounting NFS shares with Cfengine 3" href="http://www.xenuser.org/downloads/cfengine3/example4.cf" target="_blank">here</a>. <img src="http://www.xenuser.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1714" width="1" height="1" style="display: none;" /></p>


<p>Related posts:<ol><li><a href='http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/' rel='bookmark' title='Permanent Link: Taking a quick look at the configuration management system Cfengine 3'>Taking a quick look at the configuration management system Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/installing-packages-with-cfengine-3/' rel='bookmark' title='Permanent Link: Installing packages with Cfengine 3'>Installing packages with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/cfengine3-check-for-running-services/' rel='bookmark' title='Permanent Link: Cfengine3: Check for running services'>Cfengine3: Check for running services</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xenuser.org/linux/mounting-nfs-shares-with-cfengine-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing packages with Cfengine 3</title>
		<link>http://www.xenuser.org/linux/installing-packages-with-cfengine-3/</link>
		<comments>http://www.xenuser.org/linux/installing-packages-with-cfengine-3/#comments</comments>
		<pubDate>Wed, 09 May 2012 20:52:45 +0000</pubDate>
		<dc:creator>valentin</dc:creator>
				<category><![CDATA[Cfengine3]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source & Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[cfengine]]></category>
		<category><![CDATA[cfengine 3]]></category>
		<category><![CDATA[cfengine3]]></category>
		<category><![CDATA[code sample]]></category>
		<category><![CDATA[code snippet]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[linux mint]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[simple package management]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.xenuser.org/?p=1707</guid>
		<description><![CDATA[For some strange reason I still have the motivation to look at the &#8220;new&#8221; Cfengine 3. While I covered editing files and checking for running services in the last posts, I will try to do some very basic package management with Cfengine 3 today. Writing the script body common control { version =&#62; &#34;1.0&#34;; inputs [...]


Related posts:<ol><li><a href='http://www.xenuser.org/linux/mounting-nfs-shares-with-cfengine-3/' rel='bookmark' title='Permanent Link: Mounting NFS-Shares with Cfengine 3'>Mounting NFS-Shares with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/' rel='bookmark' title='Permanent Link: Taking a quick look at the configuration management system Cfengine 3'>Taking a quick look at the configuration management system Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/cfengine3-check-for-running-services/' rel='bookmark' title='Permanent Link: Cfengine3: Check for running services'>Cfengine3: Check for running services</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>For some strange reason I still have the motivation to look at the &#8220;new&#8221; Cfengine 3. While I covered<a title="Editing files with Cfengine 3 (code sample)" href="http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/" target="_blank"> editing files</a> and<a title="Checking for running services with Cfengine 3" href="http://www.xenuser.org/linux/cfengine3-check-for-running-services/" target="_blank"> checking for running services</a> in the last posts, I will try to do some very basic package management with Cfengine 3 today.</p>
<p><strong>Writing the script</strong></p>
<pre class="brush: text">
body common control {
version =&gt; &quot;1.0&quot;;
inputs =&gt; { &quot;cfengine_stdlib.cf&quot; };
bundlesequence =&gt; { &quot;manage_packages&quot; };
}

bundle agent manage_packages {
vars:
&quot;package_list&quot; slist =&gt; { &quot;slapd&quot;, &quot;ldap-utils&quot; };

packages:
&quot;$(package_list)&quot;
package_policy =&gt; &quot;add&quot;,
package_method =&gt; generic;
}
</pre>
<p>Save the file and check if the syntax is correct:</p>
<pre class="brush: bash">
cf-promises -f /var/lib/cfengine/inputs/example3.cf
</pre>
<p>No errors? Nah, of course not! <img src='http://www.xenuser.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Time to run cf-agent:</p>
<pre class="brush: bash">
cf-agent -f /var/lib/cfengine3/inputs/example3.cf
</pre>
<p>In my case, cf-agent gives some output and shows me that the cache of the apt repos are renewed. A few seconds later, <em>aptitude &#8211;assume-yes install ldap-utils slapd</em> gets called (excerpt):</p>
<pre class="brush: text">
cf3&gt; ?? Already have a (cached) package list for this manager
cf3&gt; -&gt; Package version was not specified
cf3&gt; -&gt; Looking for (slapd,*,*)
cf3&gt; No installed packages matched (slapd,*,*)
cf3&gt; -&gt; Looking for (slapd,*,*)
cf3&gt; No installed packages matched (slapd,*,*)
cf3&gt; Checking if package (slapd,*,*) is at the desired state (installed=0,matched=0)
cf3&gt; -&gt; Package promises to refer to itself as &quot;slapd&quot; to the manager
cf3&gt; -&gt; Package version seems to match criteria
cf3&gt; -&gt; Schedule package for addition
cf3&gt; -&gt; Package (slapd,any,any) found
cf3&gt;
cf3&gt; .........................................................
cf3&gt; Promise handle:
cf3&gt; Promise made by: ldap-utils
cf3&gt; .........................................................
cf3&gt;
cf3&gt; -&gt; This promise has already been verified
cf3&gt; ?? Already have a package list for this manager
cf3&gt; -&gt; Package version was not specified
cf3&gt; -&gt; Looking for (ldap-utils,*,*)
cf3&gt; No installed packages matched (ldap-utils,*,*)
cf3&gt; -&gt; Looking for (ldap-utils,*,*)
cf3&gt; No installed packages matched (ldap-utils,*,*)
cf3&gt; Checking if package (ldap-utils,*,*) is at the desired state (installed=0,matched=0)
cf3&gt; -&gt; Package promises to refer to itself as &quot;ldap-utils&quot; to the manager
cf3&gt; -&gt; Package version seems to match criteria
cf3&gt; -&gt; Schedule package for addition
cf3&gt; -&gt; Package (ldap-utils,any,any) found
cf3&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;
cf3&gt; Offering these package-promise suggestions to the managers
cf3&gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;
cf3&gt; -&gt; Deletion schedule...
cf3&gt; -&gt; Addition schedule...
cf3&gt; Execute scheduled package addition
cf3&gt; Command prefix: /usr/bin/aptitude --assume-yes install
cf3&gt; Executing /usr/bin/aptitude --assume-yes install ldap-utils slapd ...
cf3&gt; Q:aptitude --assume-ye ...:Reading package lists...
cf3&gt; Q:aptitude --assume-ye ...:Building dependency tree...
cf3&gt; Q:aptitude --assume-ye ...:Reading state information...
cf3&gt; Q:aptitude --assume-ye ...:Reading extended state information...
cf3&gt; Q:aptitude --assume-ye ...:Initializing package states...
cf3&gt; Q:aptitude --assume-ye ...:Writing extended state information...
cf3&gt; Q:aptitude --assume-ye ...:The following NEW packages will be installed:
cf3&gt; Q:aptitude --assume-ye ...: ldap-utils slapd
cf3&gt; Q:aptitude --assume-ye ...:0 packages upgraded, 2 newly installed, 0 to remove and 348 not upgraded.
[...]
</pre>
<p><strong>Some details of the Cfengine 3 script</strong><br />
Since I assume that you have read my previous blog posts about Cfengine 3 I am also assuming that you are already familiar with the first section of the script (&#8220;body common control&#8221;).</p>
<p>Hence we should directly look at the next part:</p>
<pre class="brush: text">
bundle agent manage_packages {
vars:
&quot;package_list&quot; slist =&gt; { &quot;slapd&quot;, &quot;ldap-utils&quot; };
</pre>
<p>Here we define a promise of the type &#8220;vars&#8221;. The promise contains a variable with the name &#8220;package_list&#8221; and the type &#8220;slist&#8221;. The &#8220;package_list&#8221; contains a list of packages which should be always installed. If they are not, Cfengine 3 will keep the promise and install them for you..</p>
<p>&#8230; which leads us to the last part:</p>
<pre class="brush: text">
packages:
&quot;$(package_list)&quot;
package_policy =&gt; &quot;add&quot;,
package_method =&gt; generic;
}
</pre>
<p>&#8220;packages&#8221; is a promise type, like &#8220;vars&#8221;, &#8220;commands&#8221; or &#8220;interfaces&#8221;. The &#8220;package_policy&#8221; basically defines what happens next and could also be &#8220;addupdate&#8221; in this example. If the packages would have already been installed on our system they simply would be updated (if even possible).</p>
<p>Now the &#8220;package_method&#8221; is very interesting. There are several package methods and they are all defined in the file &#8220;cfengine_stdlib.cf&#8221; which comes with Cfengine 3 by default. The method &#8220;generic&#8221; is valid for supported operating systems. This means that you could run this Cfengine3 script on Debian, RedHat and other distros and it would still be work. If you wanted some more distro-specific, you could use &#8220;package_method =&gt; apt&#8221; or &#8220;package_method =&gt; yum&#8221; for example.</p>
<p>Well, that&#8217;s already it! Today&#8217;s example showed how to perform a simple package management with the help of Cfengine 3. I hope this code snipped might help you in some way. If not, you maybe want to contribute a new blog entry to my blog?</p>
<p>Btw, you can download the Cfengine 3 script of this blog post <a title="Code snippet: Simple package management with Cfengine 3" href="http://www.xenuser.org/downloads/cfengine3/example3.cf" target="_blank">here</a>. <img src="http://www.xenuser.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1707" width="1" height="1" style="display: none;" /></p>


<p>Related posts:<ol><li><a href='http://www.xenuser.org/linux/mounting-nfs-shares-with-cfengine-3/' rel='bookmark' title='Permanent Link: Mounting NFS-Shares with Cfengine 3'>Mounting NFS-Shares with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/' rel='bookmark' title='Permanent Link: Taking a quick look at the configuration management system Cfengine 3'>Taking a quick look at the configuration management system Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/cfengine3-check-for-running-services/' rel='bookmark' title='Permanent Link: Cfengine3: Check for running services'>Cfengine3: Check for running services</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xenuser.org/linux/installing-packages-with-cfengine-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cfengine3: Check for running services</title>
		<link>http://www.xenuser.org/linux/cfengine3-check-for-running-services/</link>
		<comments>http://www.xenuser.org/linux/cfengine3-check-for-running-services/#comments</comments>
		<pubDate>Mon, 07 May 2012 21:17:33 +0000</pubDate>
		<dc:creator>valentin</dc:creator>
				<category><![CDATA[Cfengine3]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source & Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[cfengine]]></category>
		<category><![CDATA[cfengine 3]]></category>
		<category><![CDATA[cfengine3]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[restart]]></category>
		<category><![CDATA[restart services]]></category>
		<category><![CDATA[running]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.xenuser.org/?p=1695</guid>
		<description><![CDATA[In the last post about Cfengine 3 we talked about a simple script which creates a file and writes something into it. Today, we will create a simple example script which checks if two specified services are running. Writing the script Connect to your Linux box and create the following file: /var/lib/cfengine3/inputs/example2.cf body common control [...]


Related posts:<ol><li><a href='http://www.xenuser.org/linux/installing-packages-with-cfengine-3/' rel='bookmark' title='Permanent Link: Installing packages with Cfengine 3'>Installing packages with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/mounting-nfs-shares-with-cfengine-3/' rel='bookmark' title='Permanent Link: Mounting NFS-Shares with Cfengine 3'>Mounting NFS-Shares with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/' rel='bookmark' title='Permanent Link: Taking a quick look at the configuration management system Cfengine 3'>Taking a quick look at the configuration management system Cfengine 3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In <a title="Taking a quick look at the configuration management software Cfengine3 - creating and editing files" href="http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/" target="_blank">the last post about Cfengine 3</a> we talked about a simple script which creates a file and writes something into it. Today, we will create a simple example script which checks if two specified services are running.</p>
<p><strong>Writing the script</strong><br />
Connect to your Linux box and create the following file: /var/lib/cfengine3/inputs/example2.cf</p>
<pre class="brush: text">
body common control {
version =&gt; &quot;1.0&quot;;
bundlesequence =&gt; { &quot;check_services&quot; };
}

bundle agent check_services {
vars:
&quot;services&quot; slist =&gt; { &quot;apache2&quot;, &quot;mysql&quot; };
&quot;init_scripts_path&quot; string =&gt; &quot;/etc/init.d&quot;;

processes:
&quot;$(services)&quot;
comment =&gt; &quot;Check if the processes for &#039;$(services)&#039;&quot;,
restart_class =&gt; &quot;restart_$(services)&quot;;

commands:
&quot;${init_scripts_path}/${services} start&quot;
comment =&gt; &quot;Restarting the service&quot;,
ifvarclass =&gt; &quot;restart_${services}&quot;;
}
</pre>
<p>Save the file and check if the syntax is correct:</p>
<pre class="brush: bash">
cf-promises -f /var/lib/cfengine/inputs/example2.cf
</pre>
<p>The output should not contain any errors. In this example, I have installed Apache2 and MySQL 5 on my Linux Mint VM. The script above checks if both daemons are running &#8211; if they aren&#8217;t, they will be started.<br />
Of course you should stop those services before running the script and you can replace the service names with your own ones.</p>
<p>Now let the cf-agent start Apache2 and MySQL5:</p>
<pre class="brush: bash">
cf-agent -f /var/lib/cfengine3/inputs/example2.cf
</pre>
<p>Running pstree, I now see that both services are up again and running. The output of cf-agent acknowledges this fact:</p>
<pre class="brush: text">
cf3&gt; Initiate variable convergence...
cf3&gt; -&gt; Immunizing against parental death
cf3&gt; -&gt; Bundlesequence =&gt; {&#039;check_services&#039;}
cf3&gt;
cf3&gt; *****************************************************************
cf3&gt; BUNDLE check_services
cf3&gt; *****************************************************************
cf3&gt;
cf3&gt;
cf3&gt; =========================================================
cf3&gt; vars in bundle check_services (1)
cf3&gt; =========================================================
cf3&gt;
cf3&gt;
cf3&gt; + Private classes augmented:
cf3&gt;
cf3&gt; - Private classes diminished:
cf3&gt;
cf3&gt;
cf3&gt;
cf3&gt; =========================================================
cf3&gt; processes in bundle check_services (1)
cf3&gt; =========================================================
cf3&gt;
cf3&gt; Observe process table with /bin/ps -eo user,pid,ppid,pgid,pcpu,pmem,vsz,pri,rss,nlwp,stime,time,args
cf3&gt;
cf3&gt; .........................................................
cf3&gt; Promise handle:
cf3&gt; Promise made by: apache2
cf3&gt;
cf3&gt; Comment: Check if the processes for &#039;apache2&#039;
cf3&gt; .........................................................
cf3&gt;
cf3&gt; -&gt; Making a one-time restart promise for apache2
cf3&gt;
cf3&gt; .........................................................
cf3&gt; Promise handle:
cf3&gt; Promise made by: mysql
cf3&gt;
cf3&gt; Comment: Check if the processes for &#039;mysql&#039;
cf3&gt; .........................................................
cf3&gt;
cf3&gt; -&gt; Making a one-time restart promise for mysql
cf3&gt;
cf3&gt; =========================================================
cf3&gt; commands in bundle check_services (1)
cf3&gt; =========================================================
cf3&gt;
cf3&gt; -&gt; Promiser string contains a valid executable (/etc/init.d/apache2) - ok
cf3&gt;
cf3&gt; .........................................................
cf3&gt; Promise handle:
cf3&gt; Promise made by: /etc/init.d/apache2 start
cf3&gt;
cf3&gt; Comment: Restarting the service
cf3&gt; .........................................................
cf3&gt;
cf3&gt; -&gt; Executing &#039;/etc/init.d/apache2 start&#039; ...(timeout=-678,owner=-1,group=-1)
cf3&gt; -&gt; (Setting umask to 77)
cf3&gt; -&gt; Finished command related to promiser &quot;/etc/init.d/apache2 start&quot; -- succeeded
cf3&gt; Q: &quot;....d/apache2 star&quot;: * Starting web server apache2
Q: &quot;....d/apache2 star&quot;: apache2: Could not reliably determine the server&#039;s fully qualified domain name, using 127.0.1.1 for ServerName
Q: &quot;....d/apache2 star&quot;: ...done.
cf3&gt; I: Last 3 quoted lines were generated by promiser &quot;/etc/init.d/apache2 start&quot;
cf3&gt; -&gt; Completed execution of /etc/init.d/apache2 start
cf3&gt; -&gt; Promiser string contains a valid executable (/etc/init.d/mysql) - ok
cf3&gt;
cf3&gt; .........................................................
cf3&gt; Promise handle:
cf3&gt; Promise made by: /etc/init.d/mysql start
cf3&gt;
cf3&gt; Comment: Restarting the service
cf3&gt; .........................................................
cf3&gt;
cf3&gt; -&gt; Executing &#039;/etc/init.d/mysql start&#039; ...(timeout=-678,owner=-1,group=-1)
cf3&gt; -&gt; (Setting umask to 77)
cf3&gt; -&gt; Finished command related to promiser &quot;/etc/init.d/mysql start&quot; -- succeeded
cf3&gt; Q: &quot;...it.d/mysql star&quot;: Rather than invoking init scripts through /etc/init.d, use the service(8)
Q: &quot;...it.d/mysql star&quot;: utility, e.g. service mysql start
Q: &quot;...it.d/mysql star&quot;: Since the script you are attempting to invoke has been converted to an
Q: &quot;...it.d/mysql star&quot;: Upstart job, you may also use the start(8) utility, e.g. start mysql
Q: &quot;...it.d/mysql star&quot;: mysql start/running, process 4235
cf3&gt; I: Last 5 quoted lines were generated by promiser &quot;/etc/init.d/mysql start&quot;
cf3&gt; -&gt; Completed execution of /etc/init.d/mysql start
cf3&gt;
cf3&gt; =========================================================
cf3&gt; vars in bundle check_services (2)
cf3&gt; =========================================================
cf3&gt;
cf3&gt;
cf3&gt; + Private classes augmented:
cf3&gt;
cf3&gt; - Private classes diminished:
cf3&gt;
cf3&gt;
cf3&gt;
cf3&gt; =========================================================
cf3&gt; processes in bundle check_services (2)
cf3&gt; =========================================================
cf3&gt;
cf3&gt; -&gt; Reusing cached process state
cf3&gt;
cf3&gt; =========================================================
cf3&gt; commands in bundle check_services (2)
cf3&gt; =========================================================
cf3&gt;
cf3&gt;
cf3&gt; =========================================================
cf3&gt; vars in bundle check_services (3)
cf3&gt; =========================================================
cf3&gt;
cf3&gt;
cf3&gt; + Private classes augmented:
cf3&gt;
cf3&gt; - Private classes diminished:
cf3&gt;
cf3&gt;
cf3&gt;
cf3&gt; =========================================================
cf3&gt; processes in bundle check_services (3)
cf3&gt; =========================================================
cf3&gt;
cf3&gt; -&gt; Reusing cached process state
cf3&gt;
cf3&gt; =========================================================
cf3&gt; commands in bundle check_services (3)
cf3&gt; =========================================================
cf3&gt;
cf3&gt; Outcome of version 1.0 (agent-0): Promises observed to be kept 0%, Promises repaired 100%, Promises not repaired 0%
cf3&gt; Estimated system complexity as touched objects = 256, for 10 promises
</pre>
<p><strong>Taking a closer look at the script</strong></p>
<pre class="brush: text">
body common control {
version =&gt; &quot;1.0&quot;;
bundlesequence =&gt; { &quot;check_services&quot; };
}
</pre>
<p>The first section begins with &#8220;body common control&#8221; and defines a version for this document. This string has no big meaning and is only used within reports and error messages. The term &#8220;bundlesequence&#8221; points to the promise &#8220;check_services&#8221;. Of course you can provide multiple promises and their order here.</p>
<pre class="brush: text">
bundle agent check_services {
vars:
&quot;services&quot; slist =&gt; { &quot;apache2&quot;, &quot;mysql&quot; };
&quot;init_scripts_path&quot; string =&gt; &quot;/etc/init.d&quot;;
</pre>
<p>The next section is starting with a bundle with the type &#8220;agent&#8221; and the name &#8220;check_services&#8221;. The type has to be one of the pre-defined types of Cfengine3. &#8220;agent&#8221; seems to be one of the most used types and is often called the &#8220;executive bundle&#8221;. With the help of agent bundles the wanted (configuration) changes are implemented in the system (e.g. editing config files). This is also where the free and commercial version of Cfengine3 differ. While the free edition allows interacting with commands, files, methods, packages, processes, storage and devices within agent bundles, the commercial edition lets the script also interact with databases, virtual environments, Windows services and gives control about the log level.</p>
<p>With &#8220;vars&#8221; we tell Cfengine3 that we want to define promises of the type &#8220;vars&#8221; (which obviously stands for variables). These vars can be included in every type of bundle and are defined similar to programming languages: &#8220;type&#8221; =&gt; &#8220;value&#8221;.<br />
The quoted string before the variable type is provided as an attribute and tells the reader what is stored inside the variable.<br />
In our example we defined two promises of the type &#8220;vars&#8221;. One contains the name of the services to be looked for and the other one will lead Cfengine3 to the path of the init scripts later.</p>
<pre class="brush: text">
processes:
&quot;$(services)&quot;
comment =&gt; &quot;Check if the processes for &#039;$(services)&#039;&quot;,
restart_class =&gt; &quot;restart_$(services)&quot;;
</pre>
<p>The next section defines promises of the type &#8220;processes&#8221;. For each list item within the defined &#8220;services&#8221; the promise will be executed. In this case, a restart class is defined.</p>
<pre class="brush: text">
commands:
&quot;${init_scripts_path}/${services} start&quot;
comment =&gt; &quot;Restarting the service&quot;,
ifvarclass =&gt; &quot;restart_${services}&quot;;
}
</pre>
<p>The last section defines promises of the type &#8220;commands&#8221;. The two variables are concatenated and serve with the full path of the &#8220;ifvarclass&#8221; which will be responsible for restarting the service(s).</p>
<p>That&#8217;s it! I hope that I made no mistakes while presenting this simple Cfengine3 script example to you. You can <a title="Cfengine3 checking for running services and restarting them" href="http://xenuser.org/downloads/cfengine3/example2.cf" target="_blank">download today&#8217;s script here</a>. <img src="http://www.xenuser.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1695" width="1" height="1" style="display: none;" /></p>


<p>Related posts:<ol><li><a href='http://www.xenuser.org/linux/installing-packages-with-cfengine-3/' rel='bookmark' title='Permanent Link: Installing packages with Cfengine 3'>Installing packages with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/mounting-nfs-shares-with-cfengine-3/' rel='bookmark' title='Permanent Link: Mounting NFS-Shares with Cfengine 3'>Mounting NFS-Shares with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/' rel='bookmark' title='Permanent Link: Taking a quick look at the configuration management system Cfengine 3'>Taking a quick look at the configuration management system Cfengine 3</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xenuser.org/linux/cfengine3-check-for-running-services/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Taking a quick look at the configuration management system Cfengine 3</title>
		<link>http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/</link>
		<comments>http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/#comments</comments>
		<pubDate>Sat, 05 May 2012 15:42:34 +0000</pubDate>
		<dc:creator>valentin</dc:creator>
				<category><![CDATA[Cfengine3]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source & Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[automated]]></category>
		<category><![CDATA[cfengine]]></category>
		<category><![CDATA[cfengine 3]]></category>
		<category><![CDATA[cfengine3]]></category>
		<category><![CDATA[configuration management]]></category>
		<category><![CDATA[quick look]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[tour]]></category>

		<guid isPermaLink="false">http://www.xenuser.org/?p=1681</guid>
		<description><![CDATA[I have been working with Cfengine 2 for more than one and a half year now and decided to take a look at the new version: Cfengine 3. What the hell is Cfengine? Cfengine can be considered as a free management tool for servers and clients. With the help of an agent and configuration scripts, [...]


Related posts:<ol><li><a href='http://www.xenuser.org/linux/mounting-nfs-shares-with-cfengine-3/' rel='bookmark' title='Permanent Link: Mounting NFS-Shares with Cfengine 3'>Mounting NFS-Shares with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/installing-packages-with-cfengine-3/' rel='bookmark' title='Permanent Link: Installing packages with Cfengine 3'>Installing packages with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/cfengine3-check-for-running-services/' rel='bookmark' title='Permanent Link: Cfengine3: Check for running services'>Cfengine3: Check for running services</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I have been working with Cfengine 2 for more than one and a half year now and decided to take a look at the new version: Cfengine 3.</p>
<p><strong>What the hell is Cfengine?</strong><br />
Cfengine can be considered as a free management tool for servers and clients. With the help of an agent and configuration scripts, a system can be fully configured without editing any file manually. The agent does all the work and you only provide the necessary script once. Many data centers use Cfengine to take care of the configuration of thousands of servers. Having this in mind, it is easy to imagine that suddenly one single guy can actually administrate so many servers on his own.</p>
<p><strong>What we will do </strong><br />
Without any talking and diving into the materia, we will take a quick look at Cfengine 3. If you are interested in more details or a longer description about the tool please <a title="Official Cfengine website" href="http://www.cfengine.com" target="_blank">visit the official website</a>.<br />
Now access your Linux box and install the stuff. I use Linux Mint, that is why I assume you you apt for package management. Please note that the paths mentioned here are default paths in Debian and Ubuntu. They might differ if you are using another Linux distribution.</p>
<pre class="brush: text">
apt-get install cfengine3
</pre>
<p>Before we can get started, we need to copy a few files to the right place:</p>
<pre class="brush: text">
cp /usr/share/doc/cfengine3/examples/promises.cf /etc/cfengine3/
cp /usr/share/doc/cfengine3/examples/update.cf /etc/cfengine3/
cp /usr/share/doc/cfengine3/examples/failsafe.cf /etc/cfengine3/
cp /usr/share/doc/cfengine3/examples/site.cf /etc/cfengine3/
cp /usr/share/doc/cfengine3/examples/cfengine_stdlib.cf /etc/cfengine3/
</pre>
<p>These files are basic input files for Cfengine and are needed for basic operations.<br />
If you want to edit /etc/cfengine/promises.cf with an editor of your choice and replace the default mail address with yours.</p>
<p>Having done that, we can &#8220;enable&#8221; Cfengine 3 by editing the file /etc/defaults/cfengine:</p>
<pre class="brush: text">
RUN_CFMONITORD=1
RUN_CFSERVERD=1
RUN_CFEXECD=1
</pre>
<p>Now let&#8217;s go!</p>
<pre class="brush: bash">
/etc/init.d/cfengine3 start
</pre>
<p>When running <em>ps aux</em> and grepping for <em>cf</em> you should now see the following daemons:</p>
<ul>
<li>/usr/sbin/cf-monitord</li>
<li>/usr/sbin/cf-serverd</li>
<li>/usr/sbin/cf-execd</li>
</ul>
<p><strong>A very simple example for editing text files</strong><br />
Create the file /var/lib/cfengine3/inputs/example.cf and fill it with the following content:</p>
<pre class="brush: text">
body common control

{
any::

bundlesequence =&gt; {
editexample
};
}

bundle agent editexample

{
files:

&quot;/etc/example&quot;

edit_line =&gt; addline,
create =&gt; true;
}

bundle edit_line addline

{
insert_lines:

&quot;Test.&quot;;

}
</pre>
<p>Close and save the file.<br />
Cfengine provides you with a tool to check the syntax of a .cf-script, so let&#8217;s use it:</p>
<pre class="brush: bash">
cf-promises -f /var/lib/cfengine/inputs/example.cf
</pre>
<p>Ok, no errors, so let&#8217;s execute the script with the help of the Cfengine agent:</p>
<pre class="brush: bash">
cf-agent -f /var/lib/cfengine3/inputs/example.cf
</pre>
<p>Now have a look at your file which was auto-created by the &#8220;create =&gt; true&#8221;-statement:</p>
<pre class="brush: bash">
cat /etc/example
Test.
</pre>
<p>Woho!<br />
You will realize that Cfengine created a backup of the original file before editing it (here: /etc/example.cf-before-edit).</p>
<p><strong>Some final words</strong><br />
Of course this is a very simple example and only demonstrates a tiny part of Cfengine&#8217;s abilities! But you now should be able to get the idea behind Cfengine. Cfengine also allows connections over network, meaning that you can run a configuration server with &#8220;clients&#8221;. Furthermore Cfengine logs most of the stuff in the /var/log/ folder.</p>
<p>I hope you liked the short tour! Hopefully I will have the time and motivation to write more blog posts about Cfengine and show you some complex examples.</p>
<p><strong>Update on 2012-05-07:</strong> Jon posted some feedback, I updated this blog post accordingly.</p>
<p>You can download the sample Cfengine3 script described in this post here: <a title="Download the sample Cfengine3 script example.cf" href="http://xenuser.org/downloads/cfengine3/example.cf">example.cf</a> <img src="http://www.xenuser.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1681" width="1" height="1" style="display: none;" /></p>


<p>Related posts:<ol><li><a href='http://www.xenuser.org/linux/mounting-nfs-shares-with-cfengine-3/' rel='bookmark' title='Permanent Link: Mounting NFS-Shares with Cfengine 3'>Mounting NFS-Shares with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/installing-packages-with-cfengine-3/' rel='bookmark' title='Permanent Link: Installing packages with Cfengine 3'>Installing packages with Cfengine 3</a></li>
<li><a href='http://www.xenuser.org/linux/cfengine3-check-for-running-services/' rel='bookmark' title='Permanent Link: Cfengine3: Check for running services'>Cfengine3: Check for running services</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xenuser.org/linux/taking-a-quick-look-at-the-configuration-management-system-cfengine-3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Simple awk cheat sheet added</title>
		<link>http://www.xenuser.org/linux/simple-awk-cheat-sheet-added/</link>
		<comments>http://www.xenuser.org/linux/simple-awk-cheat-sheet-added/#comments</comments>
		<pubDate>Wed, 02 May 2012 20:35:09 +0000</pubDate>
		<dc:creator>valentin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source & Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[learning awk]]></category>
		<category><![CDATA[simple awk cheat sheet]]></category>

		<guid isPermaLink="false">http://www.xenuser.org/?p=1675</guid>
		<description><![CDATA[For the last days I have been working on a simple awk cheat sheet. The goal is not to have a complete reference about awk but a small page containing the most important key features and actions. You can view the simple awk cheat sheet here. Most of my blog readers will already be familiar [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>For the last days I have been working on a simple awk cheat sheet. The goal is not to have a complete reference about awk but a small page containing the most important key features and actions.</p>
<p><a title="Simple awk cheat sheet" href="http://www.xenuser.org/simple-awk-cheat-sheet/" target="_blank">You can view the simple awk cheat sheet here.</a></p>
<p>Most of my blog readers will already be familiar with awk. Well, I am not and I am still learning. The awk cheat sheet therefore helps to keep track of the important and cool features I am discovering during my learning process.</p>
<p>As it turns out, I needed awk not that often in the past although I am working as a Linux professional. But well, awk is really useful and it is worth that one dives in deeper.</p>
<p>Please note that the simple awk cheat sheet is still work in progress. <img src="http://www.xenuser.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1675" width="1" height="1" style="display: none;" /></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.xenuser.org/linux/simple-awk-cheat-sheet-added/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free PostgreSQL Magazine launched</title>
		<link>http://www.xenuser.org/open-source-development/free-postgresql-magazine-launched/</link>
		<comments>http://www.xenuser.org/open-source-development/free-postgresql-magazine-launched/#comments</comments>
		<pubDate>Wed, 02 May 2012 20:30:05 +0000</pubDate>
		<dc:creator>valentin</dc:creator>
				<category><![CDATA[Open Source & Development]]></category>
		<category><![CDATA[first issue]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[magazine]]></category>
		<category><![CDATA[postgres]]></category>

		<guid isPermaLink="false">http://www.xenuser.org/?p=1673</guid>
		<description><![CDATA[Today the new and free PostgreSQL Magazine was launched. You can view the web page and the first issue here. The first issue is about 10 new features in PostgreSQL 9.1 and contains a very interesting interview with &#8220;the admin&#8221; begind postgresql.org. I highly recommend to read this magazine if you are a fan of [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Today the new and free PostgreSQL Magazine was launched. You can view the web page and the <a href="http://pgmag.org/01/start" target="_blank">first issue here.</a></p>
<p>The first issue is about 10 new features in PostgreSQL 9.1 and contains a very interesting interview with &#8220;the admin&#8221; begind postgresql.org.</p>
<p>I highly recommend to read this magazine if you are a fan of the MySQL alternative and want to dive in deeper. <img src="http://www.xenuser.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1673" width="1" height="1" style="display: none;" /></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.xenuser.org/open-source-development/free-postgresql-magazine-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>For the record: ASCII for breakfast was just updated</title>
		<link>http://www.xenuser.org/misc/for-the-record-ascii-for-breakfast-was-just-updated/</link>
		<comments>http://www.xenuser.org/misc/for-the-record-ascii-for-breakfast-was-just-updated/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 20:55:38 +0000</pubDate>
		<dc:creator>valentin</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[ASCII for breakfast]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.xenuser.org/?p=1563</guid>
		<description><![CDATA[Today I finally found the time to switch to a modern design and update the blog in general. The menu and some pages were restructured and some old stuff was thrown to /dev/null. I hope you like the new look! &#160; No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Today I finally found the time to switch to a modern design and update the blog in general. The menu and some pages were restructured and some old stuff was thrown to /dev/null. I hope you like the new look!</p>
<p>&nbsp; <img src="http://www.xenuser.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1563" width="1" height="1" style="display: none;" /></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.xenuser.org/misc/for-the-record-ascii-for-breakfast-was-just-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>In eigener Sache: Das Linux Magazin 05/2012</title>
		<link>http://www.xenuser.org/linux/in-eigener-sache-das-linux-magazin-052012/</link>
		<comments>http://www.xenuser.org/linux/in-eigener-sache-das-linux-magazin-052012/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 14:43:09 +0000</pubDate>
		<dc:creator>valentin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source & Development]]></category>
		<category><![CDATA[Security in general]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[dstat]]></category>
		<category><![CDATA[Linux Magazin]]></category>
		<category><![CDATA[logcheck]]></category>
		<category><![CDATA[logsurfer]]></category>

		<guid isPermaLink="false">http://www.xenuser.org/?p=1528</guid>
		<description><![CDATA[In dieser Woche erscheint das Linux Magazin 05/2012: Diese Ausgabe beinhaltet einen Artikel von Thilo und mir: &#8220;Log-Wellenreiter &#8211; Logfiles überwachen und Aktionen anstoßen&#8220;. Dieser Artikel behandelt die automatisierte Auswertung von Log-Dateien und das Reagieren auf vordefinierte Events. Zusätzlich durfte ich den Artikel &#8220;Linux-Multimeter &#8211; Systemdiagnose von Vmstat über Netstat bis Dstat&#8221; beisteuern. Dieser Beitrag [...]


Related posts:<ol><li><a href='http://www.xenuser.org/linux/new-articles-published-in-the-german-linux-magazine-and-android-user/' rel='bookmark' title='Permanent Link: New articles published in the German Linux Magazine and Android User'>New articles published in the German Linux Magazine and Android User</a></li>
<li><a href='http://www.xenuser.org/linux/real-time-system-monitoring-with-dag-wieers-dstat/' rel='bookmark' title='Permanent Link: Real-time system monitoring with Dag Wieers’ dstat'>Real-time system monitoring with Dag Wieers’ dstat</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In dieser Woche erscheint das Linux Magazin 05/2012:</p>
<div class="wp-caption alignnone" style="width: 81px"><a href="http://www.linux-magazin.de"><img title="Linux Magazin 05/2012" src="http://www.linux-magazin.de/var/linux_magazin/storage/images/media/linux-magazin/ausgabe/titelbilder/2012/titel_2012_05/689509-1-ger-DE/titel_2012_05_small.jpg" alt="Linux Magazin 05/2012" width="71" height="100" /></a>
<p class="wp-caption-text">Linux Magazin 05/2012</p>
</div>
<p>Diese Ausgabe beinhaltet einen Artikel von Thilo und mir: &#8220;<a href="http://www.linux-magazin.de/Heft-Abo/Ausgaben/2012/05/Logfiles" target="_blank">Log-Wellenreiter &#8211; Logfiles überwachen und Aktionen anstoßen</a>&#8220;. Dieser Artikel behandelt die automatisierte Auswertung von Log-Dateien und das Reagieren auf vordefinierte Events.</p>
<p>Zusätzlich durfte ich den Artikel &#8220;<a href="http://www.linux-magazin.de/Heft-Abo/Ausgaben/2012/05/Dstat-Co" target="_blank">Linux-Multimeter &#8211; Systemdiagnose von Vmstat über Netstat bis Dstat</a>&#8221; beisteuern. Dieser Beitrag behandelt das Tool dstat und erklärt, warum man bei dessen Einsatz auf viele andere Analyse-Tools verzichten kann.</p>
<p>Beide Artikel können online &#8220;gepreviewt&#8221; und jeweils einzeln für 1 Euro gekauft werden. <img src="http://www.xenuser.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1528" width="1" height="1" style="display: none;" /></p>


<p>Related posts:<ol><li><a href='http://www.xenuser.org/linux/new-articles-published-in-the-german-linux-magazine-and-android-user/' rel='bookmark' title='Permanent Link: New articles published in the German Linux Magazine and Android User'>New articles published in the German Linux Magazine and Android User</a></li>
<li><a href='http://www.xenuser.org/linux/real-time-system-monitoring-with-dag-wieers-dstat/' rel='bookmark' title='Permanent Link: Real-time system monitoring with Dag Wieers’ dstat'>Real-time system monitoring with Dag Wieers’ dstat</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xenuser.org/linux/in-eigener-sache-das-linux-magazin-052012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WHOIS Policy Review Team Report &#8211; Final Draft published</title>
		<link>http://www.xenuser.org/misc/whois-policy-review-team-report-final-draft-published/</link>
		<comments>http://www.xenuser.org/misc/whois-policy-review-team-report-final-draft-published/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 23:15:43 +0000</pubDate>
		<dc:creator>valentin</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[draft]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[WHOIS]]></category>
		<category><![CDATA[WHOIS Policy Review Team]]></category>

		<guid isPermaLink="false">http://www.xenuser.org/?p=1522</guid>
		<description><![CDATA[The WHOIS Policy Review Team crafted a draft of their final report and stated, that the common internet user is in most cases unaware of the existence of the WHOIS service (76 percent of asked participants). Furthermore, they describe what actions should be taken in order to improve the WHOIS service (and data accuracy). The WPRT even [...]


Related posts:<ol><li><a href='http://www.xenuser.org/misc/the-future-of-the-whois-protocol/' rel='bookmark' title='Permanent Link: The future of the WHOIS protocol'>The future of the WHOIS protocol</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The WHOIS Policy Review Team crafted a draft of their final report and stated, that the common internet user is in most cases unaware of the existence of the WHOIS service (76 percent of asked participants).</p>
<p>Furthermore, they describe what actions should be taken in order to improve the WHOIS service (and data accuracy).</p>
<p>The WPRT even quotes one of my suggestions (see page 49). You can view the latest draft here:</p>
<p><a href="http://www.icann.org/en/reviews/affirmation/whois-rt-draft-final-report-05dec11-en.pdf" target="_blank">http://www.icann.org/en/reviews/affirmation/whois-rt-draft-final-report-05dec11-en.pdf</a> <img src="http://www.xenuser.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1522" width="1" height="1" style="display: none;" /></p>


<p>Related posts:<ol><li><a href='http://www.xenuser.org/misc/the-future-of-the-whois-protocol/' rel='bookmark' title='Permanent Link: The future of the WHOIS protocol'>The future of the WHOIS protocol</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.xenuser.org/misc/whois-policy-review-team-report-final-draft-published/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

