This blocking effort appears to have started in the Windows world but it is applicable to all UNIX-based systems where a hosts file is used.
Basically, copy the contents of this example hosts file to the end of your /etc/hosts
file (requires root access).
[more]
In /etc/hosts
, make sure not to remove the pre-defined settings, but you may comment out the duplicate "127.0.0.1 localhost" line. It should look similar to this:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
# Custom entries (not shown)
# This MVPS HOSTS file is a free download from: #
# http://www.mvps.org/winhelp2002/ #
# #
# Notes: the browser does not read this "#" symbol #
# You can create your own notes, after the # symbol #
# This *must* be the first line: 127.0.0.1 localhost #
# *********************************************************#
# ---------------- Updated: Sept-02-2009 ------------------#
# *********************************************************#
# #
# Entries with comments are all searchable via Google. #
# #
# Disclaimer: this file is free to use for personal use #
# only. Furthermore it is NOT permitted to copy any of the #
# contents or host on any other site without permission or #
# meeting the full criteria of the below license terms. #
# #
# This work is licensed under the Creative Commons #
# Attribution-NonCommercial-ShareAlike License. #
# http://creativecommons.org/licenses/by-nc-sa/3.0/ #
##DUPLICATE:
##127.0.0.1 localhost
#start of lines added by WinHelp2002
# [Misc A - Z]
127.0.0.1 fr.a2dfp.net
127.0.0.1 m.fr.a2dfp.net
127.0.0.1 ad.a8.net
[...]
Finally, remember to check the example hosts file for updates; it is updated quite frequently.
To automate this process, I have created this script. You would need to execute it with "sudo
" (or it could be placed into /etc/periodic/monthly
?).
#!/bin/csh
# File: host_db_update
echo "Started /etc/hosts update"
# Download the current version without progress info:
curl -so /tmp/hosts.zip http://www.mvps.org/winhelp2002/hosts.zip
if (-s /tmp/hosts.zip) then
# Unzip quietly and convert CRLF -> LF
unzip -aoqq -d /tmp /tmp/hosts.zip HOSTS
rm /tmp/hosts.zip
endif
if (! -fs /tmp/HOSTS) then
echo "Error: Download of hosts file failed."
rm -f /tmp/HOSTS
exit 1
endif
set tmpdate = `grep -m 1 Updated: /tmp/HOSTS|awk '{print $4}'`
set etcdate = `grep -m 1 Updated: /etc/hosts|awk '{print $4}'`
if (X"${tmpdate}" == X"${etcdate}") then
echo "Info: Hosts file is already up-to-date (${etcdate})"
rm -f /tmp/HOSTS
exit 0
endif
# Remove the previous MVPS additions from /etc/hosts
sed '/^# This MVPS HOSTS/,$ d' /etc/hosts > /tmp/hosts.new
# Append the new settings
sed '/localhost$/ s/^/##/' /tmp/HOSTS >> /tmp/hosts.new
rm /tmp/HOSTS
# Make a backup and move the new file:
cp /etc/hosts{,~}
mv /tmp/hosts.new /etc/hosts
# Print a message:
echo "Updated /etc/hosts with settings from ${tmpdate}"
exit 0