Как удалить ненужные локали
Я заметил, что у меня установлено несколько ненужных локалей. Мне нужна только одна локаль.
Как убрать все остальное?
Например, firefox-locale-?
6 ответов
Сначала введите locale
Команда для распечатки вашей текущей конфигурации локали. Также вы можете использовать locale -a
отобразить список всех доступных локалей.
Очистка неиспользуемых локалей
устанавливать localepurge
удалить любые ненужные языки, выбирая те, которые вы хотите сохранить. Обратите внимание, что этот метод не изменит настройки локалей в вашей системе. Это просто очистит локали, которые вы не выбрали. Используйте на свой риск.
$ sudo apt-get install localepurge
После этого вы можете перезагрузиться или попробовать запустить . /etc/default/locale
,
Чтобы перенастроить это, просто введите следующее в терминале:
$ sudo dpkg-reconfigure localepurge
Другой способ ответить здесь, чтобы sudo locale-gen --purge <locales YOU WANT TO KEEP>
Ссылка
Если у вас нет необходимости постоянно переключаться на разные локали, вы можете удалить неиспользуемые локали и освободить некоторое количество дискового пространства в вашей системе.
Установите Localepurge через терминал:
sudo apt-get install localepurge
Как только установка будет завершена, она удалит все файлы локали из вашей системы, которые вам не нужны.
Примечание. Некоторые из приведенных ниже команд требуют привилегий root, рассмотрите возможность использования
sudo
.
Базовая информация
Согласно сman locale-gen
, локали задаются в нескольких файлах.
Основной файл конфигурации имеет простой формат: каждая непустая строка, не начинающаяся с #, рассматривается как определение локали, которое необходимо построить.
Каталог, содержащий фрагменты locale.gen, предоставленные языковыми пакетами. Не редактируйте их вручную, они будут перезаписаны при обновлении пакета.
Локали компилируются (генерируются) в один файл.
Обычное расположение архива локали по умолчанию.
Полная информация о локалях на Arch Wiki.
Проверка локалей и локали
Чтобы получить список доступных (известных) локалей, выполните любую из следующих команд (с небольшими различиями в выводе).
locale -a
localectl list-locales
Чтобы проверить (уже) сгенерированные локали, выполните следующую команду.
localedef --list-archive
Чтобы проверить текущую используемую локаль, выполните любую из следующих команд (с небольшими различиями в выводе).
locale
localectl
Установка и генерация (новых) локалей
Локали обычно задаются раскомментированием строк в , после чего требуется запуск.
nano /etc/locale.gen # uncomment desired lines (locales)
locale-gen
Это скомпилирует (сгенерирует) локали для каждой незакомментированной строки в и ниже, независимо от того, были ли они ранее скомпилированы или нет.
В качестве альтернативы команда
locale-gen <locale>
раскомментирует соответствующую строку при создании нужной локали и только этой.
Примечание. Реализация зависит от дистрибутива. Например, приведенная выше команда действительна в Ubuntu/Debian, но не в ArchLinux.
Удаление локалей
При выдаче скомпилированный архив стирается и все локали в и под регенерируются заново. Команда
locale-gen --purge <locale>
делает не то, что предлагает модификатор, а наоборот: удаляет все скомпилированные локали, кроме указанных. Чтобы убедиться, что при выпуске или обновлении генерируются только определенные локали,
/usr/lib/locale/locale-archive
должны быть рассмотрены.
Чтобы удалить локали в
/etc/locale.gen
, просто прокомментируйте нужные строки и перегенерируйте локали, используя
locale-gen
.
Удалить локали ниже сложнее. Так как любой файл
/var/lib/locales/supported.d/<code>
зависит от пакета
language-pack-<code>-base
, любое изменение первого будет восстановлено при обновлении второго. Чтобы решить эту проблему, просто держите пакеты, которые обновляют файлы, в папке . Команда, которая достигает этого в Ubuntu/Debian, следующая.
apt-mark language-pack-<code>-base
Чтобы обновить задержанный пакет, вы должны снять с него отметку или просто--ignore-hold
.
Обходной путь. Более навязчивое, но общее решение, которое предотвращает изменения под
/var/lib/locales/supported.d/
заключается в том, чтобы установить в нем файлы с атрибутом "immutable(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>
Использовать
apt install localepurge
, но это только мешает новым пакетам устанавливать файлы локалей. «Эта опция станет активной для пакетов, распакованных после того, как localepurge был (пере)настроен. Пакеты, установленные или обновленные вместе с localepurge, могут (или не могут) подвергаться предыдущей настройке localepurge».
затем
rm -rI /usr/share/locale/!(en)
.
Затем, возможно, переустановите пакеты, если у них есть файлы локалей в их собственных каталогах.
Осторожно, видимо
rm /dir !()
удаляет файлы в вашем текущем каталоге (pwd).
Как удалить все файлы, кроме одного именованного файла из определенной папки
/questions/580874/kak-udalit-vse-fajlyi-krome-odnogo-imenovannogo-fajla-iz-opredelennoj-papki/580890#580890 (соответствующий верхний ответ по ссылке выше)
Использовать
apt install --reinstall locales
если вы случайно удалите каталог.
Установите BleachBit, среди прочего, он может удалить локали из любой ОС Linux.
Когда вы запускаете BleachBit, он может показать вам диалоговое окно настроек, в котором вы можете отметить, какие локали вы хотите сохранить.
Если это не отображается автоматически, вы можете открыть его из меню с тремя точками в правом верхнем углу окна.
Это мой первый ответ на этом сайте. BleachBit может удалять файлы для нежелательных языков в вашей системе и приложениях .
Установите BleachBit из программного обеспечения или терминала Ubuntu (sudo apt install bleachbit) и откройте его как root (sudo bleachbit). Перейдите в «Настройки» и в разделе «Языки» отметьте все языки, которые вы хотите сохранить. Теперь на левой панели в разделе «Система» отметьте «Локализации». Если вы хотите узнать, сколько места эти файлы локализации занимают в вашей системе, нажмите кнопку Предварительный просмотр. Используйте кнопку «Очистить», чтобы фактически освободить место. Надеюсь это поможет.
На скриншоте видно, как BleachBit удаляет файлы локализации из текстового редактора gedit.