<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Linux</title>
        <link>http://www.alexkuo.info/category/9.aspx</link>
        <description>Linux</description>
        <language>en-US</language>
        <copyright>Alex Kuo</copyright>
        <generator>Subtext Version 1.9.4.0</generator>
        <item>
            <title>Ubuntu Server 7.10: Installing Proftpd and 'warning: unable to determine IP address of'</title>
            <link>http://alexkuo.info/archive/2008/03/06/50.aspx</link>
            <description>I had some trouble installing proftpd today on a Linode.com VPS server. For anyone that hasn't used linode, it's a colo service that lets people lease different grades of Linux VPS servers at reasonable prices. I've been using them for 4 months with few problems.&lt;br /&gt;
&lt;br /&gt;
Installing proftpd in Ubuntu is easy. All you have to do is open a Terminal window or SSH into your server and type:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;" dir="ltr" class="alt2"&gt;sudo apt-get install proftpd&lt;/pre&gt;
&lt;br /&gt;
However for some reason, the Ubuntu distros mounted on Linode's servers have a quirk or two that require a few tweaks to get the server working. The first thing is whether to run the server in standalone or xinetd mode. The server won't be able access port 21 unless it's operating in standalone mode. So, set it to standalone mode.&lt;br /&gt;
&lt;br /&gt;
The second quirk, which is not unique to Linode VPS servers, regards resolving the host's address. You must add the server's static address to the hosts file. For example, if your machine's name is 'johnny' and the static IP address is 79.221.23.12.&lt;br /&gt;
&lt;br /&gt;
To edit your hosts file type&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;" dir="ltr" class="alt2"&gt;sudo vi /etc/hosts&lt;/pre&gt;
&lt;br /&gt;
Your hosts file  should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 175px; text-align: left;" dir="ltr" class="alt2"&gt;127.0.0.1       localhost&lt;br /&gt;79.221.23.12	johnny&lt;br /&gt;&lt;br /&gt;# The following lines are desirable for IPv6 capable hosts&lt;br /&gt;::1     ip6-localhost ip6-loopback&lt;br /&gt;fe00::0 ip6-localnet&lt;br /&gt;ff00::0 ip6-mcastprefix&lt;br /&gt;ff02::1 ip6-allnodes&lt;br /&gt;ff02::2 ip6-allrouters&lt;br /&gt;ff02::3 ip6-allhosts&lt;/pre&gt;
&lt;br /&gt;
You can determine your machine's host name by opening the file,  '/etc/hostname'.&lt;br /&gt;
&lt;br /&gt;
Aftewards, check your proftpd configuration. To do this, type: &lt;br /&gt;
&lt;pre style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;" dir="ltr" class="alt2"&gt;sudo proftpd -td5&lt;/pre&gt;
&lt;br /&gt;
If you would like more information on setting up Proftpd or Ubuntu's network configuration. Please consult the following:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=79588"&gt;Ubuntu Forms: Setting up Proftpd&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://alexkuo.info/archive/2007/06/26/34.aspx"&gt;Alexkuo.info: Ubuntu Server 7.04 Fiesty: Installation Problems and Changing Network Settings from DHCP to Static IP (Still valid for Ubuntu 7.10&lt;/a&gt;)&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-DNS.html"&gt;Proftpd and DNS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://alexkuo.info/aggbug/50.aspx" width="1" height="1" /&gt;</description>
            <guid>http://alexkuo.info/archive/2008/03/06/50.aspx</guid>
            <pubDate>Thu, 06 Mar 2008 23:54:24 GMT</pubDate>
            <comments>http://alexkuo.info/archive/2008/03/06/50.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://alexkuo.info/comments/commentRss/50.aspx</wfw:commentRss>
            <trackback:ping>http://alexkuo.info/services/trackbacks/50.aspx</trackback:ping>
        </item>
        <item>
            <title>When Not to Run on an Open Source Platform</title>
            <link>http://alexkuo.info/archive/2007/11/22/47.aspx</link>
            <description>The other day I had a nice chat with a colleague about the benefits and pitfalls of using an open source platform. I know this subject has been discussed deeply on various forums articles and blogs. I've personally done research for Alcatel-Lucent and the University of Texas at Dallas on the subject. For businesses, the bottom line is cost. Their are certain scenarios in a business where switching platforms, whether its open source or not, does not make sense. The scenario I discussed with my colleague revolved around the cost of switching from a Microsoft platform to a Linux platform for its custom server applications.&lt;br /&gt;
&lt;br /&gt;
My colleague's business faces two main hurdles before considering a migration: the time it will take to migrate custom applications and the expenses incurred during the migration. If the current system is meeting customer needs and does not need further changes, then migrating over to an open source platform may not be the best choice, especially if the lifetime of the system is not close to expiring. Open source software is best used when continuous scaling is demanded. Because of the licensing fees incurred when scaling can become astronomical, development of the system needs to consider the benefits given to a proprietary solution over a open source solution. For example, Microsoft's Visual Studio has excellent tools for building .NET applications. If the time saved from developing on this platform is justifiable and the scaling needs do not supercede the cost  saved using an open source platform, then using a Microsoft solution may be warranted. &lt;br /&gt;
&lt;br /&gt;
Despite my overall excellent experience developing on the Microsoft platform, I still have a hard time recommending it as the platform of choice, mainly because of cost and time savings. These savings are not obvious to people who have not used an open platform before. One way to explain the cost and time savings incurred is the notion of barriers or hurdles towards completing a goal. When developing or deploying a system, one of the hurdles towards completion is paying for licenses, which incurs some amount of expense in time and money. If the entire application stack is free, then you eliminate that expense altogether for the rest of the system's lifetime. This allows the complete application stack to be cloned or deployed multitudes of times, whether in a test system, developer system, or production system, without incurring the expense of time and money you would encounter in a purchased product. Removing this hurdle has changed the way entire systems are deployed and general deployment of systems in both open source and commercial projects. One simple example is Debian's software distribution, 'apt'. A user can script out the default software configuration for a server with one command line. For example, installing a web server, office suite, browser, a couple of games, a couple of compilers, and a IDE with one shell command. Removing the purchasing barrier also paves the way towards completely automating the scaling of a system's infrastructure. For the small software vendor, you just can't do that on a Windows platform.&lt;img src="http://alexkuo.info/aggbug/47.aspx" width="1" height="1" /&gt;</description>
            <guid>http://alexkuo.info/archive/2007/11/22/47.aspx</guid>
            <pubDate>Thu, 22 Nov 2007 09:07:54 GMT</pubDate>
            <comments>http://alexkuo.info/archive/2007/11/22/47.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://alexkuo.info/comments/commentRss/47.aspx</wfw:commentRss>
            <trackback:ping>http://alexkuo.info/services/trackbacks/47.aspx</trackback:ping>
        </item>
        <item>
            <title>Ubuntu Desktop 7.10: Setup HP 1200 Printer</title>
            <link>http://alexkuo.info/archive/2007/10/24/45.aspx</link>
            <description>After a short search through the Ubuntu forums, I ran into this &lt;a target="_blank" href="http://ubuntuforums.org/showthread.php?t=184838&amp;amp;highlight=setup+hp+printer"&gt;post&lt;/a&gt; that went into details about setting up a HP printing device. After briefly reading through the instructions, I ran a utility called 'HPLIP'. 'HPLIP' is a program that will automatically download and compile all the necessary files to activate your printer.  The program will ask you a few questions about your computer and request you replug-in your printer at the end of the installation. After doing this, I printed a test page and golly... it actually worked. &lt;img src="http://alexkuo.info/images/alexkuo_info/omg_smile.gif" alt="" /&gt;&lt;img src="http://alexkuo.info/aggbug/45.aspx" width="1" height="1" /&gt;</description>
            <guid>http://alexkuo.info/archive/2007/10/24/45.aspx</guid>
            <pubDate>Wed, 24 Oct 2007 10:09:03 GMT</pubDate>
            <comments>http://alexkuo.info/archive/2007/10/24/45.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://alexkuo.info/comments/commentRss/45.aspx</wfw:commentRss>
            <trackback:ping>http://alexkuo.info/services/trackbacks/45.aspx</trackback:ping>
        </item>
        <item>
            <title>Ubuntu Linux: Syncing Documents between Different Computers Using NFS and Unison</title>
            <link>http://alexkuo.info/archive/2007/10/18/44.aspx</link>
            <description>The other day I successfully made a full transition from my laptop to my desktop as my primary development environment. The biggest hurdle before completing this transition was transferring and syncing documents between my two laptop and desktop. For quick file transfers, I created a network file share, or NFS, on my desktop, while mounting the drive on my laptop. For a quick overview on how to setup and mount NFS, consult this &lt;a href="http://ubuntuforums.org/showthread.php?t=249889" target="_blank"&gt;thread&lt;/a&gt; on Ubuntu forums.&lt;br /&gt;
&lt;br /&gt;
I also wanted to sync and compare documents from a centralized server and have the ability to compare differences between a client and a centralized 'master' copy. (think Subversion - but without all the permissions and change logging) After a quick Google search, I found a wonderful program called 'Unison'. This program will allow a user to define a master directory on a server and slave directory on a client. Master being the label for the directory where all clients compare their files and slave as clients that send new files or receive files copied from other clients to the master directory. For directions on installing unison, consult this &lt;a href="http://www.howtoforge.com/linux_unison" target="_blank"&gt;article&lt;/a&gt; on howtoforge.com.&lt;img src="http://alexkuo.info/aggbug/44.aspx" width="1" height="1" /&gt;</description>
            <guid>http://alexkuo.info/archive/2007/10/18/44.aspx</guid>
            <pubDate>Thu, 18 Oct 2007 07:22:50 GMT</pubDate>
            <comments>http://alexkuo.info/archive/2007/10/18/44.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://alexkuo.info/comments/commentRss/44.aspx</wfw:commentRss>
            <trackback:ping>http://alexkuo.info/services/trackbacks/44.aspx</trackback:ping>
        </item>
        <item>
            <title>Developing on a Open Source Platform</title>
            <link>http://alexkuo.info/archive/2007/09/02/42.aspx</link>
            <description>Lately I've been tasked with writing an Administration interface that's very client heavy for a web application. It uses the &lt;a href="http://www.extjs.com"&gt;Extjs&lt;/a&gt; framework and its widgets for building the GUI, &lt;a href="http://www.djangoproject.com"&gt;Django&lt;/a&gt; + &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt; for the application tier, and &lt;a href="http://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt; for the database end. We're using &lt;a href="http://www.apache.org"&gt;Apache&lt;/a&gt; and &lt;a href="http://www.ubuntu.org"&gt;Ubuntu&lt;/a&gt; Server as our platform. The entire application stack is open source, so the acquisition costs for starting development is nil. &lt;br /&gt;
&lt;br /&gt;
In the past few weeks, I've developed more insights into the advantages of developing on a completely open source stack. The newest pro I've discovered is the documentation and active communities in the larger and popular projects. I know a lot of MS developers moan about the lack of adequate support available on some open source projects, but it's not true of all them out there. When choosing components for your system, it's almost a given that strong community support is a requirement. Fortunately in OSS projects, the utility of a project and the general following behind it go hand in hand. &lt;br /&gt;
&lt;br /&gt;
I can recommend with confidence that the community support behind our application stack (Extjs, Django, Python, PostgreSQL) for our system is strong and adequate for any web application projects that you may want to pursue&lt;img src="http://alexkuo.info/aggbug/42.aspx" width="1" height="1" /&gt;</description>
            <guid>http://alexkuo.info/archive/2007/09/02/42.aspx</guid>
            <pubDate>Mon, 03 Sep 2007 02:07:26 GMT</pubDate>
            <comments>http://alexkuo.info/archive/2007/09/02/42.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://alexkuo.info/comments/commentRss/42.aspx</wfw:commentRss>
            <trackback:ping>http://alexkuo.info/services/trackbacks/42.aspx</trackback:ping>
        </item>
        <item>
            <title>Ubuntu Desktop: Unplugging/Replugging your Network Cable on your Laptop and Requesting a New Address from DHCP.</title>
            <link>http://alexkuo.info/archive/2007/08/09/41.aspx</link>
            <description>Sometimes when working on my laptop, which has Ubuntu Desktop installed on it, I have to move it around and therefore unplug the network cable and switch to wireless or vice versa. Unplugging and replugging your laptop into a network sometimes results in the laptop's inability to renew its IP address or re-establish a connection with the internet. After a quick Google search, I found this &lt;a target="_blank" href="http://ubuntuforums.org/archive/index.php/t-11885.html"&gt;post &lt;/a&gt;about the problem. &lt;br /&gt;
&lt;br /&gt;
In order to issue a command similar to 'ipconfig -renew' in Windows, open your shell and type the following:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;sudo ifdown eth0&lt;br /&gt;sudo ifup eth0&lt;/pre&gt;
&lt;br /&gt;
These two commands will renew your IP address and should fix the connection problem. However, there's a program called &lt;a target="_blank" href="http://0pointer.de/lennart/projects/ifplugd/"&gt;'ifplugd'&lt;/a&gt; that monitors your network connection and automatically renews your address if this problem occurs. To install this program, open your shell and type:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;sudo apt-get install ifplugd&lt;/pre&gt;&lt;img src="http://alexkuo.info/aggbug/41.aspx" width="1" height="1" /&gt;</description>
            <guid>http://alexkuo.info/archive/2007/08/09/41.aspx</guid>
            <pubDate>Fri, 10 Aug 2007 03:05:53 GMT</pubDate>
            <comments>http://alexkuo.info/archive/2007/08/09/41.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://alexkuo.info/comments/commentRss/41.aspx</wfw:commentRss>
            <trackback:ping>http://alexkuo.info/services/trackbacks/41.aspx</trackback:ping>
        </item>
        <item>
            <title>Ubuntu Desktop: How to Find Your Application Files that Store Your Personal Preferences</title>
            <link>http://alexkuo.info/archive/2007/07/26/38.aspx</link>
            <description>Today I was trying to find the location of my chat logs for gaim in Ubuntu and noticed that none of my logs were being found through the File Search program ('Places' -&amp;gt; 'Search for Files'). After digging through a few Google queries, I ran into a blurb about hidden folders prefixed with a period.  It turns out all personal preferences user specific files for your applications are stored in directories with this notation '/home/user_name/.program_name'. So all my personal files and settings related to gaim would be stored in '/home/alex/.gaim'.&lt;br /&gt;
&lt;br /&gt;
The File Search program ignores hidden files by default. In order to search hidden files, click on the 'Available Options' drop down list and select 'Show hidden and backup files' and press the 'Add' button. This should include all hidden files in your search.&lt;br /&gt;
&lt;br /&gt;
To see a list of the hidden directories in your home folder, open the shell and type the following:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;ls -a&lt;/pre&gt;
&lt;br /&gt;
By default, your command prompt should open in your home folder. So you shouldn't need to navigate to '/home/user_name/'.&lt;img src="http://alexkuo.info/aggbug/38.aspx" width="1" height="1" /&gt;</description>
            <guid>http://alexkuo.info/archive/2007/07/26/38.aspx</guid>
            <pubDate>Fri, 27 Jul 2007 02:10:01 GMT</pubDate>
            <comments>http://alexkuo.info/archive/2007/07/26/38.aspx#feedback</comments>
            <wfw:commentRss>http://alexkuo.info/comments/commentRss/38.aspx</wfw:commentRss>
            <trackback:ping>http://alexkuo.info/services/trackbacks/38.aspx</trackback:ping>
        </item>
        <item>
            <title>Mirroring an FTP site in Ubuntu Server</title>
            <link>http://alexkuo.info/archive/2007/07/09/37.aspx</link>
            <description>The other day I was tasked with mirroring a FTP site, about 5+ gigs of files, on our local server. Mirroring directories is a fairly common task when administering servers, however, the main differences when tasked with this job are the protocols available, whether the job is bi-directional or one way, and the how fast the mirroring needs to occur. &lt;br /&gt;
&lt;br /&gt;
Lucky for me, this job did not demand instantaneous sync and the job was only one way - meaning changes from a server were reflected only from one server. The biggest problem was this job was limited to using only the FTP protocol for mirroring the site. This immediately removed rsync, a popular server/client for syncing directories remotely, as an option. After a quick search through the Ubuntu forums, I stumbled upon a post that detailed several programs on mirroring an FTP site using FTP protocol only. I chose a program called 'ftpmirror'. &lt;br /&gt;
&lt;br /&gt;
Ftpmirror is a program that lets a user define 'packages', which are configuration details for mirroring an FTP site, and scheduling these 'packages' to be run daily, monthly, or weekly. To install this program, I typed&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;sudo apt-get install ftpmirror&lt;/pre&gt;
&lt;br /&gt;
If you're using Ubuntu Server, the configuration files should reside in the '/etc/ftpmirror/' directory. Upon browsing through the directory, you will find a file called 'ftpmirror.cf-sample'. This file contains a few example 'packages' that can be used as a template. The user puts any active 'packages' in the 'ftpmirror.cf' file. My 'ftpmirror.cf' file looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 100px; text-align: left;"&gt;package = alexkuo_media&lt;br /&gt; ftp-server = master.alexkuo.info&lt;br /&gt; ftp-user = mirror&lt;br /&gt; ftp-pass = password&lt;br /&gt; remote-directory = /media/pics/&lt;br /&gt; local-directory = /home/deploy/media/pics&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;
This package uses the directory '/media/pics/' as the root directory on the ftp server 'master.alexkuo.info' and uses the login/password, mirror/password, to login into the remote server. All files, directories, and subdirectories found in the '/media/pics' directory are then downloaded into the '/home/deploy/media/pics' directory on the local machine once the package is activated.&lt;br /&gt;
&lt;br /&gt;
I decided to run this job once a week, so I added the package to the '/etc/ftpmirror/list.weekly' file. To do this, open the 'list.weekly' file with a text editor. Mine looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;alexkuo_media&lt;/pre&gt;
&lt;br /&gt;
Pretty plain huh? I removed the comments that originally came with the file, so it looks pretty bare. Adding another package involves defining another package in the ftpmirror.cf file and appending the package name on a new line in one of the *.list files.&lt;img src="http://alexkuo.info/aggbug/37.aspx" width="1" height="1" /&gt;</description>
            <guid>http://alexkuo.info/archive/2007/07/09/37.aspx</guid>
            <pubDate>Mon, 09 Jul 2007 12:11:27 GMT</pubDate>
            <comments>http://alexkuo.info/archive/2007/07/09/37.aspx#feedback</comments>
            <wfw:commentRss>http://alexkuo.info/comments/commentRss/37.aspx</wfw:commentRss>
            <trackback:ping>http://alexkuo.info/services/trackbacks/37.aspx</trackback:ping>
        </item>
        <item>
            <title>Ubuntu Server 7.04 Fiesty: Mounting or Accessing a USB Drive in Bash Shell</title>
            <link>http://alexkuo.info/archive/2007/06/28/36.aspx</link>
            <description>I ran into a problem today accessing a USB Drive in Ubuntu Server. In Windows and in Ubuntu Standard, plug and play works fine. My laptop, which has Ubuntu installed, immediately recognized the USB drive once it was plugged in. I accessed its contents in the Bash shell by typing:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;" dir="ltr" class="alt2"&gt;ls -l /media&lt;br /&gt;ls -l /media/ExternalHDD&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;
Typing the same thing in Ubuntu Server will not yield the same results. Ubuntu 7.04 server does not come with automatic mounting. After plugging in your drive, you need to run a few commands before access to the drive will be allowed. The first command is to install a program called 'pmount'. Type:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;" dir="ltr" class="alt2"&gt;sudo apt-get install pmount&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;
After installing the pmount, you need to figure out what the drive is called on your system. Type:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;" dir="ltr" class="alt2"&gt;fdisk -l&lt;/pre&gt;
&lt;br /&gt;
You should see output that looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 100px; text-align: left;" dir="ltr" class="alt2"&gt;Disk /dev/sdf: 300.0 GB, 300069052416 bytes&lt;br /&gt;255 heads, 63 sectors/track, 36481 cylinders&lt;br /&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;&lt;br /&gt;   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;/dev/sdf4   *           1       36481   293033601    7  HPFS/NTFS&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;
The USB drive I am using is called '/dev/sdf4'. To mount the drive, you're need to create a directory to alias the drive and use pmount to reference the alias. To do this I type:&lt;br /&gt;
&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;" dir="ltr" class="alt2"&gt;sudo mkdir /media/usbdrive&lt;br /&gt;pmount /dev/sdf4 /media/usbdrive&lt;/pre&gt;
&lt;br /&gt;
Afterwards, I copied a bunch of files on the USB drive and set the ownership of the files from root to myself. I typed:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;" dir="ltr" class="alt2"&gt;sudo cp -R /media/usbdrive/filesToCopy /home/alex/&lt;br /&gt;cd /home/alex&lt;br /&gt;sudo chown -R alex:alex filesToCopy  &lt;/pre&gt;
&lt;h3&gt;New Article&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://alexkuo.info/archive/2007/06/28/35.aspx"&gt;CruiseControl Server and Django: How to Setup CruiseControl to Automatically Deploy Django Applications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://alexkuo.info/aggbug/36.aspx" width="1" height="1" /&gt;</description>
            <guid>http://alexkuo.info/archive/2007/06/28/36.aspx</guid>
            <pubDate>Fri, 29 Jun 2007 02:32:15 GMT</pubDate>
            <comments>http://alexkuo.info/archive/2007/06/28/36.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://alexkuo.info/comments/commentRss/36.aspx</wfw:commentRss>
            <trackback:ping>http://alexkuo.info/services/trackbacks/36.aspx</trackback:ping>
        </item>
        <item>
            <title>Ubuntu Server 7.04 Fiesty: Installation Problems and Changing Network Settings from DHCP to Static IP</title>
            <link>http://alexkuo.info/archive/2007/06/26/34.aspx</link>
            <description>Tonight I deployed another installation of Ubuntu Server 7.04 Fiesty. The biggest problem I ran into was setting up the network card. Apparently, the Ubuntu setup wizard tries to contact the network in at least two points during the installation wizard. In one of the points of the installation, failure to contact a server on the internet results in the installation hanging. I got around this by running the installation while connected to my residential DHCP network and then redeploying the server to the DMZ, which requires defining a static IP.&lt;br /&gt;
&lt;br /&gt;
This created another problem - How do you change the network settings from DHCP to static IP address? In order to solve this problem, you need to update your interfaces file to use an assigned static IP address and configure the server to use your network's DNS servers.&lt;br /&gt;
&lt;br /&gt;
To change your network settings from DHCP to static IP, type:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;sudo vi /etc/network/interfaces&lt;/pre&gt;
&lt;br /&gt;
The file displayed should have a line that says ' iface eth0 inet dhcp' or something similar. Change the file to look like the following:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 200px; text-align: left;"&gt;....&lt;br /&gt;....&lt;br /&gt;....&lt;br /&gt;auto eth0&lt;br /&gt;iface eth0 inet static&lt;br /&gt;	address 71.164.212.40&lt;br /&gt;	netmask 255.255.255.0&lt;br /&gt;	network 71.164.212.0&lt;br /&gt;	broadcast 71.164.0.255&lt;br /&gt;	gateway 71.164.212.1&lt;/pre&gt;
&lt;br /&gt;
Afterwards, restart your network interface by typing:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;sudo /etc/init.d/networking restart&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;
Next, you need to configure your DNS servers. You need at least two entries. To edit your DNS entries type:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;sudo vi /etc/resolv.conf&lt;/pre&gt;
&lt;br /&gt;
My file looked like this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;nameserver 4.2.2.1&lt;br /&gt;nameserver 4.2.2.2&lt;/pre&gt;
&lt;br /&gt;
After saving the file, you should be able to connect to the network.&lt;br /&gt;
&lt;br /&gt;
If you would like to edit your hosts file, type the following in your shell.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;sudo vi /etc/hosts&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;
You can add more references to your localhost in here. Mine looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 175px; text-align: left;"&gt;127.0.0.1       localhost&lt;br /&gt;127.0.0.1	alex-server&lt;br /&gt;127.0.0.1	sandbox-server&lt;br /&gt;&lt;br /&gt;# The following lines are desirable for IPv6 capable hosts&lt;br /&gt;::1     ip6-localhost ip6-loopback&lt;br /&gt;fe00::0 ip6-localnet&lt;br /&gt;ff00::0 ip6-mcastprefix&lt;br /&gt;ff02::1 ip6-allnodes&lt;br /&gt;ff02::2 ip6-allrouters&lt;br /&gt;ff02::3 ip6-allhosts&lt;/pre&gt;
&lt;p&gt;If you would like to change the hostname of your server, type the following:&lt;/p&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;sudo vi /etc/hostname&lt;/pre&gt;
&lt;br /&gt;
After typing in your new hostname, you need to run a script to implement the change. Type:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;"&gt;sudo &lt;code&gt;/etc/init.d/hostname.sh start&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;References&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.ubuntugeek.com/ubuntu-704-feisty-fawn-lamp-server-setup.html" target="_blank"&gt;Ubuntugeek.com - Ubuntu 7.04 Fiesty Fawn LAMP Server Setup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://alexkuo.info/aggbug/34.aspx" width="1" height="1" /&gt;</description>
            <guid>http://alexkuo.info/archive/2007/06/26/34.aspx</guid>
            <pubDate>Tue, 26 Jun 2007 13:12:31 GMT</pubDate>
            <comments>http://alexkuo.info/archive/2007/06/26/34.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://alexkuo.info/comments/commentRss/34.aspx</wfw:commentRss>
            <trackback:ping>http://alexkuo.info/services/trackbacks/34.aspx</trackback:ping>
        </item>
    </channel>
</rss>
