필요없는 모든 언어 팩을 제거하는 방법


12

방금 /usr/share/help70 가지 언어로 된 우분투 도움말 파일이 있음을 알았습니다 . 나는 단지 2를 말하고 실제로는 하나만 계산합니다. 또한 / usr / share / help-langpack에 대한 심볼릭 링크가 깨진 것으로 나타났습니다.

필요없는 모든 언어를 제거하고 싶습니다. 모두 rm -r행복하게 하지 않고 어떻게해야 합니까? 내 목표는 내 컴퓨터에서 과도한 물건을 제거하는 것이므로 새 패키지를 설치하지 않고이를 수행하는 방법을 찾고있는 것이 좋습니다. dpkg 또는 apt를 사용 하여이 작업을 수행하는 방법을 찾고 싶습니다.


1
이러한 심볼릭 링크는 모든 컴퓨터에 모든 언어로 도움말 파일을 설치 하지 않기 위한 설정의 일부입니다 . 예, 꽤 많은 '깨진'심볼릭 링크가 있지만 도움말 파일보다 낫습니다. 내 충고 : 귀찮게하지 마십시오. 심볼릭 링크는 다양한 패키지에 속하며 제거하면 다음에 해당 패키지가 업데이트 될 때 다시 나타납니다.
Gunnar Hjalmarsson '

답변:


11


locale 명령을 사용하여 시스템에서 생성되고 구성된 로케일을 확인할 수 있습니다.

  • locale ... 현재 로케일 구성을 나열합니다.
  • locale -a ... 시스템에서 생성 된 모든 로케일을 나열합니다
  • locale -a -v ... 모든 로케일을 나열하고 유용한 추가 정보 (로케일 정보 데이터 파일을 포함하는 디렉토리 이름 등)를 표시합니다.

위의 마지막 명령을 통해 생성 된 모든 로케일이에 있음 /usr/lib/locale/을 알 수 있으며 필요하지 않은 경우 로케일을 제거 할 수 있습니다. 각 로케일 정보 팩은 텍스트 파일 및 기타 디렉토리를 포함하는 디렉토리입니다.

시스템에서 지원하려는 모든 로케일이의 텍스트 파일에 나열되어 있습니다 /var/lib/locales/supported.d/. 이 파일에는 언어 태그와 문자표라는 두 개의 열이 있습니다.

시스템에서 미국 영어 만 알기를 원하므로 en이라는 파일이 하나만 있습니다.

en_US UTF-8

오류 메시지
locale 명령을 실행할 때 오류 메시지가 표시되는 경우

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. 다음을 설치 / 실행할 수 있습니다.

sudo apt-get install localepurge

일단 설치되면 다음을 실행해야합니다.

dpkg --configure localepurge

언어 설정이 올바르게 설정되어 있는지 확인하십시오.

한 번 설치 한 후 수동으로 실행하려면 (매번 dpkg자동으로 실행될 때마다 실행 해야 할 필요는 없지만 ) 다음을 수행하면됩니다.

sudo localepurge

그러나 사용하기 전에 매뉴얼 페이지를 읽으십시오. 당신이 그것을하지 않고 당신의 물건을 얻을 수 있다면 아마 더 안전한 것입니다.

이 포럼에서

참고 :
1. 공식 문서의 LocaleConf
2. Linux 매뉴얼 페이지
3. wikipeadia의 로케일
4. man localepurge


제안에 감사드립니다. 내 컴퓨터에 이미 설치된 것으로이 작업을 수행 할 수있는 방법을 찾을 수 없다면 이것을 사용할 것입니다.
blanket_cat

1
@knotech 그냥 설치하고 실행 한 다음 제거하지 마십시오. 패키지 설치에 대해 왜 불안한지 잘 모르겠습니다.
Brian Graham

1
@knotech 공식 문서를 참조 help.ubuntu.com/community/LocaleConf을 .
αғsнιη

죄송하지만 localpurge는 어떤 식 으로든 OP 질문에 답하지 않는다고 생각합니다.
Gunnar Hjalmarsson '

1
OP는 언어 팩에 대해 질문했지만 ... 중복 로캘을 제거하는 데 관심이 있다고 가정하면 왜 localpurge를 설치합니까? 왜 안돼 locale-gen --purge?
Gunnar Hjalmarsson

3

관련 실제로 설치된 언어로서, 이동 시스템 설정 -> 언어 지원 하고 클릭 설치 / 제거 언어 ... 버튼을 클릭합니다. 그런 다음 필요없는 언어를 선택 취소하십시오.

의 심볼릭 링크와 관련 /usr/share/help하여 질문에 대한 내 의견을 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.