<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2208194144919718753</id><updated>2024-09-11T06:55:34.056+01:00</updated><category term="centos"/><category term="cygwin"/><category term="selinux"/><category term="windows"/><category term="nagios"/><category term="synaptics"/><category term="usability"/><category term="vmware"/><category term="gtd"/><category term="putty"/><category term="security"/><category term="squid"/><category term="yum"/><title type='text'>Code for the soul</title><subtitle type='html'>Yet another blog about coding, technology, food and spirituality.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-3321347597735189347</id><published>2015-04-27T19:39:00.000+01:00</published><updated>2015-04-27T19:39:22.884+01:00</updated><title type='text'>Installing JVisualVM plugins manually</title><content type='html'>Today I had an annoying problem. We have some network restrictions at work, which mean that we cannot access a large number of sites nor download certain file types from the internet.&lt;br /&gt;
&lt;br /&gt;
I had to run JVisualVM to fiddle a few MBeans in a running app. Nowadays, JVisualVM doesn&#39;t include the MBean browser, as it&#39;s included in the &lt;a href=&quot;http://visualvm.java.net/mbeans_tab.html&quot;&gt;MBean&lt;/a&gt; tab plugin, which can be downloaded automatically... unless you don&#39;t have access to the internet (like all those guys working on super secret projects) or you have some other odd network restrictions.&lt;br /&gt;
&lt;br /&gt;
To install the plugins manually, I had to &lt;i&gt;try&lt;/i&gt; to download them from inside JVisualVM, as the error message shows the url from where it&#39;s trying to download it (I couldn&#39;t find anywhere a list of all the plugins and their download urls... it looks like they are distributed in the &lt;a href=&quot;http://java.net/projects/visualvm/downloads&quot;&gt;JVisualVM download area&lt;/a&gt; inside different releases).&lt;br /&gt;
&lt;br /&gt;
After getting the files, I was able to ask someone to download them for me, and last I was able to import them in JVisualVM from Tools -&amp;gt; plugins (Downloaded tab). There had to &quot;Add plugins&quot; and once they were added, click on install.&lt;br /&gt;
&lt;br /&gt;
Easy peasy... 1/2 hour gone in something that should have taken 1 minute :(.</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/3321347597735189347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2015/04/installing-jvisualvm-plugins-manually.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/3321347597735189347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/3321347597735189347'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2015/04/installing-jvisualvm-plugins-manually.html' title='Installing JVisualVM plugins manually'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-1597583645051768763</id><published>2015-02-23T19:53:00.001+00:00</published><updated>2015-02-23T19:55:38.428+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cygwin"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><category scheme="http://www.blogger.com/atom/ns#" term="vmware"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Kaspersky - is it the worst security suite?</title><content type='html'>I recently upgraded to windows 8 after a series of problems I had with windows 7, which started when I uninstalled Kaspersky Internet Secuirty 2012 to upgrade to KIS 2014.&lt;br /&gt;
&lt;br /&gt;
After the upgrade, most of the USB devices I connected were not recognized (luckily the wired mouse and keyboard did keep working). Quite a few people experienced this and there&#39;s some &lt;a href=&quot;http://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/mtp-usb-devices-are-failed-to-install-error-device/83d65899-eb24-4fd1-8754-ad3d94315dc7?page=~pagenum~&quot;&gt;registry voodoo &lt;/a&gt;to fix this. Unfortunately the fix didn&#39;t work, and since I had to reinstall windows to fix this, I decided to upgrade to win 8.1.&lt;br /&gt;
&lt;br /&gt;
After I installed Win8 I had yet another 2 issues. The first one with VMWare Workstation. For some reason, VMWS wasn&#39;t able to create a bridged connection (most of my VMs use this rather than NAT)... going through the Kaspersky Forums, a few people recommended in this case to uninstall KIS, create the network bridge, reinstall KIS. What a PITA, but it did work.&lt;br /&gt;
&lt;br /&gt;
So now I have everything ready to start coding? Not really. Some encrypted connections kept dying on me (something as simple as a git pull from a tiny github repo would take 10 minutes and end up in a connection failure). Pausing the protection didn&#39;t help, so I went through the pain of uninstalling KIS, trying, reinstalling KIS just to prove that the problem was KIS (rather than a dodgy router). Finally I found that KIS 2015 has a feature to snoop on all encrypted connections and that was affecting the connection. So I had to go to settings -&amp;gt; additional -&amp;gt; Network -&amp;gt; uncheck &lt;b&gt;Scan encrypted connections.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I&#39;m quite sure that companies providing security suites are having more and more trouble to provide working, compatible software, as malware becomes more advanced, the number of consumer applications multiply, and the incompatibility matrix becomes a 1000000000x1000000000 minesweeper game with half of the cells with bombs which move around.&lt;br /&gt;
&lt;br /&gt;
I think at some point I&#39;m going to install &lt;a href=&quot;http://www.sophos.com/en-us/products/free-tools/sophos-utm-home-edition.aspx&quot;&gt;Sophos UTM&lt;/a&gt; and see how that goes...</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/1597583645051768763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2015/02/kaspersky-is-it-worst-security-suite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/1597583645051768763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/1597583645051768763'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2015/02/kaspersky-is-it-worst-security-suite.html' title='Kaspersky - is it the worst security suite?'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-8120954292341209213</id><published>2014-12-14T19:02:00.002+00:00</published><updated>2015-02-23T19:54:42.585+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cygwin"/><category scheme="http://www.blogger.com/atom/ns#" term="squid"/><title type='text'>Squid on cygwin &quot;Unable to determine IP address from host name&quot;</title><content type='html'>I recently started using vagrant+docker which meant that I started downloading a lot of RPMs, docker images and vagrant boxes.&lt;br /&gt;
&lt;br /&gt;
To reduce the amount of time I spend waiting for packages to be downloaded, I set up squid on cygwin. The set up wasn&#39;t too complicated, but I got stuck with something. Squid reads /etc/resov.conf to find out which nameserver to use... and cygwin doesn&#39;t create (nor need) this file. This mean that I spend 1 hour trying to figure out why squid wasn&#39;t able to resolve names. This is part of the html Squid generated to report the error.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;The following error was encountered while trying to retrieve the URL: http://google.com/&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Unable to determine IP address from host name &quot;google.com&quot;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
So if you want to run squid on cygwin, don&#39;t forget to create a /etc/resolv.conf file similar to the following one&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
search local&lt;br /&gt;
nameserver 8.8.8.8&lt;/blockquote&gt;
I chose to use google&#39;s DNS (8.8.8.8) for the time being, but the best solution would be to run a script when I launch cygwin that creates/updates the resolv.conf file with my current DNS... but I have no idea at the moment how to get this data from windows. </content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/8120954292341209213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2014/12/squid-on-cygwin-unable-to-determine-ip.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/8120954292341209213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/8120954292341209213'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2014/12/squid-on-cygwin-unable-to-determine-ip.html' title='Squid on cygwin &quot;Unable to determine IP address from host name&quot;'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-2717939466044337199</id><published>2014-12-14T12:42:00.000+00:00</published><updated>2014-12-14T12:49:52.787+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="synaptics"/><category scheme="http://www.blogger.com/atom/ns#" term="usability"/><title type='text'>How to install synaptics drivers on windows 8/8.1</title><content type='html'>A while ago Synaptics started to ship drivers which are not digitally signed, which means that they cannot be installed on Windows 8/8.1 (and maybe 7 too).&lt;br /&gt;
And to add insult to injury, some laptop manufacturers (Hi Dell!) provide their own Synaptics drivers, with some trimmed down features, such as no 3 and 4 finger gestures (Hi again Dell!).&lt;br /&gt;
&lt;br /&gt;
After spending quite a bit of time trying to figure out how to install the drivers, I found the answer in on of &lt;a href=&quot;http://answers.microsoft.com/en-us/windows/forum/windows8_1-hardware/unable-to-install-synaptics-driver-on-windows-81/cbfafe25-ceaf-43e6-9149-d39c25a7bcfb&quot;&gt;Microsoft forums&lt;/a&gt;. Check Jesperten answer, which I reproduce below. I had to do both parts, as the driver was not loaded after installing it.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div class=&quot;msgBody wrapWord fullMessage&quot;&gt;
Here is a trick on how to install Synaptics Touchpad Driver v17.0.19 on Windows 8.1&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;    &amp;gt; WIN + I
    &amp;gt; Change PC Settings
    &amp;gt; Update and Recovery
    &amp;gt; Recovery
    &amp;gt; Under &#39;Advanced startup&#39; click &#39;Restart Now&#39;. Make sure to save your work first.
    &amp;gt; Select &#39;Troubleshoot&#39;
    &amp;gt; Advanced Options
    &amp;gt; Startup Settings and click Restart
    &amp;gt; When it boots up, press 7 to Disable driver signature enforcement
    &amp;gt; Install Synaptics as you would normally do.
    &amp;gt; Restart&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;code&gt;
&lt;/code&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div class=&quot;msgBody wrapWord fullMessage&quot;&gt;
If the driver is not working properly and if the Synaptics 
settings does not appear under Mouse properties after completing the 
preceding steps, try the following:&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;    &amp;gt; Open device manager
    &amp;gt; Find the touchpad device (“PS/2 Compatible Mouse”)
    &amp;gt; Right click on the device and click “Update Driver Software”
    &amp;gt; Select “Browse my computer for driver software”
    &amp;gt; Select “Let me pick from a list of device drivers on my computer”
    &amp;gt; Uncheck the option “Show compatible hardware”
    &amp;gt; Under “Manufacturer”, scroll down to “Synaptics”
    &amp;gt; Under “Model”, the 17.0.19 driver should appear.
    &amp;gt; Select the driver and click next.
    &amp;gt; Click “Yes” to the “Update Driver Warning” pop-up.
    &amp;gt; Restart&lt;/code&gt; &lt;/pre&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div class=&quot;msgBody wrapWord fullMessage&quot;&gt;
Now, the Synaptics settings should appear under Mouse properties, 
from where it should be possible to change all the desired modifications
 to the touchpad like disabling Edge Swipe and invert two finger scroll 
directions.&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div class=&quot;msgBody wrapWord fullMessage&quot;&gt;
This worked for me at least. I hope that others might find this trick helpful.&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks a lot Jesperten!! &lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div class=&quot;msgBody wrapWord fullMessage&quot;&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/2717939466044337199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2014/12/how-to-install-synaptics-drivers-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/2717939466044337199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/2717939466044337199'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2014/12/how-to-install-synaptics-drivers-on.html' title='How to install synaptics drivers on windows 8/8.1'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-1634659907241484509</id><published>2014-12-13T14:51:00.001+00:00</published><updated>2014-12-14T12:50:06.742+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="usability"/><title type='text'>Remapping application and pause/break keys</title><content type='html'>I recently started using a laptop (Dell XPS 15) which doesn&#39;t have an &lt;a href=&quot;https://en.wikipedia.org/wiki/Menu_key&quot;&gt;menu / application&lt;/a&gt; key or a pause/break key. I use those two keys quite often: the application key because I&#39;m too lazy to move my hand to perform a &quot;right click&quot; with a touchpad or mouse and the pause/break key for RDP sessions, to enter or exit full screen (I&#39;m a shortcut junkie).&lt;br /&gt;
&lt;br /&gt;
Using the amazing tool &lt;a href=&quot;http://sharpkeys.codeplex.com/&quot;&gt;SharpKeys 3.5&lt;/a&gt;, I remapped&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Right Alt Gr (code E0_38)=&amp;gt; Menu / Application key (code E0_5D)&lt;/li&gt;
&lt;li&gt;Print screen (code E0_37) =&amp;gt; Break (code E0_46)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNwKJJn-4pfsTQLqgdzCDpbe0V9rsV54eZpjtOI4afboH_4YA56a9SG8CYW9FOhpeGO-udVnPfzW6TiR670Vz1HRspjPnXNUgR0PyI5B2_lIG9q5_4FfSD3bQ29tPec8w51Xn7svFjrBLU/s1600/SharpKeys.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNwKJJn-4pfsTQLqgdzCDpbe0V9rsV54eZpjtOI4afboH_4YA56a9SG8CYW9FOhpeGO-udVnPfzW6TiR670Vz1HRspjPnXNUgR0PyI5B2_lIG9q5_4FfSD3bQ29tPec8w51Xn7svFjrBLU/s1600/SharpKeys.PNG&quot; height=&quot;81&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
I wish the &lt;i&gt;Function&lt;/i&gt; key on laptops would work as alt/ctrl and could be used to remap key.</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/1634659907241484509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2014/12/remapping-application-and-pausebreak.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/1634659907241484509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/1634659907241484509'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2014/12/remapping-application-and-pausebreak.html' title='Remapping application and pause/break keys'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNwKJJn-4pfsTQLqgdzCDpbe0V9rsV54eZpjtOI4afboH_4YA56a9SG8CYW9FOhpeGO-udVnPfzW6TiR670Vz1HRspjPnXNUgR0PyI5B2_lIG9q5_4FfSD3bQ29tPec8w51Xn7svFjrBLU/s72-c/SharpKeys.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-8500076221847781144</id><published>2014-12-11T21:12:00.000+00:00</published><updated>2014-12-14T12:50:40.594+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Enable core parking to safe precious battery life</title><content type='html'>This will allow windows to park cores dynamically, which (hopefully) translates into precious mWh saved.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Open regedit&lt;/li&gt;
&lt;li&gt;Search for the data &#39;unparked cores&#39; (or just find the key below)&lt;/li&gt;
&lt;li&gt;Keep searching until you get to the following key (in CurrentControlSet).&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Find the value &quot;Attributes&quot; and rename it to &quot;Attributes.off&quot; (this doesn&#39;t actually do anything apart from preventing windows from finding the real key... and it gives you a rollback path).&lt;/li&gt;
&lt;li&gt;Now search for the term &#39;unparked cores&#39; and you should end up on the following key&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\ea062031-0e34-4ff1-9b6d-eb1059334028&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Again, find the value &quot;Attributes&quot; and rename it to &quot;Attributes.off&quot;&lt;/li&gt;
&lt;li&gt;Reboot&lt;/li&gt;
&lt;/ul&gt;
The key allows to change the minimum number of parked cores, while the second one allows to set the maximum number of parked cores. &lt;br /&gt;
Now you can go to Control Panel -&amp;gt; Power Options and edit the power profile. You&#39;ll find two new entries under &lt;b&gt;Processor power management&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIa7SGiJaFH8CHHuYguB-kDnHhfh8oyave4gWwszW1NS5NuVH3bT_FQs27RovQnQfnd3hDkWv_HnypxwRy5iqS7kCfR81FYZC33k59AGpCdKGN2QprQGg4K0zlhWKqAzR24XZvP1plaS9f/s1600/core+parking.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIa7SGiJaFH8CHHuYguB-kDnHhfh8oyave4gWwszW1NS5NuVH3bT_FQs27RovQnQfnd3hDkWv_HnypxwRy5iqS7kCfR81FYZC33k59AGpCdKGN2QprQGg4K0zlhWKqAzR24XZvP1plaS9f/s1600/core+parking.PNG&quot; height=&quot;189&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/8500076221847781144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2014/12/enable-core-parking-to-safe-precious.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/8500076221847781144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/8500076221847781144'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2014/12/enable-core-parking-to-safe-precious.html' title='Enable core parking to safe precious battery life'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIa7SGiJaFH8CHHuYguB-kDnHhfh8oyave4gWwszW1NS5NuVH3bT_FQs27RovQnQfnd3hDkWv_HnypxwRy5iqS7kCfR81FYZC33k59AGpCdKGN2QprQGg4K0zlhWKqAzR24XZvP1plaS9f/s72-c/core+parking.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-67701674462583699</id><published>2014-07-05T09:42:00.000+01:00</published><updated>2014-12-14T12:50:21.999+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="synaptics"/><title type='text'>Synaptics trackpad configuration and the dreaded &quot;Windows Shell Common Dll has stopped working&quot;</title><content type='html'>Recently, I&#39;ve been repurposing my wife old laptop (a dell 1520 from 2007) after I was surprised how much faster it bacame after installing an SSD.&lt;br /&gt;
One of the things that I wanted to configure was the synaptics touchpad to have finger gestures (specially the 3 finger back and forward for the browser). After finding a &lt;a href=&quot;http://superuser.com/questions/690671/synaptics-windows-8-1-updating-synaptics-failed&quot;&gt;suitable driver&lt;/a&gt; (as the lastest Synaptics drivers don&#39;t work on windows 8.1), I had to manually update the driver to the Synaptics one, because windows would keep setting it as a generic touchpad.&lt;br /&gt;
&lt;br /&gt;
So finally, I had the driver installed, and I was ready to configure it... but when I tried to access the configuration screen I got the helpful message &quot;Windows Shell Common Dll has stopped working&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ8KsoTQdQ3cC0KyJqDdT4cHQQimLSbM4-3KvkjAzbzYQwrfEvMkwZOC59E8AQT80CuijgaUYajN-q3VfOfRNNE_xiFKyeSVvbVd9iE6G0htvIGm97pCreEkXcUC7rHxodrrsjbVrgBOsT/s1600/synaptics+settings.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ8KsoTQdQ3cC0KyJqDdT4cHQQimLSbM4-3KvkjAzbzYQwrfEvMkwZOC59E8AQT80CuijgaUYajN-q3VfOfRNNE_xiFKyeSVvbVd9iE6G0htvIGm97pCreEkXcUC7rHxodrrsjbVrgBOsT/s1600/synaptics+settings.png&quot; height=&quot;319&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Mouse properties&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimmlFHaHjqQJvgaqbR45Z0g6s4k8AgE7tXR54YKD-mWhtnM736CrXdQM-ZFPhqaPjRWEkr4Txi9FR1u_Pb33YY_Irm9bNb80_2nuAQeHUaZpVRwNcQh5x88ZrhJ-cZKxFGjNQ7PIahcU46/s1600/error.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimmlFHaHjqQJvgaqbR45Z0g6s4k8AgE7tXR54YKD-mWhtnM736CrXdQM-ZFPhqaPjRWEkr4Txi9FR1u_Pb33YY_Irm9bNb80_2nuAQeHUaZpVRwNcQh5x88ZrhJ-cZKxFGjNQ7PIahcU46/s1600/error.png&quot; height=&quot;180&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Windows Shell Common Dll has stopped working&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
After searching for about 1 hour, I found a few posts from people who got the same error when they tried to play a video... and the Synaptics tool does try to play a video to demonstrate each feature... a smoking gun.&lt;br /&gt;
&lt;br /&gt;
Since my hacking skills are non-existent, I decided to take the low cost approach of removing all the wmv files from the folder where the driver was installed (&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;c:\Program Files\Synaptics\SynTP\&lt;/span&gt; in my case). After that I was able to access the configuration window.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE7SYuMcFauAyNUtAC2226zY_FfgocMNNJksl8fsqFeutBSLPLWu0Y2P3h7KZj7zegFG6NnXO6l8dMbM6Gb5Ba6-fwWXb__RVfxSpxL_yVW_FHuu2I_vvwtapApRp94Oc4WjdzEkIoQJJ3/s1600/configuration_window.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE7SYuMcFauAyNUtAC2226zY_FfgocMNNJksl8fsqFeutBSLPLWu0Y2P3h7KZj7zegFG6NnXO6l8dMbM6Gb5Ba6-fwWXb__RVfxSpxL_yVW_FHuu2I_vvwtapApRp94Oc4WjdzEkIoQJJ3/s1600/configuration_window.png&quot; height=&quot;238&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Synaptics configuration window&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
It&#39;s a pitty that Synaptics doesn&#39;t have an option to configure right clicks in the same way as MacBooks (one finger pressed + one tap). It does have a right click with a 2 tap, but I think the other gesture is easier to use.</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/67701674462583699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2014/07/synaptics-trackpad-configuration-and.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/67701674462583699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/67701674462583699'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2014/07/synaptics-trackpad-configuration-and.html' title='Synaptics trackpad configuration and the dreaded &quot;Windows Shell Common Dll has stopped working&quot;'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ8KsoTQdQ3cC0KyJqDdT4cHQQimLSbM4-3KvkjAzbzYQwrfEvMkwZOC59E8AQT80CuijgaUYajN-q3VfOfRNNE_xiFKyeSVvbVd9iE6G0htvIGm97pCreEkXcUC7rHxodrrsjbVrgBOsT/s72-c/synaptics+settings.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-2739838937806526908</id><published>2013-08-06T15:03:00.001+01:00</published><updated>2013-08-06T15:04:43.422+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cygwin"/><title type='text'>Error updating / installing cygwin</title><content type='html'>Cygwin recently started to provide different binaries for windows 32 and 64 bits (the previous version was 32 bit only). As part of this change, they&#39;ve changed the layout of the update repositories, so if you have an old setup.exe binary, you might get one of the following errors when you select from which mirror to download the packages&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Unable to get setup.ini from &amp;lt;ulr&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihST_27tNVuB0A4ug6cN9UC_XBwrl5DENspwW4syn-DC_norD9Y4cLm8i6oKZeCcF_ixdU8EkYaQz8pLeOpJCEO6gzBrDPm2_ramahHhxyXsOYaHLqztip6oAO7XEaQ_GDQhyaqd_tNl7n/s1600/setup_error_1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihST_27tNVuB0A4ug6cN9UC_XBwrl5DENspwW4syn-DC_norD9Y4cLm8i6oKZeCcF_ixdU8EkYaQz8pLeOpJCEO6gzBrDPm2_ramahHhxyXsOYaHLqztip6oAO7XEaQ_GDQhyaqd_tNl7n/s1600/setup_error_1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;or the more cryptic&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Internal error: gcrypt library error 60 illegal tag.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibpNYHtYvgTgGp1WCKjM1EqtCayzZcQ78WqKf2yQWIuF3tNjJPePSMNMbyzBe06RMWDwVPsxo_be9K8C6iy3jKi2s64rkxI_hqdB9-wNMdU__bDBP9lnMIT1jJTRfIgHBb3d5ksEy1bQk4/s1600/setup_error_2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibpNYHtYvgTgGp1WCKjM1EqtCayzZcQ78WqKf2yQWIuF3tNjJPePSMNMbyzBe06RMWDwVPsxo_be9K8C6iy3jKi2s64rkxI_hqdB9-wNMdU__bDBP9lnMIT1jJTRfIgHBb3d5ksEy1bQk4/s1600/setup_error_2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
The way to fix this is simple, just download one of the new flavours of setup_&amp;lt;arch&amp;gt;.exe from &lt;a href=&quot;http://www.cygwin.com/install.html&quot;&gt;cygwin&lt;/a&gt;. If you download the 64 bit version I suggested you to install it in a different location or delete your previous version, but do not override a 32 bit version with a 64 bit version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/2739838937806526908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2013/08/error-updating-installing-cygwin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/2739838937806526908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/2739838937806526908'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2013/08/error-updating-installing-cygwin.html' title='Error updating / installing cygwin'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihST_27tNVuB0A4ug6cN9UC_XBwrl5DENspwW4syn-DC_norD9Y4cLm8i6oKZeCcF_ixdU8EkYaQz8pLeOpJCEO6gzBrDPm2_ramahHhxyXsOYaHLqztip6oAO7XEaQ_GDQhyaqd_tNl7n/s72-c/setup_error_1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-4404046935280109773</id><published>2012-11-01T22:11:00.002+00:00</published><updated>2014-12-14T12:50:58.436+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Windows 7 internal shutdown command</title><content type='html'>It looks like Windows 7 now has its own &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;shutdown&lt;/span&gt; command. If you want to shutdown your computer with a timer, you can run:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;shutdown.exe /s /t 3600&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
/s tells the command to do a shutdown (no reboot) and /t is to add a time out. So the command above is equivalent to the linux command&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;shutdown -h 3600&lt;/span&gt;&lt;/blockquote&gt;
If you suddenly don&#39;t want to shutdown (or reboot) your computer, you can abort the command with&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;shutdown.exe /a&lt;/span&gt;&lt;/blockquote&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmbHqkSnvCZ-zaaRWvmq-NGMPzrWLKdag-eLpO1krbc2zJ8ciUoZgWtRZKlZlm-Wi4KCSkKSfwYlr3ouN5zEhQYrVaBcdvWmR306zWOY_TxedN6ocRy9tHwNeZw6GzudC7ttxnGHg-SiTg/s1600/shutdown.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmbHqkSnvCZ-zaaRWvmq-NGMPzrWLKdag-eLpO1krbc2zJ8ciUoZgWtRZKlZlm-Wi4KCSkKSfwYlr3ouN5zEhQYrVaBcdvWmR306zWOY_TxedN6ocRy9tHwNeZw6GzudC7ttxnGHg-SiTg/s320/shutdown.png&quot; height=&quot;97&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/4404046935280109773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/11/windows-7-internal-shutdown-command.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/4404046935280109773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/4404046935280109773'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/11/windows-7-internal-shutdown-command.html' title='Windows 7 internal shutdown command'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmbHqkSnvCZ-zaaRWvmq-NGMPzrWLKdag-eLpO1krbc2zJ8ciUoZgWtRZKlZlm-Wi4KCSkKSfwYlr3ouN5zEhQYrVaBcdvWmR306zWOY_TxedN6ocRy9tHwNeZw6GzudC7ttxnGHg-SiTg/s72-c/shutdown.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-8111476668861572946</id><published>2012-11-01T09:28:00.000+00:00</published><updated>2014-12-13T15:11:46.551+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="centos"/><category scheme="http://www.blogger.com/atom/ns#" term="selinux"/><title type='text'>Centos 6 hangs up at boot - say hi to selinux</title><content type='html'>Last night, I was updating some packages on a few Centos 6.2 VMs that I have in my home server when I found out that some commands hung (such as &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;rpm&lt;/span&gt;), and that I couldn&#39;t open new login shells on any of the VMs.&lt;br /&gt;
&lt;br /&gt;
I tried restarting one, just to see the boot process hang while starting bind/named. I restarted the VM again in &lt;a href=&quot;http://www.centos.org/docs/5/html/5.2/Installation_Guide/s1-rescuemode-booting-single.html&quot;&gt;single user mode&lt;/a&gt;, and disabled that service using chkconfig. Rebooted the VM, and it hung up on dhcpd, and later, after doing the same process, hung up on postfix.&lt;br /&gt;
&lt;br /&gt;
At this point, I noticed a pattern: I obviously had broken a core library. Some of the packages that I had cherry picked for the update, were the standard C++ runtime libraries, and some other core components.&lt;br /&gt;
&lt;br /&gt;
After searching the web for a while and fearing that I would need to reinstall all the VMs (luckily I have a golden VM template and I use puppet, so this wouldn&#39;t have been terrible, just very annoying), I found the release notes for &lt;a href=&quot;http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.3&quot;&gt;Centos 6.3&lt;/a&gt;, which stated&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
If you update CentOS 6.2 to 6.3 with certain packages only, the system 
may hang upon reboot. For example, this happens if you apply only the 
security updates from CentOS 6.3. To fix this issue, boot the system 
with a &quot;enforcing=0&quot; kernel option and update selinux policy to 
3.7.19-155.el6_3 (or later) available in the 6.3 updates repository. &lt;/blockquote&gt;
Phew, I had a solution. I restarted all the VMs with the boot option &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;enforcing=0&lt;/span&gt;, and updated the following two package&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;selinux-policy&lt;/li&gt;
&lt;li&gt;selinux-policy-targeted&lt;/li&gt;
&lt;/ul&gt;
Some of the VMs had an inconsistent rpm database (2 VMs with unfinished transactions and 1 with duplicate packages). I was able to sort this out by running &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;yum-complete-transactions&lt;/span&gt; and cleaning any of the unfinished transactions.&lt;br /&gt;
&lt;br /&gt;
After that, all of the VMs started properly without any issues. Unfortunately, the one that failed to start up is the one that has all the core network services (dns, dhcpd, ntp, etc). And further it failed with the message &lt;i&gt;Kernel panic - not syncing - Attempted to kill init!&lt;/i&gt;. I particularly don&#39;t like KP. But I assumed that it was related to selinux issue.&lt;br /&gt;
&lt;br /&gt;
I rebooted the VM with &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;enforcing=0&lt;/span&gt; and it did boot up, which pointed to an error on the selinux database. I run &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;semodule -B&lt;/span&gt; to rebuild the selinux policy and I got an odd error saying that it couldn&#39;t find some files. The fix was quite simple&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Removed the policy packages with &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;yum remove selinux-policy selinuc-policy-targeted&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Reinstalled the packages with &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;yum install selinux-policy selinuc-policy-targeted&lt;/span&gt; &lt;/li&gt;
&lt;li&gt;And to be sure I run &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;semodule -B&lt;/span&gt; again&lt;/li&gt;
&lt;/ul&gt;
This time I didn&#39;t get any errors and the VM restarted without a KP. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So last night I&#39;ve learned:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Don&#39;t do any patching/upgrading half an hour before your target time to go to sleep.&lt;/li&gt;
&lt;li&gt;Respect selinux&lt;/li&gt;
&lt;li&gt;Always upgrade first selinux policy files, before upgrading any other OS library package&lt;/li&gt;
&lt;li&gt;Do a snapshot of the VMs before any big patching (schoolboy error)&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/8111476668861572946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/11/centos-6-hangs-up-at-boot-say-hi-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/8111476668861572946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/8111476668861572946'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/11/centos-6-hangs-up-at-boot-say-hi-to.html' title='Centos 6 hangs up at boot - say hi to selinux'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-4433740611193070244</id><published>2012-09-30T12:44:00.006+01:00</published><updated>2012-11-01T09:29:33.340+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cygwin"/><title type='text'>Cygwin: How to paste with a right click</title><content type='html'>For the last few weeks, I&#39;ve been scratching my head because I could paste content into cygwin with a right click on my work computer, but I couldn&#39;t do it at home. And more annoyingly, I couldn&#39;t figure it out until a few minutes ago.&lt;br /&gt;
&lt;br /&gt;
To enable paste with a right mouse click, follow these steps (written for dummies like me)&lt;br /&gt;
&lt;br /&gt;
1) Open the cygwin options (aka preferences or settings)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrF-61CtnyYjQY5_QUf0TDFr54Ht6Jgge-ryIuSgseI66BQ24gLvwN7kV4l7H3J8o7JmgPyPXc8W1ZPF0uyNuekv9J4nYvsOpa8WaNMiKnkQqPN7uj8Tg22SRgBTc5pUqGpoRr6_xXg0EZ/s1600/Cygwin_open_preferences_2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrF-61CtnyYjQY5_QUf0TDFr54Ht6Jgge-ryIuSgseI66BQ24gLvwN7kV4l7H3J8o7JmgPyPXc8W1ZPF0uyNuekv9J4nYvsOpa8WaNMiKnkQqPN7uj8Tg22SRgBTc5pUqGpoRr6_xXg0EZ/s1600/Cygwin_open_preferences_2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Select &lt;b&gt;mouse&lt;/b&gt; in the left menu, and select &lt;b&gt;Paste &lt;/b&gt;under &lt;b&gt;Right click action&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkvHwmoiBQNr17bp5ppNBaEuf-WvtB9IQjg5dT6hP1zBF6PLCvepRwGUNptN-JZ8EoLiFO2qMc8wvVi1DR8_5jT-MYPCwQlFczx1on5c3rHTZRxggXHBP52fMBm4-b2saLInkz7DNx8xzy/s1600/Cygwin_options.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;228&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkvHwmoiBQNr17bp5ppNBaEuf-WvtB9IQjg5dT6hP1zBF6PLCvepRwGUNptN-JZ8EoLiFO2qMc8wvVi1DR8_5jT-MYPCwQlFczx1on5c3rHTZRxggXHBP52fMBm4-b2saLInkz7DNx8xzy/s320/Cygwin_options.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And since the last few versions of cygwin supports windows resize, it has the same good features as putty :).</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/4433740611193070244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/09/cygwin-how-to-paste-with-right-click.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/4433740611193070244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/4433740611193070244'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/09/cygwin-how-to-paste-with-right-click.html' title='Cygwin: How to paste with a right click'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrF-61CtnyYjQY5_QUf0TDFr54Ht6Jgge-ryIuSgseI66BQ24gLvwN7kV4l7H3J8o7JmgPyPXc8W1ZPF0uyNuekv9J4nYvsOpa8WaNMiKnkQqPN7uj8Tg22SRgBTc5pUqGpoRr6_xXg0EZ/s72-c/Cygwin_open_preferences_2.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-5203149550835312482</id><published>2012-09-09T20:54:00.000+01:00</published><updated>2012-11-01T09:29:23.469+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cygwin"/><title type='text'>Git error about missing ca-bundle.crt on Cygwin</title><content type='html'>If you get the following error:
&lt;br /&gt;
&lt;pre&gt;$ git push -u origin master
error: error setting certificate verify locations:
  CAfile: /usr/ssl/certs/ca-bundle.crt
   [...]
&lt;/pre&gt;
when pushing, cloning, or any other operation that requires https access, the problem is that cygwin hasn&#39;t installed the ca-certificates package. Run the cygwin installer again, and add that package; after that git should start working.</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/5203149550835312482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/09/git-error-about-missing-certificates-on.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/5203149550835312482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/5203149550835312482'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/09/git-error-about-missing-certificates-on.html' title='Git error about missing ca-bundle.crt on Cygwin'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-7709255595194074803</id><published>2012-02-05T23:02:00.002+00:00</published><updated>2012-02-22T22:06:05.379+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="centos"/><category scheme="http://www.blogger.com/atom/ns#" term="nagios"/><category scheme="http://www.blogger.com/atom/ns#" term="selinux"/><title type='text'>SELinux policy to run check_yum with sudo</title><content type='html'>A small update on the previous post. If you want to run check_yum with sudo you&#39;ll need to use the following policy file:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;#-- Start nagios_plugin_checkum.te&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;module nagios_plugin_checkyum 1.0.4;&lt;/div&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;require {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type usr_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type boot_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type admin_home_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type rpm_var_lib_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type tmp_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type rpm_var_cache_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type nrpe_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type sudo_exec_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type http_port_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type rpm_exec_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class capability { sys_nice audit_write };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class tcp_socket name_connect;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class file { rename execute setattr read lock create ioctl execute_no_trans write getattr unlink open };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class netlink_audit_socket { write nlmsg_relay create read };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class lnk_file read;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class dir { search read write getattr remove_name open add_name };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;#============= nrpe_t ==============&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t admin_home_t:dir search;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t boot_t:dir { read getattr open };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t http_port_t:tcp_socket name_connect;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_exec_t:file { execute getattr read open ioctl execute_no_trans };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_cache_t:dir { search getattr };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_cache_t:dir { write read open add_name remove_name };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_cache_t:file { rename create unlink setattr };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_cache_t:file { write read getattr open lock };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_lib_t:dir add_name;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_lib_t:dir write;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_lib_t:dir { getattr search };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_lib_t:file create;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_lib_t:file write;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_lib_t:file { read lock getattr open };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t self:capability { sys_nice audit_write };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t self:netlink_audit_socket { write nlmsg_relay create read };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t sudo_exec_t:file { read execute open execute_no_trans };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t tmp_t:dir { read write add_name remove_name };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t tmp_t:file { rename setattr read lock create write getattr unlink open };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t usr_t:file { read getattr open };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t usr_t:lnk_file read;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;#-- End nagios_plugin_checkum.te&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
And you&#39;ll need to add something like the following to your /etc/sudoers file&lt;br /&gt;
&lt;pre class=&quot;bash&quot; style=&quot;font-family: monospace;&quot;&gt;nagios  ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/check_yum&lt;/pre&gt;&lt;pre class=&quot;bash&quot; style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp;&lt;/pre&gt;And you need to &lt;b&gt;comment &lt;/b&gt;out the following line in the sudores file, otherwise nrpe won&#39;t be able to parse the return&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;#Defaults&amp;nbsp;&amp;nbsp;&amp;nbsp; requiretty&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;References&lt;/div&gt;&lt;ol&gt;&lt;li&gt; &lt;a href=&quot;http://blog.gnucom.cc/2009/configuring-nagios-to-run-privileged-or-root-commands-with-nrpe/&quot;&gt;http://blog.gnucom.cc/2009/configuring-nagios-to-run-privileged-or-root-commands-with-nrpe/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/7709255595194074803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/02/selinux-policy-to-run-checkyum-with.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/7709255595194074803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/7709255595194074803'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/02/selinux-policy-to-run-checkyum-with.html' title='SELinux policy to run check_yum with sudo'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-8883283007812527409</id><published>2012-02-05T21:18:00.003+00:00</published><updated>2012-03-11T10:36:07.112+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="centos"/><category scheme="http://www.blogger.com/atom/ns#" term="nagios"/><category scheme="http://www.blogger.com/atom/ns#" term="selinux"/><title type='text'>SELinux policy to run check_yum</title><content type='html'>The EPEL repo has lots of good (and SELinux friendy) plugins to run on remote hosts with NRPE. One that is missing is &lt;a href=&quot;http://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Linux/Check_Yum/details&quot;&gt;check_yum&lt;/a&gt;, which checks that the OS has the latest security patches.&lt;br /&gt;
To make that plugin work on CentOS 6, download the script from Nagios Exchange and apply a small change that is described in this &lt;a href=&quot;http://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Linux/Check_Yum/details#rev-246&quot;&gt;comment&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
When we try to run this script though nrpe in a SELinux enabled service, it will explode in a million colour pieces, as it tries to access some restricted resources. Here&#39;s the output when we try to run it.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;[root@host plugins]# ./check_nrpe -H nrpehost.com -c check_yum&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;UNKNOWN: /usr/bin/yum cannot be found&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
To make it work, we need to create a selinux policy that will allow nrpe run yum.&lt;br /&gt;
&lt;br /&gt;
Copy the following in a file called ~/nagios-plugin-checkyum.te&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;#-- Start ~/nagios-plugin-checkyum.te --&lt;br /&gt;
module nagios_plugin_checkyum 1.0.3;&lt;br /&gt;
&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;require {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type tmp_t;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type usr_t;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type boot_t;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type http_port_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type nrpe_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type rpm_exec_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type rpm_var_lib_t;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class tcp_socket name_connect;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class lnk_file read;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class dir { search read write getattr remove_name open add_name };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class file { rename execute setattr read lock create ioctl execute_no_trans write getattr unlink open };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;#============= nrpe_t ==============&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t boot_t:dir { read getattr open };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t http_port_t:tcp_socket name_connect;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_exec_t:file { execute getattr read open ioctl execute_no_trans };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_lib_t:dir add_name; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_lib_t:dir { getattr search };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_lib_t:file create; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t rpm_var_lib_t:file { read lock getattr open };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t tmp_t:dir { read write add_name remove_name };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t tmp_t:file { rename setattr read lock create write getattr unlink open };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t usr_t:file { read getattr open };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;allow nrpe_t usr_t:lnk_file read;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;#-- End of ~/nagios-plugin-checkyum.te --&lt;/div&gt;&lt;br /&gt;
Some of the attributes make sense, for example, to allow nrpe to access an http port and run rpm. Since I&#39;m not a SELinux expert I&#39;m not sure it all the other permissions are ok, but at least, we&#39;re assigning this permissions only to the type nrpe_t, which shouldn&#39;t open a big hole in SELinux.&lt;br /&gt;
&lt;br /&gt;
Now we need to build the policy as selinux requires binary package. To do so, run the following command on the same directory where you stored the previous file. &lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;make -f /usr/share/selinux/devel/Makefile&lt;/div&gt;&lt;br /&gt;
This will create a few files, but the one we&#39;re interested in is nagios-plugin-checkyum.pp, which is the selinux module. To install it run&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;semodule -i nagios_plugin_checkyum.pp&lt;/div&gt;&lt;br /&gt;
After doing this, when we run the check, we get a response.&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;[root@host plugins]# ./check_nrpe -H nrpehost.com -c check_yum&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;YUM OK: 0 Security Updates Available. 5 Non-Security Updates Available&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
It is tricky to get the right policy for this plugin, as some of the selinux warnings when running in permissive mode marked with noaudit, so we need to disable no audit with &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;semodule -DB&lt;/span&gt;, capture all the warnings, and then enable noaudit again with &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;semodule -B&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
Please share your experience whether this has worked for you.</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/8883283007812527409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/02/selinux-policy-to-run-checkyum.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/8883283007812527409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/8883283007812527409'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/02/selinux-policy-to-run-checkyum.html' title='SELinux policy to run check_yum'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-1588540235932292846</id><published>2012-02-04T15:42:00.001+00:00</published><updated>2012-02-04T15:42:48.213+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="centos"/><category scheme="http://www.blogger.com/atom/ns#" term="yum"/><title type='text'>Yum update - Metadata file does not match checksum</title><content type='html'>Today I was testing some nagios plugins to report missing security updates on Centos 6, and I started to get an error on one of the boxes when I tried to run &quot;yum check-update&quot;. It looks like yum somehow got the wrong checksum from epel (maybe they were just updating the packages?).&lt;br /&gt;
&lt;br /&gt;
This is the error I saw from yum, &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Limiting package lists to security relevant ones&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;epel/updateinfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | 308 kB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:01&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;http://mirror.bytemark.co.uk/fedora/epel/6/x86_64/repodata/updateinfo.xml.gz: [Errno -1] Metadata file does not match checksum&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Trying other mirror.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;epel/updateinfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | 308 kB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:01&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;http://ftp.ntua.gr/pub/linux/fedora-epel/6/x86_64/repodata/updateinfo.xml.gz: [Errno -1] Metadata file does not match checksum&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;[...]&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Trying to run the command resulted in the same error, so I had to clear all the metadata with the following command:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;yum clean metadata dbcache expire-cache&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
After running that command yum was happy again.</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/1588540235932292846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/02/yum-update-metadata-file-does-not-match.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/1588540235932292846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/1588540235932292846'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/02/yum-update-metadata-file-does-not-match.html' title='Yum update - Metadata file does not match checksum'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-9201892554012022216</id><published>2012-02-01T20:22:00.000+00:00</published><updated>2012-02-01T20:22:01.243+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="putty"/><title type='text'>Changing putty default configuration</title><content type='html'>Today I found out a simple way to change the default values in putty that doesn&#39;t involve fiddling with the registry.&lt;br /&gt;
&lt;br /&gt;
To change the defaults:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Open putty and change any parameter you want as the new default.&lt;/li&gt;
&lt;li&gt;Go back to Session on the Category list.&lt;/li&gt;
&lt;li&gt;Enter&amp;nbsp;&lt;b&gt;Default Settings &lt;/b&gt;in Saved Sessions.&lt;b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Click save.&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCuyHNfzoMo7lxMvNxbHFjJxPNrk5cVD59UyV_sJWEKzcTs2OEKE7acKMFzRRDAMHjCMS-us15yePHHqOOnjlu1bvwchBoON0ZxYamD27DKHyEh7wZc7wM2BSKFSk71HvyRpYn0cawx6eT/s1600/putty.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCuyHNfzoMo7lxMvNxbHFjJxPNrk5cVD59UyV_sJWEKzcTs2OEKE7acKMFzRRDAMHjCMS-us15yePHHqOOnjlu1bvwchBoON0ZxYamD27DKHyEh7wZc7wM2BSKFSk71HvyRpYn0cawx6eT/s1600/putty.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCuyHNfzoMo7lxMvNxbHFjJxPNrk5cVD59UyV_sJWEKzcTs2OEKE7acKMFzRRDAMHjCMS-us15yePHHqOOnjlu1bvwchBoON0ZxYamD27DKHyEh7wZc7wM2BSKFSk71HvyRpYn0cawx6eT/s1600/putty.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy!</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/9201892554012022216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/02/changing-putty-default-configuration.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/9201892554012022216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/9201892554012022216'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/02/changing-putty-default-configuration.html' title='Changing putty default configuration'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCuyHNfzoMo7lxMvNxbHFjJxPNrk5cVD59UyV_sJWEKzcTs2OEKE7acKMFzRRDAMHjCMS-us15yePHHqOOnjlu1bvwchBoON0ZxYamD27DKHyEh7wZc7wM2BSKFSk71HvyRpYn0cawx6eT/s72-c/putty.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-6734689618302821438</id><published>2012-01-23T17:51:00.003+00:00</published><updated>2012-02-01T20:24:25.230+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="centos"/><title type='text'>Centos 6.2 graphical installation adds a few extra packages</title><content type='html'>Today I discovered that the minimal installation of Centos 6.2 installs a few extra packages if it&#39;s done in graphical mode. The graphical installation adds the package &lt;a href=&quot;http://matahariproject.org/&quot;&gt;matahari&lt;/a&gt;, which also adds another 32 dependencies.&lt;br /&gt;
&lt;br /&gt;
If you want to delete all these packages and services, run the following command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;yum erase matahari-lib matahari-agent-lib matahari-broker matahari-host matahari-service matahari-sysconfig matahari-network matahari qpid-cpp-client qpid-cpp-client-ssl qpid-cpp-server-ssl qpid-cpp-server sigar polkit dbus qpid-qmf boost ConsoleKit eggdbus boost-filesystem boost-program-options boost-graph boost-date-time boost-serialization boost-test boost-thread boost-regex boost-wave&amp;nbsp; boost-signals boost-iostreams boost-python ConsoleKit-libs libicu&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Remember that this only applies to Centos 6.2.</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/6734689618302821438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/01/centos-62-minimal-install-is-different.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/6734689618302821438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/6734689618302821438'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/01/centos-62-minimal-install-is-different.html' title='Centos 6.2 graphical installation adds a few extra packages'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-1588661655542340621</id><published>2012-01-23T11:36:00.001+00:00</published><updated>2012-01-23T11:38:02.823+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="vmware"/><title type='text'>VMWare vCenter minimum permissions to deploy a VM</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;These are the minimum permissions that a user / group needs in order to&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Deploy a VM from a template using VMWare vCenter 5.&lt;/li&gt;
&lt;li&gt;Interact with the VM, without being able to change its configuration. &lt;/li&gt;
&lt;li&gt;Delete those VMs.&lt;/li&gt;
&lt;/ul&gt;To do this, we need to create 3 different roles in vSphere. One to allow the user see the folder with the templates and VMs, another to allow it to deploy and delete VMs on that Host and last a role to allow the user interact with the VM.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;1.&lt;/span&gt;&lt;/b&gt; First create a user or group that requires these permissions in windows (vCenter uses the local windows or AD users).&lt;br /&gt;
&lt;b&gt;2.&lt;/b&gt; Then login to vCenter as an administrator. &lt;br /&gt;
&lt;b&gt;3.&lt;/b&gt; From the top navigation bar, go to &lt;b&gt;Home &lt;/b&gt;-&amp;gt; &lt;b&gt;Roles&lt;/b&gt;.&lt;br /&gt;
&lt;b&gt;4.&lt;/b&gt; Right click on the &lt;b&gt;Roles&lt;/b&gt; column and click on Add..&lt;br /&gt;
&lt;b&gt;5.&lt;/b&gt; Create another role called &lt;i&gt;Browse Datastore&lt;/i&gt; and set the following Privileges&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Datastore&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Allocate Space&lt;/li&gt;
&lt;li&gt;Browse Datastore&lt;/li&gt;
&lt;li&gt;Remove File&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;b&gt;6.&lt;/b&gt; Create a role called &lt;i&gt;Deploy&lt;/i&gt; and set the following Privileges&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Host&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Local operations&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Create virtual machine&lt;/li&gt;
&lt;li&gt;Delete virtual machine&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Resource&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Assign virtual machine to resource pool&lt;/li&gt;
&lt;li&gt;modify resource pool&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;b&gt;7.&lt;/b&gt; Give the role a name, in this case we&#39;ll call it &lt;i&gt;VMUser&lt;/i&gt; and set the following Privileges&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Global&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Cancel Task &lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Host&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Local operation&lt;/li&gt;
&lt;ul&gt;&lt;li&gt; Create virtual machine&lt;/li&gt;
&lt;li&gt;Delete virtual machine&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Scheduled Task (check all)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Virtual Machine&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Iteraction&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Answer question&lt;/li&gt;
&lt;li&gt;Configure CD media&lt;/li&gt;
&lt;li&gt;Configure floppy media&lt;/li&gt;
&lt;li&gt;Console interaction&lt;/li&gt;
&lt;li&gt;Device connection&lt;/li&gt;
&lt;li&gt;Power off&lt;/li&gt;
&lt;li&gt;Power on&lt;/li&gt;
&lt;li&gt;Reset&lt;/li&gt;
&lt;li&gt;Suspend&lt;/li&gt;
&lt;li&gt;VMWare tools install&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Inventory&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Create from existing&lt;/li&gt;
&lt;li&gt;Remove&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Provisioning&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Deploy template &lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;State (check all)&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;b&gt;8&lt;/b&gt;. To allow the user / group to connect to vSphere and see the VMs, go to &lt;b&gt;Home &amp;gt; Inventory &amp;gt; Datastores ...&lt;/b&gt; and select the datastore where the VMs will be stored.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;9.&lt;/b&gt; On the Permissions tab, right click and select &lt;b&gt;Add Permission ...&lt;/b&gt;. Add the user / group and select the role &lt;i&gt;Browse Datastore&lt;/i&gt; from the dropdown. Then, click ok.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;10.&lt;/b&gt; To allow the users deploy VMs, go to &lt;b&gt;Home &amp;gt; Inventory &amp;gt; Hosts and Clusters&lt;/b&gt; and select the host or cluster where the user will be allowed to deploy vms.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;11. &lt;/b&gt;On the Permissions tab, right click and select &lt;b&gt;Add Permission ...&lt;/b&gt;. Add the user / group and select the role &lt;i&gt;Deploy&lt;/i&gt; from the dropdown. Then, click ok.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;12.&lt;/b&gt; To allow users interact with the VMs, go to &lt;b&gt;Home &amp;gt; Inventory &amp;gt; VMs and Templates&lt;/b&gt; and select a folder that contains the templates the user / group wants to deploy.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;13.&lt;/b&gt; On the Permissions tab, right click and select &lt;b&gt;Add Permission ...&lt;/b&gt;. Add the user / group and select the role &lt;i&gt;VMUser&lt;/i&gt; from the dropdown. Then, click ok.&lt;br /&gt;
&lt;br /&gt;
Try this configuration by opening a new vSphere Vlient and login in as the new user. vSphere client should only show the VMs and templates in the folder that was selected on step 12 and allow a minimal number of operations on both VMs and templates. &lt;br /&gt;
&lt;br /&gt;
To further secure this, it is good to allow the users to deploy VMs only to a resource pool that is memory and CPU constrained.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/1588661655542340621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/01/vmware-vcenter-minimum-permissions-to.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/1588661655542340621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/1588661655542340621'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/01/vmware-vcenter-minimum-permissions-to.html' title='VMWare vCenter minimum permissions to deploy a VM'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208194144919718753.post-7751693631061221238</id><published>2012-01-11T15:17:00.000+00:00</published><updated>2012-01-11T15:17:23.389+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gtd"/><title type='text'>The power of the personal wiki</title><content type='html'>In the last few days, I&#39;ve been implementing a bit of the &lt;a href=&quot;http://www.bookdepository.co.uk/Getting-Things-Done-David-Allen/9780670899241&quot;&gt;Getting Things Done&lt;/a&gt; process (or workflow) in order to be a bit more in control of everything that is going on in my life.&lt;br /&gt;
&lt;br /&gt;
One of the things I&#39;ve done is to create a personal wiki to use as a digital reference system and I&#39;ve found that I&#39;m adding so much information that I keep looking on the internet over and over again. The benefit is that I don&#39;t need to rely on google anymore and I can organize the information in whatever way I want.&lt;br /&gt;
&lt;br /&gt;
Why is this important? Many times I&#39;ve spent something between a few hours and a couple of days researching something (eg how to install certain software on the DLink DNS323), just to forget everything about that a few weeks later. This is not really a problem, until a few months later, whatever I did stops working and I need to remember (aka google furiously) what I did in order to revert it or fix it.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s where the personal wiki pays off as lots of the notes, links and sample scripts can be there as a reminder of what we&#39;ve learned.&lt;br /&gt;
&lt;br /&gt;
Of course there are lower tech solutions to this (eg use google docs or plain text files), but I like the wiki approach as it also allows to easily link, relate and search content.</content><link rel='replies' type='application/atom+xml' href='http://codeforthesoul.blogspot.com/feeds/7751693631061221238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codeforthesoul.blogspot.com/2012/01/power-of-personal-wiki.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/7751693631061221238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208194144919718753/posts/default/7751693631061221238'/><link rel='alternate' type='text/html' href='http://codeforthesoul.blogspot.com/2012/01/power-of-personal-wiki.html' title='The power of the personal wiki'/><author><name>Augusto</name><uri>http://www.blogger.com/profile/14566356228471925914</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>