<?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-6009787676265990703</id><updated>2026-06-27T23:46:07.243-07:00</updated><title type='text'>TimeDigit.com</title><subtitle type='html'>Software &amp;amp; Digital Talk</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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>168</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-5839002730558792758</id><published>2015-03-07T16:30:00.004-08:00</published><updated>2015-03-07T20:08:17.997-08:00</updated><title type='text'>API, Web Services, SOAP, REST, etc</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;API -&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;A piece of code that permits App-to-App communication, without low level user interaction.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;In short, APIs permit &#39;seamless&#39; end user experience.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;eg: A ecomm web (site) app communicates with a Credit card web (site) app to complete a transaction without user needing to do anything to facilitate the communication between those two apps (except username/password etc)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;XML -&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;is the standard language by which Applications communicate over the Internet.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;In Web apps, API itself is a piece of code written as a series of XML messages.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;The messages call functions of the remote app.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SDK -&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;is a Superset of API.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SDKs comprise API, supplementary tools, documentation etc.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SDKs are released by Application developer companies.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;The business goal of SDKs is to enhance application adoption by making the job of developers easier.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SOAP -&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;encodes XML messages in APIs so any OS on any network protocol can understand it.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;(simple object access protocol)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;originally developed by microsoft; exclusively XML based. bulky &amp;amp; complex.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;came in response to the needs of the web apps which needed more than the previosly binary based APIs like com,&amp;nbsp;DCOM, ActiveX, corba etc.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;REST -&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/b&gt;REST uses a simple URL instead of XML messages (as in SOAP) to simplify things.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;REST uses 4 http verbs or methods - GET, POST, PUT, DELETE.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;REST based web services can output in csv, Json, RSS etc; sometimes even images may be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;b&gt;E&lt;/b&gt;&lt;/span&gt;&lt;b&gt;g:&lt;/b&gt;&amp;nbsp;Geocoder REST API to GET location info is as simple as typing this in the URL:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;i&gt;http://rpc.geocoder.us/service/csv?address=1600+Pennsylvania+Ave,+Washington+DC&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;and this outputs a Json response.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Advantages/Disadvantages:&lt;/b&gt; SOAP vs REST&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-SOAP advantages:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.REST requires http, SOAP is lang, OS, protocol indep (eg works with http, https, smtp etc)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.standardized&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.built in error-handling&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-REST advantages:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.smaller, simpler&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.not fixed on XML complicacies&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.multiformat output, works better with web technologies like Javascript&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;note:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/b&gt;very few web services (like amazon) support both SOAP and REST. its usually either/or.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;REST services are identified and accessed via an URL.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SOAP is identified and accessed via XML based WSDL (web services description lang).&lt;br /&gt;
&lt;b&gt;note:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;stateless vs stateful:&lt;/b&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;b&gt;.stateless &lt;/b&gt;- any two requests (even if the same request twice) have no knowledge of each other&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-eg http, REST, nfs, ip&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;b&gt;.stateful&lt;/b&gt; - a request is dependent on its predecessor, ie requires knowledge of prev req&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-eg ftp, tcp, database connection&lt;br /&gt;
&lt;b&gt;note:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-&lt;/b&gt;GET method - http request query string is sent as part of the URL; can be cached, bookmarked and less secure&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-POST method- http request query string is sent as part of the request body; cant be cached,bkmkd and is more sec.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-PUT method - http request that replaces a resorce (doc, file, page etc) if present or creates if not present.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-DELETE meth- http request that deletes a specified resorce.&lt;br /&gt;
&lt;b&gt;note: &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-idempotence-&lt;/b&gt; the phenomenon in which result does not change if action is repeated.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-eg:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;i = 4; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;is idempotent (bec i will always be 4, whenever this statement is executed) but&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;i++;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;is not idempotent (value of i will change everytime the statement is executed)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-in context of the four http methods in REST, all (GET, PUT, DELETE) except POST are idempotent.&lt;br /&gt;
&lt;b&gt;note:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-&lt;/b&gt;Resources on the web are identified and located using one of the following mechanisms:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.URI - Uniform Resource Identifier - identifies/locates a resource by either name or by location&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.URN - Uniform Resource Name - identifies a resource by a name&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.URL - Uniform Resource Locator - identifies and locates a resource by name and its access method.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-Both URN and URL are types of URI. But URL is most common.&lt;br /&gt;
&lt;b&gt;Examples:&lt;/b&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.URI - http://www.timedigit.com/index.html#one &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;- Name of a certain element on the page&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.URN - www.timedigit.com/index.html &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;- resource name but WITHOUT access method (http)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.URL - http://www.timedigit.com/index.html&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;- resource name WITH access method (http)&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/5839002730558792758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2015/03/api-web-services-soap-rest-etc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5839002730558792758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5839002730558792758'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2015/03/api-web-services-soap-rest-etc.html' title='API, Web Services, SOAP, REST, etc'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-1357018753361841700</id><published>2014-12-30T20:40:00.002-08:00</published><updated>2014-12-30T20:43:25.817-08:00</updated><title type='text'>Unsupported Version of Google Chrome after Ubuntu update</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Recently ran the &#39;Software Update&#39; utility on my laptop running Ubuntu Linux 14.04 OS and ever since, I have been graced by this (un)friendly sort of error every time I use gmail app on my google chrome browser:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;background-color: #fff1a8; border: 0px; color: #222222; font-family: arial, sans-serif; margin: 0px; padding: 0px; text-align: center; vertical-align: baseline;&quot;&gt;This version of Chrome is no longer supported. Please upgrade to a&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px; color: #1155cc; font-family: arial, sans-serif; margin: 0px 0px 0px 5px; padding: 0px; text-align: center; vertical-align: baseline; white-space: nowrap;&quot;&gt;supported browser&lt;/span&gt;&lt;span style=&quot;background-color: #fff1a8; border: 0px; color: #222222; font-family: arial, sans-serif; margin: 0px; padding: 0px; text-align: center; vertical-align: baseline;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px; color: #1155cc; font-family: arial, sans-serif; margin: 0px 0px 0px 5px; padding: 0px; text-align: center; vertical-align: baseline; white-space: nowrap;&quot;&gt;Dismiss&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This error suggests that the gmail app is not very happy with my browser version (which was v36, the latest version out there being v39). Now If I use &#39;Software Update&#39; utility again, it tries to update a laundry list of all packages in my OS to update totaling upto about 600 Mb; which would be ok if I wasnt short on time. So a better solution for me would be to simply upgrade Chrome only and nothing else. And here is what I tried.&lt;br /&gt;
&lt;br /&gt;
First, I tried to upgrade Google chrome via the browser settings menu but it came back and said its already at the latest! well that wasnt much help.&lt;br /&gt;
So I then, tried my next option of upgrading only Google chrome via the apt-get utility (as shown in the screen shot).&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/AVvXsEjnDhHUNWkC9CW81B75qMVMihRoY6ND_Vc6Tg-LeXUVVworIptjnxHw5maz_1315z_jE-Jhyl1-ekq0-IWD6olICZuk3nB8NJpq4Bz0En9IQ-Yid3aBvEwcPzi4rHsDyk6zHKwf9BGP_WPg/s1600/Screenshot+from+2014-12-30+20:42:45.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/AVvXsEjnDhHUNWkC9CW81B75qMVMihRoY6ND_Vc6Tg-LeXUVVworIptjnxHw5maz_1315z_jE-Jhyl1-ekq0-IWD6olICZuk3nB8NJpq4Bz0En9IQ-Yid3aBvEwcPzi4rHsDyk6zHKwf9BGP_WPg/s1600/Screenshot+from+2014-12-30+20:42:45.png&quot; height=&quot;312&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
And that did it. Once apt-get completed its work, I restarted my browser and it on checking its version, it showed that it was upgraded to the new version (v39). And yes the error no longer shows up either! Hooray!&lt;br /&gt;
&lt;br /&gt;
So, if you have been through this error yourself and wondering what to do, then you could follow the simple method of upgrading only Google chrome &amp;amp; get rid of that pesky error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/1357018753361841700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2014/12/unsupported-version-of-google-chrome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/1357018753361841700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/1357018753361841700'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2014/12/unsupported-version-of-google-chrome.html' title='Unsupported Version of Google Chrome after Ubuntu update'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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/AVvXsEjnDhHUNWkC9CW81B75qMVMihRoY6ND_Vc6Tg-LeXUVVworIptjnxHw5maz_1315z_jE-Jhyl1-ekq0-IWD6olICZuk3nB8NJpq4Bz0En9IQ-Yid3aBvEwcPzi4rHsDyk6zHKwf9BGP_WPg/s72-c/Screenshot+from+2014-12-30+20:42:45.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-4503524684249637739</id><published>2014-12-28T09:54:00.001-08:00</published><updated>2014-12-28T10:01:34.268-08:00</updated><title type='text'>Installing Standalone Hadoop on Ubuntu 14.04</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Today we discuss the process of Installing Standalone Hadoop on Ubuntu 14.04.&lt;br /&gt;
&lt;br /&gt;
Here is the short of it.&lt;br /&gt;
&lt;br /&gt;
Pre-requisites:&lt;br /&gt;
&lt;br /&gt;
1- Java binaries &amp;nbsp;- Hadoop requires Java to run its process&lt;br /&gt;
2- Hadoop Tarball - Thats a no brainer, you need hadoop to run hadoop. :)&lt;br /&gt;
Note: For standalone hadoop (one node only), ssh is not mandatory.&lt;br /&gt;
&lt;br /&gt;
To get Java, you can rely on the good old Open JDK (like I did myself) or you can get the &#39;official&#39; java from&amp;nbsp;https://www.oracle.com/java/index.html.&lt;br /&gt;
In my case, long time ago for some other work, I had installed openjdk (the un-official but opensource version of Java) version 7 (or java 1.7 as some like to say) according to the instructions from this page -&amp;nbsp;http://openjdk.java.net/install/&lt;br /&gt;
We will come back to this in the configuration part later in the discussion.&lt;br /&gt;
&lt;br /&gt;
As for Hadoop, you can simply download it from Apache site. I downloaded from&amp;nbsp;http://www.apache.org/dyn/closer.cgi/hadoop/common/ and downloaded the (slightly older) version 1.2.1 tarball (hadoop-1.2.1.tar.gz).&lt;br /&gt;
&lt;br /&gt;
The first thing to know is that you DONT need to be root to install ubuntu (as long as you have sudo).&lt;br /&gt;
So I was logged in as my own not-root user (mrinal)&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/AVvXsEgxf6a3-ISTkQH-rl2rhgTEL0wKRi-EnJuJBiUgYfpQOqbLXo8I10wvfIMui2tw9hUNdQjZ2tV8DVeb2wChr5LCNXMlAqodLa1-xLXyA7CIvrx5ZB-LY24lJeKOSVO_0Xq17hu2AuZvA-co/s1600/Screenshot+from+2014-12-28+09:31:02.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/AVvXsEgxf6a3-ISTkQH-rl2rhgTEL0wKRi-EnJuJBiUgYfpQOqbLXo8I10wvfIMui2tw9hUNdQjZ2tV8DVeb2wChr5LCNXMlAqodLa1-xLXyA7CIvrx5ZB-LY24lJeKOSVO_0Xq17hu2AuZvA-co/s1600/Screenshot+from+2014-12-28+09:31:02.png&quot; height=&quot;497&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Then I created a directory under my home directory where I moved the hadoop tarball I downloaded earlier from Apache mirror (see above) and unpacked it using the following command:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mrinal@ms-dell:~/hadoop&lt;b&gt;$ mv &amp;nbsp;/home/mrinal/Downloads/hadoop-1.2.1.tar.gz &amp;nbsp; /home/mrinal/hadoop/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;mrinal@ms-dell:~/hadoop&lt;b&gt;$ tar xvzf hadoop-1.2.1.tar.gz&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
This creates a new directory in the same place and that becomes my hadoop install location.&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/AVvXsEiYG4gUdU8OMC92yRR0BeB_zQEYGS7sZ7mbnt-Dbul_dMzNli2k8qs7Pk-edYFdh4szTv10R0r87qZRlvDTzxZbWKB0bbCX20n746ioQAKQXkcK2kvId7gsuacfJ-otY-cN62v1bP4fzMzj/s1600/Screenshot+from+2014-12-28+09:37:48.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/AVvXsEiYG4gUdU8OMC92yRR0BeB_zQEYGS7sZ7mbnt-Dbul_dMzNli2k8qs7Pk-edYFdh4szTv10R0r87qZRlvDTzxZbWKB0bbCX20n746ioQAKQXkcK2kvId7gsuacfJ-otY-cN62v1bP4fzMzj/s1600/Screenshot+from+2014-12-28+09:37:48.png&quot; height=&quot;424&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now, refering back to the java install process from above, in ubuntu, the java is installed by apt-get installer process under &lt;b&gt;/usr/lib/jvm&lt;/b&gt; folder. Sometimes there may be previous older preinstalled versions of java present but you can ignore them--we are interested in the version 7.&lt;br /&gt;
&lt;br /&gt;
Then I set my environment variables in my .bashrc file (for subsequent logins to be set properly). The .bashrc file resides in my home directory (in my case /home/mrinal) as follows&lt;br /&gt;
&lt;br /&gt;
mrinal@ms-dell:~/hadoop$ &lt;b&gt;vim ~/.bashrc&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;i&gt;and at the end of the file enter these lines:&lt;/i&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/AVvXsEi-dh5e1glQXtp3cv1R383rBlsfY3tfZeSY-MswfsJJDgjRFgPTcZvULC6UlEemL8LtFB6i39VlOMQS5UattSze6GrPHocTtyGOn6fdYhc1AoWuJM3DqSfGqoXf91XFr4HibXAwp4QO8n8_/s1600/Screenshot+from+2014-12-28+09:41:05.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/AVvXsEi-dh5e1glQXtp3cv1R383rBlsfY3tfZeSY-MswfsJJDgjRFgPTcZvULC6UlEemL8LtFB6i39VlOMQS5UattSze6GrPHocTtyGOn6fdYhc1AoWuJM3DqSfGqoXf91XFr4HibXAwp4QO8n8_/s1600/Screenshot+from+2014-12-28+09:41:05.png&quot; height=&quot;294&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Note: It is crucial that the PATH env variable includes the JAVA_HOME/bin &amp;amp; HADOOP_INSTALL/bin directories.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
For Hadoop in distributed mode in a cluster, ssh service is required but in our case being a standalone mode, ssh is not mandatory. Nevertheless its good to know that in Ubuntu (and Linux in general) ssh is preinstalled.&lt;br /&gt;
&lt;br /&gt;
The last thing before hadoop config checks is to set JAVA_HOME variable in the hadoop-env.sh file.&lt;br /&gt;
This file resides in the $HADOOP_INSTALL/conf directory (&lt;b&gt;/home/mrinal/hadoop/hadoop-1.2.1/conf &lt;/b&gt;in my case). If you dont set this variable, you would get weird errors like &quot;&lt;b&gt;localhost: Error: JAVA_HOME is not set.&lt;/b&gt;&quot; when you try to start / stop / do anything with your hadoop.&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/AVvXsEiZiCWrvrI73Wtatkm8oR7qVBxmDI4xOr7ghyphenhyphenigosuCTg4qvmax_l583u9XQA3wWz-UYj1IqpchQiphQnPQygxbaWkf5Zrr-nVb24yqE2QFdUpBbjN2ngXhJ-N9gH4ykXf_wTsRftregSE0/s1600/Screenshot+from+2014-12-28+09:43:46.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/AVvXsEiZiCWrvrI73Wtatkm8oR7qVBxmDI4xOr7ghyphenhyphenigosuCTg4qvmax_l583u9XQA3wWz-UYj1IqpchQiphQnPQygxbaWkf5Zrr-nVb24yqE2QFdUpBbjN2ngXhJ-N9gH4ykXf_wTsRftregSE0/s1600/Screenshot+from+2014-12-28+09:43:46.png&quot; height=&quot;294&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Anyhow, once you are done with all the above steps, you should be able to do basic config checks to see if your hadoop is installed and functioning ok..&lt;br /&gt;
&lt;br /&gt;
mrinal@ms-dell:~$ &lt;b&gt;echo $JAVA_HOME&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
/usr/lib/jvm/java-7-openjdk-amd64/&lt;br /&gt;
mrinal@ms-dell:~$ &lt;b&gt;echo $HADOOP_INSTALL&lt;/b&gt;&lt;br /&gt;
/home/mrinal/hadoop/hadoop-1.2.1&lt;br /&gt;
mrinal@ms-dell:~$ &lt;b&gt;java -version&lt;/b&gt;&lt;br /&gt;
java version &quot;1.7.0_55&quot;&lt;br /&gt;
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)&lt;br /&gt;
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)&lt;br /&gt;
mrinal@ms-dell:~$ &lt;b&gt;hadoop version&lt;/b&gt;&lt;br /&gt;
Hadoop 1.2.1&lt;br /&gt;
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152&lt;br /&gt;
Compiled by mattf on Mon Jul 22 15:23:09 PDT 2013&lt;br /&gt;
From source with checksum 6923c86528809c4e7e6f493b6b413a9a&lt;br /&gt;
This command was run using /home/mrinal/hadoop/hadoop-1.2.1/hadoop-core-1.2.1.jar&lt;br /&gt;
mrinal@ms-dell:~$ &lt;b&gt;start-dfs.sh&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
starting namenode, logging to /home/mrinal/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-mrinal-namenode-ms-dell.out&lt;br /&gt;
mrinal@localhost&#39;s password:&lt;br /&gt;
localhost: starting datanode, logging to /home/mrinal/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-mrinal-datanode-ms-dell.out&lt;br /&gt;
mrinal@localhost&#39;s password:&lt;br /&gt;
localhost: starting secondarynamenode, logging to /home/mrinal/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-mrinal-secondarynamenode-ms-dell.out&lt;br /&gt;
mrinal@ms-dell:~$ &lt;b&gt;start-mapred.sh&lt;/b&gt;&lt;br /&gt;
starting jobtracker, logging to /home/mrinal/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-mrinal-jobtracker-ms-dell.out&lt;br /&gt;
mrinal@localhost&#39;s password:&lt;br /&gt;
localhost: starting tasktracker, logging to /home/mrinal/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-mrinal-tasktracker-ms-dell.out&lt;br /&gt;
mrinal@ms-dell:~$&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/AVvXsEh9LiC0Lobr2yctp4Rvi4szRQuuaA97mCNNmIo5Bk6SlrXO4faI6bxcvzUFBMVZOILC2nSx-fGk6cOqRSZYkb-01oMY_ITbOc4tChzWPhlyYpWWuF8nrtP5_dPVAZbb4pufWPwIxJeth_8m/s1600/Screenshot+from+2014-12-28+09:53:43.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/AVvXsEh9LiC0Lobr2yctp4Rvi4szRQuuaA97mCNNmIo5Bk6SlrXO4faI6bxcvzUFBMVZOILC2nSx-fGk6cOqRSZYkb-01oMY_ITbOc4tChzWPhlyYpWWuF8nrtP5_dPVAZbb4pufWPwIxJeth_8m/s1600/Screenshot+from+2014-12-28+09:53:43.png&quot; height=&quot;419&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/4503524684249637739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2014/12/installing-standalone-hadoop-on-ubuntu.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/4503524684249637739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/4503524684249637739'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2014/12/installing-standalone-hadoop-on-ubuntu.html' title='Installing Standalone Hadoop on Ubuntu 14.04'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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/AVvXsEgxf6a3-ISTkQH-rl2rhgTEL0wKRi-EnJuJBiUgYfpQOqbLXo8I10wvfIMui2tw9hUNdQjZ2tV8DVeb2wChr5LCNXMlAqodLa1-xLXyA7CIvrx5ZB-LY24lJeKOSVO_0Xq17hu2AuZvA-co/s72-c/Screenshot+from+2014-12-28+09:31:02.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-7616465574836363373</id><published>2014-10-14T23:10:00.000-07:00</published><updated>2014-10-14T23:15:46.393-07:00</updated><title type='text'>Internet Broadband and Prepaid Mobile at Delhi Airport -- Tips for Travelers to India</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have traveled to India in the past, you probably have faced the situation of trying to scurry for a decent mobile phone and Internet connection from the get go. I have been to the UK and some EU countries and like them India has adopted the GSM cellular technology. And you can get a phone over the counter without much ado there (&#39;Welcome to Lebara Mobile&#39;--that British accent female voice is unmistakable..:) )Plus the phones are not locked to the carriers like in the USA. I personally feel, the consumers in USA are fleeced by the &#39;locked phone&#39; culture. How ironical, in the &#39;land of the Free&#39;..Funny how Businesses work in USA.&lt;br /&gt;
&lt;br /&gt;
Anyhow, back to India. I used to have a difficult time finding a temporary cellular phone (without having to activate &#39;Roaming&#39; on my USA phone). Plus Internet connections were always a hassle because most of the services were specifically compatible to Windows OS only (I have been an exclusive Linux-phile for about 15 years now) and I would always have to struggle to find that would work with my Linux laptop.&lt;br /&gt;
But that was then. And here&#39;s my story of 2014 about the same in India. And I was pleasantly surprised.&lt;br /&gt;
As a visitor to India, here are some tips you can find useful to get --&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;Prepaid mobile connection&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Broadband Internet connection &lt;i&gt;that would work with Linux OS.&lt;/i&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Carry a Xerox copy of your Passport from your home country&lt;br /&gt;
2) Carry two Passport size photos from your home country&lt;br /&gt;
&lt;b&gt;Note: &lt;/b&gt;Well, if you dont have the two above, dont despair, the folks here can help you get that at the airport itself; but its easier if you have the two things handy before you come.&lt;br /&gt;
&lt;br /&gt;
3) After you finish your Customs formalities and get your baggage BUT just before you exit the Airport terminal (T3 for Delhi Indira Gandhi International Airport aka IGI Airport), look for kiosks that advertise Cellular and Internet services--there are many. The one that is most popular is called &#39;AirTel&#39;--it is India&#39;s #1 Telecom provider.&lt;br /&gt;
&lt;br /&gt;
4) Once you arrive at the Airtel (or Vodafone or Reliance kiosk)--I prefer Airtel--ask the person for &lt;b&gt;A) Prepaid Mobile Sim Card B) 3G Internet Broadband connection &lt;/b&gt;(4G LTE is expected sometime early 2015).&lt;br /&gt;
&lt;br /&gt;
5) The person will ask for the passport copy, pictures and your Address of stay in India--you can use your hotel address if you want.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt;&amp;nbsp;If you have an unlocked phone (like me) then you dont have to pay for the phone device (for the Prepaid sim card). They do have the &#39;Micro-sim&#39; that my &lt;a href=&quot;http://www.sonymobile.com/global-en/products/phones/xperia-z1-compact/&quot; target=&quot;_blank&quot;&gt;Sony Xperia Z1 Compact&lt;/a&gt; uses. If you DON&#39;T have an unlocked phone you can buy one at the counter/IGI Airport for less than USD 50.&lt;br /&gt;
&lt;br /&gt;
6) The Service itself is quite in-expensive compare to USA. It cost me about Rs 3000 (which is about 50 USD) for BOTH the &lt;a href=&quot;http://www.airtel.in/mobile/prepaid/tariffs&quot; target=&quot;_blank&quot;&gt;Prepaid Cell connection&lt;/a&gt; and the &lt;a href=&quot;http://www.airtel.in/Airtel3G/devices.html&quot; target=&quot;_blank&quot;&gt;3G USB Internet dongle&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
7) It takes about 15 minutes to get paperwork completed and you to get going to your hotel.&lt;br /&gt;
&lt;br /&gt;
8) You may want to ask the contact # of the Airtel representative at the counter, just in case.&lt;br /&gt;
&lt;br /&gt;
9) In my case, I specifically asked if the Internet connection would work with my Linux OS and his answer was &#39;Yes&#39; and that was good for me. Also the service was functional within 2 hours. Just enough time for me to reach my destination and relax a bit.&lt;br /&gt;
&lt;br /&gt;
10) Quality of service -- I was pleasantly surprised that the Internet speed is comparable to the USA -- upto 21Mbps down and 2Mbps up. ( I got about 15Mbps--see pic below). The customer service is prompt if you call 59059 from your cell for any reason.&lt;br /&gt;
&lt;br /&gt;
11) Yes, again the Mobile Broadband works with Linux. I have Ubuntu 14.04 LTS and it seamlessly detects the USB dongle with the Broadband sim soon after you plug it in.&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/AVvXsEimE6_ICKPVLFEGN6Wh3gxcHZKm2kPvsOVHi8q9UJK8ms8Un2pB1x7X-QlxEP7l_U0Ck-vl7_mMoFiLGOjFQ_2O89jOZU3sHf3shIx3NH3qm0Pu5LGGfiPt_lQK2_9g0YEvtQiL0s738ksV/s1600/Screenshot+from+2014-10-13+17:19:22.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/AVvXsEimE6_ICKPVLFEGN6Wh3gxcHZKm2kPvsOVHi8q9UJK8ms8Un2pB1x7X-QlxEP7l_U0Ck-vl7_mMoFiLGOjFQ_2O89jOZU3sHf3shIx3NH3qm0Pu5LGGfiPt_lQK2_9g0YEvtQiL0s738ksV/s1600/Screenshot+from+2014-10-13+17:19:22.png&quot; height=&quot;233&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/7616465574836363373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2014/10/internet-broadband-and-prepaid-mobile.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/7616465574836363373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/7616465574836363373'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2014/10/internet-broadband-and-prepaid-mobile.html' title='Internet Broadband and Prepaid Mobile at Delhi Airport -- Tips for Travelers to India'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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/AVvXsEimE6_ICKPVLFEGN6Wh3gxcHZKm2kPvsOVHi8q9UJK8ms8Un2pB1x7X-QlxEP7l_U0Ck-vl7_mMoFiLGOjFQ_2O89jOZU3sHf3shIx3NH3qm0Pu5LGGfiPt_lQK2_9g0YEvtQiL0s738ksV/s72-c/Screenshot+from+2014-10-13+17:19:22.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-3386093958872061239</id><published>2014-10-01T14:30:00.001-07:00</published><updated>2014-10-01T14:30:40.128-07:00</updated><title type='text'>Sony Android Phone Not working 100% with Ubuntu</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&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/AVvXsEgvUKc-pjvWzhtqx0qH67KaLmHDaqs83T5th7fRYgke_35JkVbKPwAB1pgCC4Cd-IfmaSWS4wivp3gugq7ZlIUKc4D159XsTFfvAsP6rV5tD5qOWsjlVhv8aqWMmEgf3OXkFAZ3wzHQvUbc/s1600/sony-xperia-z1-compact-new.jpg&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/AVvXsEgvUKc-pjvWzhtqx0qH67KaLmHDaqs83T5th7fRYgke_35JkVbKPwAB1pgCC4Cd-IfmaSWS4wivp3gugq7ZlIUKc4D159XsTFfvAsP6rV5tD5qOWsjlVhv8aqWMmEgf3OXkFAZ3wzHQvUbc/s1600/sony-xperia-z1-compact-new.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Those of you who care to read what I write would note that I have no liking for Microsoft or Apple products. I have been using FOSS specially Linux OS as my laptop/desktp OS since year 2000 and also as the OS for my smartphone (as Android incarnation) since 2010.&lt;br /&gt;
Currently I use Ubuntu 14.04 LTS (Trusty Tahr) as desktop OS and Android 4.4.2 (KitKat) as smartphone OS. The hardware for the same is Dell XPS 13 and Sony Xperia Z1 Compact. Occasionally I do use Fedora (on Sony Vaio S laptop) as my 2nd laptop and Amazon Kindle HD running Amazon&#39;s derivative of Android (called Silk) as tablet. But truly that is rare. My laptop and my smartphone are my primary devices..&lt;br /&gt;
But why am I telling you all this?&lt;br /&gt;
Well there is a precise reason for that. If you noticed all of the above OS (be it laptop/smartphone/tablet) are based on the GNU/Linux Kernel. Right?&lt;br /&gt;
So you would expect they would get along well together, Right? Wrong..&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;[Microsoft and Apple sauce fans: desist from saying &quot;switch to us&quot;. No wont, you are not Free. I may be a bit uncomfortable but I&#39;m Free..So dont even start..]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
Anyway I digress..&lt;br /&gt;
&lt;br /&gt;
It so happened that I recently switched to my new &lt;a href=&quot;http://www.sonymobile.com/us/products/phones/xperia-z1-compact/&quot; target=&quot;_blank&quot;&gt;Sony Xperia Z1 Compact&lt;/a&gt; (from my previous HTC Evo LTE). The reason for the switch was upgrade to a new, powerful, goodlooking, waterproof, feature packed phone. To make the best of the phone&#39;s 20.7 megapixel camera, I got it loaded with a SD card to store all my pics. And then I gleefully went on clicking pics.&lt;br /&gt;
After a while, I wanted to transfer my picture files to my Ubuntu 14.04 laptop. Just like I used to do with my old (HTC) phone simply by connecting with a USB cable. But this is where my horrors start.&lt;br /&gt;
To my surprise, Sony Xperia detects the USB connection and immediately prompts you to install an file transfer software (called ominously &#39;PC companion&#39;) that works only with (hold your breath) Microsoft Windows or Apple (s)Mackintosh. What?? Why?? Arent you Android Sony Xperia OS? And if so arent you a derivative of Linux OS? So isnt it logical for you to work seamlessly with any Linux OS (in this case Ubuntu) using an open standard USB? Well apparently not. The developers and designers at Sony didnt have the foresight and vision to think beyond Windows and sMacintosh eventhough they are themselves based on a Linux OS. What a shame.&lt;br /&gt;
After a bit of twiddling, I do see a link under &#39;Settings &amp;gt; Storage&#39; that prompts me to transfer files from &#39;Internal storage&#39;(here, builtin phone storage) to &#39;External storage&#39; (here the SD card). And I accept this option thinking that its only fair--I can transfer the files and then plug the SD card to my laptop directly (ie without the phone via USB). But another goof up on the software designers. They very conveniently forgot to mention that the &#39;Transfer&#39; is actually a &#39;move&#39; not a &#39;copy&#39; (ie after transfering the files it will wipe out the original files. Who designed this? Can they at least warn the End user before doing such a one way transfer? Poor thinking Sony!!&lt;br /&gt;
Anyhow, I transfer the files and try to connect the SD card directly onto my laptop but as if all the prior misery was not enough, now the SD card is not recognized by Ubuntu OS because the SD card was formatted by the Phone OS (in this case unbelievably a Linux derivative called Android) in a format which is understood only by Windows and NOT by Linux. Why? This never was a problem with the previous Android phone (from HTC).&lt;br /&gt;
&lt;br /&gt;
So what to do now?&lt;br /&gt;
I had to jump through these hoops to finally be able to transfer the files:&lt;br /&gt;
&lt;br /&gt;
0- Put the SD card from my Sony to my older HTC phone (while my Sony phone sat useless like a plastic POS)&lt;br /&gt;
1- Transfer ALL files (including pics, songs, etc) from SD card in the HTC phone to the Laptop&lt;br /&gt;
2- After Transfer Format the SD card (while its in the HTC phone) so that the format is now recognizable to Linux (Remember, Sony formatted in a way only to be understood by Windows - the evil proprietary &quot;extFAT&quot; while HTC formats it into a universal Linux readable &quot;vFAT&quot; format)&lt;br /&gt;
3- After Format, put the SD card back into my Sony phone&lt;br /&gt;
4- Connect the Sony phone back to the laptop&lt;br /&gt;
5- Copy back the files from the laptop to the SD card that I did NOT want to transfer originally(like songs etc)&lt;br /&gt;
&lt;br /&gt;
So as you see it was 6 step hassle. Why?&lt;br /&gt;
Because some genius in Sony decided that it was a wonderful idea to totally ignore Linux compatibility eventhough the phone OS in use (Android) is itself a Linux derivative and as such should talk the same language and be seamless..But no.. Great Sony!! (puns intended)&lt;br /&gt;
&lt;br /&gt;
Sony here&#39;s the lesson for you. You are great hardware maker. No doubt. I have long been your fan. So have millions of others like me. But you are losing the smartphone battle to Samsung and iOS. Arent you? Do you want to keep losing market or do you want to win back again? If you want to win back then...Dont be stupid and restrictive. Dont be anti end user comfort. Only those companies who give utmost importance to End-user convenience succeed and are actually succeeding as we speak. Dont you see? If a savvy end-user like myself had to go through so many hoops to get something as simple as file transfer from phone to laptop then think of Grandma or Aunt Tilly. You have already scared them and lost their business. Come on Sony give us a better deal and DONT ignore Linux. Period.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/3386093958872061239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2014/10/sony-android-phone-not-working-100-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3386093958872061239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3386093958872061239'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2014/10/sony-android-phone-not-working-100-with.html' title='Sony Android Phone Not working 100% with Ubuntu'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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/AVvXsEgvUKc-pjvWzhtqx0qH67KaLmHDaqs83T5th7fRYgke_35JkVbKPwAB1pgCC4Cd-IfmaSWS4wivp3gugq7ZlIUKc4D159XsTFfvAsP6rV5tD5qOWsjlVhv8aqWMmEgf3OXkFAZ3wzHQvUbc/s72-c/sony-xperia-z1-compact-new.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-3577307450932903879</id><published>2014-09-13T14:42:00.001-07:00</published><updated>2014-09-13T14:45:16.981-07:00</updated><title type='text'>My First Year with Dell Ubuntu Linux XPS 13 Laptop</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Today I wanted to share my experience of my recently completed 12 months with Dell Linux Laptop.&lt;br /&gt;
&lt;div&gt;
If you are wondering what is a Dell Linux Laptop then &lt;a href=&quot;http://www.dell.com/us/business/p/xps-13-linux/pd&quot; target=&quot;_blank&quot;&gt;go here on Dell&#39;s website&lt;/a&gt;. I hope Dell doesnt change the URL anytime soon. But let me begin by saying that on a scale of 1-10 about my overall satisfaction with this laptop I would give it a high 9.5 or 10/10.&lt;/div&gt;
&lt;div&gt;
Now if you have followed my previous posts about &lt;a href=&quot;http://timedigit.blogspot.com/2012/04/fedora-16-on-sony-vaio-s-series-laptop.html&quot; target=&quot;_blank&quot;&gt;Linux Laptops on Sony &lt;/a&gt;or &lt;a href=&quot;http://timedigit.blogspot.com/2010/09/asus-bamboo-laptop-is-cool.html&quot; target=&quot;_blank&quot;&gt;Asus Bamboo Laptop&lt;/a&gt;&amp;nbsp;you will notice that I&#39;m a hardcore Linux OS person &amp;amp; that I cant stand Wind&lt;i&gt;owww&lt;/i&gt;s (aka Microsoft) or osxxx (aka Apple sauce ;-)). So there is a slight chance that I may be a little more critical any OS other than Linux but I believe with what other OSes do to &lt;a href=&quot;http://www.fsf.org/&quot; target=&quot;_blank&quot;&gt;End-User Freedom&lt;/a&gt;, its all well to be a little unfriendly to them...&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I must say in my eyes, Dell is the only &lt;b&gt;&lt;i&gt;major&lt;/i&gt;&lt;/b&gt; hardware vendor who has in the last decade had the guts to take to the market with a Factory installed Linux laptop. The key word is &#39;major&#39;. Other little hardware assemblers and VARs have been doing it for a while but they are not anywhere in the graph. In the hardware landscape if you are not in the top 10 you are really not there..Anyhow I digress. Dell had first come out with their first version of Dell Factory installed Linux Laptops in the form of the &lt;a href=&quot;http://arstechnica.com/gadgets/2007/10/dell-inspiron-1420n-ubuntu-laptop-review/&quot; target=&quot;_blank&quot;&gt;Inspiron 14 Ubuntu laptops&lt;/a&gt; back in 2007. And I remember I had immediately scooped one up eventhough it was a bit pricey at about $1500 then. Although it was not the top notch contender but hey you must recognize Dells effort and guts to do something other than what the cattle crowd of hardware players does for Microsoft. I had liked that incarnation for a while -- I still have it in my array of laptop collections and it does work still albeit slowly. But this second version of Dell XPS 13 preloaded with Ubuntu 12.04 that Dell came out with in 2012 was a kicker. Eversince I heard about it I was very eager to get one and finally in May-June of 2013 I did. Let me go a bit into its specs first...&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/AVvXsEiFO1JobsYBwXXTLB-IVvnPZr-YmtyeVQ8QPdyhd1lE1z7T-BJnIAwg_GeDvCSs2N12Gt8ChQdJTkkdwdXc04L8Fy_kr7wm32DbNNQeuuTjsvKOBGECuvLBrIoXymShOmdIdZUMON1LCKu0/s1600/dell_linux_laptop.jpg&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/AVvXsEiFO1JobsYBwXXTLB-IVvnPZr-YmtyeVQ8QPdyhd1lE1z7T-BJnIAwg_GeDvCSs2N12Gt8ChQdJTkkdwdXc04L8Fy_kr7wm32DbNNQeuuTjsvKOBGECuvLBrIoXymShOmdIdZUMON1LCKu0/s1600/dell_linux_laptop.jpg&quot; height=&quot;320&quot; width=&quot;309&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
What I wanted from my next laptop was:&lt;/div&gt;
&lt;div&gt;
1- &lt;b&gt;Lightweight &amp;amp; less than 3lbs&lt;/b&gt; &amp;nbsp;(this one was advertized as 2.96 lbs &amp;amp; I believe .69 inches thick). So check..&lt;/div&gt;
&lt;div&gt;
2- &lt;b&gt;Hi Speed&lt;/b&gt;&amp;nbsp;at 3GHz or more (this one has Intel i7 Quad core at around 3GHz &amp;amp; 8 GB RAM) so good on that front.&lt;/div&gt;
&lt;div&gt;
3- &lt;b&gt;Low Heat and Fan noise&lt;/b&gt; (It is markedly cool and silent thanks to its Carbon Fiber Base and efficient circuitry-- I can barely hear the fan even when running videos and it is in quite in contrast to my frustration with the &lt;a href=&quot;http://timedigit.blogspot.com/2012/04/fedora-16-on-sony-vaio-s-series-laptop.html&quot; target=&quot;_blank&quot;&gt;Sony vaio running linux&lt;/a&gt;. So we are good on that front..&lt;/div&gt;
&lt;div&gt;
4- &lt;b&gt;SSD Hard Drive&lt;/b&gt; (this one has 256 GB of solid state disks) No more spinning spindles and cranking disks that also add to the weight besides being failure prone after prolonged usage..So check&lt;/div&gt;
&lt;div&gt;
5- &lt;b&gt;Backlit Keyboard &lt;/b&gt;(very important for me because I work in the dark often like early mornings/late nights and without disturbing others--also good for airplanes when they turn off lights--you can keep working)&lt;/div&gt;
&lt;div&gt;
6- &lt;b&gt;HD Graphics&lt;/b&gt; (this one has full 1080p HD screen with Intel IvyBridge Graphics card) so movies are a thrill..&lt;/div&gt;
&lt;div&gt;
7-&lt;b&gt; Long Battery life of minimum 5 hours&lt;/b&gt; (this one gives 6 hours with lots of programs and about 7 hours when only surfing/browsing). Again much better than the Sony Vaio experience&lt;/div&gt;
&lt;div&gt;
8- &lt;b&gt;Small form factor&lt;/b&gt; - this is where it really does good. Due to the edge to edge screen using &lt;b&gt;Gorilla Glass&lt;/b&gt;&amp;nbsp;Dell has been able to squeeze in a 13 inch in a 11 inch form factor..How cool is that?&lt;/div&gt;
&lt;div&gt;
9-&lt;b&gt; Compact Power Adapter &lt;/b&gt;- I have had ugly bricks for power adapters in the past. This one is sleek, tiny and small like a cigarette case and puts the apple sauce people to notice. Not to forget the cool LED light on the connector is a useful innovation especially when you are trying to grope for the DC power port when working in the dark like me..&lt;/div&gt;
&lt;div&gt;
10 - &lt;b&gt;Linux OS&lt;/b&gt; - Last but not at all least - How can we forget this. I have sworn to never buy a windows and or apple. So this one is all set..&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
And as you see, the laptop holds good in each of my wants. Infact the package is so cool that I have had several people in several countries/places stop and ask me about which laptop is it? where I got it from? how much I paid &amp;nbsp;and that it really is a great looking beautiful lapto &amp;nbsp;etc, etc..One guy thought this was a tablet..But nope this is a full featured laptop that holds the punch.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Now how much did I pay for it? About USD 1550 all inclusive. Granted its not the cheapest in its segment but Do you really &amp;nbsp;want a cheap laptop and cut corners in your style statement? I dont. Plus look at it this way, its a fully loaded Ferrari of a laptop. Do you want to compare it to a Camry?&lt;/div&gt;
&lt;div&gt;
BTW, one thing I must say that the Ubuntu folks didnt do 100% on was the suspend mode. In 12.04 LTS (the default with this laptop) throws the following onscreen messages when you suspend the laptop or wake it up:&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;[12656.501533]PM:Device 00:07 failed to resume: error -19&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;[12658.420216][drm:gen6_sanitize_pm]*Error* Power management discrepancy: GEN6_RP_INTERRUPT_LIMITS expected 18000000, was 12060000&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;legacy_resume():pnp_bus_resume*0x0/0x70 returns -19&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
But suspend still works--only the above ugly cryptic errors show up. I believe it is something to do with the Power management routines that are called when suspend function is invoked in the kernel. Anyhow I chose to ignore it for a year and when in July of this year (2014), Ubuntu came up with the 14.04 LTS with bug fixes I upgraded to it promptly and now those errors are gone &amp;amp; I dont see them. This was the only reason I gave it 9.5/10 when 12.04 was running. But now with 14.04 LTS on and the error gone, I can give it 10/10. In other words in my first year with the laptop I have been extremely satisfied with the Dell XPS 13 runing Ubuntu. And for someone who changes laptops every 12-18 months, I think this one will hold for a long time to come who knows may be I will be surprising myself using the same laptop from 2013 in 2018 and yet not compromising on anything..who knows..&lt;/div&gt;
&lt;div&gt;
So next time you are faced with the decision to buy a laptop for yourself or loved ones, dont overlook the incredible quality, features and value of the Dell XPS 13. Put on a &lt;a href=&quot;http://www.zazzle.com/linux+stickers&quot; target=&quot;_blank&quot;&gt;Tux sticker from Zazzle&lt;/a&gt; on the lid like I did and you will be very satisfied with your purchase, make a statement and also turn heads..&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
=====&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Oh yes one more point..&lt;/div&gt;
&lt;div&gt;
I have never been a fan of Ubuntu&#39;s Unity Interface. So one of the first things I did to customize it to my taste (besides installing Chrome Browser) was to install gnome using the following command..&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;$ sudo apt-get install gnome-shell&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
You can find several tutorials to guide you through the process &lt;a href=&quot;http://www.filiwiese.com/installing-gnome-on-ubuntu-12-04-precise-pangolin/&quot; target=&quot;_blank&quot;&gt;like this one here&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/3577307450932903879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2014/09/my-first-year-with-dell-ubuntu-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3577307450932903879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3577307450932903879'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2014/09/my-first-year-with-dell-ubuntu-linux.html' title='My First Year with Dell Ubuntu Linux XPS 13 Laptop'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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/AVvXsEiFO1JobsYBwXXTLB-IVvnPZr-YmtyeVQ8QPdyhd1lE1z7T-BJnIAwg_GeDvCSs2N12Gt8ChQdJTkkdwdXc04L8Fy_kr7wm32DbNNQeuuTjsvKOBGECuvLBrIoXymShOmdIdZUMON1LCKu0/s72-c/dell_linux_laptop.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-5474307800804208554</id><published>2013-12-16T10:17:00.003-08:00</published><updated>2014-09-10T17:40:42.326-07:00</updated><title type='text'>Software Licensing Terms and Meanings</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;color: red; font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;Free Open Source Software Licensing Terms and Meanings.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red; font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b style=&quot;color: red;&quot;&gt;Note: &lt;/b&gt;The following discussion is based on my personal software industry experience and observation.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;This is not a legal advice. Any comments/corrections/suggestions for improvements are welcome.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red; font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;color: red; font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;In context of Computer Software:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red; font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Copyright&lt;/span&gt;&lt;/b&gt; = Owner has Exclusive ownership of work. No one else does. Copyright is automatic--ie, if you write an original software program, create an original art, write a new book, etc, you are automatically the default Copyright owner of the that work. You dont have to &lt;b&gt;apply for&amp;nbsp;&lt;/b&gt;your Copyright (unlike Patents).&amp;nbsp;You can do whatever with it. You can patent it (and make it exclusive) or you can free it by allowing others to freely copy/replicate your work (this is what Copyleft attempts to do--see below).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Patent&lt;/span&gt;&lt;/b&gt; = Superset of Copyright in terms of restrictions. It disallows even &#39;similar&#39; works attempted by others. You have to &lt;b&gt;apply for&lt;/b&gt;&amp;nbsp;it&amp;nbsp;with the Patents office for it. It gives you exclusive rights over your work. You can legally sue anyone who tries to copy it or steal it.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Public Domain&lt;/span&gt;&lt;/b&gt; = &amp;nbsp;No copyright. No one person owns it. Everyone collectively owns it. No cost. (Think of a public road or park).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Free s/w&lt;/span&gt;&lt;/b&gt; = Source Code + Binary. &lt;b&gt;NOT&lt;/b&gt;&amp;nbsp;no cost. Although it can be granted for no money..(IF the software Copyright owner so desires).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;Note:&lt;/b&gt; Software in Public Domain is essentially Free s/w. It can also be made closed.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;Note:&lt;/b&gt; this is because &lt;b&gt;NO&lt;/b&gt;one owns Public Domain s/w. It is &#39;use it as you like&#39;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Copyleft &lt;/span&gt;&lt;/b&gt;= Copyright + Copyright owner Frees it (ie source code + binary) using a Free software license (like GPL, Apache, etc) + All Derivatives required to be Free (ie source + binary)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;Note:&lt;/b&gt; FSF and GNU encourage Copylefting. They dont encourage Public Domain s/w. This is because Public Domain s/w can potentially be turned closed (use it as you like) where as Copyleft s/w can NOT be closed.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;Note:&lt;/b&gt; NOT all Free s/w (in Public Domain) is Copyleft. Copyleft is Free s/w with that cannot be closed. (eg X Windows is Free but not Copyleft). infact, many Free s/w licenses like Apache, Mozilla, MIT, LGPL etc are NOT Copyleft. This means that s/w (or their derivatives) under such licenses can be turned into closed. This is what Android and ZFS are.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: red; font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;Specific Cases:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;GNU GPL v2 and GNU GPL v3 are BOTH Copyleft Licenses.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;GPLv3 is more restrictive in that it &lt;b&gt;forbids&lt;/b&gt; only a certain version of Copyleft s/w to be run on a certain h/w.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;In other words, GPLv3 says, end user can run any version of a Copyleft s/w on a certain h/w.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;This is in response to DVR maker TiVo who allowed ONLY a certain version of their Copyleft s/w to run on their h/w. Under GPLv2, this would be ok--because GPLv2 only mandates s/w being Free+Copyleft--it doesnt talk of what hardware it should or should not be run on.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;GPLv3 is designed to prevent DRMs.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;DRM&lt;/span&gt;&lt;/b&gt; = short for Digital Rights Management.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;DRM comprises of &amp;nbsp;Digital signatures placed in h/w &amp;amp;/or s/w (Free or Closed) to restrict what h/w a s/w can run on.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;DRM is used by hardware vendors to control what software runs on their hardware.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;DRM is used by software vendors to control what hardware their software runs on.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: arial, sans-serif;&quot;&gt;DRM is essentially not CopyLeft. It is extreme CopyRight.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/5474307800804208554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/12/software-licensing-musings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5474307800804208554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5474307800804208554'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/12/software-licensing-musings.html' title='Software Licensing Terms and Meanings'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-6508492233765920074</id><published>2013-12-03T16:20:00.001-08:00</published><updated>2014-09-10T17:18:50.889-07:00</updated><title type='text'>Business Legal Musings - 1</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Some commonly used Business Terms regarding Intellectual Property:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Invention&lt;/span&gt;&lt;/b&gt; = Any new Idea or Creative work or improvement in existing product/idea.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;eg: A new recipe for Ketchup.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Intellectual Property&lt;/span&gt;&lt;/b&gt; = An Invention legally owned by Inventor.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;eg: Inventors copy of the recipe for the Ketchup with legal evidence to show ownership.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Patent&lt;/span&gt;&lt;/b&gt; = Exclusive legal right to own and use an Invention.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;eg: Legal Evidence &amp;amp; Acknowledgement by Patent Office to the Inventor of the Ketchup&#39;s Recipe.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Note:&lt;/b&gt; Patents Expire. Usually granted for 15-20 years.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Note:&lt;/b&gt; Patents are usually for Design/Technical/Science related IP.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Note:&lt;/b&gt; The equivalent term for Patents For Artistic IP (eg Music, Literature or Recipe) is Copyright. Like Patents, Copyrights too expire after certain time but usually after longer time(70-100+ years).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Note:&lt;/b&gt; The concept of Patents is a superset of Copyright in terms of legal rights.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;eg: whereas copyright will protect against verbatim copy of the Ketchup Recipe (ie Plagiarism) it wont protect if there is minor differences in the wording of two recipes.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;Patent will actually prevent anyone but the IP owner to even attempt to make a similar Ketchup Recipe.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;This is especially true in case of Computer Software Patents.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Innovation&lt;/span&gt;&lt;/b&gt; = Popularizing an Invention usually through Marketing, Sales &amp;amp; PR.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;eg: Mass production and sale of the new Ketchup.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Trademark&lt;/span&gt;&lt;/b&gt; = A Symbol for an Innovation (for exclusive use by someone).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;eg: a logo for the Ketchup.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Royalty&lt;/span&gt;&lt;/b&gt; = Fee paid to the Inventor or Innovator for sharing their Intellectual Property.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;eg: Fee paid to the Inventor or Innovator to gain access to their Ketchup Recipe.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Public Domain&lt;/span&gt;&lt;/b&gt; = Public property; Allowing Unrestricted Access to an Invention/Innovation.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;eg: Once the Ketchup Recipe Patent (or rather Copyright) expires, the Recipe becomes Public Property; i.e., Royalties no longer need be paid for using the Recipe.&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/6508492233765920074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/12/business-legal-musings-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/6508492233765920074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/6508492233765920074'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/12/business-legal-musings-1.html' title='Business Legal Musings - 1'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-201018794751411868</id><published>2013-12-01T21:41:00.003-08:00</published><updated>2013-12-01T21:41:50.498-08:00</updated><title type='text'>Pointer Refresher in C Language:</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Here is a short Pointer Refresher in C Language:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-pointers:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;variables that hold the &#39;memory address&#39; of another variable&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-They are declared using &#39;*&#39; operator and initialized using &#39;&amp;amp;&#39; operator.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-eg:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;i&gt;$ cat -n ptr0.c&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;1&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;3&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;int main()&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;4&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;5&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;int num;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;6&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;int *pnum;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;/* pointer declaration */&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;7&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;pnum=&amp;amp;num;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;/* pointer initialization */&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;8&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;num=57;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;9&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;\n Value of variable num = %d.&quot;, num);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;10&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;*pnum=23;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;/* indirect invocation of value of variable num via pointer */&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;11&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;\n New value of variable num = %d.&quot;, num);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;12&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;\n The first value was direct invocation of variable.&quot;);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;13&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;\n The second value was an indirect invocation of variable, using a pointer.&quot;);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;14&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;\n Good bye.\n&quot;);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;15&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;return 0;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;16&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-advantages of Pointers:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.allow dynamic allocation of mem&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/* see &#39;*pum=23;&#39; in above code */&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.allow functions to modify calling argument&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-void pointer:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.is defined as &#39;void *pointervar&#39;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.its type is unknown and can thus receive a parameter that receive any type of pointer argument&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;.in other words, during value assignment, no explicit cast is required.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-see below code for void pointer illustration:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;i&gt;$ cat -n voidptr.c&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;1&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;3&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;int main()&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;4&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;5&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;int i=5;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;6&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;char ch=&#39;M&#39;;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;7&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;void *ptr;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/* declaring a void pointer */&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;8&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;9&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;ptr=&amp;amp;i;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;/* initialize ptr with an integer var addr */&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;10&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;\n Pointer ptr now points to an integer %d.&quot;, *(int *)ptr);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;11&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;ptr=&amp;amp;ch;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/* initialize ptr with an character var addr */&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;12&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;\n Pointer ptr now points to a char %c.&quot;, *(char *)ptr);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;13&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;\n The same pointer was used to point to an integer and then to a char.&quot;);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;14&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;\n This was possible only due to a void pointer.&quot;);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;15&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;printf(&quot;\n Good bye.&quot;);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;16&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;17&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;return 0;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;18&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;19&lt;/i&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;i&gt; &lt;/i&gt; &lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/201018794751411868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/12/pointer-refresher-in-c-language.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/201018794751411868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/201018794751411868'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/12/pointer-refresher-in-c-language.html' title='Pointer Refresher in C Language:'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-2991123085017952316</id><published>2013-10-02T06:11:00.002-07:00</published><updated>2014-09-10T17:43:18.498-07:00</updated><title type='text'>Linux Howto: Missing curses/ncurses Library Ubuntu 12.04</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
So I tried this simple program to test a Text-screen based program on my Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;mrinal@ms-dell:~/C_Progs$ cat screen1.c&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;#include &amp;lt;unistd.h&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;#include &amp;lt;curses.h&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;int main()&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;{&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;initscr();&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;move(5,15);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;printw(&quot;%s&quot;,&quot;Hello World&quot;);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;refresh();&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;sleep(5);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;endwin();&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;exit(EXIT_SUCCESS);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
When I try to compile it using the Text-screen library system curses, I get the following error:&lt;br /&gt;
&lt;br /&gt;
mrinal@ms-dell:~/C_Progs$ &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;gcc screen1.c -o ans -lcurses&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;screen1.c:3:20: fatal error: curses.h: No such file or directory&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;compilation terminated.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Turns out I dont have the curses.h header file (nor the new ncurses.h)&lt;br /&gt;
mrinal@ms-dell:~/C_Progs$ &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;ls -l /usr/include/*curs*&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;ls: cannot access *curs*: No such file or directory&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This means the packages for curses (and/or ncurses) library are missing. To fix this, I did this:&lt;br /&gt;
&lt;br /&gt;
mrinal@ms-dell:~/C_Progs$ &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;sudo apt-get install libncurses5-dev libncursesw5-dev&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
[sudo] password for mrinal:&lt;br /&gt;
&lt;i&gt;Reading package lists... Done&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Building dependency tree &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Reading state information... Done&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;The following packages were automatically installed and are no longer required:&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;...&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;After this operation, 2,971 kB of additional disk space will be used.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Do you want to continue [Y/n]? y&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Get:1 http://archive.ubuntu.com/ubuntu/ precise/main libtinfo-dev amd64 5.9-4 [103 kB]&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Get:2 http://archive.ubuntu.com/ubuntu/ precise/main libncurses5-dev amd64 5.9-4 [222 kB]&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Get:3 http://archive.ubuntu.com/ubuntu/ precise/main libncursesw5-dev amd64 5.9-4 [255 kB]&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Fetched 581 kB in 9s (64.0 kB/s) &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;...&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Setting up libtinfo-dev (5.9-4) ...&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Setting up libncurses5-dev (5.9-4) ...&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Setting up libncursesw5-dev (5.9-4) ...&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;mrinal@ms-dell:~/C_Progs$&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
After this, the curses header file is now available in my /usr/include directory:&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
mrinal@ms-dell:~/C_Progs$&lt;span style=&quot;color: red;&quot;&gt; &lt;b&gt;ls -l /usr/include/*cur*&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root &amp;nbsp;6582 Nov 18 &amp;nbsp;2011 /usr/include/cursesapp.h&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root 27630 Nov 18 &amp;nbsp;2011 /usr/include/cursesf.h&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root 76291 Nov 18 &amp;nbsp;2011 /usr/include/curses.h&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;...&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root &amp;nbsp;7304 Nov 18 &amp;nbsp;2011 /usr/include/cursslk.h&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root &amp;nbsp;3925 Nov 18 &amp;nbsp;2011 /usr/include/ncurses_dll.h&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;lrwxrwxrwx 1 root root &amp;nbsp; &amp;nbsp; 8 Nov 18 &amp;nbsp;2011&lt;b&gt; /usr/include/ncurses.h -&amp;gt; curses.h&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;/usr/include/ncursesw:&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;total 352&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root &amp;nbsp;6591 Nov 18 &amp;nbsp;2011 cursesapp.h&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root 27648 Nov 18 &amp;nbsp;2011 cursesf.h&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;-rw-r--r-- 1 root root 93685 Nov 18 &amp;nbsp;2011 curses.h&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root 19522 Nov 18 &amp;nbsp;2011 cursesm.h&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;...&lt;/i&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root 40299 Nov 18 &amp;nbsp;2011 term.h&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root 12534 Nov 18 &amp;nbsp;2011 tic.h&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;-rw-r--r-- 1 root root &amp;nbsp;3108 Nov 18 &amp;nbsp;2011 unctrl.h&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;i&gt;And the program compiles successfully:&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;mrinal@ms-dell:~/C_Progs$ &lt;/i&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;gcc screen1.c -o ans -lcurses&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
And executes successfully too.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
mrinal@ms-dell:~/C_Progs$ &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;./ans&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&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/AVvXsEh7NYGvovX3uCW04E_SgVXIzEobjjas1-X1En0Z_wPY6xMrW-faV0Jm2rTUvpiJM881JUbG7pqyM3oMF5uw4UapNpL34EgnCuIInptSZK6g9PHc7Ld_Ss3jbxN4agb4nzw4PdGh3FA_bRUs/s1600/Screenshot+from+2013-10-02+06:06:26.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7NYGvovX3uCW04E_SgVXIzEobjjas1-X1En0Z_wPY6xMrW-faV0Jm2rTUvpiJM881JUbG7pqyM3oMF5uw4UapNpL34EgnCuIInptSZK6g9PHc7Ld_Ss3jbxN4agb4nzw4PdGh3FA_bRUs/s640/Screenshot+from+2013-10-02+06:06:26.png&quot; height=&quot;300&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/2991123085017952316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/10/so-i-tried-this-simple-program-to-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/2991123085017952316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/2991123085017952316'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/10/so-i-tried-this-simple-program-to-test.html' title='Linux Howto: Missing curses/ncurses Library Ubuntu 12.04'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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/AVvXsEh7NYGvovX3uCW04E_SgVXIzEobjjas1-X1En0Z_wPY6xMrW-faV0Jm2rTUvpiJM881JUbG7pqyM3oMF5uw4UapNpL34EgnCuIInptSZK6g9PHc7Ld_Ss3jbxN4agb4nzw4PdGh3FA_bRUs/s72-c/Screenshot+from+2013-10-02+06:06:26.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-3033734197696716398</id><published>2013-09-08T16:29:00.000-07:00</published><updated>2014-09-10T17:25:34.903-07:00</updated><title type='text'>How to do Group Video Meeting on Google Hangout</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;With Google Hangout we can do a Group Video Meeting of upto 10 users for FREE.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Heres how:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b&gt;&lt;span style=&quot;color: red; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Pre-requisites for Video Meeting on Google Hangout:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1- a Google Gmail account&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2- a computer/device with video camera, mike and speakers*&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;3- high speed Internet (at least 1Mbps is recommended)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;*If using external camera, mike and speakers, make sure they are the default in Google (see below)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: red; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;How to use:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1-&lt;b&gt; Login to your Gmail account --&amp;nbsp;&lt;/b&gt;make sure you are not logged into any other video service like Skype as it can interfere with Google when it tries to access your camera, mike or speaker.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2- &lt;b&gt;Click Contact --&amp;nbsp;&lt;/b&gt;On the left side of your Gmail screen, you have all your contacts. Click the contact name you want to video with. A new window will pop up--this is the Hangout window.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;3- &lt;b&gt;Settings --&amp;nbsp;&lt;/b&gt;On the top right of the Hangout window, click the &#39;Settings&#39; icon -- it looks like a gear.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;3a- When you click the Settings, you will see your default camera, mike and speakers -- make sure they are are listed and are the correct device. For eg, if your computer has an integrated camera and you are using another USB camera, then choose which camera Google should use.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;4- &lt;b&gt;Invite --&amp;nbsp;&lt;/b&gt;To add more people to the meeting, click the &#39;Invite People&#39; on the left side of the hangout window.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;5- &lt;b&gt;Meet --&amp;nbsp;&lt;/b&gt;Once they accept the invite everyone would be in the same Hangout video meeting and would be able to see each other.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;6- &lt;b&gt;To End --&amp;nbsp;&lt;/b&gt;To end the meeting, click the icon on the &#39;Exit&#39; button on the top right (Telephone receiver with a downward pointing arrow)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;Note:&lt;/b&gt; When doing video meetings, the recommendation is that same person who starts the hangout meeting, adds the remaining invitees. If everyone tries to invite everyone else, Google gets confused.&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/3033734197696716398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/09/how-to-do-group-video-meeting-on-google.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3033734197696716398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3033734197696716398'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/09/how-to-do-group-video-meeting-on-google.html' title='How to do Group Video Meeting on Google Hangout'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-5517290581798860771</id><published>2013-05-08T11:45:00.002-07:00</published><updated>2013-05-08T22:23:50.662-07:00</updated><title type='text'>Linux - Compiling a kernel steps:</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 ~]# cd /tmp&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 tmp]# mkdir mskernel&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 tmp]# cd mskernel&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 mskernel]# uname -a&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Linux redhat4 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 mskernel]# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.12.tar.xz&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
--2013-05-08 09:56:32-- &amp;nbsp;https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.12.tar.xz&lt;br /&gt;
Resolving www.kernel.org... 198.145.20.140, 149.20.4.69&lt;br /&gt;
Connecting to www.kernel.org|198.145.20.140|:443... connected.&lt;br /&gt;
HTTP request sent, awaiting response... 200 OK&lt;br /&gt;
Length: 71001428 (68M) [application/x-xz]&lt;br /&gt;
Saving to: “linux-3.8.12.tar.xz”&lt;br /&gt;
&lt;br /&gt;
100%[===========================================================================&amp;gt;] 71,001,428 &amp;nbsp;5.21M/s &amp;nbsp; in 12s &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
2013-05-08 09:56:44 (5.70 MB/s) - “linux-3.8.12.tar.xz” saved [71001428/71001428]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 mskernel]# tar xvJf linux-3.8.12.tar.xz&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
linux-3.8.12/&lt;br /&gt;
linux-3.8.12/.gitignore&lt;br /&gt;
linux-3.8.12/.mailmap&lt;br /&gt;
linux-3.8.12/COPYING&lt;br /&gt;
linux-3.8.12/CREDITS&lt;br /&gt;
linux-3.8.12/Documentation/&lt;br /&gt;
linux-3.8.12/Documentation/.gitignore&lt;br /&gt;
linux-3.8.12/Documentation/00-INDEX&lt;br /&gt;
linux-3.8.12/Documentation/ABI/&lt;br /&gt;
linux-3.8.12/Documentation/ABI/README&lt;br /&gt;
linux-3.8.12/Documentation/ABI/obsolete/&lt;br /&gt;
linux-3.8.12/Documentation/ABI/obsolete/proc-sys-vm-nr_pdflush_threads&lt;br /&gt;
linux-3.8.12/Documentation/ABI/obsolete/sysfs-bus-usb&lt;br /&gt;
linux-3.8.12/Documentation/ABI/obsolete/sysfs-class-rfkill&lt;br /&gt;
linux-3.8.12/Documentation/ABI/obsolete/sysfs-driver-hid-roccat-koneplus&lt;br /&gt;
linux-3.8.12/Documentation/ABI/obsolete/sysfs-driver-hid-roccat-kovaplus&lt;br /&gt;
linux-3.8.12/Documentation/ABI/obsolete/sysfs-driver-hid-roccat-pyra&lt;br /&gt;
linux-3.8.12/Documentation/ABI/removed/&lt;br /&gt;
linux-3.8.12/Documentation/ABI/removed/devfs&lt;br /&gt;
linux-3.8.12/Documentation/ABI/removed/dv1394&lt;br /&gt;
linux-3.8.12/Documentation/ABI/removed/ip_queue&lt;br /&gt;
linux-3.8.12/Documentation/ABI/removed/o2cb&lt;br /&gt;
linux-3.8.12/Documentation/ABI/removed/raw1394&lt;br /&gt;
linux-3.8.12/Documentation/ABI/removed/video1394&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 linux-3.8.12]# make menuconfig&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/basic/fixdep&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/kconfig/conf.o&lt;br /&gt;
&amp;nbsp;*** Unable to find the ncurses libraries or the&lt;br /&gt;
&amp;nbsp;*** required header files.&lt;br /&gt;
&amp;nbsp;*** &#39;make menuconfig&#39; requires the ncurses libraries.&lt;br /&gt;
&amp;nbsp;***&lt;br /&gt;
&amp;nbsp;*** Install ncurses (ncurses-devel) and try again.&lt;br /&gt;
&amp;nbsp;***&lt;br /&gt;
make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1&lt;br /&gt;
make: *** [menuconfig] Error 2&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To overcome this error, I ran -&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 linux-3.8.12]# yum install ncurses-devel -y&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;This installed the missing packages and then re-ran menuconfig (see below):&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 linux-3.8.12]# make menuconfig&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/kconfig/conf.o&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/kconfig/lxdialog/checklist.o&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/kconfig/lxdialog/inputbox.o&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/kconfig/lxdialog/menubox.o&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/kconfig/lxdialog/textbox.o&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/kconfig/lxdialog/util.o&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/kconfig/lxdialog/yesno.o&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/kconfig/mconf.o&lt;br /&gt;
&amp;nbsp; SHIPPED scripts/kconfig/zconf.tab.c&lt;br /&gt;
&amp;nbsp; SHIPPED scripts/kconfig/zconf.lex.c&lt;br /&gt;
&amp;nbsp; SHIPPED scripts/kconfig/zconf.hash.c&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/kconfig/zconf.tab.o&lt;br /&gt;
&amp;nbsp; HOSTLD &amp;nbsp;scripts/kconfig/mconf&lt;br /&gt;
scripts/kconfig/mconf Kconfig&lt;br /&gt;
#&lt;br /&gt;
# using defaults found in /boot/config-2.6.32-220.el6.x86_64&lt;br /&gt;
#&lt;br /&gt;
/boot/config-2.6.32-220.el6.x86_64:555:warning: symbol value &#39;m&#39; invalid for PCCARD_NONSTATIC&lt;br /&gt;
/boot/config-2.6.32-220.el6.x86_64:2567:warning: symbol value &#39;m&#39; invalid for MFD_WM8400&lt;br /&gt;
/boot/config-2.6.32-220.el6.x86_64:2568:warning: symbol value &#39;m&#39; invalid for MFD_WM831X&lt;br /&gt;
/boot/config-2.6.32-220.el6.x86_64:2569:warning: symbol value &#39;m&#39; invalid for MFD_WM8350&lt;br /&gt;
/boot/config-2.6.32-220.el6.x86_64:2582:warning: symbol value &#39;m&#39; invalid for MFD_WM8350_I2C&lt;br /&gt;
/boot/config-2.6.32-220.el6.x86_64:2584:warning: symbol value &#39;m&#39; invalid for AB3100_CORE&lt;br /&gt;
/boot/config-2.6.32-220.el6.x86_64:3502:warning: symbol value &#39;m&#39; invalid for MMC_RICOH_MMC&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The menuconfig option allows gui based kernel configuration (see sample config menus here)&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/AVvXsEgx9RoxWB_h-_7bCL8t_781Vtklr6O3GViGyarBUNZUJ5SzmxtpuRzmxayvJKV1Fsaix6NyNPpLBz6-XHiHCYa9X0YsWiddaYY68ut56OAZ0PjeTJhm3GoLVXaAzMuFwdotfZ15m025YUSo/s1600/config-1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;547&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx9RoxWB_h-_7bCL8t_781Vtklr6O3GViGyarBUNZUJ5SzmxtpuRzmxayvJKV1Fsaix6NyNPpLBz6-XHiHCYa9X0YsWiddaYY68ut56OAZ0PjeTJhm3GoLVXaAzMuFwdotfZ15m025YUSo/s640/config-1.png&quot; width=&quot;640&quot; /&gt;&lt;/a&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/AVvXsEjY2znF2LKx-ByXkhs56RUbb608fCpmlhNNpek29nnS1UzWos0JbncFK9dYC4E8xWRGAfKS69qHkMCTiKN4X4Cb4OTQFzyUAaSuIWN3siJit4Yy95z_UUV516mz8vxfev0tb-mGk3PXKdgQ/s1600/config-2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;546&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY2znF2LKx-ByXkhs56RUbb608fCpmlhNNpek29nnS1UzWos0JbncFK9dYC4E8xWRGAfKS69qHkMCTiKN4X4Cb4OTQFzyUAaSuIWN3siJit4Yy95z_UUV516mz8vxfev0tb-mGk3PXKdgQ/s640/config-2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
...&lt;br /&gt;
&lt;b&gt;Once satisfied, save changes&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/AVvXsEhsklzbOm7hk_dMsatfHt-EEefQ0hkaIC9ujL75GBz-jp4v7tDRRZMl8R30JpaEqJMr2Hsb6bO2-00YP2YXetWb90bl-T0k4o-iUuQdanKAEb6o2IY846lV92ud_oy3D0X6Vzl1P7k0bzU5/s1600/config-3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;546&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsklzbOm7hk_dMsatfHt-EEefQ0hkaIC9ujL75GBz-jp4v7tDRRZMl8R30JpaEqJMr2Hsb6bO2-00YP2YXetWb90bl-T0k4o-iUuQdanKAEb6o2IY846lV92ud_oy3D0X6Vzl1P7k0bzU5/s640/config-3.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
...&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# configuration written to .config&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
*** End of the configuration.&lt;br /&gt;
*** Execute &#39;make&#39; to start the build or try &#39;make help&#39;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Then run make..&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 linux-3.8.12]# make&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; HOSTLD &amp;nbsp;scripts/kconfig/conf&lt;br /&gt;
scripts/kconfig/conf --silentoldconfig Kconfig&lt;br /&gt;
&amp;nbsp; SYSHDR &amp;nbsp;arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h&lt;br /&gt;
&amp;nbsp; SYSHDR &amp;nbsp;arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h&lt;br /&gt;
&amp;nbsp; SYSHDR &amp;nbsp;arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h&lt;br /&gt;
&amp;nbsp; SYSTBL &amp;nbsp;arch/x86/syscalls/../include/generated/asm/syscalls_32.h&lt;br /&gt;
&amp;nbsp; SYSHDR &amp;nbsp;arch/x86/syscalls/../include/generated/asm/unistd_32_ia32.h&lt;br /&gt;
&amp;nbsp; SYSHDR &amp;nbsp;arch/x86/syscalls/../include/generated/asm/unistd_64_x32.h&lt;br /&gt;
&amp;nbsp; SYSTBL &amp;nbsp;arch/x86/syscalls/../include/generated/asm/syscalls_64.h&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;arch/x86/tools/relocs&lt;br /&gt;
&amp;nbsp; WRAP &amp;nbsp; &amp;nbsp;arch/x86/include/generated/asm/clkdev.h&lt;br /&gt;
&amp;nbsp; CHK &amp;nbsp; &amp;nbsp; include/generated/uapi/linux/version.h&lt;br /&gt;
&amp;nbsp; UPD &amp;nbsp; &amp;nbsp; include/generated/uapi/linux/version.h&lt;br /&gt;
&amp;nbsp; CHK &amp;nbsp; &amp;nbsp; include/generated/utsrelease.h&lt;br /&gt;
&amp;nbsp; UPD &amp;nbsp; &amp;nbsp; include/generated/utsrelease.h&lt;br /&gt;
&amp;nbsp; CC &amp;nbsp; &amp;nbsp; &amp;nbsp;kernel/bounds.s&lt;br /&gt;
&amp;nbsp; GEN &amp;nbsp; &amp;nbsp; include/generated/bounds.h&lt;br /&gt;
&amp;nbsp; CC &amp;nbsp; &amp;nbsp; &amp;nbsp;arch/x86/kernel/asm-offsets.s&lt;br /&gt;
&amp;nbsp; GEN &amp;nbsp; &amp;nbsp; include/generated/asm-offsets.h&lt;br /&gt;
&amp;nbsp; CALL &amp;nbsp; &amp;nbsp;scripts/checksyscalls.sh&lt;br /&gt;
&amp;nbsp; HOSTCC &amp;nbsp;scripts/genksyms/genksyms.o&lt;br /&gt;
&lt;br /&gt;
.....&lt;br /&gt;
&lt;b&gt;after about 2 hours...&lt;/b&gt;&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;IHEX &amp;nbsp; &amp;nbsp;firmware/mts_gsm.fw&lt;br /&gt;
&amp;nbsp; IHEX &amp;nbsp; &amp;nbsp;firmware/mts_edge.fw&lt;br /&gt;
&amp;nbsp; H16TOFW firmware/edgeport/boot.fw&lt;br /&gt;
&amp;nbsp; H16TOFW firmware/edgeport/boot2.fw&lt;br /&gt;
&amp;nbsp; H16TOFW firmware/edgeport/down.fw&lt;br /&gt;
&amp;nbsp; H16TOFW firmware/edgeport/down2.fw&lt;br /&gt;
&amp;nbsp; IHEX &amp;nbsp; &amp;nbsp;firmware/edgeport/down3.bin&lt;br /&gt;
&amp;nbsp; IHEX2FW firmware/whiteheat_loader.fw&lt;br /&gt;
&amp;nbsp; IHEX2FW firmware/whiteheat.fw&lt;br /&gt;
&amp;nbsp; IHEX2FW firmware/keyspan_pda/keyspan_pda.fw&lt;br /&gt;
&amp;nbsp; IHEX2FW firmware/keyspan_pda/xircom_pgs.fw&lt;br /&gt;
[root@redhat4 linux-3.8.12]#&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 linux-3.8.12]# make modules_install&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL Documentation/connector/cn_test.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL Documentation/filesystems/configfs/configfs_example_explicit.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL Documentation/filesystems/configfs/configfs_example_macros.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/crypto/ablk_helper.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/crypto/aes-x86_64.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/crypto/aesni-intel.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/crypto/crc32c-intel.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/crypto/ghash-clmulni-intel.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/crypto/salsa20-x86_64.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/crypto/twofish-x86_64.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/kernel/cpu/mcheck/mce-inject.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/kernel/microcode.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/kernel/test_nx.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/kvm/kvm-amd.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/kvm/kvm-intel.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/kvm/kvm.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL arch/x86/oprofile/oprofile.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL crypto/ansi_cprng.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL crypto/anubis.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL crypto/arc4.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL crypto/async_tx/async_memcpy.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL crypto/async_tx/async_pq.ko&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL crypto/async_tx/async_raid6_recov.ko&lt;/div&gt;
&lt;div&gt;
.....&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/ti_3410.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/ti_5052.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/mts_cdma.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/mts_gsm.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/mts_edge.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/edgeport/boot.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/edgeport/boot2.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/edgeport/down.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/edgeport/down2.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/edgeport/down3.bin&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/whiteheat_loader.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/whiteheat.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/keyspan_pda/keyspan_pda.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; INSTALL /lib/firmware/keyspan_pda/xircom_pgs.fw&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; DEPMOD &amp;nbsp;3.8.12&lt;/div&gt;
&lt;div&gt;
[root@redhat4 linux-3.8.12]#&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;[root@redhat4 linux-3.8.12]# make install&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
sh /tmp/mskernel/linux-3.8.12/arch/x86/boot/install.sh 3.8.12 arch/x86/boot/bzImage \&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;System.map &quot;/boot&quot;&lt;/div&gt;
&lt;div&gt;
[root@redhat4 grub]#&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Then you can cd to /boot dir and verify the new kernel is present there..&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;[root@redhat4 boot]# cd /boot&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;[root@redhat4 boot]# ls -lart&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
total 45631&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. &amp;nbsp;1 root root &amp;nbsp; &amp;nbsp; &amp;nbsp;166 Nov &amp;nbsp;9 &amp;nbsp;2011 .vmlinuz-2.6.32-220.el6.x86_64.hmac&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. &amp;nbsp;1 root root &amp;nbsp;2312369 Nov &amp;nbsp;9 &amp;nbsp;2011 System.map-2.6.32-220.el6.x86_64&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. &amp;nbsp;1 root root &amp;nbsp; 100943 Nov &amp;nbsp;9 &amp;nbsp;2011 config-2.6.32-220.el6.x86_64&lt;/div&gt;
&lt;div&gt;
-rwxr-xr-x. &amp;nbsp;1 root root &amp;nbsp;3938800 Nov &amp;nbsp;9 &amp;nbsp;2011 vmlinuz-2.6.32-220.el6.x86_64&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. &amp;nbsp;1 root root &amp;nbsp; 171087 Nov &amp;nbsp;9 &amp;nbsp;2011 symvers-2.6.32-220.el6.x86_64.gz&lt;/div&gt;
&lt;div&gt;
drwx------. &amp;nbsp;2 root root &amp;nbsp; &amp;nbsp;12288 Jun 19 &amp;nbsp;2012 lost+found&lt;/div&gt;
&lt;div&gt;
drwxr-xr-x. &amp;nbsp;3 root root &amp;nbsp; &amp;nbsp; 1024 Jun 19 &amp;nbsp;2012 efi&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. &amp;nbsp;1 root root 15558855 Jun 19 &amp;nbsp;2012 initramfs-2.6.32-220.el6.x86_64.img&lt;/div&gt;
&lt;div&gt;
-rw-------. &amp;nbsp;1 root root &amp;nbsp;4301773 Jun 19 &amp;nbsp;2012 initrd-2.6.32-220.el6.x86_64kdump.img&lt;/div&gt;
&lt;div&gt;
dr-xr-xr-x. 25 root root &amp;nbsp; &amp;nbsp; 4096 Mar &amp;nbsp;5 08:56 ..&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. &amp;nbsp;1 root root &amp;nbsp;4272784 May &amp;nbsp;8 11:36&lt;b&gt; vmlinuz-3.8.12&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
lrwxrwxrwx. &amp;nbsp;1 root root &amp;nbsp; &amp;nbsp; &amp;nbsp; 20 May &amp;nbsp;8 11:36 &lt;b&gt;vmlinuz -&amp;gt; /boot/vmlinuz-3.8.12&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. &amp;nbsp;1 root root &amp;nbsp;2621147 May &amp;nbsp;8 11:36 &lt;b&gt;System.map-3.8.12&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
lrwxrwxrwx. &amp;nbsp;1 root root &amp;nbsp; &amp;nbsp; &amp;nbsp; 23 May &amp;nbsp;8 11:36 &lt;b&gt;System.map -&amp;gt; /boot/System.map-3.8.12&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
dr-xr-xr-x. &amp;nbsp;5 root root &amp;nbsp; &amp;nbsp; 1024 May &amp;nbsp;8 11:37 .&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. &amp;nbsp;1 root root 13406914 May &amp;nbsp;8 11:37 &lt;b&gt;initramfs-3.8.12.img&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
drwxr-xr-x. &amp;nbsp;2 root root &amp;nbsp; &amp;nbsp; 1024 May &amp;nbsp;8 11:37 &lt;b&gt;grub&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;[root@redhat4 grub]# cd /boot/grub&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;[root@redhat4 grub]# ls -lart&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
total 279&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp; 1341 May &amp;nbsp;6 &amp;nbsp;2010 splash.xpm.gz&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;13964 Jun 19 &amp;nbsp;2012 xfs_stage1_5&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;11364 Jun 19 &amp;nbsp;2012 vstafs_stage1_5&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;12024 Jun 19 &amp;nbsp;2012 ufs2_stage1_5&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp; &amp;nbsp;512 Jun 19 &amp;nbsp;2012 stage1&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;14412 Jun 19 &amp;nbsp;2012 reiserfs_stage1_5&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;11956 Jun 19 &amp;nbsp;2012 minix_stage1_5&lt;/div&gt;
&lt;div&gt;
lrwxrwxrwx. 1 root root &amp;nbsp; &amp;nbsp; 11 Jun 19 &amp;nbsp;2012 menu.lst -&amp;gt; ./grub.conf&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;13268 Jun 19 &amp;nbsp;2012 jfs_stage1_5&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;11756 Jun 19 &amp;nbsp;2012 iso9660_stage1_5&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;11748 Jun 19 &amp;nbsp;2012 ffs_stage1_5&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;12620 Jun 19 &amp;nbsp;2012 fat_stage1_5&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;13380 Jun 19 &amp;nbsp;2012 e2fs_stage1_5&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp; &amp;nbsp; 63 Jun 19 &amp;nbsp;2012 device.map&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root 125976 Jun 19 &amp;nbsp;2012 stage2&lt;/div&gt;
&lt;div&gt;
dr-xr-xr-x. 5 root root &amp;nbsp; 1024 May &amp;nbsp;8 11:37 ..&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;-rw-------. 1 root root &amp;nbsp; 1172 May &amp;nbsp;8 11:37 grub.conf&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
drwxr-xr-x. 2 root root &amp;nbsp; 1024 May &amp;nbsp;8 11:37 .&lt;/div&gt;
&lt;div&gt;
[root@redhat4 grub]#&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;You can verify that the new kernel is now in the grub.conf:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[root@redhat4 grub]# vim grub.conf&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
# grub.conf generated by anaconda&lt;/div&gt;
&lt;div&gt;
#&lt;/div&gt;
&lt;div&gt;
# Note that you do not have to rerun grub after making changes to this file&lt;/div&gt;
&lt;div&gt;
# NOTICE: &amp;nbsp;You have a /boot partition. &amp;nbsp;This means that&lt;/div&gt;
&lt;div&gt;
# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;all kernel and initrd paths are relative to /boot/, eg.&lt;/div&gt;
&lt;div&gt;
# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;root (hd0,0)&lt;/div&gt;
&lt;div&gt;
# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root&lt;/div&gt;
&lt;div&gt;
# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;initrd /initrd-[generic-]version.img&lt;/div&gt;
&lt;div&gt;
#boot=/dev/sda&lt;/div&gt;
&lt;div&gt;
default=1&lt;/div&gt;
&lt;div&gt;
timeout=5&lt;/div&gt;
&lt;div&gt;
splashimage=(hd0,0)/grub/splash.xpm.gz&lt;/div&gt;
&lt;div&gt;
hiddenmenu&lt;/div&gt;
&lt;div&gt;
title Red Hat Enterprise Linux Server (3.8.12)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; root (hd0,0)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt; kernel /vmlinuz-3.8.12&lt;/b&gt; ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto quiet rd_LVM_LV=VolGroup/lv_root &amp;nbsp;KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt; initrd /initramfs-3.8.12.img&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; root (hd0,0)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto quiet rd_LVM_LV=VolGroup/lv_root &amp;nbsp;KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; initrd /initramfs-2.6.32-220.el6.x86_64.img&lt;/div&gt;
&lt;div&gt;
~ &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;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
And thats it.&lt;/div&gt;
&lt;div&gt;
There is tons of useful links on the net eg: &lt;a href=&quot;http://www.blogger.com/%C2%A0http://www.wikihow.com/Compile-the-Linux-Kernel&quot;&gt;this one at wikihow&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/5517290581798860771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/05/compiling-kernel-steps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5517290581798860771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5517290581798860771'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/05/compiling-kernel-steps.html' title='Linux - Compiling a kernel steps:'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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/AVvXsEgx9RoxWB_h-_7bCL8t_781Vtklr6O3GViGyarBUNZUJ5SzmxtpuRzmxayvJKV1Fsaix6NyNPpLBz6-XHiHCYa9X0YsWiddaYY68ut56OAZ0PjeTJhm3GoLVXaAzMuFwdotfZ15m025YUSo/s72-c/config-1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-3232571471726780942</id><published>2013-05-07T16:00:00.000-07:00</published><updated>2013-05-08T11:54:18.964-07:00</updated><title type='text'>Linux - Installing packages from source tarballs:</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;Installing a package using - &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;tar.gz, configure, make, make install steps:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;1- Download the tarball:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
[root@redhat2 linux-2.6.39]# &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;wget http://www.sqlite.org/sqlite-autoconf-3070603.tar.gz&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
--2013-05-07 15:48:52-- &amp;nbsp;http://www.sqlite.org/sqlite-autoconf-3070603.tar.gz&lt;br /&gt;
Resolving www.sqlite.org... 67.18.92.124, 2600:3c00::f03c:91ff:fe96:b959&lt;br /&gt;
Connecting to www.sqlite.org|67.18.92.124|:80... connected.&lt;br /&gt;
HTTP request sent, awaiting response... 200 OK&lt;br /&gt;
Length: 1720314 (1.6M) [application/x-gzip]&lt;br /&gt;
Saving to: “sqlite-autoconf-3070603.tar.gz”&lt;br /&gt;
&lt;br /&gt;
100%[==========================================================================================&amp;gt;] 1,720,314 &amp;nbsp; &amp;nbsp;802K/s &amp;nbsp; in 2.1s &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
2013-05-07 15:48:54 (802 KB/s) - “sqlite-autoconf-3070603.tar.gz” saved [1720314/1720314]&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;2- Extract the tarball:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
root@redhat2 linux-2.6.39]# &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;tar xvfz sqlite-autoconf-3070603.tar.gz&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
sqlite-autoconf-3070603/&lt;br /&gt;
sqlite-autoconf-3070603/tea/&lt;br /&gt;
sqlite-autoconf-3070603/tea/doc/&lt;br /&gt;
sqlite-autoconf-3070603/tea/doc/sqlite3.n&lt;br /&gt;
sqlite-autoconf-3070603/tea/win/&lt;br /&gt;
sqlite-autoconf-3070603/tea/win/rules.vc&lt;br /&gt;
sqlite-autoconf-3070603/tea/win/makefile.vc&lt;br /&gt;
sqlite-autoconf-3070603/tea/win/nmakehlp.c&lt;br /&gt;
sqlite-autoconf-3070603/tea/aclocal.m4&lt;br /&gt;
sqlite-autoconf-3070603/tea/README&lt;br /&gt;
sqlite-autoconf-3070603/tea/configure&lt;br /&gt;
sqlite-autoconf-3070603/tea/configure.in&lt;br /&gt;
sqlite-autoconf-3070603/tea/tclconfig/&lt;br /&gt;
sqlite-autoconf-3070603/tea/tclconfig/install-sh&lt;br /&gt;
sqlite-autoconf-3070603/tea/tclconfig/tcl.m4&lt;br /&gt;
sqlite-autoconf-3070603/tea/generic/&lt;br /&gt;
sqlite-autoconf-3070603/tea/generic/tclsqlite3.c&lt;br /&gt;
sqlite-autoconf-3070603/tea/Makefile.in&lt;br /&gt;
sqlite-autoconf-3070603/tea/license.terms&lt;br /&gt;
sqlite-autoconf-3070603/tea/pkgIndex.tcl.in&lt;br /&gt;
sqlite-autoconf-3070603/depcomp&lt;br /&gt;
sqlite-autoconf-3070603/sqlite3.pc&lt;br /&gt;
sqlite-autoconf-3070603/aclocal.m4&lt;br /&gt;
sqlite-autoconf-3070603/README&lt;br /&gt;
sqlite-autoconf-3070603/ltmain.sh&lt;br /&gt;
sqlite-autoconf-3070603/configure&lt;br /&gt;
sqlite-autoconf-3070603/shell.c&lt;br /&gt;
sqlite-autoconf-3070603/configure.ac&lt;br /&gt;
sqlite-autoconf-3070603/config.guess&lt;br /&gt;
sqlite-autoconf-3070603/install-sh&lt;br /&gt;
sqlite-autoconf-3070603/config.sub&lt;br /&gt;
sqlite-autoconf-3070603/missing&lt;br /&gt;
sqlite-autoconf-3070603/sqlite3.1&lt;br /&gt;
sqlite-autoconf-3070603/sqlite3.c&lt;br /&gt;
sqlite-autoconf-3070603/sqlite3.h&lt;br /&gt;
sqlite-autoconf-3070603/Makefile.am&lt;br /&gt;
sqlite-autoconf-3070603/Makefile.in&lt;br /&gt;
sqlite-autoconf-3070603/sqlite3ext.h&lt;br /&gt;
sqlite-autoconf-3070603/INSTALL&lt;br /&gt;
sqlite-autoconf-3070603/sqlite3.pc.in&lt;br /&gt;
[root@redhat2 linux-2.6.39]# cd sqlite-autoconf-3070603&lt;br /&gt;
[root@redhat2 sqlite-autoconf-3070603]# ls&lt;br /&gt;
aclocal.m4 &amp;nbsp; &amp;nbsp;config.sub &amp;nbsp;configure.ac &amp;nbsp;INSTALL &amp;nbsp; &amp;nbsp; ltmain.sh &amp;nbsp; &amp;nbsp;Makefile.in &amp;nbsp;README &amp;nbsp; sqlite3.1 &amp;nbsp;sqlite3ext.h &amp;nbsp;sqlite3.pc &amp;nbsp; &amp;nbsp; tea&lt;br /&gt;
config.guess &amp;nbsp;configure &amp;nbsp; depcomp &amp;nbsp; &amp;nbsp; &amp;nbsp; install-sh &amp;nbsp;Makefile.am &amp;nbsp;missing &amp;nbsp; &amp;nbsp; &amp;nbsp;shell.c &amp;nbsp;sqlite3.c &amp;nbsp;sqlite3.h &amp;nbsp; &amp;nbsp; sqlite3.pc.in&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;3- Configure the source:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
[root@redhat2 sqlite-autoconf-3070603]# &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;./configure&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
checking for a BSD-compatible install... /usr/bin/install -c&lt;br /&gt;
checking whether build environment is sane... yes&lt;br /&gt;
checking for gawk... gawk&lt;br /&gt;
checking whether make sets $(MAKE)... yes&lt;br /&gt;
checking for style of include used by make... GNU&lt;br /&gt;
checking for gcc... gcc&lt;br /&gt;
checking for C compiler default output file name... a.out&lt;br /&gt;
checking whether the C compiler works... yes&lt;br /&gt;
checking whether we are cross compiling... no&lt;br /&gt;
checking for suffix of executables...&lt;br /&gt;
checking for suffix of object files... o&lt;br /&gt;
checking whether we are using the GNU C compiler... yes&lt;br /&gt;
checking whether gcc accepts -g... yes&lt;br /&gt;
checking for gcc option to accept ISO C89... none needed&lt;br /&gt;
checking dependency style of gcc... gcc3&lt;br /&gt;
checking for special C compiler options needed for large files... no&lt;br /&gt;
checking for _FILE_OFFSET_BITS value needed for large files... no&lt;br /&gt;
checking for gcc... (cached) gcc&lt;br /&gt;
checking whether we are using the GNU C compiler... (cached) yes&lt;br /&gt;
checking whether gcc accepts -g... (cached) yes&lt;br /&gt;
checking for gcc option to accept ISO C89... (cached) none needed&lt;br /&gt;
checking dependency style of gcc... (cached) gcc3&lt;br /&gt;
checking for ranlib... ranlib&lt;br /&gt;
checking build system type... x86_64-unknown-linux-gnu&lt;br /&gt;
checking host system type... x86_64-unknown-linux-gnu&lt;br /&gt;
checking for a sed that does not truncate output... /bin/sed&lt;br /&gt;
checking for grep that handles long lines and -e... /bin/grep&lt;br /&gt;
checking for egrep... /bin/grep -E&lt;br /&gt;
checking for ld used by gcc... /usr/bin/ld&lt;br /&gt;
checking if the linker (/usr/bin/ld) is GNU ld... yes&lt;br /&gt;
checking for /usr/bin/ld option to reload object files... -r&lt;br /&gt;
checking for BSD-compatible nm... /usr/bin/nm -B&lt;br /&gt;
checking whether ln -s works... yes&lt;br /&gt;
checking how to recognise dependent libraries... pass_all&lt;br /&gt;
checking how to run the C preprocessor... gcc -E&lt;br /&gt;
checking for ANSI C header files... yes&lt;br /&gt;
checking for sys/types.h... yes&lt;br /&gt;
checking for sys/stat.h... yes&lt;br /&gt;
checking for stdlib.h... yes&lt;br /&gt;
checking for string.h... yes&lt;br /&gt;
checking for memory.h... yes&lt;br /&gt;
checking for strings.h... yes&lt;br /&gt;
checking for inttypes.h... yes&lt;br /&gt;
checking for stdint.h... yes&lt;br /&gt;
checking for unistd.h... yes&lt;br /&gt;
checking dlfcn.h usability... yes&lt;br /&gt;
checking dlfcn.h presence... yes&lt;br /&gt;
checking for dlfcn.h... yes&lt;br /&gt;
checking for g++... no&lt;br /&gt;
checking for c++... no&lt;br /&gt;
checking for gpp... no&lt;br /&gt;
checking for aCC... no&lt;br /&gt;
checking for CC... no&lt;br /&gt;
checking for cxx... no&lt;br /&gt;
checking for cc++... no&lt;br /&gt;
checking for cl.exe... no&lt;br /&gt;
checking for FCC... no&lt;br /&gt;
checking for KCC... no&lt;br /&gt;
checking for RCC... no&lt;br /&gt;
checking for xlC_r... no&lt;br /&gt;
checking for xlC... no&lt;br /&gt;
checking whether we are using the GNU C++ compiler... no&lt;br /&gt;
checking whether g++ accepts -g... no&lt;br /&gt;
checking dependency style of g++... none&lt;br /&gt;
checking for g77... no&lt;br /&gt;
checking for xlf... no&lt;br /&gt;
checking for f77... no&lt;br /&gt;
checking for frt... no&lt;br /&gt;
checking for pgf77... no&lt;br /&gt;
checking for cf77... no&lt;br /&gt;
checking for fort77... no&lt;br /&gt;
checking for fl32... no&lt;br /&gt;
checking for af77... no&lt;br /&gt;
checking for xlf90... no&lt;br /&gt;
checking for f90... no&lt;br /&gt;
checking for pgf90... no&lt;br /&gt;
checking for pghpf... no&lt;br /&gt;
checking for epcf90... no&lt;br /&gt;
checking for gfortran... no&lt;br /&gt;
checking for g95... no&lt;br /&gt;
checking for xlf95... no&lt;br /&gt;
checking for f95... no&lt;br /&gt;
checking for fort... no&lt;br /&gt;
checking for ifort... no&lt;br /&gt;
checking for ifc... no&lt;br /&gt;
checking for efc... no&lt;br /&gt;
checking for pgf95... no&lt;br /&gt;
checking for lf95... no&lt;br /&gt;
checking for ftn... no&lt;br /&gt;
checking whether we are using the GNU Fortran 77 compiler... no&lt;br /&gt;
checking whether &amp;nbsp;accepts -g... no&lt;br /&gt;
checking the maximum length of command line arguments... 32768&lt;br /&gt;
checking command to parse /usr/bin/nm -B output from gcc object... ok&lt;br /&gt;
checking for objdir... .libs&lt;br /&gt;
checking for ar... ar&lt;br /&gt;
checking for ranlib... (cached) ranlib&lt;br /&gt;
checking for strip... strip&lt;br /&gt;
checking if gcc supports -fno-rtti -fno-exceptions... no&lt;br /&gt;
checking for gcc option to produce PIC... -fPIC&lt;br /&gt;
checking if gcc PIC flag -fPIC works... yes&lt;br /&gt;
checking if gcc static flag -static works... no&lt;br /&gt;
checking if gcc supports -c -o file.o... yes&lt;br /&gt;
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes&lt;br /&gt;
checking whether -lc should be explicitly linked in... no&lt;br /&gt;
checking dynamic linker characteristics... GNU/Linux ld.so&lt;br /&gt;
checking how to hardcode library paths into programs... immediate&lt;br /&gt;
checking whether stripping libraries is possible... yes&lt;br /&gt;
checking if libtool supports shared libraries... yes&lt;br /&gt;
checking whether to build shared libraries... yes&lt;br /&gt;
checking whether to build static libraries... yes&lt;br /&gt;
configure: creating libtool&lt;br /&gt;
appending configuration tag &quot;CXX&quot; to libtool&lt;br /&gt;
appending configuration tag &quot;F77&quot; to libtool&lt;br /&gt;
checking for a thread-safe mkdir -p... /bin/mkdir -p&lt;br /&gt;
checking for fdatasync... yes&lt;br /&gt;
checking for usleep... yes&lt;br /&gt;
checking for fullfsync... no&lt;br /&gt;
checking for localtime_r... yes&lt;br /&gt;
checking for gmtime_r... yes&lt;br /&gt;
checking whether strerror_r is declared... yes&lt;br /&gt;
checking for strerror_r... yes&lt;br /&gt;
checking whether strerror_r returns char *... no&lt;br /&gt;
checking for library containing tgetent... no&lt;br /&gt;
checking for library containing readline... no&lt;br /&gt;
checking for readline... no&lt;br /&gt;
checking for library containing pthread_create... -lpthread&lt;br /&gt;
checking for library containing dlopen... -ldl&lt;br /&gt;
checking for whether to support dynamic extensions... yes&lt;br /&gt;
checking for posix_fallocate... yes&lt;br /&gt;
configure: creating ./config.status&lt;br /&gt;
config.status: creating Makefile&lt;br /&gt;
config.status: creating sqlite3.pc&lt;br /&gt;
config.status: executing depfiles commands&lt;br /&gt;
[root@redhat2 sqlite-autoconf-3070603]# ls&lt;br /&gt;
aclocal.m4 &amp;nbsp; &amp;nbsp;config.status &amp;nbsp;configure.ac &amp;nbsp;install-sh &amp;nbsp;Makefile &amp;nbsp; &amp;nbsp; missing &amp;nbsp;sqlite3.1 &amp;nbsp; &amp;nbsp; sqlite3.h &amp;nbsp; &amp;nbsp; &amp;nbsp;tea&lt;br /&gt;
config.guess &amp;nbsp;config.sub &amp;nbsp; &amp;nbsp; depcomp &amp;nbsp; &amp;nbsp; &amp;nbsp; libtool &amp;nbsp; &amp;nbsp; Makefile.am &amp;nbsp;README &amp;nbsp; sqlite3.c &amp;nbsp; &amp;nbsp; sqlite3.pc&lt;br /&gt;
config.log &amp;nbsp; &amp;nbsp;configure &amp;nbsp; &amp;nbsp; &amp;nbsp;INSTALL &amp;nbsp; &amp;nbsp; &amp;nbsp; ltmain.sh &amp;nbsp; Makefile.in &amp;nbsp;shell.c &amp;nbsp;sqlite3ext.h &amp;nbsp;sqlite3.pc.in&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;4- Compile the source:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
[root@redhat2 sqlite-autoconf-3070603]#&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt; make&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
if /bin/sh ./libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\&quot;sqlite\&quot; -DPACKAGE_TARNAME=\&quot;sqlite\&quot; -DPACKAGE_VERSION=\&quot;3.7.6.3\&quot; -DPACKAGE_STRING=\&quot;sqlite\ 3.7.6.3\&quot; -DPACKAGE_BUGREPORT=\&quot;http://www.sqlite.org\&quot; -DPACKAGE=\&quot;sqlite\&quot; -DVERSION=\&quot;3.7.6.3\&quot; -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_POSIX_FALLOCATE=1 -I. -I. &amp;nbsp; &amp;nbsp;-D_REENTRANT=1 -DSQLITE_THREADSAFE=1 &amp;nbsp;-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -MT sqlite3.lo -MD -MP -MF &quot;.deps/sqlite3.Tpo&quot; -c -o sqlite3.lo sqlite3.c; \&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then mv -f &quot;.deps/sqlite3.Tpo&quot; &quot;.deps/sqlite3.Plo&quot;; else rm -f &quot;.deps/sqlite3.Tpo&quot;; exit 1; fi&lt;/div&gt;
&lt;div&gt;
mkdir .libs&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;gcc -DPACKAGE_NAME=\&quot;sqlite\&quot; -DPACKAGE_TARNAME=\&quot;sqlite\&quot; -DPACKAGE_VERSION=\&quot;3.7.6.3\&quot; &quot;-DPACKAGE_STRING=\&quot;sqlite 3.7.6.3\&quot;&quot; -DPACKAGE_BUGREPORT=\&quot;http://www.sqlite.org\&quot; -DPACKAGE=\&quot;sqlite\&quot; -DVERSION=\&quot;3.7.6.3\&quot; -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_POSIX_FALLOCATE=1 -I. -I. -D_REENTRANT=1 -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -MT sqlite3.lo -MD -MP -MF .deps/sqlite3.Tpo -c sqlite3.c &amp;nbsp;-fPIC -DPIC -o .libs/sqlite3.o&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;gcc -DPACKAGE_NAME=\&quot;sqlite\&quot; -DPACKAGE_TARNAME=\&quot;sqlite\&quot; -DPACKAGE_VERSION=\&quot;3.7.6.3\&quot; &quot;-DPACKAGE_STRING=\&quot;sqlite 3.7.6.3\&quot;&quot; -DPACKAGE_BUGREPORT=\&quot;http://www.sqlite.org\&quot; -DPACKAGE=\&quot;sqlite\&quot; -DVERSION=\&quot;3.7.6.3\&quot; -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_POSIX_FALLOCATE=1 -I. -I. -D_REENTRANT=1 -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -MT sqlite3.lo -MD -MP -MF .deps/sqlite3.Tpo -c sqlite3.c -o sqlite3.o &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;/div&gt;
&lt;div&gt;
/bin/sh ./libtool --tag=CC --mode=link gcc -D_REENTRANT=1 -DSQLITE_THREADSAFE=1 &amp;nbsp;-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 &amp;nbsp; -o libsqlite3.la -rpath /usr/local/lib -no-undefined -version-info 8:6:8 sqlite3.lo &amp;nbsp;-ldl -lpthread&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
gcc -shared &amp;nbsp;.libs/sqlite3.o &amp;nbsp;-ldl -lpthread &amp;nbsp;-Wl,-soname -Wl,libsqlite3.so.0 -o .libs/libsqlite3.so.0.8.6&lt;/div&gt;
&lt;div&gt;
(cd .libs &amp;amp;&amp;amp; rm -f libsqlite3.so.0 &amp;amp;&amp;amp; ln -s libsqlite3.so.0.8.6 libsqlite3.so.0)&lt;/div&gt;
&lt;div&gt;
(cd .libs &amp;amp;&amp;amp; rm -f libsqlite3.so &amp;amp;&amp;amp; ln -s libsqlite3.so.0.8.6 libsqlite3.so)&lt;/div&gt;
&lt;div&gt;
ar cru .libs/libsqlite3.a &amp;nbsp;sqlite3.o&lt;/div&gt;
&lt;div&gt;
ranlib .libs/libsqlite3.a&lt;/div&gt;
&lt;div&gt;
creating libsqlite3.la&lt;/div&gt;
&lt;div&gt;
(cd .libs &amp;amp;&amp;amp; rm -f libsqlite3.la &amp;amp;&amp;amp; ln -s ../libsqlite3.la libsqlite3.la)&lt;/div&gt;
&lt;div&gt;
if gcc -DPACKAGE_NAME=\&quot;sqlite\&quot; -DPACKAGE_TARNAME=\&quot;sqlite\&quot; -DPACKAGE_VERSION=\&quot;3.7.6.3\&quot; -DPACKAGE_STRING=\&quot;sqlite\ 3.7.6.3\&quot; -DPACKAGE_BUGREPORT=\&quot;http://www.sqlite.org\&quot; -DPACKAGE=\&quot;sqlite\&quot; -DVERSION=\&quot;3.7.6.3\&quot; -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_POSIX_FALLOCATE=1 -I. -I. &amp;nbsp; &amp;nbsp;-D_REENTRANT=1 -DSQLITE_THREADSAFE=1 &amp;nbsp;-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -MT shell.o -MD -MP -MF &quot;.deps/shell.Tpo&quot; -c -o shell.o shell.c; \&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;then mv -f &quot;.deps/shell.Tpo&quot; &quot;.deps/shell.Po&quot;; else rm -f &quot;.deps/shell.Tpo&quot;; exit 1; fi&lt;/div&gt;
&lt;div&gt;
/bin/sh ./libtool --tag=CC --mode=link gcc -D_REENTRANT=1 -DSQLITE_THREADSAFE=1 &amp;nbsp;-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 &amp;nbsp; -o sqlite3 &amp;nbsp;shell.o ./libsqlite3.la &amp;nbsp;-ldl -lpthread&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
gcc -D_REENTRANT=1 -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -o .libs/sqlite3 shell.o &amp;nbsp;./.libs/libsqlite3.so -ldl -lpthread &amp;nbsp;-Wl,--rpath -Wl,/usr/local/lib&lt;/div&gt;
&lt;div&gt;
creating sqlite3&lt;/div&gt;
&lt;div&gt;
[root@redhat2 sqlite-autoconf-3070603]#&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;5- Install the source:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
[root@redhat2 sqlite-autoconf-3070603]# &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;make install&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
make[1]: Entering directory `/tmp/Django-1.5.1/linux-2.6.39/sqlite-autoconf-3070603&#39;&lt;/div&gt;
&lt;div&gt;
test -z &quot;/usr/local/lib&quot; || mkdir -p -- &quot;/usr/local/lib&quot;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;/bin/sh ./libtool --mode=install /usr/bin/install -c &amp;nbsp;&#39;libsqlite3.la&#39; &#39;/usr/local/lib/libsqlite3.la&#39;&lt;/div&gt;
&lt;div&gt;
/usr/bin/install -c .libs/libsqlite3.so.0.8.6 /usr/local/lib/libsqlite3.so.0.8.6&lt;/div&gt;
&lt;div&gt;
(cd /usr/local/lib &amp;amp;&amp;amp; { ln -s -f libsqlite3.so.0.8.6 libsqlite3.so.0 || { rm -f libsqlite3.so.0 &amp;amp;&amp;amp; ln -s libsqlite3.so.0.8.6 libsqlite3.so.0; }; })&lt;/div&gt;
&lt;div&gt;
(cd /usr/local/lib &amp;amp;&amp;amp; { ln -s -f libsqlite3.so.0.8.6 libsqlite3.so || { rm -f libsqlite3.so &amp;amp;&amp;amp; ln -s libsqlite3.so.0.8.6 libsqlite3.so; }; })&lt;/div&gt;
&lt;div&gt;
/usr/bin/install -c .libs/libsqlite3.lai /usr/local/lib/libsqlite3.la&lt;/div&gt;
&lt;div&gt;
/usr/bin/install -c .libs/libsqlite3.a /usr/local/lib/libsqlite3.a&lt;/div&gt;
&lt;div&gt;
chmod 644 /usr/local/lib/libsqlite3.a&lt;/div&gt;
&lt;div&gt;
ranlib /usr/local/lib/libsqlite3.a&lt;/div&gt;
&lt;div&gt;
PATH=&quot;$PATH:/sbin&quot; ldconfig -n /usr/local/lib&lt;/div&gt;
&lt;div&gt;
----------------------------------------------------------------------&lt;/div&gt;
&lt;div&gt;
Libraries have been installed in:&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp;/usr/local/lib&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
If you ever happen to want to link against installed libraries&lt;/div&gt;
&lt;div&gt;
in a given directory, LIBDIR, you must either use libtool, and&lt;/div&gt;
&lt;div&gt;
specify the full pathname of the library, or use the `-LLIBDIR&#39;&lt;/div&gt;
&lt;div&gt;
flag during linking and do at least one of the following:&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp;- add LIBDIR to the `LD_LIBRARY_PATH&#39; environment variable&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;during execution&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp;- add LIBDIR to the `LD_RUN_PATH&#39; environment variable&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;during linking&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp;- use the `-Wl,--rpath -Wl,LIBDIR&#39; linker flag&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp;- have your system administrator add LIBDIR to `/etc/ld.so.conf&#39;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
See any operating system documentation about shared libraries for&lt;/div&gt;
&lt;div&gt;
more information, such as the ld(1) and ld.so(8) manual pages.&lt;/div&gt;
&lt;div&gt;
----------------------------------------------------------------------&lt;/div&gt;
&lt;div&gt;
test -z &quot;/usr/local/bin&quot; || mkdir -p -- &quot;/usr/local/bin&quot;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; /bin/sh ./libtool --mode=install /usr/bin/install -c &#39;sqlite3&#39; &#39;/usr/local/bin/sqlite3&#39;&lt;/div&gt;
&lt;div&gt;
/usr/bin/install -c .libs/sqlite3 /usr/local/bin/sqlite3&lt;/div&gt;
&lt;div&gt;
test -z &quot;/usr/local/include&quot; || mkdir -p -- &quot;/usr/local/include&quot;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;/usr/bin/install -c -m 644 &#39;sqlite3.h&#39; &#39;/usr/local/include/sqlite3.h&#39;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;/usr/bin/install -c -m 644 &#39;sqlite3ext.h&#39; &#39;/usr/local/include/sqlite3ext.h&#39;&lt;/div&gt;
&lt;div&gt;
test -z &quot;/usr/local/share/man/man1&quot; || mkdir -p -- &quot;/usr/local/share/man/man1&quot;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;/usr/bin/install -c -m 644 &#39;./sqlite3.1&#39; &#39;/usr/local/share/man/man1/sqlite3.1&#39;&lt;/div&gt;
&lt;div&gt;
test -z &quot;/usr/local/lib/pkgconfig&quot; || mkdir -p -- &quot;/usr/local/lib/pkgconfig&quot;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;/usr/bin/install -c -m 644 &#39;sqlite3.pc&#39; &#39;/usr/local/lib/pkgconfig/sqlite3.pc&#39;&lt;/div&gt;
&lt;div&gt;
make[1]: Leaving directory `/tmp/Django-1.5.1/linux-2.6.39/sqlite-autoconf-3070603&#39;&lt;/div&gt;
&lt;div&gt;
[root@redhat2 sqlite-autoconf-3070603]#&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;-Test it out-&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
[root@redhat2 sqlite-autoconf-3070603]# &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;sqlite3 mrinal.db&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
SQLite version 3.7.6.3&lt;/div&gt;
&lt;div&gt;
Enter &quot;.help&quot; for instructions&lt;/div&gt;
&lt;div&gt;
Enter SQL statements terminated with a &quot;;&quot;&lt;/div&gt;
&lt;div&gt;
sqlite&amp;gt; create table mrinal (id integer, name varchar(20));&lt;/div&gt;
&lt;div&gt;
sqlite&amp;gt; insert into mrinal values(1,&#39;MS&#39;);&lt;/div&gt;
&lt;div&gt;
sqlite&amp;gt; select * from mrinal;&lt;/div&gt;
&lt;div&gt;
1|MS&lt;/div&gt;
&lt;div&gt;
sqlite&amp;gt; insert into mrinal values(1,&#39;MS&#39;);&lt;/div&gt;
&lt;div&gt;
sqlite&amp;gt; insert into mrinal values(1,&#39;MS&#39;);&lt;/div&gt;
&lt;div&gt;
sqlite&amp;gt; insert into mrinal values(1,&#39;MS&#39;);&lt;/div&gt;
&lt;div&gt;
sqlite&amp;gt; insert into mrinal values(1,&#39;MS&#39;);&lt;/div&gt;
&lt;div&gt;
sqlite&amp;gt; select * from mrinal;&lt;/div&gt;
&lt;div&gt;
1|MS&lt;/div&gt;
&lt;div&gt;
1|MS&lt;/div&gt;
&lt;div&gt;
1|MS&lt;/div&gt;
&lt;div&gt;
1|MS&lt;/div&gt;
&lt;div&gt;
1|MS&lt;/div&gt;
&lt;div&gt;
sqlite&amp;gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/3232571471726780942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/05/example-of-installing-packages-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3232571471726780942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3232571471726780942'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/05/example-of-installing-packages-from.html' title='Linux - Installing packages from source tarballs:'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-7635725602864644855</id><published>2013-04-10T22:50:00.003-07:00</published><updated>2013-04-10T22:50:38.866-07:00</updated><title type='text'>Configuring X11 for RHEL server and OSX client</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
We have a remote Red Hat Enterprise Linux (RHEL) server; We have a OSX (Apple) laptop. We want to connect from the laptop client to the RHEL server over ssh and then run graphical utilities (like system-config-users) on the RHEL server but have its graphical output be shown on the laptop.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Approach:&lt;/b&gt;&lt;br /&gt;
To accomplish this task, we make use of a very handy tool called X. To read more about X, &lt;a href=&quot;http://en.wikipedia.org/wiki/X_Window_System&quot;&gt;go here&lt;/a&gt;.&lt;br /&gt;
Now for the X to work properly in our case we need a few things on both the server (RHEL) and client (OSX):&lt;br /&gt;
&amp;nbsp; -ssh configuration to allow XForwarding on RHEL&lt;br /&gt;
&amp;nbsp; -X server on client.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt;&lt;br /&gt;
The way X treats client and server are opposite to the way ssh treats client and server.&lt;br /&gt;
For ssh, the client is OSX laptop, and the server is the remote RHEL host we are trying to connect to.&lt;br /&gt;
For X, the client is the RHEL host we are going to run the graphical tools on, and the server is the OSX laptop where the X software will run.&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
&lt;b&gt;1-&amp;nbsp;&lt;/b&gt;On RHEL server edit the ssh configuration file (&lt;b&gt;/etc/ssh/sshd_config&lt;/b&gt;) and uncomment/edit the following lines to look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X11Forwarding yes &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;###This allows X output to be forwarded over ssh&lt;br /&gt;
X11UseLocalhost yes &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ###This allows X to use the localhost (OSX client) to display&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2-&lt;/b&gt; Then restart ssh service:&lt;br /&gt;
&lt;br /&gt;
[root@redhat2 ~]# &lt;b&gt;service sshd restart&lt;/b&gt;&lt;br /&gt;
Stopping sshd: &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;OK &amp;nbsp;]&lt;br /&gt;
Starting sshd: &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;OK &amp;nbsp;]&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3- &lt;/b&gt;On the client (OSX laptop) side, install X server:&lt;br /&gt;
Note: In recent versions of OSX, X server is not installed by default and you need to download (and install) X software called &lt;a href=&quot;http://xquartz.macosforge.org/landing/&quot;&gt;XQuartz from here&lt;/a&gt;.&lt;br /&gt;
&lt;b&gt;4-&lt;/b&gt; Once the download of XQuartz is completed, you need to install it by double clicking the file.&lt;br /&gt;
&lt;b&gt;5-&lt;/b&gt; Once installed you need to enable remote login for ssh. To do so, open &#39;System Preferences&#39; &amp;gt; click &#39;Sharing&#39; and check &#39;Remote Login&#39; as shown.&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/AVvXsEjbJrzZdyIggD1nbrEHiIJSGBBm9321QdiyT7jN2Mdc72zXeRBvWIlJod90h8NXeuQi3r0y0glvupNIU7VNOjsX49U1dJ6fl1-q2nrodeQ5ih-CS-gWglchLtyyvRLagLG6P_5ElFp9K0uj/s1600/Screen+Shot+2013-04-10+at+10.37.31+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;264&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbJrzZdyIggD1nbrEHiIJSGBBm9321QdiyT7jN2Mdc72zXeRBvWIlJod90h8NXeuQi3r0y0glvupNIU7VNOjsX49U1dJ6fl1-q2nrodeQ5ih-CS-gWglchLtyyvRLagLG6P_5ElFp9K0uj/s320/Screen+Shot+2013-04-10+at+10.37.31+PM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;6-&lt;/b&gt; Then open a terminal on your OSX laptop and ssh to the RHEL server:&lt;br /&gt;
&lt;br /&gt;
msarkar$ &lt;b&gt;ssh -X root@10.10.80.102&lt;/b&gt;&lt;br /&gt;
root@10.10.80.102&#39;s password:&lt;br /&gt;
Last login: Wed Apr 10 22:31:38 2013 from 10.250.0.223&lt;br /&gt;
[root@redhat2 ~]#&lt;br /&gt;
&lt;br /&gt;
This will put you on the remote RHEL server whose graphical output you want to see on your laptop over X system.&lt;br /&gt;
To verify that the Display is properly set, echo the display--this should be localhost or the IP address of the laptop as shown below:&lt;br /&gt;
&lt;br /&gt;
[root@redhat2 ~]# &lt;b&gt;echo $DISPLAY&lt;/b&gt;&lt;br /&gt;
localhost:10.0&lt;br /&gt;
[root@redhat2 ~]#&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7-&lt;/b&gt; To test out that everything related to X working fine run a sample X application like xeyes or xclock&lt;br /&gt;
&lt;br /&gt;
[root@redhat2 ~]# &lt;b&gt;xeyes &amp;amp;&lt;/b&gt;&lt;br /&gt;
[1] 24575&lt;br /&gt;
[root@redhat2 ~]#&lt;br /&gt;
&lt;br /&gt;
It should show you the applet running on your laptop (here xeyes).&lt;br /&gt;
If that works out fine, simply invoke your graphical application whose output you want to see on your local client (here OSX laptop).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@redhat2 ~]# system-config-users &amp;amp;&lt;br /&gt;
[2] 27604&lt;br /&gt;
[root@redhat2 ~]#&lt;br /&gt;
&lt;br /&gt;
And thats it!&lt;br /&gt;
Hope you found this useful.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt;&lt;br /&gt;
If you encounter errors like &quot;&lt;b&gt;xhost: &amp;nbsp;unable to open display&lt;/b&gt;&quot; or &quot;&lt;b&gt;Error: Can&#39;t open display:&lt;/b&gt;&quot;, make sure the /etc/ssh/sshd_config file is properly configured (see step #1 above) and you have restarted sshd service after that (step #2) before you attempt to login over ssh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/7635725602864644855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/04/configuring-x11-for-rhel-server-and-osx.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/7635725602864644855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/7635725602864644855'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/04/configuring-x11-for-rhel-server-and-osx.html' title='Configuring X11 for RHEL server and OSX client'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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/AVvXsEjbJrzZdyIggD1nbrEHiIJSGBBm9321QdiyT7jN2Mdc72zXeRBvWIlJod90h8NXeuQi3r0y0glvupNIU7VNOjsX49U1dJ6fl1-q2nrodeQ5ih-CS-gWglchLtyyvRLagLG6P_5ElFp9K0uj/s72-c/Screen+Shot+2013-04-10+at+10.37.31+PM.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-3626072932502697426</id><published>2013-04-03T14:30:00.001-07:00</published><updated>2013-04-03T14:30:10.995-07:00</updated><title type='text'>How to Password Protect your Folder in Linux</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In Linux (like most other Unix), file permissions under DAC (Discretionary Access Control, ie rwx combination on user,group and world/others) are usually enough to protect files at a high level. And since Folders are nothing but special files, it applies to them aswell.&lt;br /&gt;
That said, sometimes (especially when using the GUI on a desktop), it is desirable to have a mechanism where users simply cant open a folder because they had read permissions on it (even if you yourself are the owner of the files in that folder). This can be handy when dealing with sensitive data.&lt;br /&gt;
The catch though is that you cant actually password protect a folder unless you zip it. If you dont zip it, it can still be protected with the DAC permissions).&lt;br /&gt;
Now, back to the password protection -- there are two ways to do this -- via GUI or via CLI (command line interface).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;By GUI&lt;/b&gt;, its simple: right click on the folder you want protected, choose &#39;encrypt&#39;, choose password &#39; &#39;protect&#39; and provide a secret password. This will create a zip file of the folder with its underlying directories and files in the current directory. You would then go on to delete the folder you zipped (because now you have a copy of it in the zip file).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;By CLI&lt;/b&gt;, a little more extra hoops but the same result as shown below:&lt;br /&gt;
&lt;br /&gt;
~# mkdir -p /home/mrinal/secdir &amp;nbsp; &amp;lt;----- you want to password protect this folder called secdir&lt;br /&gt;
~# cd /home/mrinal/secdir&lt;br /&gt;
secdir# touch a b c d e &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;----- create afew files in secdir&lt;br /&gt;
secdir# echo hello world &amp;gt; a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;----- populate the files with some words here &#39;hello world&#39;&lt;br /&gt;
secdir# echo hello world &amp;gt; b&lt;br /&gt;
secdir# echo hello world &amp;gt; c&lt;br /&gt;
secdir# echo hello world &amp;gt; d&lt;br /&gt;
secdir# echo hello world &amp;gt; e&lt;br /&gt;
&lt;br /&gt;
secdir]# cd .. &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;lt;----- go one folder up&lt;br /&gt;
mrinal# &lt;b&gt;zip -e -r secret /home/mrinal/secdir/ &lt;/b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;----- zip encrypt recursively the secdir dir/folder&lt;br /&gt;
&lt;br /&gt;
Enter password:&lt;br /&gt;
Verify password:&lt;br /&gt;
&amp;nbsp; adding: home/mrinal/secdir/ (stored 0%)&lt;br /&gt;
&amp;nbsp; adding: home/mrinal/secdir/d (stored 0%)&lt;br /&gt;
&amp;nbsp; adding: home/mrinal/secdir/c (stored 0%)&lt;br /&gt;
&amp;nbsp; adding: home/mrinal/secdir/b (stored 0%)&lt;br /&gt;
&amp;nbsp; adding: home/mrinal/secdir/e (stored 0%)&lt;br /&gt;
&amp;nbsp; adding: home/mrinal/secdir/a (stored 0%)&lt;br /&gt;
mrinal# ls -l&lt;br /&gt;
total 8&lt;br /&gt;
drwxr-xr-x. 2 root root 4096 Apr &amp;nbsp;3 13:51 secdir&lt;br /&gt;
-rw-r--r--. 1 root root 1228 Apr &amp;nbsp;3 13:58 secret.zip&lt;br /&gt;
&lt;br /&gt;
mrinal# rm -rf &amp;nbsp;secdir &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;----- remove the dir as you have a protected copy in the zip [&lt;b&gt;Relax, its safe!&lt;/b&gt;]&lt;br /&gt;
&lt;br /&gt;
Now you can access the file via GUI or the CLI, either way you would be prompted for a password.&lt;br /&gt;
When you provide the right password, it unzips the folder and puts it back for you to view.&lt;br /&gt;
&lt;br /&gt;
For instance on CLI:&lt;br /&gt;
&lt;br /&gt;
mrinal# &lt;b&gt;unzip secret.zip&lt;/b&gt;&lt;br /&gt;
Archive: &amp;nbsp;secret.zip&lt;br /&gt;
&amp;nbsp; &amp;nbsp;creating: home/mrinal/secdir/&lt;br /&gt;
[secret.zip] home/mrinal/secdir/d password:&lt;br /&gt;
&amp;nbsp;extracting: home/mrinal/secdir/d &amp;nbsp; &lt;br /&gt;
&amp;nbsp;extracting: home/mrinal/secdir/c &amp;nbsp; &lt;br /&gt;
&amp;nbsp;extracting: home/mrinal/secdir/b &amp;nbsp; &lt;br /&gt;
&amp;nbsp;extracting: home/mrinal/secdir/e &amp;nbsp; &lt;br /&gt;
&amp;nbsp;extracting: home/mrinal/secdir/a &amp;nbsp; &lt;br /&gt;
mrinal#&lt;br /&gt;
&lt;br /&gt;
Hope this helps.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/3626072932502697426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/04/how-to-password-protect-your-folder-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3626072932502697426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3626072932502697426'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/04/how-to-password-protect-your-folder-in.html' title='How to Password Protect your Folder in Linux'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-5377663250641838135</id><published>2013-03-17T17:54:00.001-07:00</published><updated>2013-03-17T17:54:13.623-07:00</updated><title type='text'>Tainted Kernel - What to do?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;Tainted Kernel:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In the Linux world, where Opensource drivers and modules rule the roost, you may happen to receive a message in your system alerts saying that your kernel is &#39;Tainted&#39;. Before we go further its useful to understand what it means.&lt;br /&gt;
&lt;br /&gt;
Because of the Opensource model, Linux kernel modules and drivers are designed, developed and maintained by the Linux Opensource community. Some Linux flavors like GNU Hurd are strict about their principles about Free Open Source software fundamentals and therefore would not include any non-Free drivers and modules in their distribution. On the other hand Linux distributions like Ubuntu and LinuxMint are not so strict. They emphasise functionality and ease of use over Principles of FSF. Their driver and module inclusion policy in their distributions is more relaxed. What that means is that often in these distributions would include proprietary drivers and modules to make something work. This is especially true in case of Graphical, Audio or Wireless drivers. For instance the Graphic Drivers from AMD (Radeon) could be included in a certain Linux distribution.&lt;br /&gt;
Now, whenever proprietary drivers are included, they come only as binary code--no source code.&lt;br /&gt;
Which means if there is any problem or bug detected in that (proprietary) softwar, the Linux community cannot &amp;nbsp;access the source code and therefore cannot fix it. This fix can only come from the vendor who provided that proprietary driver or module. This is lack of visibility in the source code of a proprietary driver or module that is having problems working with Linux kernel is said to have &#39;&lt;b&gt;Tainted the Linux kernel&lt;/b&gt;&#39;.&lt;br /&gt;
&lt;br /&gt;
Great, now we know what it means, how do we confirm it? How do we fix diagnose and fix it?&lt;br /&gt;
Well, it varies, but in almost all cases, you would know that your kernel is Tainted if you receive a popup/warning or alert from the system. On Fedora, the distribution that I use all the time, the &#39;Tainted kernel&#39; alert is easily visible from the system alerts on the bottom right corner of the GUI screen. From the command line, its visible under the kernel message utility &lt;b&gt;dmesg&lt;/b&gt;, as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@ms-vaio ~]# &lt;b&gt;dmesg | grep -i taint&lt;/b&gt;&lt;br /&gt;
[83346.433966] Pid: 31775, comm: kworker/u:0 Tainted: G &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;W &amp;nbsp; &amp;nbsp;3.7.6-102.fc17.x86_64 #1&lt;br /&gt;
&lt;br /&gt;
This can also be confirmed by looking into the file /proc/sys/kernel/tainted:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@ms-vaio ~]# &lt;b&gt;cat /proc/sys/kernel/tainted&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
512&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Typically (for an un-tainted kernel), this file is empty. But as you can see, in my case its not. And in this case the process id 31775 is causing the kernel to be tainted. To dig into what that process is you can look into the process listing as follows:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
[root@ms-vaio ~]#&lt;b&gt; ps -efly | grep 31775&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
S root &amp;nbsp; &amp;nbsp; &amp;nbsp;4330 &amp;nbsp;1539 &amp;nbsp;0 &amp;nbsp;80 &amp;nbsp; 0 &amp;nbsp; 872 27350 pipe_w 17:52 pts/0 &amp;nbsp; &amp;nbsp;00:00:00 grep --color=auto 31775&lt;/div&gt;
&lt;div&gt;
[root@ms-vaio ~]#&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As you can see, the process with pid=31775 does not exist in my case, which means the process was shortlived, it caused a kernel warning and then it was termintated.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
For a detailed discussion on the meaning of each Taint Flag like 512, G, W etc, &lt;a href=&quot;https://www.kernel.org/doc/Documentation/sysctl/kernel.txt&quot;&gt;go here&lt;/a&gt;&amp;nbsp;and search for &#39;tainted&#39;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Now what to do to fix it?&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Typically there is, Nothing to fix.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
All it means is that your kernel has a device driver that is not open source. It may be wireless, or video driver (either are common) or you have some slightly unusual hardware that doesn&#39;t have a kernel supported driver.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The only time it causes a problem is if a kernel failure/panic occurs. The kernel developers cannot debug such a failure because they are not able to trace the entire problem. It may have been caused by a bug in the proprietary driver either directly (it happens to be in the traceback) or indirectly by modifying some kernel data that other drivers depended on.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So a reboot usually clears the warning and resets the /proc/sys/kernel/tainted file to zero bytes.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/5377663250641838135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/03/tainted-kernel-what-to-do.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5377663250641838135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5377663250641838135'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/03/tainted-kernel-what-to-do.html' title='Tainted Kernel - What to do?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-5414071917902016</id><published>2013-03-08T14:52:00.001-08:00</published><updated>2013-03-08T14:54:24.748-08:00</updated><title type='text'>Allow users to connect to remote MySQL database</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
When you are working with MySQL, chances are that your client and server are on two different hosts.&lt;br /&gt;
In such a case, its natural to want to connect to a remote MySQL database.&lt;br /&gt;
Lets say your local host (or client) is 10.10.80.103 and your remote host (or server) is 10.10.80.102.&lt;br /&gt;
So when you try connecting from client to server, default behavior of MySQL is to deny access:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@10.10.80.103 /root]# &lt;b&gt;mysql -u myuser -p -h10.10.80.102&lt;/b&gt;&lt;br /&gt;
Enter password: *****&lt;br /&gt;
ERROR 1045 (28000): Access denied for user &#39;myuser&#39;@&#39;redhat3.maprtech.com&#39; (using password: YES)&lt;br /&gt;
&lt;br /&gt;
In such a situation, to allow access from remote hosts, go to the server (in this case 10.10.80.102), and do this as the admin user (root):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@10.10.80.102 /root]# &lt;b&gt;mysql -u root -p&lt;/b&gt;&lt;br /&gt;
Enter password:*****&lt;br /&gt;
&lt;br /&gt;
Welcome to the MySQL monitor. &amp;nbsp;Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 7982&lt;br /&gt;
Server version: 5.1.52 Source distribution&lt;br /&gt;
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
This software comes with ABSOLUTELY NO WARRANTY. This is free software,&lt;br /&gt;
and you are welcome to modify and redistribute it under the GPL v2 license&lt;br /&gt;
Type &#39;help;&#39; or &#39;\h&#39; for help. Type &#39;\c&#39; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; use mysql;&lt;br /&gt;
Reading table information for completion of table and column names&lt;br /&gt;
You can turn off this feature to get a quicker startup with -A&lt;br /&gt;
&lt;br /&gt;
Database changed&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; grant all on *.* to myuser@&#39;10.10.80.103&#39; identified by &#39;mypass&#39;;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; flush privileges;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then go back to the client side (here 10.10.80.103) and make a connection attempt to the server (here 10.10.80.102):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@10.10.80.103 /root]# &lt;b&gt;mysql -h 10.10.80.102 -u myuser-p&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
Enter password:&lt;br /&gt;
Welcome to the MySQL monitor. &amp;nbsp;Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 8340&lt;br /&gt;
Server version: 5.1.52 Source distribution&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
This software comes with ABSOLUTELY NO WARRANTY. This is free software,&lt;br /&gt;
and you are welcome to modify and redistribute it under the GPL v2 license&lt;br /&gt;
&lt;br /&gt;
Type &#39;help;&#39; or &#39;\h&#39; for help. Type &#39;\c&#39; to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; &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;&lt;i&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[[[ connection succeeds and you are in.]]]&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt; Ensure that the firewall settings are permissive on the server side or simply turn off firewall if you want (using &#39;service iptables stop&#39; command).&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/5414071917902016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/03/allow-users-to-connect-to-remote-mysql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5414071917902016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5414071917902016'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/03/allow-users-to-connect-to-remote-mysql.html' title='Allow users to connect to remote MySQL database'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-5603241185576654203</id><published>2013-03-07T14:55:00.001-08:00</published><updated>2013-03-07T15:05:43.609-08:00</updated><title type='text'>How to install MySQL on Linux</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
MySQL is a FOSS database that is available in a free community edition and a paid commercial edition from Oracle corp. Oracle acquired MySQL from Sun Microsystemes acquisition. MySQL is an integral part of LAMP Stack and is used for a majority of web applications. Infact, MySQL is a choice DB platform for many Internet Applications like Facebook, Twitter, Yahoo etc.&lt;br /&gt;
&lt;br /&gt;
Its very simple to install and run MySQL on Linux using yum, as shown below.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;1- Check status of MySQL prior to install:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[root@redhat2 bin]# service mysqld status&lt;/b&gt;&lt;br /&gt;
mysqld: unrecognized service&lt;br /&gt;
[root@redhat2 bin]#&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;As you see mysql doesnt exist. You can also verify using rpm.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[root@redhat2 bin]# rpm -qa | grep mysql&lt;/b&gt;&lt;br /&gt;
[root@redhat2 bin]#&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;2-To install:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[root@redhat2 lib]# yum install -y mysql-server&lt;/b&gt;&lt;br /&gt;
Loaded plugins: product-id, security, subscription-manager&lt;br /&gt;
Updating certificate-based repositories.&lt;br /&gt;
Setting up Install Process&lt;br /&gt;
Resolving Dependencies&lt;br /&gt;
--&amp;gt; Running transaction check&lt;br /&gt;
---&amp;gt; Package mysql-server.x86_64 0:5.1.52-1.el6_0.1 will be installed&lt;br /&gt;
--&amp;gt; Processing Dependency: perl-DBD-MySQL for package: mysql-server-5.1.52-1.el6_0.1.x86_64&lt;br /&gt;
--&amp;gt; Running transaction check&lt;br /&gt;
---&amp;gt; Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be installed&lt;br /&gt;
--&amp;gt; Finished Dependency Resolution&lt;br /&gt;
&lt;br /&gt;
Dependencies Resolved&lt;br /&gt;
&lt;br /&gt;
===================================================================================================================================&lt;br /&gt;
&amp;nbsp;Package &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; Arch &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Version &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;Repository &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Size&lt;br /&gt;
===================================================================================================================================&lt;br /&gt;
Installing:&lt;br /&gt;
&amp;nbsp;mysql-server &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x86_64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5.1.52-1.el6_0.1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mynew &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;8.1 M&lt;br /&gt;
Installing for dependencies:&lt;br /&gt;
&amp;nbsp;perl-DBD-MySQL &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x86_64 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4.013-3.el6 &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;mynew &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;134 k&lt;br /&gt;
&lt;br /&gt;
Transaction Summary&lt;br /&gt;
===================================================================================================================================&lt;br /&gt;
Install &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 Package(s)&lt;br /&gt;
&lt;br /&gt;
Total download size: 8.2 M&lt;br /&gt;
Installed size: 24 M&lt;br /&gt;
Downloading Packages:&lt;br /&gt;
(1/2): mysql-server-5.1.52-1.el6_0.1.x86_64.rpm &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; | 8.1 MB &amp;nbsp; &amp;nbsp; 00:00 &amp;nbsp; &lt;br /&gt;
(2/2): perl-DBD-MySQL-4.013-3.el6.x86_64.rpm &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;| 134 kB &amp;nbsp; &amp;nbsp; 00:00 &amp;nbsp; &lt;br /&gt;
-----------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
Total &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; &amp;nbsp; 48 MB/s | 8.2 MB &amp;nbsp; &amp;nbsp; 00:00 &amp;nbsp; &lt;br /&gt;
Running rpm_check_debug&lt;br /&gt;
Running Transaction Test&lt;br /&gt;
Transaction Test Succeeded&lt;br /&gt;
Running Transaction&lt;br /&gt;
&amp;nbsp; Installing : perl-DBD-MySQL-4.013-3.el6.x86_64 &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; 1/2&lt;br /&gt;
&amp;nbsp; Installing : mysql-server-5.1.52-1.el6_0.1.x86_64 &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;2/2&lt;br /&gt;
Installed products updated.&lt;br /&gt;
&lt;br /&gt;
Installed:&lt;br /&gt;
&amp;nbsp; mysql-server.x86_64 0:5.1.52-1.el6_0.1 &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; &lt;br /&gt;
&lt;br /&gt;
Dependency Installed:&lt;br /&gt;
&amp;nbsp; perl-DBD-MySQL.x86_64 0:4.013-3.el6 &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; &lt;br /&gt;
&lt;br /&gt;
Complete!&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;3- Verify installation:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;[root@redhat2 lib]# rpm -qa | grep mysql&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
mysql-libs-5.1.52-1.el6_0.1.x86_64&lt;/div&gt;
&lt;div&gt;
soci-mysql-3.1.0-1.el6.x86_64&lt;/div&gt;
&lt;div&gt;
mysql-5.1.52-1.el6_0.1.x86_64&lt;/div&gt;
&lt;div&gt;
mysql-server-5.1.52-1.el6_0.1.x86_64&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;[root@redhat2 lib]# ls /etc/init.d/mysqld&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
/etc/init.d/mysqld&lt;/div&gt;
&lt;div&gt;
[root@redhat2 lib]#&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;4- Post install config:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;root@redhat2 lib]# /usr/bin/mysql_install_db --user=mysql&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Installing MySQL system tables...&lt;/div&gt;
&lt;div&gt;
OK&lt;/div&gt;
&lt;div&gt;
Filling help tables...&lt;/div&gt;
&lt;div&gt;
OK&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
To start mysqld at boot time you have to copy&lt;/div&gt;
&lt;div&gt;
support-files/mysql.server to the right place for your system&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !&lt;/div&gt;
&lt;div&gt;
To do so, start the server, then issue the following commands:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
/usr/bin/mysqladmin -u root password &#39;new-password&#39;&lt;/div&gt;
&lt;div&gt;
/usr/bin/mysqladmin -u root -h redhat2 password &#39;new-password&#39;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Alternatively you can run:&lt;/div&gt;
&lt;div&gt;
/usr/bin/mysql_secure_installation&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
which will also give you the option of removing the test&lt;/div&gt;
&lt;div&gt;
databases and anonymous user created by default. &amp;nbsp;This is&lt;/div&gt;
&lt;div&gt;
strongly recommended for production servers.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
See the manual for more instructions.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
You can start the MySQL daemon with:&lt;/div&gt;
&lt;div&gt;
cd /usr ; /usr/bin/mysqld_safe &amp;amp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
You can test the MySQL daemon with mysql-test-run.pl&lt;/div&gt;
&lt;div&gt;
cd /usr/mysql-test ; perl mysql-test-run.pl&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Please report any problems with the /usr/bin/mysqlbug script!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[root@redhat2 ~]# /usr/bin/mysql_secure_installation&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; SERVERS IN PRODUCTION USE! &amp;nbsp;PLEASE READ EACH STEP CAREFULLY!&lt;br /&gt;
&lt;br /&gt;
In order to log into MySQL to secure it, we&#39;ll need the current&lt;br /&gt;
password for the root user. &amp;nbsp;If you&#39;ve just installed MySQL, and&lt;br /&gt;
you haven&#39;t set the root password yet, the password will be blank,&lt;br /&gt;
so you should just press enter here.&lt;br /&gt;
&lt;br /&gt;
Enter current password for root (enter for none): *****&lt;br /&gt;
OK, successfully used password, moving on...&lt;br /&gt;
&lt;br /&gt;
Setting the root password ensures that nobody can log into the MySQL&lt;br /&gt;
root user without the proper authorisation.&lt;br /&gt;
&lt;br /&gt;
Set root password? [Y/n] &lt;b&gt;Y &lt;/b&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;
New password:&lt;br /&gt;
Re-enter new password:&lt;br /&gt;
Password updated successfully!&lt;br /&gt;
Reloading privilege tables..&lt;br /&gt;
&amp;nbsp;... Success!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, a MySQL installation has an anonymous user, allowing anyone&lt;br /&gt;
to log into MySQL without having to have a user account created for&lt;br /&gt;
them. &amp;nbsp;This is intended only for testing, and to make the installation&lt;br /&gt;
go a bit smoother. &amp;nbsp;You should remove them before moving into a&lt;br /&gt;
production environment.&lt;br /&gt;
&lt;br /&gt;
Remove anonymous users? [Y/n] &lt;b&gt;Y&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;... Success!&lt;br /&gt;
&lt;br /&gt;
Normally, root should only be allowed to connect from &#39;localhost&#39;. &amp;nbsp;This&lt;br /&gt;
ensures that someone cannot guess at the root password from the network.&lt;br /&gt;
&lt;br /&gt;
Disallow root login remotely? [Y/n]&lt;b&gt; n&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;... skipping.&lt;br /&gt;
&lt;br /&gt;
By default, MySQL comes with a database named &#39;test&#39; that anyone can&lt;br /&gt;
access. &amp;nbsp;This is also intended only for testing, and should be removed&lt;br /&gt;
before moving into a production environment.&lt;br /&gt;
&lt;br /&gt;
Remove test database and access to it? [Y/n] &lt;b&gt;n&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;... skipping.&lt;br /&gt;
&lt;br /&gt;
Reloading the privilege tables will ensure that all changes made so far&lt;br /&gt;
will take effect immediately.&lt;br /&gt;
&lt;br /&gt;
Reload privilege tables now? [Y/n] &lt;b&gt;y&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;... Success!&lt;br /&gt;
&lt;br /&gt;
Cleaning up...&lt;br /&gt;
&lt;br /&gt;
All done! &amp;nbsp;If you&#39;ve completed all of the above steps, your MySQL&lt;br /&gt;
installation should now be secure.&lt;br /&gt;
&lt;br /&gt;
Thanks for using MySQL!&lt;br /&gt;
&lt;br /&gt;
[root@redhat2 ~]#&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;5- Start using MySQL:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;[root@redhat2 lib]# service mysqld status&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
mysqld (pid &amp;nbsp;10324) is running...&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;[root@redhat2 lib]# mysql -u root -p&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Enter password: xyzxyz&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Welcome to the MySQL monitor. &amp;nbsp;Commands end with ; or \g.&lt;/div&gt;
&lt;div&gt;
Your MySQL connection id is 2&lt;/div&gt;
&lt;div&gt;
Server version: 5.1.52 Source distribution&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.&lt;/div&gt;
&lt;div&gt;
This software comes with ABSOLUTELY NO WARRANTY. This is free software,&lt;/div&gt;
&lt;div&gt;
and you are welcome to modify and redistribute it under the GPL v2 license&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Type &#39;help;&#39; or &#39;\h&#39; for help. Type &#39;\c&#39; to clear the current input statement.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
mysql&amp;gt; show databases;&lt;/div&gt;
&lt;div&gt;
+--------------------+&lt;/div&gt;
&lt;div&gt;
| Database &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
+--------------------+&lt;/div&gt;
&lt;div&gt;
| information_schema |&lt;/div&gt;
&lt;div&gt;
| mysql &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| test &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
+--------------------+&lt;/div&gt;
&lt;div&gt;
3 rows in set (0.00 sec)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
mysql&amp;gt; use mysql;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Reading table information for completion of table and column names&lt;/div&gt;
&lt;div&gt;
You can turn off this feature to get a quicker startup with -A&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Database changed&lt;/div&gt;
&lt;div&gt;
mysql&amp;gt; show tables;&lt;/div&gt;
&lt;div&gt;
+---------------------------+&lt;/div&gt;
&lt;div&gt;
| Tables_in_mysql &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
+---------------------------+&lt;/div&gt;
&lt;div&gt;
| columns_priv &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| db &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| event &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
| func &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| general_log &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
| help_category &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
| help_keyword &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| help_relation &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
| help_topic &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| host &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| ndb_binlog_index &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| plugin &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| proc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| procs_priv &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| servers &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
| slow_log &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| tables_priv &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
| time_zone &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
| time_zone_leap_second &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div&gt;
| time_zone_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| time_zone_transition &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
| time_zone_transition_type |&lt;/div&gt;
&lt;div&gt;
| user &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div&gt;
+---------------------------+&lt;/div&gt;
&lt;div&gt;
23 rows in set (0.00 sec)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
mysql&amp;gt; exit&lt;br /&gt;
Bye&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Enjoy!&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/5603241185576654203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/03/how-to-install-mysql-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5603241185576654203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5603241185576654203'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/03/how-to-install-mysql-on-linux.html' title='How to install MySQL on Linux'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-1873881261841173549</id><published>2013-03-06T17:37:00.004-08:00</published><updated>2013-03-06T17:39:18.890-08:00</updated><title type='text'>Heredoc to automate shell scripts</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Ever wondered if there was a way to automate passing multiple bash commands to run non interactively?&lt;br /&gt;
For instance, if you wanted to create a shell script to start vi editor, get into insert mode and populate some commands based on some condition and then escape, save and exit out of the editor all while being in the shell script--how would you do it?&lt;br /&gt;
&lt;br /&gt;
The answer is what is called heredoc. The concept of heredoc comes from C programming language and which was later borrowed into Unix/Linux tradition. Basically what a heredoc does is to accept commands from a stream starting with a start-signature and ending with the same signature. So all the commands or interactions with the shell between those start-end signatures are non-interactive.&lt;br /&gt;
For a more detailed discussion visit heredoc pages &lt;a href=&quot;http://tldp.org/LDP/abs/html/here-docs.html&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;here&lt;/span&gt;&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Here_document&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
An Example:&lt;br /&gt;
&lt;br /&gt;
#-------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@redhat2 mrinal]# cat myscript&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
tfile=$1&lt;br /&gt;
&lt;br /&gt;
vi $tfile &amp;lt;&amp;lt; bye &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* start vi with a file argument $tfile by user &amp;amp; start signature = bye*/&lt;br /&gt;
i &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;/* invoke &#39;insert&#39; mode of vi */&lt;br /&gt;
echo `date` &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;/* run a command */&lt;br /&gt;
`uname -a` &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;/* run another command */&lt;br /&gt;
`ls -l`&lt;br /&gt;
^[ &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;/* escape to command mode of vi, passed by Ctrl+v on keyboard */&lt;br /&gt;
wq &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;/* save file */&lt;br /&gt;
bye &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;/* end non interactive mode when sees the signature = bye */&lt;br /&gt;
&lt;br /&gt;
#------------&lt;br /&gt;
&lt;br /&gt;
The above shell script will open vi non-interactively and run a bunch of commands between the start-end signature, here in our case the word &#39;bye&#39;. It could be anything you choose, as long the start and end signatures are the same.&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/1873881261841173549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/03/heredoc-to-automate-shell-scripts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/1873881261841173549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/1873881261841173549'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/03/heredoc-to-automate-shell-scripts.html' title='Heredoc to automate shell scripts'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-3807460249223346222</id><published>2013-03-06T10:23:00.001-08:00</published><updated>2013-03-06T10:29:41.913-08:00</updated><title type='text'>How to add swap in Linux</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Swap space is a special filesystem in Linux that acts as virtual memory.&lt;br /&gt;
Virtual memory is not real or physical memory like the DIMM/SIMM modules you would install on your computers motherboard. Rather its a dedicated &amp;nbsp;piece of your computer&#39;s hard disk that looks and feels like a physical memory. Virtual memory is used by the system whenever there is a shortage of Real memory to accomodate all running programs in a multiuser, multiprogramming system like Linux. Think of a user running several programs simultaneously (a browser, a word processor, an email client, a vim editor, a video player etc). This situation would demand that all the running programs (ie processes) exist in (physical) memory. If the physical memory is not sufficient to hold all the programs then the less used programs would be &#39;swapped&#39; to the swap space to make room for the more demanding processes. This ensures the system keeps running all the programs and servicing the user instead of crashing suddenly.&lt;br /&gt;
&lt;br /&gt;
Now that we know a bit about swap space and why its needed, lets look at how we can add more swap space to a system.&lt;br /&gt;
Essentially, there are two ways to add swap space:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; 1- add a new physical hard disk or partition and assign that as additional swap&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; 2- add a new file on your file-system and assign that as additional swap.&lt;br /&gt;
&lt;br /&gt;
First to check the swap before adding new swap, we run swapon command as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@redhat4 ~]# swapon -s&lt;br /&gt;
Filename&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;Type&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;Size&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Used&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Priority&lt;br /&gt;
/dev/dm-1 &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; partition&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;6160376&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;228&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-1&lt;br /&gt;
&lt;br /&gt;
This shows the system has about 6 GB of swap to begin with. Now we try each one of the two methods listed above&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1- To add a new physical hard disk or partition and assign that as additional swap:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Lets say we have a new device /dev/sdc as a free hard disk / partition, then to make it as swap:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;[root@redhat4 ~]&lt;/span&gt;# mkswap /dev/sdc1&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Then e&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;nable the swap partition for usage using swapon command as shown below.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;[root@redhat4 ~]&lt;/span&gt;&lt;span style=&quot;color: #111111; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;span style=&quot;line-height: 21.984375px;&quot;&gt;#swapon /dev/sdc1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #111111; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;span style=&quot;line-height: 21.984375px;&quot;&gt;Then verify that the new swap partition is now available for use (assuming /dev/sdc1 was 1GB in size)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #111111; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;span style=&quot;line-height: 21.984375px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;span style=&quot;color: #111111; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;span style=&quot;line-height: 21.984375px;&quot;&gt;[root@redhat4 ~]# swapon -s&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #111111; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;span style=&quot;line-height: 21.984375px;&quot;&gt;Filename&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;Type&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;Size&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;Used&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp;Priority&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #111111; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;span style=&quot;line-height: 21.984375px;&quot;&gt;/dev/dm-1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; partition&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp;&amp;nbsp;6160376&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;228&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp;-1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #111111; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;span style=&quot;line-height: 21.984375px;&quot;&gt;/dev/sdc1 &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;partition &amp;nbsp; &amp;nbsp;1048568 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; -2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #111111; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;span style=&quot;line-height: 21.984375px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #111111; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;span style=&quot;line-height: 21.984375px;&quot;&gt;To make the new swap partition available after reboot add the following line to /etc/fstab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;
[root@redhat4 ~]# cat /etc/fstab&lt;/div&gt;
&lt;div style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;
/dev/sdc1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; swap &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;swap &amp;nbsp; &amp;nbsp;defaults &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 0&lt;/div&gt;
&lt;div style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;
Thats it for adding a new disk or partition as swap. Now to the 2nd method of adding a file as swap.&lt;/div&gt;
&lt;div style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;
&lt;span style=&quot;color: black; font-family: Times; line-height: normal;&quot;&gt;&lt;b&gt;2- To add a new file on your file-system and assign that as additional swap:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;
&lt;span style=&quot;color: black; font-family: Times; line-height: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;
&lt;span style=&quot;color: black; font-family: Times; line-height: normal;&quot;&gt;First lets examine the initial swap:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #111111; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 21.984375px;&quot;&gt;
&lt;span style=&quot;color: black; font-family: Times; line-height: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
[root@redhat4 ~]# swapon -s&lt;br /&gt;
Filename&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;Type&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;Size&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Used&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Priority&lt;br /&gt;
/dev/dm-1 &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; partition&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;6160376&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;228&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-1&lt;br /&gt;
&lt;br /&gt;
Lets add a 10 GB file created using dd utility (disk dump utility) as follows:&lt;br /&gt;
(obviously, you would want to make sure you have 10GB free on your filesystem before doing so)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@redhat4 ~]# dd if=/dev/zero of=/root/myswapfile bs=1M count=10000&lt;br /&gt;
10000+0 records in&lt;br /&gt;
10000+0 records out&lt;br /&gt;
10485760000 bytes (10 GB) copied, 824.221 s, 12.7 MB/s&lt;br /&gt;
&lt;br /&gt;
Then check the new file and change its permissions to 600 so only root can use it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@redhat4 ~]# ls -l /root/myswapfile&lt;br /&gt;
-rw-r--r--. 1 root root 10485760000 Mar &amp;nbsp;6 09:48 /root/myswapfile&lt;br /&gt;
[root@redhat4 ~]# chmod 600 /root/myswapfile&lt;br /&gt;
&lt;br /&gt;
[root@redhat4 ~]# ls -l /root/myswapfile&lt;br /&gt;
-rw-------. 1 root root 10485760000 Mar &amp;nbsp;6 09:50 /root/myswapfile&lt;br /&gt;
&lt;br /&gt;
Then make this new file as swap:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@redhat4 ~]# mkswap /root/myswapfile&lt;br /&gt;
mkswap: /root/myswapfile: warning: don&#39;t erase bootbits sectors&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; on whole disk. Use -f to force.&lt;br /&gt;
Setting up swapspace version 1, size = 10239996 KiB&lt;br /&gt;
no label, UUID=c83a0679-aa64-4a42-85ee-851f4d7bab60&lt;br /&gt;
&lt;br /&gt;
Then enable this new file as swap:&lt;br /&gt;
&lt;br /&gt;
[root@redhat4 ~]# swapon /root/myswapfile&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Then verify that all looks good.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
[root@redhat4 ~]# swapon -s&lt;br /&gt;
Filename&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;Type&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;Size&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Used&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Priority&lt;br /&gt;
/dev/dm-1 &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; partition&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;6160376&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;228&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-1&lt;br /&gt;
/root/myswapfile &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;file&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;10239992&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;0&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-2&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
[root@redhat4 ~]# free -m&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;total &amp;nbsp; &amp;nbsp; &amp;nbsp; used &amp;nbsp; &amp;nbsp; &amp;nbsp; free &amp;nbsp; &amp;nbsp; shared &amp;nbsp; &amp;nbsp;buffers &amp;nbsp; &amp;nbsp; cached&lt;/div&gt;
&lt;div&gt;
Mem: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9893 &amp;nbsp; &amp;nbsp; &amp;nbsp; 9702 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;190 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 33 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;648&lt;/div&gt;
&lt;div&gt;
-/+ buffers/cache: &amp;nbsp; &amp;nbsp; &amp;nbsp; 9019 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;873&lt;/div&gt;
&lt;div&gt;
Swap: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;16015 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;16015&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
To make this new file available as swap across reboots, add the following line in /etc/fstab:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
UUID=c83a0679-aa64-4a42-85ee-851f4d7bab60 &amp;nbsp;swap swap &amp;nbsp; &amp;nbsp;defaults &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 0&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
And thats it. You now have a new swap space in your system!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/3807460249223346222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/03/how-to-add-swap-in-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3807460249223346222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/3807460249223346222'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/03/how-to-add-swap-in-linux.html' title='How to add swap in Linux'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-4582913237386207443</id><published>2013-02-27T17:29:00.001-08:00</published><updated>2013-02-27T17:29:08.561-08:00</updated><title type='text'>ssh from a browser using Ajaxterm</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
The Ajaxterm package allows you to open a simple lightweight ssh terminal from within your browser to a remote node.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;To install Ajaxterm issue the following commands:&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;
 root@node1# wget http://antony.lesuisse.org/ajaxterm/files/Ajaxterm-0.10.tar.gz
 root@node1# tar zxvf Ajaxterm-0.10.tar.gz
 root@node1# cd Ajaxterm-0.10
 root@node1# ./ajaxterm.py

Then point your browser to this URL : http://localhost:8022/&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;If you get &#39;login incorrect&#39; error, make sure you have an entry for your pseudo-terminal in /etc/securetty file. So if your pseudoterm is &#39;pts/0&#39; make an entry for that in /etc/securetty file. You can verify the pts from /var/log/secure file as well.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;
&lt;/pre&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/AVvXsEharvOimvnyqdyYT_cbinAr3z6IhUuiyHenQyDuyTwALURiUVzBLgfCe-k_KEDeh-kWRysbVhiyV2r4iwuDAKV_edHPe9fAnoFTipm6RDZwJzjVmTOBk7M9Wssd0Z2zi5ozHyETq2oAsUys/s1600/Screen+Shot+2013-02-27+at+5.28.26+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;203&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEharvOimvnyqdyYT_cbinAr3z6IhUuiyHenQyDuyTwALURiUVzBLgfCe-k_KEDeh-kWRysbVhiyV2r4iwuDAKV_edHPe9fAnoFTipm6RDZwJzjVmTOBk7M9Wssd0Z2zi5ozHyETq2oAsUys/s320/Screen+Shot+2013-02-27+at+5.28.26+PM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;pre&gt;
&lt;/pre&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/4582913237386207443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/02/ssh-from-browser-using-ajaxterm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/4582913237386207443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/4582913237386207443'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/02/ssh-from-browser-using-ajaxterm.html' title='ssh from a browser using Ajaxterm'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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/AVvXsEharvOimvnyqdyYT_cbinAr3z6IhUuiyHenQyDuyTwALURiUVzBLgfCe-k_KEDeh-kWRysbVhiyV2r4iwuDAKV_edHPe9fAnoFTipm6RDZwJzjVmTOBk7M9Wssd0Z2zi5ozHyETq2oAsUys/s72-c/Screen+Shot+2013-02-27+at+5.28.26+PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-5989428556296360290</id><published>2013-02-27T17:15:00.000-08:00</published><updated>2013-02-27T17:15:02.160-08:00</updated><title type='text'>How to enable Password-less ssh in a cluster?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
If you are an admin to a clustered environment and frequently need to remote login (via ssh) to the cluster from your local node (eg laptop) OR from one node in the cluster to other nodes in the same cluster, you may have wondered --&quot;Wouldn&#39;t it be nice to not have to provide password every time you login to a remote system?&quot; Well to answer that its possible to enable what is called password-less ssh (secure shell) session between the nodes and it can be achieved in 3 easy steps.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
1- Generate public keys on each node&lt;/div&gt;
&lt;div&gt;
2- Copy the public key of every node to every other node in the cluster in their &#39;authorized_keys&#39; file&lt;/div&gt;
&lt;div&gt;
3- And test it out.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In the following example, we are taking a two node cluster and want to enable password-less ssh between the two nodes in the cluster.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Node 1 IP Address - &amp;nbsp;10.10.80.102&lt;/div&gt;
&lt;div&gt;
Node 2 IP Address - &amp;nbsp;10.10.80.103&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;On Node 1:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Step 1: &amp;nbsp;Generate Public keys&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
[root@10.10.80.102 ~]#&amp;nbsp;&lt;b&gt;ssh-keygen -t rsa&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
Generating public/private rsa key pair.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
Enter file in which to save the key (/root/.ssh/id_rsa):&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
Created directory &#39;/root/.ssh&#39;.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
Enter passphrase (empty for no passphrase):&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
Enter same passphrase again:&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
Your identification has been saved in /root/.ssh/id_rsa.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
Your public key has been saved in /root/.ssh/id_rsa.pub.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
The key fingerprint is:&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
e8:f8:fe:c7:f2:c6:89:3d:51:78:&lt;wbr&gt;&lt;/wbr&gt;df:6f:f1:a3:90:91 root@10.10.80.102&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
The key&#39;s randomart image is:&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
+--[ RSA 2048]----+&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . &amp;nbsp; &amp;nbsp; |&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
| &amp;nbsp; &amp;nbsp; &amp;nbsp; . &amp;nbsp;. + &amp;nbsp; &amp;nbsp;|&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
| &amp;nbsp; &amp;nbsp; &amp;nbsp;. S &amp;nbsp;E . . |&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
| &amp;nbsp; &amp;nbsp; o &amp;nbsp; &amp;nbsp;. o ...|&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
| &amp;nbsp; &amp;nbsp;. . &amp;nbsp;= = &amp;nbsp; &amp;nbsp;+|&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
| &amp;nbsp; &amp;nbsp; . &amp;nbsp;o O . &amp;nbsp;.+|&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
| &amp;nbsp; &amp;nbsp; .o..=.. ....|&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
+-----------------+&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
[root@10.10.80.102~]#&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;b&gt;Then go to ~/.ssh directory and verify the public key file is present.&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white;&quot;&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;div&gt;
[root@10.10.80.102&amp;nbsp;~]# cd .ssh&lt;/div&gt;
&lt;div&gt;
[root@10.10.80.102&amp;nbsp;.ssh]# ls -l&lt;/div&gt;
&lt;div&gt;
total 8&lt;/div&gt;
&lt;div&gt;
-rw-------. 1 root root 1675 Feb 27 02:53 id_rsa&lt;/div&gt;
&lt;div&gt;
-rw-r--r--. 1 root root &amp;nbsp;394 Feb 27 02:53 id_rsa.pub&lt;/div&gt;
&lt;div&gt;
[root@10.10.80.102&amp;nbsp;.ssh]#&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: red; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;b&gt;Step 2:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-size: 13px;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: red; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;b&gt;Copy the public key of every node to every other node in the cluster in their &#39;authorized_keys&#39; file&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-size: 13px;&quot;&gt;
&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
Then copy over the public key file (of Node 1 ie 10.10.80.102) over to Node 2 (10.10.80.103 in this case) in the file called &lt;b&gt;~/.ssh/authorized_keys &lt;/b&gt;with &lt;b&gt;permissions 600. &lt;/b&gt;A handy tool called &lt;b&gt;ssh-copy-id &lt;/b&gt;does it for you as shown below.&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;div&gt;
[root@10.10.80.102 .ssh]#&amp;nbsp;&lt;b&gt;ssh-copy-id -i id_rsa.pub 10.10.80.103&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
The authenticity of host &#39;10.10.80.103 (10.10.80.103)&#39; can&#39;t be established.&lt;/div&gt;
&lt;div&gt;
RSA key fingerprint is 06:80:d2:e9:05:c8:28:4d:bb:b3:&lt;wbr&gt;&lt;/wbr&gt;09:5a:c1:47:bd:f4.&lt;/div&gt;
&lt;div&gt;
Are you sure you want to continue connecting (yes/no)? yes&lt;/div&gt;
&lt;div&gt;
Warning: Permanently added &#39;10.10.80.103&#39; (RSA) to the list of known hosts.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;mailto:root@10.10.80.103&quot; style=&quot;color: #1155cc;&quot; target=&quot;_blank&quot;&gt;root@10.10.80.103&lt;/a&gt;&#39;s password:&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Now try logging into the machine, with &quot;ssh &#39;10.10.80.103&#39;&quot;, and check in:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; .ssh/authorized_keys&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
to make sure we haven&#39;t added extra keys that you weren&#39;t expecting.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
[root@10.10.80.102&amp;nbsp;.ssh]#&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red; font-family: Times, Times New Roman, serif;&quot;&gt;&lt;b&gt;Step 3&lt;/b&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: red; font-family: Times, Times New Roman, serif;&quot;&gt;Test it out&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
[root@10.10.80.102 .ssh]#&amp;nbsp;&lt;b&gt;ssh&amp;nbsp;&lt;a href=&quot;mailto:root@10.10.80.103&quot; style=&quot;color: #1155cc;&quot; target=&quot;_blank&quot;&gt;root@10.10.80.103&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
Last login: Wed Feb 27 02:49:08 2013 from 10.250.0.54&lt;/div&gt;
&lt;div style=&quot;font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;span style=&quot;color: #222222;&quot;&gt;[root@10.10.80.103 ~]# &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;&lt;b&gt;[[[ no password asked ]]]&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;div class=&quot;adn ads&quot; style=&quot;border-left-color: transparent; border-left-style: solid; border-left-width: 1px; font-size: medium; padding-bottom: 20px; padding-left: 8px;&quot;&gt;
&lt;div class=&quot;gs&quot; style=&quot;margin-left: 44px;&quot;&gt;
&lt;div class=&quot;ii gt adP adO&quot; id=&quot;:df&quot; style=&quot;direction: ltr; font-size: 13px; margin: 5px 15px 0px 0px; padding-bottom: 5px; position: relative; z-index: 2;&quot;&gt;
&lt;div id=&quot;:dg&quot;&gt;
&lt;div class=&quot;yj6qo&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;hi&quot; style=&quot;background-color: #f2f2f2; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; margin: 0px; padding: 0px; width: auto;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;ajx&quot; style=&quot;clear: both;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;gA gt ac5&quot; style=&quot;border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-style: none; margin: 0px; padding: 0px; width: auto;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Now just repeat steps 1, 2, 3 on all nodes on your cluster. And you are all set !!&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/5989428556296360290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/02/how-to-enable-password-less-ssh-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5989428556296360290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/5989428556296360290'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/02/how-to-enable-password-less-ssh-in.html' title='How to enable Password-less ssh in a cluster?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-2202760657210997667</id><published>2013-02-17T08:35:00.001-08:00</published><updated>2013-02-17T08:35:46.428-08:00</updated><title type='text'>Logitech Bluetooth Keyboard K810 with Fedora 17</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
So received my brand new Logitech Bluetooth Illuminated Keyboard K810 from Amazon a few days ago.&lt;br /&gt;
Had been wanting a wireless keyboard for a long time to unclutter the desktop workspace at home.&lt;br /&gt;
[[BTW I also went one further and got a wireless mouse too (Verbatim Wireless Mini Nano Travel Mouse 97470) and I write about it little later in this article.]]&lt;br /&gt;
&lt;br /&gt;
What is good and appealing about this keyboard (besides its wireless feature) is its Illumination feature.&lt;br /&gt;
In low light conditions, a gentle light comes through each key, meaning all the keys are visible in the dark with the letters themselves glowing. This is important for me as I often work late and in the dark room (so not to disturb others while they sleep) and so having an illuminated keyboard is convenient, enhances typing experience by minimizing typos and also looks cool. Infact, I bought my Sony Vaio S series laptop mainly for the Illuminated keyboard feature. Having an external keyboard that is wireless and illuminated at the same time simply enhances the computing experience.&lt;br /&gt;
&lt;br /&gt;
Ok now that we gloated a bit about the product features, lets talk tech.&lt;br /&gt;
As you already read, the keyboard is wireless and it communicates to the laptop via Bluetooth. So obviously, you would want your Bluetooth service turned on (some people turn it off to save laptop battery).&lt;br /&gt;
&lt;br /&gt;
Now my concern about buying this keyboard (its not cheap btw, even on Amazon it costs about $90), was that I only use Linux OS (Fedora 17) and nowhere on Amazon website or even on Logitech&#39;s website does it state that this keyboard is compatible with Linux OS. Anyway, based on the notion that Bluetooth is a wireless standard and not any OS specific featu[root@ms-vaio ~]# rpm -qa | grep bluere, I went ahead and ordered the keyboard. I took the risk--if it did not work because of missing or incomatible drivers, I would have returned it back.&lt;br /&gt;
&lt;br /&gt;
Fedora has its own inbuilt Bluetooth drivers and you can configure its settings via the System Settings &amp;gt; Hardware Settings &amp;gt; Bluetooth.&lt;br /&gt;
Once check Bluetooth on and also turn on Wireless Logitech Bluetooth keyboard, the system will try to detect the keyboard and &#39;pair&#39; it. The bad news is the default Bluetooth driver in Fedora 17 wont be able to pair the keyboard. You can find out what Bluetooth driver you have installed by running the following command on a terminal:&lt;br /&gt;
[root@ms-vaio ~]# &lt;b&gt;rpm -qa | grep blue&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
A little research on the web shows that the driver you need is called &lt;b&gt;&#39;blueman&#39;.&lt;/b&gt;&lt;br /&gt;
To install Blueman simply use yum (as root user on a terminal window):&lt;br /&gt;
&lt;br /&gt;
[root@ms-vaio ~]# &lt;b&gt;yum install blueman -y&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
And query the rpm database again for bluetooth -- see my example below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@ms-vaio ~]# &lt;b&gt;rpm -qa | grep blue&lt;/b&gt;&lt;br /&gt;
bluez-cups-4.99-2.fc17.x86_64&lt;br /&gt;
gnome-bluetooth-libs-3.4.2-1.fc17.x86_64&lt;br /&gt;
bluez-4.99-2.fc17.x86_64&lt;br /&gt;
pulseaudio-module-bluetooth-1.1-9.fc17.x86_64&lt;br /&gt;
&lt;b&gt;blueman-1.23-5.fc17.x86_64&lt;/b&gt;&lt;br /&gt;
gnome-bluetooth-3.4.2-1.fc17.x86_64&lt;br /&gt;
bluez-libs-4.99-2.fc17.x86_64&lt;br /&gt;
gnome-shell-extension-remove-bluetooth-icon-0.3.0-1.fc17.noarch&lt;br /&gt;
bluez-hid2hci-4.99-2.fc17.x86_64&lt;br /&gt;
[root@ms-vaio ~]#&lt;br /&gt;
&lt;br /&gt;
Then start the blueman applet from Gnome under &lt;b&gt;Applications&lt;/b&gt;. Its called &lt;b&gt;&#39;Bluetooth Manager&#39;&lt;/b&gt;.&lt;br /&gt;
Dont select the app called &#39;&lt;b&gt;Bluetooth&lt;/b&gt;&#39; app under &lt;b&gt;&#39;Services&#39;&lt;/b&gt;--thats the default Bluetooth app from Fedora and doesnt work for this keyboard.&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;: to get to Gnome activities, simply point the mouse to your left top corner of the screen.&lt;br /&gt;
&lt;br /&gt;
Then in the Blueman applet, click &lt;b&gt;Setup&lt;/b&gt; in the menu bar &amp;gt; Select Input service. It will automatically detect your keyboard and pair it. And you are all set!&lt;br /&gt;
Bottom line is even though the neither Logitech nor Amazon does not mention compatibility with Linux/Fedora anywhere, this keyboard DOES work on Linux.&lt;br /&gt;
Linux is such a cool platform that you can make anything work on it yourself just with a few commands and some reverse-engineering. No other OS gives you that Freedom. Enjoy!!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PS&lt;/b&gt;: Infact, this keyboard supports 3 wireless devices at the sametime. You can pair your tablet, mobile phone and laptop all at the same time just by pairing them to the 3 bluetooth buttons on the keyboard.&lt;br /&gt;
Also, Like I said before I also got the Verbatim Wirelesse Mini Nano Travel mouse to increase the &#39;Wireless&#39; experience. But that one works on USB technology (not Bluetooth), and therefore is much easier to setup and works out of the box. Plug and Play.&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/2202760657210997667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/02/logitech-bluetooth-keyboard-k810-with.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/2202760657210997667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/2202760657210997667'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/02/logitech-bluetooth-keyboard-k810-with.html' title='Logitech Bluetooth Keyboard K810 with Fedora 17'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6009787676265990703.post-4915039851102455689</id><published>2013-02-16T22:22:00.002-08:00</published><updated>2013-02-16T22:25:16.956-08:00</updated><title type='text'>VirtualBox Shared Folder Fedora 18 Guest on OSX Host</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;In todays article we are going to review the steps required to share folders between two Operating Systems running VirtualBox (VB) on the same machine.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
First what is VirtualBox?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;VirtualBox (VB)is a very useful desktop virtualization tool from (previously) Sun Microsystems (and now Oracle).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;To download VB you can go to&amp;nbsp;&lt;a href=&quot;https://www.virtualbox.org/&quot;&gt;https://www.virtualbox.org/&lt;/a&gt;&amp;nbsp;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
In our setup the Host OS is OSX 10.8 and the guest OS (running inside VB) is Fedora 18. Both are 64Bit OS in our case.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
[[Note: The article assumes that you have a similar setup and that you have already installed VB and Fedora guest on top of the OSX host. If not, then for installation steps, go &lt;a href=&quot;http://www.virtualbox.org/manual/ch04.html&quot;&gt;here for a text tutorial&lt;/a&gt;&amp;nbsp;or &lt;a href=&quot;http://www.youtube.com/watch?v=Ad_-yV-Dw04&quot;&gt;here for a video tutorial&lt;/a&gt;&amp;nbsp;before proceeding further.]]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
We have a folder on our host (OSX) Desktop called &#39;&lt;b&gt;documents&lt;/b&gt;&#39; that we want to access from within the Fedora guest at a mount point directory called &#39;&lt;b&gt;/home/mrinal/doc_osx&lt;/b&gt;&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
The first thing we need to do is to define the shared folder.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;For that click the &#39;&lt;b&gt;Devices&lt;/b&gt;&#39; menu on the top of the VB window, and then click &#39;&lt;b&gt;Shared Folders...&lt;/b&gt;&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;This opens a popup where you define the host folder to share (in our case called&amp;nbsp;&lt;b&gt;documents&lt;/b&gt;) and the path for the same.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
The next thing to do is to install the VBGuest Additions to the Guest OS (Fedora 18).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;This is because the default installation of VB doesnt come with the necessary modules for sharing folders, mouse integration, display integration etc.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
So, to do that open a terminal window on your Fedora guest and su - to root&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;$ su -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;password:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;#&amp;nbsp;&amp;nbsp;yum install dkms binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
This downloads and installs the necessary kernel modules and mounts the iso for the guest addition&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;In my case, the &amp;nbsp;Guest Additions were mounted under this path by default:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;/run/media/mrinal/VBOXADDITIONS_4.2.6_82870/ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
[[Note: &amp;nbsp;you should be able to see it in the output of mount / df -Th&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Also, the correct version of VBox Additional modules for Fedora 18 is 4.2.6.xyz ]]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
So I went in that directory,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;[root@fedora18 ~]# cd /run/media/mrinal/VBOXADDITIONS_4.2.6_82870/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
And ran the shell script to install the Guest Additions as follows:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
[root@fedora18 VBOXADDITIONS_4.2.6_82870]# &lt;b&gt;./VBoxLinuxAdditions.run&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Verifying archive integrity... All good.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Uncompressing VirtualBox 4.2.6 Guest Additions for Linux..........&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;VirtualBox Guest Additions installer&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Removing installed version 4.2.6 of VirtualBox Guest Additions...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Removing existing VirtualBox DKMS kernel modules &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ &amp;nbsp;OK &amp;nbsp;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Removing existing VirtualBox non-DKMS kernel modules &amp;nbsp; &amp;nbsp; &amp;nbsp; [ &amp;nbsp;OK &amp;nbsp;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Building the VirtualBox Guest Additions kernel modules &amp;nbsp; &amp;nbsp; [ &amp;nbsp;OK &amp;nbsp;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Doing non-kernel setup of the Guest Additions &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ &amp;nbsp;OK &amp;nbsp;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Starting the VirtualBox Guest Additions &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ &amp;nbsp;OK &amp;nbsp;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Installing the Window System drivers&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Installing X.Org Server 1.13 modules &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ &amp;nbsp;OK &amp;nbsp;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Setting up the Window System to use the Guest Additions &amp;nbsp; &amp;nbsp;[ &amp;nbsp;OK &amp;nbsp;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;You may need to restart the hal service and the Window System (or just restart&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;the guest system) to enable the Guest Additions.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
Installing graphics libraries and desktop services componen[ &amp;nbsp;OK &amp;nbsp;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;[root@fedora18 VBOXADDITIONS_4.2.6_82870]#&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
[[Ensure you didnt receive any errors or &#39;FAILED&#39; status messages, if you do, then look at the log files under /var/log directory. The log file is vboxadd-install.log]]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
Assuming all went well so far, now the only thing remaining to do is to mount the shared folder on your guest.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;You can do that only as root (or sudo)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
[[As Root]]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;[root@fedora18 ~]# mount -t vboxsf -o rw documents /home/mrinal/doc_osx&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
[[As regular user mrinal via sudo]]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;[mrinal@fedora18 ~]$ sudo mount -t vboxsf -o rw,uid=1000 documents /home/mrinal/doc_osx&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
Also:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Not recommended to automount in /etc/fstab as it hangs the guest at boot.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;So if you reboot, you need to mount the share manually again. Perhaps you can automate via an init script in /etc/init.d directory.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
Anyway, hope you found this article useful...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/4915039851102455689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/02/virtualbox-shared-folder-fedora-18.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/4915039851102455689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/4915039851102455689'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/02/virtualbox-shared-folder-fedora-18.html' title='VirtualBox Shared Folder Fedora 18 Guest on OSX Host'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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-6009787676265990703.post-1102962272258743667</id><published>2013-02-05T14:39:00.000-08:00</published><updated>2013-02-05T14:39:30.972-08:00</updated><title type='text'>OEM vs ODM Explained..</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Many have asked this question - What is the difference between an OEM and an ODM?&lt;br /&gt;
&lt;br /&gt;
So here it is in a compact form &lt;br /&gt;
&lt;br /&gt;
OEM and ODM are terms that we come across in the design and 
manufacturing industry and people remain unsure of the difference 
between both terms as they appear to be similar. These are in fact 
categorization for the manufacturing companies and the resellers. This 
article will help the readers in differentiating these terms by finding 
more about their functions and responsibilities.&lt;br /&gt;
&lt;br /&gt;

OEM&lt;br /&gt;

Original Equipment Manufacturer (OEM) is a company which produces a 
product according to parameters given by another company. The product is
 sold to the company which gave order and then it is sold under a trade 
name given by the purchaser. OEM has the facilities to manufacture 
products, but it is not involved in Research and Development and 
manufactures products according to the specifications of the company 
which places the order.&lt;br /&gt;
Examples will be Quanta, FoxConn, Compal.&lt;br /&gt;
&lt;br /&gt;

ODM&lt;br /&gt;

ODM is Original Design Manufacturer which refers to a company which 
conceives and manufactures the product. It sells the product then to 
another company which sells it under the own trade name. An ODM company 
can begin only if it knows the concept and the function of the product 
and it has the facility for research and development.&lt;br /&gt;
Examples will be Asus, Acer, Dell. &lt;br /&gt;
&lt;br /&gt;

Now it is clear that an ODM company is the one which designs and 
manufactures products according to the ideas conceived by them, while 
the OEM Company works like a businessman who accomplishes the 
specifications of design given by another company. As ODM companies make
 their own products, they have of course more negotiating power and are 
able to ask for more prices than OEM companies.&lt;br /&gt;

An advantage which OEM gives to the business owner is that they get 
the ownership of a brand without setting up infrastructure for 
production because they get finished products from manufacturers. ODM is
 innovative and is involved in R and D and this is why they need to wait
 to get profits until their products are approved by industry and bought
 by the interested parties.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://timedigit.blogspot.com/feeds/1102962272258743667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://timedigit.blogspot.com/2013/02/oem-vs-odm-explained.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/1102962272258743667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6009787676265990703/posts/default/1102962272258743667'/><link rel='alternate' type='text/html' href='http://timedigit.blogspot.com/2013/02/oem-vs-odm-explained.html' title='OEM vs ODM Explained..'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/04261905149404236973</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></feed>