So after playing with a Macbook Pro I decided to start doing something useful with it. The excellent MacPorts project has a lot of useful bits of software for doing unix-y development on. Things like RabbitMQ, PostgreSQL etc.
However, upon trying to install PostgreSQL 9.1 server, it ran into a fairly inexplicable error:
---< Staging postgresql91-server into destroot Error: Target org.macports.destroot returned: shell command failed (see log for details)
The log revealed that it was failing on a
chown step, while trying to set the ownership of a directory to the
Taking a quick stroll through
/etc/passwd revealed no such user. However, there was a
_postgres user. Somewhere, something changed, and no-one updated the script.
I found the solution in this Apple listserver thread. If you can’t be bothered to read it, just do the following:
sudo dscl . -append /Users/_postgres RecordName postgres sudo dscl . -append /Groups/_postgres RecordName postgres sudo dscl . -change /Users/_postgres UserShell /usr/bin/false /bin/bash
And all will be well. Hopefully.