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

<channel>
	<title>Guy Rutenberg &#187; Tips</title>
	<atom:link href="http://www.guyrutenberg.com/category/tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.guyrutenberg.com</link>
	<description>Keeping track of what I do</description>
	<lastBuildDate>Sat, 14 Jan 2012 11:30:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Gmail backup: getmail vs. OfflineIMAP</title>
		<link>http://www.guyrutenberg.com/2012/01/14/gmail-backup-getmail-vs-offlineimap/</link>
		<comments>http://www.guyrutenberg.com/2012/01/14/gmail-backup-getmail-vs-offlineimap/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 11:30:25 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[duplicity]]></category>
		<category><![CDATA[getmail]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[OfflineIMAP]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=956</guid>
		<description><![CDATA[I&#8217;m currently reviewing my backup plans and decided it&#8217;s a good occasion to finally start backing up my Gmail account. Firstly, I didn&#8217;t seriously consider Desktop clients as the main backup tool, as they are hard to automate. The two main options are: OfflineIMAP and getamil. Both are available from Ubuntu&#8217;s repositories, so installation is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently reviewing my backup plans and decided it&#8217;s a good occasion to finally start backing up my Gmail account. Firstly, I didn&#8217;t seriously consider Desktop clients as the main backup tool, as they are hard to automate. The two main options are: <a href="http://offlineimap.org/">OfflineIMAP</a> and <a href="http://pyropus.ca/software/getmail/">getamil</a>. Both are available from Ubuntu&#8217;s repositories, so installation is easy with both and both have good tutorials, <a href="http://www.mattcutts.com/blog/backup-gmail-in-linux-with-getmail/">Matt Cutts&#8217; getmail</a> and <a href="http://www.enigmacurry.com/2008/02/22/backing-up-my-online-brain/">EnigmaCurry&#8217;s OfflineIMAP</a>.</p>
<p>OfflineIMAP claims to be faster, but I haven&#8217;t really checked it (and I&#8217;m not sure how important that is giving that it runs in the background). From what I saw configuring them is mainly a task of cut-and-paste, but getmail requires to list every label you want to backup, which I consider is a major downside. As both are able to save the mails to maildir format, it should be easy to back it up using <a href="duplicity.nongnu.org">duplicity</a>.</p>
<p>Conclusion: This was a short comparison, mainly to guide me in choosing the right backup for me, you may have different opinions (which, of course, I would gladly hear). I finally chose OfflineIMAP, mainly due to the labels issue.</p>
<p>Note on desktop clients: It seems that every decent one can be configured to work with a local maildir, so you can use them to read the backups. As I prefer Gmail&#8217;s interface, I will only use desktop clients in case I&#8217;m offline, so read-only access from desktop client seems good enough for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2012/01/14/gmail-backup-getmail-vs-offlineimap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GNOME_COMPILE_WARNINGS(maximum)  &#8211; Syntax Error in configure</title>
		<link>http://www.guyrutenberg.com/2011/12/10/gnome_compile_warningsmaximum-syntax-error-in-configure/</link>
		<comments>http://www.guyrutenberg.com/2011/12/10/gnome_compile_warningsmaximum-syntax-error-in-configure/#comments</comments>
		<pubDate>Sat, 10 Dec 2011 17:23:48 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[GNOME]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=918</guid>
		<description><![CDATA[I&#8217;m still encountering migration issues from Gentoo to Ubuntu. Apperantly, Gentoo is much more user friendly than Ubuntu when it comes to compiling packages. In Gentoo you&#8217;ve got almost all the major dependencies you need. In Ubuntu, on the other hand, you need to hunt them down. It&#8217;s much easier with the main ones, as [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m still encountering migration issues from Gentoo to Ubuntu. Apperantly, Gentoo is much more user friendly than Ubuntu when it comes to compiling packages. In Gentoo you&#8217;ve got almost all the major dependencies you need. In Ubuntu, on the other hand, you need to hunt them down. It&#8217;s much easier with the main ones, as they are listed. But there are some small ones which are harder to track. I came across the following error while trying to compile <a href="http://git.gnome.org/browse/gitg/">gitg</a>, a GUI for Git, today:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">./configure: line 14447: syntax error near unexpected token `maximum'
./configure: line 14447: `GNOME_COMPILE_WARNINGS(maximum)'</pre></div></div>

<p>After not so short investigation I found out I was missing <code>gnome-common</code></p>

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

<p>Why can&#8217;t be one distribution which is user-friendly like Ubuntu and in the same time developer-friendly like Gentoo?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/12/10/gnome_compile_warningsmaximum-syntax-error-in-configure/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GCC Usage quirks</title>
		<link>http://www.guyrutenberg.com/2011/11/27/gcc-usage-quirks/</link>
		<comments>http://www.guyrutenberg.com/2011/11/27/gcc-usage-quirks/#comments</comments>
		<pubDate>Sat, 26 Nov 2011 22:50:38 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[gcc]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=907</guid>
		<description><![CDATA[This is more of a note to myself, as it&#8217;s an error I keep bumping into. When compiling manually using gcc (or g++) you should pass all the libraries you&#8217;re compiling against at the end of the argument list. E.g.: g++ -Wall -lboost_thread my_file.cpp will result in error like: undefined reference to `boost::thread::join()' undefined reference [...]]]></description>
			<content:encoded><![CDATA[<p>This is more of a note to myself, as it&#8217;s an error I keep bumping into. When compiling manually using gcc (or g++) you should pass all the libraries you&#8217;re compiling against at the end of the argument list. E.g.:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">g++ -Wall -lboost_thread my_file.cpp</pre></div></div>

<p>will result in error like:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">undefined reference to `boost::thread::join()'
undefined reference to `boost::thread::~thread()'</pre></div></div>

<p>while</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">g++ -Wall vortex5_brute.cpp -lboost_thread</pre></div></div>

<p>works fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/11/27/gcc-usage-quirks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Number Exercises Separately in LyX</title>
		<link>http://www.guyrutenberg.com/2011/11/20/number-exercises-separately-in-lyx/</link>
		<comments>http://www.guyrutenberg.com/2011/11/20/number-exercises-separately-in-lyx/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 21:30:11 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[LyX]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=904</guid>
		<description><![CDATA[Say you&#8217;ve got a document with a bunch of exercises and few lemmas. You may want the exercises numbered separately from the numbering of the lemmas and theorem, unlike LyX&#8217;s default behavior. This can be achieved by redefining xca, the environment LyX uses for exercises. Add the following to your LaTeX preamble: \let\xca\@undefined \theoremstyle{plain} \newtheorem{xca}{\protect\exercisename} [...]]]></description>
			<content:encoded><![CDATA[<p>Say you&#8217;ve got a document with a bunch of exercises and few lemmas. You may want the exercises numbered separately from the numbering of the lemmas and theorem, unlike LyX&#8217;s default behavior. This can be achieved by redefining <code>xca</code>, the environment LyX uses for exercises. Add the following to your LaTeX preamble:</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #E02020; ">\</span><span style="color: #800000;">let</span><span style="color: #800000; font-weight: normal;">\xca</span><span style="color: #E00000; font-weight: normal;">\@undefined</span>
<span style="color: #800000; font-weight: normal;">\theoremstyle</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">plain</span><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\newtheorem</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">xca</span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\protect</span><span style="color: #800000; font-weight: normal;">\exercisename</span></span><span style="color: #E02020; ">}</span></pre></div></div>

<p>LyX will still display the incorrect numbering, but the output will be correct nonetheless. The first line, undefines the LyX&#8217;s definition of <code>xca</code>, then we set the style to match the old one and we redefine <code>xca</code>, this time without a reference to the theorems&#8217; counter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/11/20/number-exercises-separately-in-lyx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expectation Symbol in LaTeX</title>
		<link>http://www.guyrutenberg.com/2011/11/19/expectation-symbol-in-latex/</link>
		<comments>http://www.guyrutenberg.com/2011/11/19/expectation-symbol-in-latex/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 19:14:06 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[LyX]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=900</guid>
		<description><![CDATA[After looking for a builtin expectation symbol in LaTeX, and coming up with none, I&#8217;ve defined one. Just add: % Expectation symbol \DeclareMathOperator*{\E}{\mathbb{E}} to your LaTeX preamble and you&#8217;re done. You&#8217;ll also need to add \usepackage{amsmath} or in LyX to tick &#8220;Use AMS math package&#8221; under Document->Settings->Math Options. Using the starred version of \DeclareMathOperator makes [...]]]></description>
			<content:encoded><![CDATA[<p>After looking for a builtin expectation symbol in LaTeX, and coming up with none, I&#8217;ve defined one. Just add:</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #2C922C; font-style: italic;">% Expectation symbol</span>
<span style="color: #800000; font-weight: normal;">\DeclareMathOperator*</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\E</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\mathbb</span>{E</span><span style="color: #E02020; ">}}</span></pre></div></div>

<p>to your LaTeX preamble and you&#8217;re done. You&#8217;ll also need to add <code>\usepackage{amsmath}</code> or in LyX to tick &#8220;Use AMS math package&#8221; under Document->Settings->Math Options.</p>
<p>Using the starred version of <code>\DeclareMathOperator</code> makes sure subscripts goes beneath the symbol in display mode.</p>
<p><a href="http://www.guyrutenberg.com/wp-content/uploads/2011/11/expectation-symbol.png"><img src="http://www.guyrutenberg.com/wp-content/uploads/2011/11/expectation-symbol.png" alt="" title="expectation-symbol" width="390" height="88" class="aligncenter size-full wp-image-901" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/11/19/expectation-symbol-in-latex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Author: (no author) not defined in authors file</title>
		<link>http://www.guyrutenberg.com/2011/11/09/author-no-author-not-defined-in-authors-file/</link>
		<comments>http://www.guyrutenberg.com/2011/11/09/author-no-author-not-defined-in-authors-file/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 18:04:16 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=883</guid>
		<description><![CDATA[I came across the following error message Author: (no author) not defined in authors file when I tried to import an SVN repository (Open Yahtzee&#8216;s) to Git using git svn and I specified an authors file (using -A). Indeed, the first commit to the svn (which was done using cvs2svn) had no username for the [...]]]></description>
			<content:encoded><![CDATA[<p>I came across the following error message</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Author: (no author) not defined in authors file</pre></div></div>

<p>when I tried to import an SVN repository (<a href="http://www.openyahtzee.org">Open Yahtzee</a>&#8216;s) to Git using <code>git svn</code> and I specified an authors file (using <code>-A</code>). Indeed, the first commit to the svn (which was done using cvs2svn) had no username for the commiter. Apperantly the workaround is to add the following line to your author file.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">(no author) = no_author &lt;no_author@no_author&gt;</pre></div></div>

<p>I tried also doing the same without an email address, but it just didn&#8217;t work. It seems Git requires that all authors have some email address.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/11/09/author-no-author-not-defined-in-authors-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reinstall grub in Ubuntu</title>
		<link>http://www.guyrutenberg.com/2011/09/16/reinstall-grub-in-ubuntu/</link>
		<comments>http://www.guyrutenberg.com/2011/09/16/reinstall-grub-in-ubuntu/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 07:45:04 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[Ubuntu]]></category>

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

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

<p>I hope it will be useful for others as well, as the Ubuntu community documentations offers a solution based on Boot-Repair, which seems an overkill for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/09/16/reinstall-grub-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated Encrypted Backups to S3 Using Duplicity</title>
		<link>http://www.guyrutenberg.com/2011/09/03/automated-encrypted-backups-to-s3-using-duplicity/</link>
		<comments>http://www.guyrutenberg.com/2011/09/03/automated-encrypted-backups-to-s3-using-duplicity/#comments</comments>
		<pubDate>Sat, 03 Sep 2011 17:28:32 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Amazon AWS]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[duplicity]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=864</guid>
		<description><![CDATA[This tutorial will hopefully guide you in making automated encrypted backups to Amazon&#8217;s S3 using duplicity. It was written as a followup for Using Duplicity and Amazon S3 – Notes and Examples, in order to organize all the necessary information into a simple tutorial. Will start by creating a simple wrapper to duplicity: #! /usr/bin/python [...]]]></description>
			<content:encoded><![CDATA[<p>This tutorial will hopefully guide you in making automated encrypted backups to Amazon&#8217;s S3 using duplicity. It was written as a followup for <a href="/2009/12/12/using-duplicity-and-amazon-s3-notes-and-examples/">Using Duplicity and Amazon S3 – Notes and Examples</a>, in order to organize all the necessary information into a simple tutorial.</p>
<p>Will start by creating a simple wrapper to <code>duplicity</code>:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#! /usr/bin/python</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
&nbsp;
duplicity_bin = <span style="color: #483d8b;">'/usr/bin/duplicity'</span>
&nbsp;
env = <span style="color: black;">&#123;</span>
    <span style="color: #483d8b;">'AWS_ACCESS_KEY_ID'</span>:     <span style="color: #483d8b;">'PUT YOUR KEY ID HERE'</span>,
    <span style="color: #483d8b;">'AWS_SECRET_ACCESS_KEY'</span>: <span style="color: #483d8b;">'PUT YOUR SECRET ACCESS KEY HERE'</span>,
    <span style="color: #483d8b;">'PASSPHRASE'</span>:            <span style="color: #483d8b;">'PUT ENCRYPTION PASSPHRASE'</span>,
<span style="color: black;">&#125;</span>
env.<span style="color: black;">update</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">environ</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #dc143c;">os</span>.<span style="color: black;">execve</span><span style="color: black;">&#40;</span>duplicity_bin, <span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span>, env<span style="color: black;">&#41;</span></pre></div></div>

<p>save this under <code>dupicity-wrapper.py</code> and <code>chmod 0500</code> it so only you will be able to read and execute it.</p>
<p><strong>Note:</strong> You&#8217;ll want to write down the passphrase and store it in a safe location (preferably in two separate locations). So in case you&#8217;ll need to restore the backups, you won&#8217;t have useless encrypted files.</p>
<p>Now edit your <code>crontab</code> and add a line like the following:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">10 1 * * 0 /path/to/duplicity-wrapper.py /path/to/folder/ s3+http://bucket-name/somefolder &amp;&gt;&gt; ~/log/backups.log</pre></div></div>

<p>This will create a weekly backup for <code>/path/to/folder</code>. The backup will be encrypted with what ever passphrase you&#8217;ve given in the <code>duplicity-wrapper.py</code>. The output of the backup process will be saved into <code>~/log/backups.log</code>.</p>
<p>You should also run</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">/path/to/duplicity-wrapper.py full /path/to/folder/ s3+http://bucket-name/somefolder</pre></div></div>

<p>in order to create full backups. You might want to periodically verify your backups:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">/path/to/duplicity-wrapper.py collection-status s3+http://bucket-name/somefolder
/path/to/duplicity-wrapper.py verify s3+http://bucket-name/somefolder /path/to/folder/</pre></div></div>

<p>To check the status of the backups and to verify them.</p>
<p>And last but not least, in case you ever need the backups, you can restore them using:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">/path/to/duplicity-wrapper.py restore s3+http://bucket-name/somefolder /path/to/folder/</pre></div></div>

<h3>Security Considerations</h3>
<p>As I know, some people will comment on the saving of the encryption passphrase plainly in a file, I will explain my reasoning. I use the above encryption in order to secure my files in case of data leakage from Amazon S3. In order to read my backups, or silently temper with them, some on will have to get the passphrase from my machine. While, this isn&#8217;t impossible, I will say it&#8217;s unlikely. Furthermore, if someone has access allowing him to read files from my computer, he doesn&#8217;t need the backups, he can access the files directly.</p>
<p>I&#8217;ve given some thought about making the backups more secure, but it seems you always have to compromise on either automation or incremental backups. But, as I wrote, the current solution seems to me strong enough given the circumstances. Nonetheless, if you&#8217;ve got a better solution it would be nice to hear.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/09/03/automated-encrypted-backups-to-s3-using-duplicity/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Check if a server is about to run fsck</title>
		<link>http://www.guyrutenberg.com/2011/08/06/check-if-a-server-is-about-to-run-fsck/</link>
		<comments>http://www.guyrutenberg.com/2011/08/06/check-if-a-server-is-about-to-run-fsck/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 06:02:40 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=846</guid>
		<description><![CDATA[Couple of weeks ago I installed some updates to my server. And when I restarted it, it didn&#8217;t came up. To make things worse, the IPMI console decided to go on strike so I couldn&#8217;t see what&#8217;s really going on. I presumed that the system isn&#8217;t responding because of some kernel panic. After a while, [...]]]></description>
			<content:encoded><![CDATA[<p>Couple of weeks ago I installed some updates to my server. And when I restarted it, it didn&#8217;t came up. To make things worse, the IPMI console decided to go on strike so I couldn&#8217;t see what&#8217;s really going on. I presumed that the system isn&#8217;t responding because of some kernel panic. After a while, I gave up for that night in hope the in the morning the IPMI would be sorted out. To my surprise, the IPMI was still out of work, but the server was up again. Apparently, the system wasn&#8217;t stuck on kernel panic, but on <code>fsck</code>&#8216;ing the harddisks. So in order to avoid such problems in the future I looked for a way to tell when the system is going to run <code>fsck</code> after the next reboot (I also had the IPMI fixed).</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"> $ sudo tune2fs -l /dev/sda6</pre></div></div>

<p>In the output you will find the following lines:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Mount count:              2
Maximum mount count:      36
Last checked:             Tue Jul 26 04:49:18 2011
Check interval:           15552000 (6 months)</pre></div></div>

<p>&#8220;Maximum mount count&#8221; is the number of mounts after which the filesystem will be checked by fsck. &#8220;Check interval&#8221; is the maximal time between two filesystem checks. The command also lets you see the actual mount count since the last check and when it took place.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/08/06/check-if-a-server-is-about-to-run-fsck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missing *.la files</title>
		<link>http://www.guyrutenberg.com/2011/07/16/missing-la-files/</link>
		<comments>http://www.guyrutenberg.com/2011/07/16/missing-la-files/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 18:14:34 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://www.guyrutenberg.com/?p=842</guid>
		<description><![CDATA[Sometimes when you compile a package it fails and complains it can&#8217;t find an *.la file for some library that is installed. Recently I had it when compiling dev-libs/gobject-introspection which complained about missing libpng14.la. The solution for this is to run: sudo lafilefixer --justfixit It won&#8217;t create the .la file, but it will fix the [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes when you compile a package it fails and complains it can&#8217;t find an <code>*.la</code> file for some library that is installed. Recently I had it when compiling <code>dev-libs/gobject-introspection</code> which complained about missing <code>libpng14.la</code>. The solution for this is to run:</p>

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

<p>It won&#8217;t create the <code>.la</code> file, but it will fix the <code>libtool</code> references so nothing points to it so packages will compile fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guyrutenberg.com/2011/07/16/missing-la-files/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

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

