The result is that ec2-set-defaults dies before 'apply_locale' is called.
As such, locale-gen and update-locale are not called in the instance. That causes things like:
$ man asdf
man: can't set the locale; make sure $LC_* and $LANG are correct
No manual entry for asdf
To fix that, you can do what ec2-init would have done:
$ sudo locale-gen en_US.UTF-8
Generating locales...
en_US.UTF-8... done
Generation complete.
$ sudo update-locale en_US.UTF-8
$ echo "LANG=en_US.UTF-8" | sudo tee /etc/default/locale
This affects the uec instances of the ec2/uec images negatively. You can see the obvious problem here:
def get_location_ from_availabili ty_zone( self, availability_zone): zone.startswith ('us-') : zone.startswith ('eu-') :
if availability_
return 'us'
elif availability_
return 'eu'
raise Exception('Could not determine location')
That exception is not caught in the caller (ec2-set- defaults. py):
def main():
ec2 = ec2init.EC2Init()
availabilit y_zone = ec2.get_ availability_ zone() location_ from_availabili ty_zone( availability_ zone)
location = ec2.get_
The result is that ec2-set-defaults dies before 'apply_locale' is called.
As such, locale-gen and update-locale are not called in the instance. That causes things like:
$ man asdf
man: can't set the locale; make sure $LC_* and $LANG are correct
No manual entry for asdf
To fix that, you can do what ec2-init would have done:
$ sudo locale-gen en_US.UTF-8
Generating locales...
en_US.UTF-8... done
Generation complete.
$ sudo update-locale en_US.UTF-8
$ echo "LANG=en_US.UTF-8" | sudo tee /etc/default/locale