
Я заметил, что у меня установлено несколько ненужных локалей, например, 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 может появиться диалоговое окно настроек, в котором можно отметить, какие локали вы хотите сохранить.
Если он не отображается автоматически, вы можете открыть его из меню с тремя точками в правом верхнем углу окна.