Back to Top

Monday, January 08, 2007

Linux also has a hosts file!

Update: I'm recommending that you use instead of Please check the link to see the reasons and how to modify your hosts file. Also, if you do the changes, the ping command at the end of this article won't work (it will say something to the effect of "Destination specified is invalid.", but this is the expected behavior).

There is a very nice hosts file over at WinHelp2002's page. If you don't know what a hosts file is, check out the Wikipedia entry on it . It is basically a way to override the DNS lookup process and make sure that some domains resolve to a predefined IP address.

What the above mentioned hosts file contains is a list of known advertisement sites and associates it with localhost ( That is, whenever your browser tries to connect to one of these servers (to fetch ads most probably), it will connect to your local machine and will return an error. You will find that this speeds up page loading considerably (for example it block around 70% of the advertisement in the new Yahoo mail which has the annoying tendency to refresh them every couple of seconds which can be killer on a slow connection).

The above page contains instructions for the different flavors of Windows, so here is the Ubuntu version of the instructions:

  1. Download the hosts file (if you downloaded the zipped version, extract it)
  2. Open hosts.txt in an editor
  3. Open a console and type sudo gedit /etc/hosts. Provide your password.
  4. Copy from the first editor to the second editor the list of hosts
  5. Save and close the /etc/hosts file
One interesting sidenote: nslookup bypasses the hosts file and it goes directly to the DNS server, so you can't use it to check if the changes were correct. Use a tool like ping instead. When doing ping [a domain from the list] it should tell you something like PING ( 56(84) bytes of data. If it says then it worked.


Post a Comment

You can use some HTML tags, such as <b>, <i>, <a>. Comments are moderated, so there will be a delay until the comment appears. However if you comment, I follow.