Як я можу видалити локаль за допомогою командного рядка?


23

У мене в системі 5 невикористаних локалів. Як я можу їх видалити за допомогою командного рядка? Я користуюся, localepurgeале це не спрацювало.

Відповіді:


26

Ви можете перелічити локалі за допомогою

localedef --list-archive

або з

locale -a

Відповідний розмір файлу задається

ls -lh /usr/lib/locale/locale-archive

Щоб видалити невикористані локалі, можна зробити

sudo locale-gen --purge it_IT.UTF-8 en_US.UTF-8 && echo Success!

де it_IT.UTF-8і en_US.UTF-8є єдиними двома локалями, які я хочу . В && echo "Success!"кінці корисно, оскільки locale-genне повідомляє про помилки, якщо в командному рядку передано недоступний або неправильний локал.


Команда на 12.04 - localedef --list-archiveбезs
анатолічний технік

@techtonik: так і в 11.10, моя
помилка

Приємно. Чи є спосіб видалити лише локалі, які мені не потрібні? Я не впевнений, що б не використовували локали en_US - я вважаю за краще залишити їх усі та видалити лише ті, які я абсолютно впевнений, що не мають користі в моїй системі, наприклад de_ *.
anatoly techtonik

7
На bash знак оклику в "Succes!"рядку ініціює розширення історії bash. Щоб уникнути цієї проблеми, вам потрібно включити 'Success!'в окремі цитати або (як не дивно!) Видалити лапки. З посібника з bash : Розширення історії вводяться через появу символу розширення історії, який є "!" за замовчуванням. Тільки \ і 'може використовуватися для уникнення характеру розширення історії.
Мішель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.