When running apt-get I receive error locale: Cannot set LC_CTYPE to default locale: No such file or directory
. What can I do to fix this error?
I am connecting from a box running Mac OS X.
aptlinuxUbuntu
When running apt-get I receive error locale: Cannot set LC_CTYPE to default locale: No such file or directory
. What can I do to fix this error?
I am connecting from a box running Mac OS X.
Best Answer
There is definitely something wrong with OS X (May be Lion only)
What is the problem?
OS X does not correctly set the locale environment. Also, OS X calls the UTF-8 charset in the combined syntax of locales differently than Linux.
How to fix it?
You can find numerous "fixes" on Google, most of them do not actually work or are just part of the problem, because they are meant for a different problem creating the same or similar errors.
I think the most reasonable way is to fix your local environment on the OS X client. If you run the
locale
command on your OS X client, it shows an incomplete environment. The language is not set.So in the
~/.bash_profile
file on your local machine, just addYou can of course replace the
en_US
with your desired language, just make sure to install its locale on the server too (for example on Debian withdpkg-reconfigure locales
). Do not forget to close and re-open your Terminal.However do not use the
.UTF
variants. They will only either work on the server or locally. OS X and your Linux server have a different name for UTF-8 in the combined language.charset syntax. If you use for exampleen_US.utf8
it will cause an error locally while it works "fine" remotely, while usingen_US.utf-8
will work locally but cause the error on your server. Just use the plain language definition. The character set should end up being UTF-8 anyway.You can test whether it works by just running
locale
again on the server, if you see the dreaded message at the top, it does not work. If you messed up locally you will see an error right when opening a new Terminal window.Missing locales on the Server
If it is still not working, you may be missing your selected locale on the server. You can be hardly wrong with "en_US" but may want a different one. How to install a locale depends on your servers distribution.
dpkg-reconfigure locales
then select your locale.