The Core Dump

A strong conviction that something must be done is the parent of many bad measures

[By Nic Lindh on Friday, 30 September 2011]

Editing the hosts file in Mac OS X 10.7 Lion

If you’re trying to edit your hosts file in Lion, here’s why it’s not working and how to fix it.

I’m posting this in the hope it’ll save somebody else a few minutes of their time.

Apparently Apple has decided to Think Different about the hosts file in Mac OS X Lion. If you want to put in your own entries, they will be politely ignored unless you put them first in the file.

Editing the hosts file allows you to do useful things like preview a site on a production server before flipping the switch on the DNS so you can suss out any errors before the world sees the site, or to access the backend of a CMS on an origin server for updates when the live site is cached by something like Akamai.

To illustrate, here’s the original Mac OS X hosts file, located at /etc/hosts:

\## \# 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

If you were to do the standard UNIX thing of appending your own changes at the bottom—which is what you would do if you’ve spent any time around UNIX machines—you’d end up with something like:

\## \# 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 192.168.1.15 thecoredump.org

But alas, this configuration will in fact not do anything.

The reason is that Apple has apparently decided you must put your own entries at the top. So you must do this instead:

192.168.1.15 thecoredump.org \## \# 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

I don’t know why this is. I wasn’t in that meeting. From my Googling around it seems nobody from the documentation team at Apple were in that meeting either.

So if you want to control your hosts file in Mac OS X Lion, you must put your own entries first and it will work like you expect.

You don’t have to flush the cache or anything. Soon as you save the configuration, it goes to work.

Hope this saves somebody on the Internet some time.

« Why I’m all-in on FiveFingers

 »


Enjoy the ten latest posts!

Any sufficiently advanced incompetence is indistinguishable from malice

Impressions moving from an Apple Watch Series 3 to Series 5

Is there reason to upgrade from a 3 to a 5?

Plans are worthless, but planning is everything

Often injustice lies in what you aren’t doing, not only in what you are doing

Die in a ditch

After all these years, Nic still can’t understand the American attitude to healthcare.

The big thieves hang the little ones

Book roundup, part 29

A sci-fi and fantasy heavy installment that includes The Valedictorian of Being Dead, The Mastermind, Broadsword Calling Danny Boy, Tiamat’s Wrath, The Raven Tower, The Liberation, The Light Brigade and Cryptonomicon.

Politics is not the art of the possible. It consists in choosing between the disastrous and the unpalatable

Book roundup, part 28

Includes The Incomplete Book of Running, Aching God, The Murderbot Diaries, Lies Sleeping, The Consuming Fire, and Rendezvous with Rama.

Las Vegas trip report

Did you know Las Vegas is kind of nutty?