3. 설치

3.1. GnuPG 소스

공식적인 다운로드 사이트는 GnuPG 홈페이지이다. 홈페이지에 가보면 미러 사이트에 대한 링크를 찾을 수 있다. 법적인 제약으로 인하여 미합중국에 기반을 두고 있는 서버에서 GnuPG를 다운로드 하는 것을 허가하지 않고 있다. 미합중국은 암호화 소프트웨어의 수출제한을 강요하고 있다. 이것이 PGP가 항상 국제판과 국내(미합중국용)으로 나와 있는 이유이다. 국제판의 경우에 소스 코드는 책과 같은 인쇄물로 전달해왔다. 유럽(오슬로)에서 스캔해 왔다. 국제 PGP 홈페이지에서 더 많은 정보를 찾을 수 있다. PGP 국제판은 다시 재수출 되지 않는 한 미합중국내로 들여오는 것은 자유다.

만약 여러분이 설치된 버전의 GnuPG나 PGP를 가지고 있다면, 그 파일의 서명을 점검해야만 한다.(서명 부분을 보기 바란다).

3.2. 설정

여러분은 데비안 패키지나 RPM 패키지(레드햇 패키지 관리자) 혹은 소스 형태로 GnuPG를 구할 수 있다. GnuPG는 최신 레드햇 리눅스 배포판에 들어가 있다. 여러분의 시스템에 GnuPG가 설치되어 있는지를 확인하려면 다음 명령을 이용한다:
   rpm -q gnupg
   
패키지는 리눅스 플랫폼에 필요한 도구와 함께 바이너리 파일 형태로 설치된다. 다른 플랫폼에서 사용할 GnuPG가 필요한 경우에는 여러분이 이것을 직접 컴파일하여야 한다. 여러분이 다른 플랫폼에서 사용할 수 있는 설치 방법을 일반 대중들이 알 수 있도록 한다면 고마운 일이다.

주요 부분에 대한 개발은 리눅스(x86)으로 수행하였기 때문에, 다른 시스템에 대한 변환작업을 문제로 보지 말아야 한다. GnuPG를 지원하는 것으로 알려진 운영 체제의 실제 목록은 GnuPG 홈페이지에서 찾을 수 있다. 아래에 기술한 절차는 상당히 플랫폼 독립적이다. 이 절차를 이용하면 소스코드가 들어있는 타볼(tar-ball)로부터 GnuPG를 설치할 수 있다.

다음과 같은 명령을 이용하여 타볼을 푼다:
    tar xvzf gnupg-?.?.?.tar.gz
    
압축을 푼후, 소스 코드가 들어가 있는 디렉토리로 들어간다. 그런 후 아래와 같이 입력한다.
    ./configure
    
위의 작업을 할때에 특별한 일(주로 에러)이 생기지 말아야 한다.
    ./configure --help
    
위의 명령을 이용하면 여러분은 컴파일 하는데 사용 가능한 설정 세팅을 볼 수 있다. 만약 국제화(GET text) 해야 하는데 있어 문제점이 생긴다면, --with-included-gettext 옵션을 이용하여 소스코드에 들어 있는 버전을 집어넣거나 --disable-NLS 옵션을 이용하여 전환할 수 있다.

3.3. 컴파일

위의 작업을 마친후 다음과 같은 명령어로 컴파일한다:
    make
    
이것 역시 아무런 문제없이 작동해야 한다. 만약 문제가 발생하면 다음에 나와 있는 단계(여기서 기술하고 있는대로 같은 순서로)를 따르기 바란다: 우선 이 문제를 여러분 스스로 해결해 보려고 시도해라(물론 여러분이 구할 수 있는 문서를 이용하여). 그런 다음 여러분이 겪고 있는 문제가 알려진 버그가 아닌지 확인한다 (http://www.gnupg.org에 있는 BUGS 파일을 점검한다). 그런후에 여러분이 아는 누군가에게 질문한다. 만약 이런 방법으로 여러분의 문제를 해결하지 못한 경우 GnuPG-메일링 리스트에 질문을 올려본다 (정보의 출처 부분을 보도록 한다). 만약 문제가 경로와 관련된 것이라면, make clean 한 다음에, configure를 다시 실행하고 컴파일을 시도해야 한다. 이렇게 했는데도 안된다면 이제 겁먹을 시간이다.

3.4. 설치

자 이제 다음과 같이 입력하자:
    make install
    
이 명령은 설치 디렉토리에 실제로 프로그램과 맨페이지를 복사한다. 만약 여러분이 ./configure를 실행할 때 설치 디렉토리를 변경하지 않았다면 usr/local/share/gnupg/가 설치 디렉토리가 된다. 이 설치 디렉토리는 라는 파일에서 찾을 수 있다. options.skel 파일 내에서 이 디렉토리를 찾을 수 있다. 여러분이 options.skel 파일을 변경하는 경우. 만약 여러분이 이것을 ~/.gnupg/options에다 복사한다면 적절한 조절사항이 표준으로서 사용될 것이다. ~/.gnupg/을 만들때 복사는 자동으로 되어야 한다. 모든 가능한 옵션은 문서로 잘 정리되어 있고 여기서 이를 설명하는 것은 유용할 것 같지 않다.

여러분은 GnuPG를 suid root로 실행할 수 있다. 그러면 프로그램은 수퍼유저가 가지고 있는 모든 권한으로 실행된다. 이렇게 함으로써 여러분은 프로그램의 특정 부분이 외부로 저장된 후 아무나 읽을 수 있도록 하는 가능성을 배제할 수 있다. 이러한 위험의 가치에 대해 필자더러 판단하라는 것은 현실적이지 못하다. 수퍼유저 권한으로 실행하는 트로이 목마는 시스템 전체를 손상시킬 수 있다. 만약 이러한 이유(혹은 다른 어떤 이유)로 여러분이 GnuPG를 루트 권한으로 실행하지 않도록 하겠다면 ~/.gnupg/options 파일 내에 no-secmem-warning를 설정하여 경고 메시지를 끌 수 있다.