как я иду об удалении всех пакетов языка, в которых я не нуждаюсь

Я просто заметил это в /usr/share/help У меня есть справочные файлы человечности на 70 различных языках. Я только говорю 2, и я только действительно вычисляю в одном. Я также заметил, что это полно разорванных символьных связей к/usr/share/help-langpack.

Я хочу, просто хотят избавиться от всех языков, в которых я не нуждаюсь. Как я могу сделать это, не получая все rm -r счастливый? Я предпочтительно ищу способ сделать это, не устанавливая новых пакетов, поскольку моя главная цель состоит в том, чтобы избавиться от избыточного материала на моей машине. Я хотел бы найти способ сделать это предпочтительно с dpkg, или склонный.

11
задан 24 August 2014 в 12:04

2 ответа


Можно проверить, какие локали сгенерированы и настроены в системе с помощью команды локали:

  • локаль... перечисляет текущую конфигурацию локали
  • локаль-a... перечисляет все все локали, которые были сгенерированы в Вашей системе
  • локаль-a-v... перечисляет все локали и показывает полезную дополнительную информацию (такую как имена каталогов, которые содержат файлы данных информации о локали),

Последняя команда сверху заставляет Вас видеть, что все сгенерированные локали расположены в /usr/lib/locale/, можно удалить любого из них, если ненужный. Каждый пакет информации о локали является каталогом, содержащим текстовые файлы и другие каталоги.

Все локали, которые Вы хотите, чтобы Ваша система поддерживала, перечислены в текстовых файлах в /var/lib/locales/supported.d/. Эти файлы имеют два столбца, языковой тег и карта символов.

Я хочу, чтобы моя система знала американо-английский только, таким образом, у меня есть только один файл там, названный en, который содержит просто одну строку:

en_US UTF-8

Сообщения об ошибках
Если сообщения об ошибках отображены при выдаче команды локали, например:

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

удостоверьтесь файл /etc/default/locale существует и имеет надлежащее содержание, такое как:

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

Избавьтесь от ненужных данных локали - Шаг за шагом

Теперь мы знаем, что все необходимые детали начинают с чисткой информации о локали нашей системы:

  1. Отредактируйте файл (файлы) локали в /var/lib/locales/supported.d/, и удалите все ненужные локали (одна локаль на строку)
  2. Создайте и отредактируйте /etc/default/locale (см. выше для примера),
  3. Удалите все сгенерированные данные локали: rm -rfv /usr/lib/locale/*
  4. Повторно создайте новые локали: locale-gen

Это все! Перезагрузка Ваша машина для внесения изменений вступает в силу. Затем выполните один или несколько примеров команды локали сверху для обеспечения себя, которые результат как ожидалось.

~# 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 | bug-glibc-locales@gnu.org
 language | English
territory | USA
 revision | 1.0
     date | 2000-06-24
  codeset | UTF-8

Существует пакет для Debian/Ubuntu, который может заботиться об удалении локалей и связанных с локалью файлов (например, страницы справочника):localepurge. Можно установить/выполнить его issueing:

sudo apt-get install localepurge

после того, как установленный, необходимо выполнить это:

dpkg --configure localepurge

для обеспечения настроек языка установлены правильно.

для выполнения это вручную когда-то установило (хотя Вам не должно действительно быть нужно к тому, поскольку это должно бежать за каждым dpkg выполненный автоволшебно), можно просто сделать:

sudo localepurge

Прочитайте страницу справочника перед использованием его, все же. Если можно было обойтись без материала это, вероятно, более безопасно отпустить.

от этого форумы

касательно:
1. LocaleConf на официальной документации
2. Страница справочника Linux
3. Локаль на wikipeadia
4. человек localepurge

10
ответ дан 16 November 2019 в 15:38

Что касается на самом деле установленных языков перейдите в Параметры настройки системы-> Поддержка Языка и нажмите Install / Удаляют Языки... кнопка. Тогда снимите флажок с языками, в которых Вы не нуждаетесь.

Что касается символьных ссылок в /usr/share/help, см. мой комментарий к Вашему вопросу.

3
ответ дан 16 November 2019 в 15:38

Другие вопросы по тегам:

Похожие вопросы: