Очистка неиспользуемых локалей

Очистка неиспользуемых локалей

Я заметил, что у меня установлено несколько ненужных локалей, например, firefox-locale-. Мне нужна только одна локаль.

Как удалить все остальное?

решение1

Сначала введите localeкоманду для распечатки текущей конфигурации локали. Также вы можете использовать locale -aдля отображения списка всех доступных локалей.

Очистка неиспользуемых локалей

Установите localepurge, чтобы удалить все нежелательные языки, выбрав те, которые вы хотите сохранить. Обратите внимание, что этот метод не изменит настройки локалей в вашей системе. Он просто удалит локали, которые вы не выбрали. Используйте на свой страх и риск.

sudo apt-get install localepurge

После этого можно перезагрузиться.или попробуйте бежать source /etc/default/locale.

Чтобы перенастроить это, просто введите в терминале следующее:

sudo dpkg-reconfigure localepurge

Другой путьответил здесьэто

sudo locale-gen --purge <locales YOU WANT TO KEEP>

Ссылка

решение2

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

Установите Localepurge через терминал:

sudo apt-get install localepurge

После завершения установки из вашей системы будут удалены все файлы локали, которые вам не нужны.

решение3

Примечание:Для некоторых из команд ниже требуются права root, рассмотрите возможность использования sudo.

Базовая информация

В соответствии сman locale-gen, локали задаются в нескольких файлах.

/etc/locale.gen

Основной файл конфигурации, имеющий простой формат: каждая строка, которая не является пустой и не начинается с символа #, рассматривается как определение локали, которое должно быть построено.

/var/lib/locales/supported.d/

Каталог, содержащий фрагменты locale.gen, предоставленные пакетами language-pack. Не редактируйте их вручную, они будут перезаписаны при обновлениях пакетов.

Локали компилируются (генерируются) в один файл.

/usr/lib/locale/locale-archive

Обычное расположение архива локали по умолчанию.

Подробная информация о местах наАрка Вики.

Проверка локалей и локали

Чтобы вывести список доступных (известных) локалей, выполните любую из следующих команд (с небольшими различиями в выводе).

locale -a
localectl list-locales

Чтобы проверить (уже) сгенерированные локали, выполните следующую команду.

localedef --list-archive

Чтобы проверить текущую используемую локаль, выполните любую из следующих команд (с небольшими различиями в выводе).

locale
localectl

Настройка и генерация (новых) локалей

Локали обычно задаются путем раскомментирования строк в /etc/locale.gen, после чего locale-genтребуется выполнить запуск.

nano /etc/locale.gen # uncomment desired lines (locales)
locale-gen

Это скомпилирует (сгенерирует) локали /usr/lib/locale/locale-archiveдля каждой незакомментированной строки в /etc/locale.genи под /var/lib/locales/supported.d/, независимо от того, были ли они ранее скомпилированы или нет.

В качестве альтернативы можно использовать команду

locale-gen <locale>

раскомментирует соответствующую строку при locale-genгенерации нужной локали и только ее.

Примечание: Реализация locale-genзависит от дистрибутива. Например, команда выше действительна в Ubuntu/Debian, но не в ArchLinux.

Удаление локалей

При выдаче locale-genскомпилированный архив стирается, а все локали в /etc/locale.genнем и ниже /usr/lib/locale/locale-archiveрегенерируются заново. Команда locale-gen --purge <locale>не делает то, что предлагает модификатор, а наоборот: удаляет все скомпилированные локали, кроме указанных. Чтобы убедиться, что генерируются только определенные локали при locale-genвыдаче или и обновлении выполняется, следует учитывать и то, /etc/locale.genи другое./usr/lib/locale/locale-archive

Чтобы удалить локали в /etc/locale.gen, просто закомментируйте нужные строки и заново создайте локали с помощью locale-gen.

Удалить локали в /var/lib/locales/supported.d/сложней. Поскольку любой файл /var/lib/locales/supported.d/<code>зависит от пакета language-pack-<code>-base, любые изменения в первом будут восстановлены при обновлении последнего. Чтобы решить эту проблему, просто удерживайте пакеты, которые обновляют файлы в /var/lib/locales/supported.d/. Команда, которая позволяет добиться этого в Ubuntu/Debian, следующая.

apt-mark language-pack-<code>-base

Чтобы обновить задержанный пакет, вам необходимоснять отметкуэто или просто--ignore-hold.

Обходной путь.Более навязчивое, но общее решение, которое предотвращает изменения в нем, /var/lib/locales/supported.d/— это установка файлов в нем с помощьюатрибут "неизменяемый (i)". Поэтому вместо удаления файлов очистите их. Например:

cd /var/lib/locales/supported.d/
rm <code> && touch <code> # <code> has been emptied
lsattr <code>    # regular attributes
chattr +i <code> # adding (+) immutable
lsattr <code>    # checking attributes

Установка локали

Установка и генерация локалей не устанавливает системную локаль. Любая из следующих команд достигает этого.

echo LANG=<code> | sudo tee /etc/locale.conf # reboot (might be ignored in Ubuntu)
localectl set-locale LANG=<code>

решение4

Установите BleachBit, помимо прочего, он способен удалять локали из любой ОС Linux.

При запуске BleachBit может появиться диалоговое окно настроек, в котором можно отметить, какие локали вы хотите сохранить.

Если он не отображается автоматически, вы можете открыть его из меню с тремя точками в правом верхнем углу окна.

введите описание изображения здесь

Связанный контент