18

I just noticed that in /usr/share/help I have the ubuntu help files in 70 different languages. I only speak 2, and I only really compute in one. I also noticed that it is full of broken symbolic links to /usr/share/help-langpack.

I want just want to get rid of all the languages I don't need. How can I do this without getting all rm -r happy? I'm preferably looking for a way to do this without installing any new packages, as my main goal is to get rid of excess stuff on my machine. I'd like to find a way to do this preferably with dpkg, or apt.

1
  • 1
    Those symlinks are part of a setup with the aim at avoiding to install help files in all languages on all machines. So yes, there are quite a few 'broken' symlinks, but that's better than the help files, right? My advice: Don't bother. The symlinks belong to various packages, and if you remove them, they will reappear next time respective package is updated. Commented Aug 24, 2014 at 9:38

3 Answers 3

19

Most of the following are from Remove unwanted locales on Ubuntu / Debian in LinuxQuestions.org (some additional formatting applied):

Which locales are installed on my machine?

You can check which locales are generated and configured on your system using the locale command:

  • locale ... list the current locale configuration
  • locale -a ... lists all all locales that were generated on your system
  • locale -a -v ... list all locales and show useful additional information (such as directory names that contain the locale information data files)

The last command makes you see that all generated locales are located in /usr/lib/locale/, you may remove any of them if unneeded. Each pack of locale information is a directory containing text files and other directories.

Supported locales

All locales that you want your system to support are listed in the text files in /var/lib/locales/supported.d/. These files have two columns, language tag and character map.

I want my system to know US-English only, so I have only one file there, called en, which contains just a single line:

en_US UTF-8

Error messages

If error messages are displayed when issuing the locale command, e.g:

locale: Cannot set LC_ALL to default locale: No such file or directory

make sure the file /etc/default/locale exists and has proper content, such as:

LANG="en_US"
LANGUAGE="en_US:en"

Get rid of unneeded locale data - Step by step

Now we know all the necessary details to get started with cleaning up our system's locale information:

  1. Edit the locale file(s) in /var/lib/locales/supported.d/, and remove all unneeded locales (one locale per line)

  2. Create and edit /etc/default/locale (see above for an example)

  3. Delete all generated locale data:

    rm -rfv /usr/lib/locale/*
    
  4. Re-generate new locales:

    locale-gen
    

That's all! Reboot your machine to make your changes take effect. Then run one or more of the locale command examples from above to ensure yourself that the result is as expected.

~# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
~# 
~# locale -a -v
locale: en_US.utf8      directory: /usr/lib/locale/en_US.utf8
-------------------------------------------------------------------------------
    title | English locale for the USA
   source | Free Software Foundation, Inc.
  address | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
    email | [email protected]
 language | English
territory | USA
 revision | 1.0
     date | 2000-06-24
  codeset | UTF-8

There is a package for Debian/Ubuntu that can take care of removing locales and locale related files (e.g. man pages): localepurge. You can install/run it issuing:

sudo apt-get install localepurge

once installed, you should run this:

dpkg --configure localepurge

to ensure your language settings are set correctly.

To run it manually once installed (although you shouldn't really need to as it should run after every dpkg run automagically), you can just do:

sudo localepurge

Read the man page before using it, though. If you can get your stuff done without it, it's probably safer to let go.

References

6
  • Thanks for the suggestion, if I can't find a way to do this with what's already installed on my computer, I will definitely use this. Commented Aug 24, 2014 at 8:07
  • 2
    @knotech Why don't you just install it, run it and uninstall it. Not sure why your uptight about installing a package.
    – Nahydrin
    Commented Aug 24, 2014 at 8:29
  • 1
    @knotech see official documentation help.ubuntu.com/community/LocaleConf. Commented Aug 24, 2014 at 8:48
  • Sorry, but I don't think that localpurge addresses the OPs questions in any way. Commented Aug 24, 2014 at 9:55
  • 1
    The OP asked about language packs... But assuming that he is interested in removing redundant locales as well, why install localpurge? Why not just locale-gen --purge? Commented Aug 24, 2014 at 10:53
7

As regards actually installed languages, go to System Settings -> Language Support and click the Install / Remove Languages... button. Then uncheck the languages you don't need.

As regards the symlinks in /usr/share/help, please see my comment on your question.

0
3

An easy way to do this is by using BleachBit. BleachBit is able to remove files for unwanted languages in your system and applications.

Install BleachBit from your Ubuntu Software or terminal (sudo apt install bleachbit) and open it as root (sudo bleachbit). Go to Preferences and under Languages check all the languages you want to keep. Now on the left panel, under System, check Localizations. If you want to know how much space these localization files are taking up in your system, click the Preview button. Use the Clean button to actually free up the space. Hope this helps.

In the screenshot, you can see BleachBit deleting localization files from gedit text editor.

BleachBit screenshot

1
  • No answers so far address fonts. On my system, Synaptic reveals the existence of several that I will never use. Possibly Bleachbit addresses those; none of the other answers (so far) mentions fonts specifically. The OP expressed a preference for no additional software, but others have pointed out that one could install, run, and then remove a helpful package -- in this case, Bleachbit. Commented Sep 7, 2021 at 20:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .