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

<channel>
	<title>33dots &#187; tony</title>
	<atom:link href="http://www.33dots.com/index.php/author/tony/feed" rel="self" type="application/rss+xml" />
	<link>http://www.33dots.com</link>
	<description></description>
	<lastBuildDate>Thu, 26 Aug 2010 09:29:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Wordpress error &#8220;Is its parent directory writable by the server?&#8221;</title>
		<link>http://www.33dots.com/index.php/web/wordpress-error-is-its-parent-directory-writable-by-the-server.html</link>
		<comments>http://www.33dots.com/index.php/web/wordpress-error-is-its-parent-directory-writable-by-the-server.html#comments</comments>
		<pubDate>Thu, 26 Aug 2010 09:29:36 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.33dots.com/?p=271</guid>
		<description><![CDATA[I was not able to upload images to my wordpress post after i transferred my entire wordpress to a new host. The error returned was
&#8220;Unable to create directory /blog/wp-content/uploads/2010/xx. Is its parent directory writable by the server?&#8221;
Tried changing the permission of the wp-content folder and its subdirectories to 775 and then to 777.
[jaguars]$ chmod -R [...]]]></description>
			<content:encoded><![CDATA[<p>I was not able to upload images to my wordpress post after i transferred my entire wordpress to a new host. The error returned was<br />
<em>&#8220;Unable to create directory /blog/wp-content/uploads/2010/xx. Is its parent directory writable by the server?&#8221;</em></p>
<p>Tried changing the permission of the <em>wp-content</em> folder and its subdirectories to <code>775</code> and then to <code>777</code>.</p>
<pre>[jaguars]$ chmod -R 775 wp-content/
......
......
[jaguars]$ chmod -R 777 wp-content/</pre>
<p>But both didnt work.. <img src='http://www.33dots.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Next,<br />
The wordpress upload folder was set to <em>/blog/wp-content/uploads</em> in the<em> Settings > Miscellaneous</em><br />
Changed this to <em>blog/wp-content/uploads</em> (removed the &#8216;/&#8217; before blog)<br />
Now uploading works, but still there was a problem. The files are uploaded and saved to new folder <em>/blog/blog/wp-content/uploads</em> [two '<em>blog</em>' in the path.]</p>
<p>Finally, changed the upload folder to <em>wp-content/uploads</em> in the <em>Settings > Miscellaneous</em><br />
Everything works perfect now.</p>
<p>I changed back the permission setting to <code>755</code></p>
<pre>[jaguars]$ chmod -R 755 wp-content/ </pre>
<p>I guess the misconfiguration happend because, in my earlier installation, wordpress was installed into <em>root</em>. and in here to the <em>/blog</em> directory. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.33dots.com/index.php/web/wordpress-error-is-its-parent-directory-writable-by-the-server.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Pidgin to connect to a google hosted chat for your domain</title>
		<link>http://www.33dots.com/index.php/linux/using-pidgin-to-connect-to-a-google-hosted-chat-for-your-domain.html</link>
		<comments>http://www.33dots.com/index.php/linux/using-pidgin-to-connect-to-a-google-hosted-chat-for-your-domain.html#comments</comments>
		<pubDate>Thu, 08 Apr 2010 16:58:43 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.33dots.com/?p=260</guid>
		<description><![CDATA[Google apps for chat allows us to chat to other google users using our own domain like tony@mydomain.com or you@yourdomain.com.
To do this, you have to register for google apps account using your domain name. Then login using using you@yourdomain.com as your user id in gtalk. Simple!
However, pidgin throws an error message if you try to [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Google Apps site" href="http://www.google.com/apps/intl/en/business/index.html" target="_self">Google apps</a> for chat allows us to chat to other google users using our own domain like <em>tony@mydomain.com</em> or <em>you@yourdomain.com</em>.</p>
<p>To do this, you have to register for google apps account using your domain name. Then login using using <em>you@yourdomain.com</em> as your user id in gtalk. Simple!<br />
However, pidgin throws an error message if you try to create a new google talk account with <em>you@yourdomain</em> as the user id. Instead use the following settings,<br />
Protocol: Google talk or XMPP<br />
Username: your username without @yourdomain.com<br />
Domain: yourdomain.com<br />
Click on &#8216;<em>Advanced</em>&#8216; tab and enter &#8216;<em>talk.google.com</em>&#8216; in the <em>Connect Server</em> box. This does the trick!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33dots.com/index.php/linux/using-pidgin-to-connect-to-a-google-hosted-chat-for-your-domain.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>33dots.com moved to a new host</title>
		<link>http://www.33dots.com/index.php/web/33dots-com-moved-to-a-new-host.html</link>
		<comments>http://www.33dots.com/index.php/web/33dots-com-moved-to-a-new-host.html#comments</comments>
		<pubDate>Sun, 07 Mar 2010 10:23:24 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.33dots.com/?p=256</guid>
		<description><![CDATA[Finally this site is moved(hosting and registration) from Yahoo! to DreamHost.
A quick summary of the steps.
1. BackUps!
Yahoo doesn&#8217;t allow shell. So painstakingly downloaded the all the required contents to my local system using gFTP. This took about 1hr 
Exported all the essential MySQL databases via phpMyAdmin
2. Unlocked the domain and copied the authorization code, which [...]]]></description>
			<content:encoded><![CDATA[<p>Finally <a title="33dots.com" href="http://www.33dots.com/" target="_self">this site</a> is moved(hosting and registration) from Yahoo! to DreamHost.<br />
A quick summary of the steps.</p>
<p><strong>1.</strong> BackUps!<br />
Yahoo doesn&#8217;t allow shell. So painstakingly downloaded the all the required contents to my local system using <em>gFTP</em>. This took about 1hr <img src='http://www.33dots.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
Exported all the essential MySQL databases via <em>phpMyAdmin</em></p>
<p><strong>2.</strong> Unlocked the domain and copied the authorization code, which is required for the domain transfer.</p>
<p><strong>3.</strong> Initiated a domain transfer form the DreamHost (DH) control panel.<br />
You will be sent an email to the ID provided in your registration information to confirm the transfer. Confirmed it.</p>
<p><strong>4.</strong>Set up web hosting for this domain at DH.<br />
DH allows you to setup any number of websites to host under a single account.</p>
<p><strong>5.</strong> Uploaded all the content to DH<br />
Initially tried command,</p>
<pre>[tony@localhost ~]$ scp -r 33dots/dump/ username@jaguars.dreamhost.com:work/</pre>
<p>but got bored seeing individual files being transferred slowly.</p>
<p>then,</p>
<pre>
[tony@localhost ~]$ tar -czpf 33dots.tar.gz 33dots/dump/
[tony@localhost ~]$ scp 33dots.tar.gz username@jaguars.dreamhost.com:work/
</pre>
<p>I had to use host as <em>jaguars.dreamhost.com</em> because i have still not pointed my 33dots.com DNS entries to DH.</p>
<p><em>ssh</em>ed to DH. and,
<pre>
[tony@localhost ~]$ ssh username@jaguars.dreamhost.com
username@jaguars.dreamhost.com's password:
[jaguars]$ tar -xzpf 33dots.tar.gz
[jaguars]$ mv 33dots/dump/* ../33dots.com
</pre>
<p><strong>6.</strong> Setup databases at DH<br />
Created a new hostname and user for mysql.<br />
Created the databases<br />
Imported the <em>.sql</em>s via phpMyAdmin</p>
<p><strong>7.</strong> Setup a <em>dreamhosters.com</em> account to test things.<br />
I want to test everything is fine before doing the DNS changes. DH allows you to access your hosted sites, by creating a temporary subdomain like <em>33dots.dreamhosters.com</em>. This allows you to access and test your site, which is otherwise inaccessible, until you point your DNS to DH.</p>
<p>Yes, everything seems fine. Ofcourse! absolute links are not working..<br />
Deactivated the dreamhosters.com subdomain.</p>
<p><strong>8.</strong> Setup <em>Gmail</em> for mail<br />
I&#8217;ll be using gmail for the mail once the transfer is complete.<br />
Went to <a href="http://www.google.com/a/cpanel/domain/new" title="Gmail for webmasters">http://www.google.com/a/cpanel/domain/new</a> and setup the account. Yes, it wont be working until i change the <em>MX records</em> to point to google.</p>
<p><strong>9.</strong> Changed my DNS entries at Yahoo(the registration transfer has not yet over, it will take 7-10 days) to point to DH.<br />
Unsuccessful! an error is shown by yahoo. Perhaps,  since the transfer process is in progress, yahoo cant change the DNS now. Anyway no problems, i have the working version of the site still at yahoo and now also at DH. The email is also working, only thing is it is with yahoo.</p>
<p><strong>10.</strong> Transfer process over!<br />
I got mail from DH that the transfer is complete (5th day).</p>
<pre>
[tony@localhost ~]$ whois 33dots.com
---------
Registrar: NEW DREAM NETWORK, LLC
Name Server: NS1.DREAMHOST.COM
Name Server: NS2.DREAMHOST.COM
Name Server: NS3.DREAMHOST.COM
Status: ok
---------
[tony@localhost ~]$ nslookup 33dots.com
Non-authoritative answer:
Name:   33dots.com
Address: 69.163.171.212
[tony@localhost ~]$ host 69.163.171.212
212.171.163.69.in-addr.arpa domain name pointer <span style="text-decoration: underline;">apache2-emu.jaguars.dreamhost.com</span>.
</pre>
<p>Mail is working fine from Gmail. The website too seems ok.<br />
Now that the transfer is complete and the website is working fine, i deleted all the files and databases at yahoo and canceled the account!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.33dots.com/index.php/web/33dots-com-moved-to-a-new-host.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resized my root filesystem online</title>
		<link>http://www.33dots.com/index.php/linux/resized-my-root-filesystem-online.html</link>
		<comments>http://www.33dots.com/index.php/linux/resized-my-root-filesystem-online.html#comments</comments>
		<pubDate>Fri, 26 Feb 2010 17:32:25 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Cent OS]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.33dots.com/?p=252</guid>
		<description><![CDATA[Wanted to increase the size of my root filesystem. I have my CentOS 5.3 in an LVM
[tony@localhost ~]$ df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/CentOsVG-RootLV
16G   11G  3.8G  75% /

Decided to use a less used NTFS partition. (i [...]]]></description>
			<content:encoded><![CDATA[<p>Wanted to increase the size of my <em>root</em> filesystem. I have my CentOS 5.3 in an <a href="http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)" title="Wikipedia article on LVM">LVM</a></p>
<pre>[tony@localhost ~]$ df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/CentOsVG-RootLV
16G   11G  3.8G  75% /
</pre>
<p>Decided to use a less used NTFS partition. (i have a Linux/Windows multiboot system)</p>
<p>The steps i did,<br />
<strong>1.</strong> Created a new <em>Physical volume</em> using the spare partition</p>
<pre>[tony@localhost ~]$ su -
Password:
[root@localhost ~]# pvcreate /dev/sda8
Physical volume "/dev/sda8" successfully created
</pre>
<p>Use  <code>pvdisplay</code>  to see the newly created physical volume, if required.</p>
<p><strong>2.</strong> Extended the <em>Volume Group</em> to include this physical volume.</p>
<pre>[root@localhost ~]# vgextend CentOsVG /dev/sda8
Volume group "CentOsVG" successfully extended
</pre>
<p><strong>3.</strong> Now, Enlarge the size of the <em>Logical volume</em> and then the <em>filesystem.</em><br />
I knew i have to use <code>lvextend</code> command, but got confused after reading the man pages, so finally decided to use the Graphical Utiliy. <img src='http://www.33dots.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /><br />
<em>System &gt; Administration &gt; Logical Volume Management</em><br />
Clicked on my volume group and then, the required logical volume and &#8216;<em>Edit Properties</em>&#8216;.<br />
Set the size to use the &#8216;<em>Use Remaining</em>&#8216; and <em>Ok</em><br />
The system prompted for enlarging file system size,  and it was all over!</p>
<p>Later i figured out that i should have used the command,<br />
<code>lvextend  /dev/CentOsVG/CentOsVG-RootLV /dev/sda8</code><br />
or<br />
<code>lvextend  /dev/CentOsVG/CentOsVG-RootLV/ -l +100%FREE</code></p>
<p>And perhaps increase the size of <em>root filesystem</em> by using <code>resize2fs</code></p>
<p>Shouldn&#8217;t this require an <code>umount</code> of the /? And so use a &#8216;rescue environment&#8217; or live CD?<br />
No! Online increase of <em>ext3</em> partitions are available from kernel 2.6.10</p>
<p>Finally checked the size of the root</p>
<pre>[tony@localhost ~]$ df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/CentOsVG-RootLV
25G   11G   13G  47% /
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.33dots.com/index.php/linux/resized-my-root-filesystem-online.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Linux File System basics</title>
		<link>http://www.33dots.com/index.php/linux/the-linux-file-system-basics.html</link>
		<comments>http://www.33dots.com/index.php/linux/the-linux-file-system-basics.html#comments</comments>
		<pubDate>Mon, 22 Feb 2010 10:08:28 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Cent OS]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.33dots.com/?p=244</guid>
		<description><![CDATA[Each file in a Linux file system (eg, ext2, ext3) is described by an Inode, and every inode is identified by a unique number.
An Inode is a datastructure that describes the blocks of data the file occupies, as well as, metadata about the file like, the file&#8217;s owner and group owner, the file&#8217;s access permissions(eg [...]]]></description>
			<content:encoded><![CDATA[<p>Each file in a Linux file system (eg, ext2, ext3) is described by an <em>Inode</em>, and every inode is identified by a unique number.<br />
An Inode is a datastructure that describes the blocks of data the file occupies, as well as, metadata about the file like, the file&#8217;s owner and group owner, the file&#8217;s access permissions(eg <em>rwx-r&#8211;r&#8211;)</em>, it&#8217;s size in bytes, timestamps telling when the file was created, last modified and last accessed and a count telling how many hard links point to the inode.<br />
It should be noted that the <span style="text-decoration: underline;">filename is not stored in the inode.</span></p>
<p>A File&#8217;s name along with it&#8217;s inode number are stored in special files called directories. In other words, a directory is just another file, which is treated specially by the linux, and it contains a list of filenames along with their inode numbers. All these list of files are assumed to be contained within that directory.</p>
<p>Use <code>ls -i</code> to see the inode numbers of files and directorys .</p>
<pre>[tony@localhost ~]$ ls -ila
total 820
65538 drwx-----x 57 tony tony    4096 Feb 22 12:18 .
65537 drwxr-xr-x  4 root root    4096 Jul  6  2009 ..
65997 drwx------  3 tony tony    4096 Jul  1  2009  adobe
66027 -rw-rw-r--  1 tony tony     352 Feb 18 21:56 .aspell.en.prepl
</pre>
<p>All the inodes of a file system are created at the moment we format the disk (eg, when we use <code>mkfs</code> command). Thus, the maximum number of inodes (and so the maximum number of files) that the filesystem can have, is determined during the filesystem&#8217;s creation itself.<br />
These inodes are all kept together in inode tables towards the beginning of the partition. The inode tables usually occupy about 1% of the partition&#8217;s space when using the default settings.<br />
The decision as to how many inodes to create is made on Linux using an algorithm. The default setting creates an inode for every 2K bytes contained in the filesystem, but the number can be adjusted by the user when creating the filesystem. For example, it can be wise to create fewer inodes when setting up a filesystem that will contain just a few large files.</p>
<p>It should be noted that, there are two ways in which a filesystem can run out of space: it can consume all the space for adding new data (i.e., to existing files or to new files), or it can use up all the available inodes even when space is left for adding data.<br />
Use the command <code>df -i</code> to see the number of inodes available, used and free.</p>
<pre>[tony@localhost ~]$ df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/CentOsVG-RootLV
4161536  155678 4005858    4% /
/dev/sda9              26104      40   26064    1% /boot
</pre>
<p>Whenever a file is created, the kernel assigns a free inode to that file. The inode is updated to reflect the details of the file. The file&#8217;s name, along with that free inode&#8217;s number, is written to the directory, the file is supposed to be in.<br />
</p>
<h3>Hard links and Symbolic links</h3>
<p><em>Hard links</em> are different filenames that point to same inode number (in essence to the same file).<br />
A <em>soft link</em> or symbolic link is a file whose data contains the &#8216;path&#8217; (eg,<em> /home/tony/resume.txt</em>) of another file(its target).</p>
<p>Since inode numbers are unique only within a filesystem, hard links cannot span across partitions or different filesystems. Where as softlinks can be to anywhere as long as a valid path is there to its target.</p>
<pre>[tony@localhost test]$ echo "this is just some contents" &gt; mytestfile  //create a file
[tony@localhost test]$ ln mytestfile myhardlink              //create a hardlink
[tony@localhost test]$ ln -s mytestfile mysoftlink           //create a softlink
[tony@localhost test]$ ls -li
total 8
2687664 -rw-rw-r-- 2 tony tony 27 Feb 22 14:59 myhardlink
2687665 lrwxrwxrwx 1 tony tony 10 Feb 22 14:58 mysoftlink -&gt; mytestfile
2687664 -rw-rw-r-- 2 tony tony 27 Feb 22 14:59 mytestfile
</pre>
<p>Note in the above shell dialogue that the hardlink and the original file has the same inode number, and the same size.<br />
The soft link has different inode number and of different size, obviously as it is another file whose data has the path to &#8216;<em>mytestfile</em>&#8216;<br />
</p>
<h3>Virtual File System</h3>
<p>On top of the underlying filesystem, the linux maintains a <em>Virtual FileSystem (VFS)</em>. The VFS is an interface for the operating system, system services, and programs to the underlying filesystem.<br />
VFS allows Linux to support many, often very different, file systems, each presenting a common software interface to the VFS. All of the details of the underlying file systems are translated by VFS so that all file systems appear identical to the rest of the Linux kernel and to programs running in the system.<br />
Each filesystem type supported by your VFS will have an associated driver routines loaded in to the kernel.<br />
Linux&#8217;s Virtual File system layer allows you to transparently mount the many different file systems at the same time.<br />
</p>
<h3>The <em>/proc</em> File System</h3>
<p>The <em>/proc</em> file system really shows the power of the Linux Virtual File System. It does not really exist; neither the <em>/proc</em> directory nor its subdirectories and its files actually exist.<br />
The <em>/proc</em> file system, like a real file system, registers itself with the Virtual File System. However, when the VFS makes calls to it requesting inodes as its files and directories are opened, the <em>/proc</em> file system creates those files and directories from information within the kernel.<br />
For example, the kernel&#8217;s <em>/proc/devices</em> file is generated from the kernel&#8217;s data structures describing its devices.<br />
The <em>/proc</em> file system presents a user readable window into the kernel&#8217;s inner workings.</p>
<p><strong>References</strong><br />
<a href="http://tldp.org/LDP/tlk/fs/filesystem.html" title="The Linux Documentation Project">http://tldp.org/LDP/tlk/fs/filesystem.html</a><br />
<a href="http://www.linfo.org/inode.html" title="Linux Info Project">http://www.linfo.org/inode.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.33dots.com/index.php/linux/the-linux-file-system-basics.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
