I have 5 unused locales on my system. How can I remove them via command line? I have use localepurge
but it didn't work.
1 Answer
You can list locales with
localedef --list-archive
or with
locale -a
Corresponding file size is given by
ls -lh /usr/lib/locale/locale-archive
To remove unused locales you can do
sudo locale-gen --purge it_IT.UTF-8 en_US.UTF-8 && echo 'Success!'
where it_IT.UTF-8
and en_US.UTF-8
are the only two locales I want. The && echo 'Success!'
at end is useful because locale-gen
does not report errors if an unavailable or wrong locale is passed on command line.
-
The command for 12.04 is
localedef --list-archive
withouts
Mar 24, 2012 at 8:22 -
-
Nice. Is there a way to remove just the locales that I don't need? I am not sure whichever of en_US locales are used - I prefer to leave them all and remove only the ones that I am absolutely sure have no use on my system, like de_*. Mar 26, 2012 at 13:05
-
7On bash the exclamation mark in the
"Succes!"
string triggers the bash history expansion. To avoid this problem you have to include'Success!'
into single quotes or (strangely!) remove the quotes. From bash manual: History expansions are introduced by the appearance of the history expansion character, which is ‘!’ by default. Only\
and'
may be used to escape the history expansion character.– MicheleFeb 10, 2014 at 10:26 -
8