InfoGrab Docs

GPG로 커밋 및 태그 서명

요약

GPG(GNU Privacy Guard) 키로 GitLab 저장소에서 만드는 커밋에 서명할 수 있습니다. GitLab은 모든 OpenPGP, PGP, GPG 관련 자료 및 구현에 GPG라는 용어를 사용합니다. GitLab이 커밋을 검증된 것으로 간주하려면:

GPG(GNU Privacy Guard) 키로 GitLab 저장소에서 만드는 커밋에 서명할 수 있습니다.

Note

GitLab은 모든 OpenPGP, PGP, GPG 관련 자료 및 구현에 GPG라는 용어를 사용합니다.

GitLab이 커밋을 검증된 것으로 간주하려면:

  • 커미터에게 GPG 공개/개인 키 쌍이 있어야 합니다.
  • 커미터의 공개 키가 GitLab 계정에 업로드되어 있어야 합니다.
  • GPG 공개 키의 이메일 주소 중 하나가 GitLab에서 커미터가 사용하는 확인된 이메일 주소와 일치해야 합니다. 이 주소를 비공개로 유지하려면 GitLab이 프로필에서 제공하는 자동 생성된 비공개 커밋 이메일 주소를 사용합니다.
  • 커미터의 이메일 주소가 GPG 키의 확인된 이메일 주소와 일치해야 합니다.

GitLab은 자체 키링을 사용하여 GPG 서명을 확인합니다. 공개 키 서버에 액세스하지 않습니다.

GPG에 대한 자세한 내용은 관련 주제 목록을 참조하세요.

사용자의 공개 GPG 키 보기#

사용자의 공개 GPG 키를 보려면 다음 중 하나를 수행합니다:

  • https://gitlab.example.com/.gpg로 이동합니다. 사용자가 GPG 키를 구성한 경우 GitLab은 GPG 키를 표시하고, GPG 키가 구성되지 않은 사용자의 경우 빈 페이지를 표시합니다.
  • 사용자의 프로필(예: https://gitlab.example.com/)로 이동합니다. 사용자 프로필의 오른쪽 상단에서 View public GPG keys([key])를 선택합니다. 이 버튼은 사용자가 키를 구성한 경우에만 표시됩니다.

커밋 서명 구성#

커밋에 서명하려면 로컬 시스템과 GitLab 계정을 모두 구성해야 합니다:

  1. GPG 키 만들기.
  2. 계정에 GPG 키 추가.
  3. GPG 키를 Git과 연결.
  4. Git 커밋 서명.

GPG 키 만들기#

GPG 키가 아직 없으면 만듭니다:

  1. 운영 체제에 맞게 GPG를 설치합니다. 운영 체제에 gpg2가 설치되어 있으면 이 페이지의 명령에서 gpggpg2로 교체합니다.

  2. 키 쌍을 생성하려면 gpg 버전에 맞는 명령을 실행합니다:

    # 기본 버전의 GPG, Windows의 Gpg4win,
    # 대부분의 macOS 버전을 포함한 기본 버전에 이 명령을 사용합니다:
    gpg --gen-key
    
    # GPG 2.1.17 이후 버전에 이 명령을 사용합니다:
    gpg --full-gen-key
    
  3. 키가 사용해야 하는 알고리즘을 선택하거나 Enter를 눌러 기본 옵션인 RSA and RSA를 선택합니다.

  4. 키 길이를 비트 단위로 선택합니다. GitLab은 4096비트 키를 권장합니다.

  5. 키의 유효 기간을 지정합니다. 이 값은 주관적이며 기본값은 만료 없음입니다.

  6. 답변을 확인하려면 y를 입력합니다.

  7. 이름을 입력합니다.

  8. 이메일 주소를 입력합니다. GitLab 계정의 확인된 이메일 주소와 일치해야 합니다.

  9. 선택 사항. 이름 뒤에 괄호 안에 표시할 코멘트를 입력합니다.

  10. GPG는 지금까지 입력한 정보를 표시합니다. 정보를 편집하거나 O(영문 Okay의 O)를 눌러 계속합니다.

  11. 강력한 비밀번호를 입력한 다음 다시 입력하여 확인합니다.

  12. 개인 GPG 키를 나열하려면 을 키를 생성할 때 사용한 이메일 주소로 교체하여 다음 명령을 실행합니다:

    gpg --list-secret-keys --keyid-format LONG 
    
  13. 출력에서 sec 줄을 식별하고 GPG 키 ID를 복사합니다. / 문자 뒤에 시작합니다. 이 예시에서 키 ID는 30F2B65B9246B6CA입니다:

    sec   rsa4096/30F2B65B9246B6CA 2017-08-18 [SC]
          D5E4F29F3275DC0CDA8FFC8730F2B65B9246B6CA
    uid                   [ultimate] Mr. Robot <your_email>
    ssb   rsa4096/B7ABC0813E4028C0 2017-08-18 [E]
    
  14. 관련 공개 키를 표시하려면 를 이전 단계의 GPG 키 ID로 교체하여 다음 명령을 실행합니다:

    gpg --armor --export 
    
  15. BEGIN PGP PUBLIC KEY BLOCKEND PGP PUBLIC KEY BLOCK 줄을 포함한 공개 키를 복사합니다. 다음 단계에서 이 키가 필요합니다.

계정에 GPG 키 추가#

사용자 설정에 GPG 키를 추가하려면:

  1. GitLab에 로그인합니다.
  2. 오른쪽 상단에서 아바타를 선택합니다.
  3. Edit profile을 선택합니다.
  4. 왼쪽 사이드바에서 Access > GPG keys를 선택합니다.
  5. Add new key를 선택합니다.
  6. Key에 공개 키를 붙여넣습니다.
  7. 계정에 키를 추가하려면 Add key를 선택합니다.

GitLab은 키의 지문, 이메일 주소, 생성 날짜를 표시합니다.

키를 추가한 후에는 편집할 수 없습니다. 대신 문제가 있는 키를 제거하고 다시 추가합니다.

GPG 키를 Git과 연결#

GPG 키를 만든계정에 추가한 후에는 이 키를 사용하도록 Git을 구성해야 합니다:

  1. 이 명령을 실행하여 방금 만든 개인 GPG 키를 나열하며 을 키의 이메일 주소로 교체합니다:

    gpg --list-secret-keys --keyid-format LONG 
    
  2. sec로 시작하는 GPG 개인 키 ID를 복사합니다. 이 예시에서 개인 키 ID는 30F2B65B9246B6CA입니다:

    sec   rsa4096/30F2B65B9246B6CA 2017-08-18 [SC]
          D5E4F29F3275DC0CDA8FFC8730F2B65B9246B6CA
    uid                   [ultimate] Mr. Robot <your_email>
    ssb   rsa4096/B7ABC0813E4028C0 2017-08-18 [E]
    
  3. 를 GPG 키 ID로 교체하여 커밋에 키로 서명하도록 Git을 구성합니다:

    git config --global user.signingkey 
    

Git 커밋 서명#

계정에 공개 키를 추가한 후 개별 커밋에 수동으로 서명하거나 Git이 기본적으로 서명된 커밋을 사용하도록 구성할 수 있습니다:

  • 개별 Git 커밋에 수동으로 서명하려면:

    1. 서명하려는 커밋에 -S 플래그를 추가합니다:

      git commit -S -m "My commit message"
      
    2. 요청받으면 GPG 키의 비밀번호를 입력합니다.

    3. GitLab에 푸시하고 커밋이 검증되었는지 확인합니다.

  • 기본적으로 모든 Git 커밋에 서명하려면 이 명령을 실행합니다:

    git config --global commit.gpgsign true
    

조건부로 서명 키 설정#

업무와 개인 용도와 같이 별도의 목적으로 서명 키를 유지하는 경우 .gitconfig 파일의 IncludeIf 구문을 사용하여 커밋에 서명할 키를 설정합니다.

전제 조건:

  • Git 버전 2.13 이상이 필요합니다.
  1. 기본 ~/.gitconfig 파일과 동일한 디렉토리에 두 번째 파일(예: .gitconfig-gitlab)을 만듭니다.

  2. 기본 ~/.gitconfig 파일에 비GitLab 프로젝트 작업을 위한 Git 설정을 추가합니다.

  3. 기본 ~/.gitconfig 파일 끝에 다음 정보를 추가합니다:

    # 이 파일의 내용은 GitLab.com URL에만 포함됩니다
    [includeIf "hasconfig:remote.*.url:https://gitlab.com/**"]
    
    # 이 줄을 편집하여 대체 구성 파일을 가리킵니다
    path = ~/.gitconfig-gitlab
    
  4. 대체 .gitconfig-gitlab 파일에 GitLab 저장소에 커밋할 때 사용할 구성 재정의를 추가합니다. 기본 ~/.gitconfig 파일의 모든 설정은 명시적으로 재정의하지 않는 한 유지됩니다. 이 예시에서:

    # 대체 ~/.gitconfig-gitlab 파일
    # 이 값은 'gitlab.com' 문자열과 일치하는 저장소에 사용됩니다,
    # 그리고 ~/.gitconfig의 해당 값을 재정의합니다
    
    [user]
    email = you@example.com
    signingkey = 
    
    [commit]
    gpgsign = true
    

태그 서명 및 검증#

히스토리

GPG 키를 Git과 연결한 후 태그에 서명할 수 있습니다:

  1. Git 태그를 만들 때 -s 플래그를 추가합니다:

    git tag -s v1.1.1 -m "My signed tag"
    
  2. 태그를 GitLab에 푸시합니다.

  3. 로컬에서 서명을 검증하려면 다음을 실행합니다:

    git tag --verify v1.1.1
    
  4. 선택 사항. 모든 태그를 자동으로 서명하려면 다음을 실행합니다:

    git config --global tag.gpgsign true
    

GPG 키 취소#

GPG 키가 손상되면 취소합니다. 키를 취소하면 과거와 미래 커밋이 모두 변경됩니다:

  • 이 키로 서명된 과거 커밋은 미검증으로 표시됩니다.
  • 이 키로 서명된 미래 커밋은 미검증으로 표시됩니다.

GPG 키를 취소하려면:

  1. 오른쪽 상단에서 아바타를 선택합니다.
  2. Edit profile을 선택합니다.
  3. 왼쪽 사이드바에서 Access > GPG keys를 선택합니다.
  4. 삭제할 GPG 키 옆에 Revoke를 선택합니다.

GPG 키 제거#

GitLab 계정에서 GPG 키를 제거하면:

  • 이 키로 서명된 이전 커밋은 검증된 상태로 유지됩니다.
  • 이 키를 사용하려는 미래 커밋(만들었지만 아직 푸시하지 않은 커밋 포함)은 미검증 상태가 됩니다.

계정에서 GPG 키를 제거하려면:

  1. 오른쪽 상단에서 아바타를 선택합니다.
  2. Edit profile을 선택합니다.
  3. 왼쪽 사이드바에서 Access > GPG keys를 선택합니다.
  4. 삭제할 GPG 키 옆에 Remove([remove])를 선택합니다.

미래와 과거 커밋 모두 미검증으로 만들어야 하면 대신 관련 GPG 키를 취소합니다.

관련 주제#

트러블슈팅#

비밀 키를 사용할 수 없음#

secret key not available 또는 gpg: signing failed: secret key not available 오류가 발생하면 gpg 대신 gpg2를 사용해 보세요:

git config --global gpg.program gpg2

GPG 키가 비밀번호로 보호되어 있고 비밀번호 입력 프롬프트가 표시되지 않으면 쉘의 rc 파일(일반적으로 ~/.bashrc 또는 ~/.zshrc)에 export GPG_TTY=$(tty)를 추가합니다.

GPG가 데이터 서명에 실패#

GPG 키가 비밀번호로 보호되어 있고 다음 오류 중 하나가 발생하는 경우:

error: gpg failed to sign the data
fatal: failed to write commit object
gpg: signing failed: Inappropriate ioctl for device

비밀번호 입력 프롬프트가 표시되지 않으면:

  1. 텍스트 편집기에서 쉘의 구성 파일(일반적으로 ~/.bashrc 또는 ~/.zshrc)을 엽니다.

  2. 파일에 다음 줄을 추가합니다:

    export GPG_TTY=$(tty)
    
  3. 파일을 저장하고 텍스트 편집기를 닫습니다.

  4. 변경 사항을 적용합니다. 다음 중 하나를 선택합니다:

    • 터미널을 재시작합니다.
    • source ~/.bashrc 또는 source ~/.zshrc를 실행합니다.
Note

정확한 단계는 운영 체제와 쉘 구성에 따라 다를 수 있습니다.

GPG로 커밋 및 태그 서명

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

GPG(GNU Privacy Guard) 키로 GitLab 저장소에서 만드는 커밋에 서명할 수 있습니다. GitLab은 모든 OpenPGP, PGP, GPG 관련 자료 및 구현에 GPG라는 용어를 사용합니다. GitLab이 커밋을 검증된 것으로 간주하려면:

GPG(GNU Privacy Guard) 키로 GitLab 저장소에서 만드는 커밋에 서명할 수 있습니다.

Note

GitLab은 모든 OpenPGP, PGP, GPG 관련 자료 및 구현에 GPG라는 용어를 사용합니다.

GitLab이 커밋을 검증된 것으로 간주하려면:

  • 커미터에게 GPG 공개/개인 키 쌍이 있어야 합니다.
  • 커미터의 공개 키가 GitLab 계정에 업로드되어 있어야 합니다.
  • GPG 공개 키의 이메일 주소 중 하나가 GitLab에서 커미터가 사용하는 확인된 이메일 주소와 일치해야 합니다. 이 주소를 비공개로 유지하려면 GitLab이 프로필에서 제공하는 자동 생성된 비공개 커밋 이메일 주소를 사용합니다.
  • 커미터의 이메일 주소가 GPG 키의 확인된 이메일 주소와 일치해야 합니다.

GitLab은 자체 키링을 사용하여 GPG 서명을 확인합니다. 공개 키 서버에 액세스하지 않습니다.

GPG에 대한 자세한 내용은 관련 주제 목록을 참조하세요.

사용자의 공개 GPG 키 보기#

사용자의 공개 GPG 키를 보려면 다음 중 하나를 수행합니다:

  • https://gitlab.example.com/.gpg로 이동합니다. 사용자가 GPG 키를 구성한 경우 GitLab은 GPG 키를 표시하고, GPG 키가 구성되지 않은 사용자의 경우 빈 페이지를 표시합니다.
  • 사용자의 프로필(예: https://gitlab.example.com/)로 이동합니다. 사용자 프로필의 오른쪽 상단에서 View public GPG keys([key])를 선택합니다. 이 버튼은 사용자가 키를 구성한 경우에만 표시됩니다.

커밋 서명 구성#

커밋에 서명하려면 로컬 시스템과 GitLab 계정을 모두 구성해야 합니다:

  1. GPG 키 만들기.
  2. 계정에 GPG 키 추가.
  3. GPG 키를 Git과 연결.
  4. Git 커밋 서명.

GPG 키 만들기#

GPG 키가 아직 없으면 만듭니다:

  1. 운영 체제에 맞게 GPG를 설치합니다. 운영 체제에 gpg2가 설치되어 있으면 이 페이지의 명령에서 gpggpg2로 교체합니다.

  2. 키 쌍을 생성하려면 gpg 버전에 맞는 명령을 실행합니다:

    # 기본 버전의 GPG, Windows의 Gpg4win,
    # 대부분의 macOS 버전을 포함한 기본 버전에 이 명령을 사용합니다:
    gpg --gen-key
    
    # GPG 2.1.17 이후 버전에 이 명령을 사용합니다:
    gpg --full-gen-key
    
  3. 키가 사용해야 하는 알고리즘을 선택하거나 Enter를 눌러 기본 옵션인 RSA and RSA를 선택합니다.

  4. 키 길이를 비트 단위로 선택합니다. GitLab은 4096비트 키를 권장합니다.

  5. 키의 유효 기간을 지정합니다. 이 값은 주관적이며 기본값은 만료 없음입니다.

  6. 답변을 확인하려면 y를 입력합니다.

  7. 이름을 입력합니다.

  8. 이메일 주소를 입력합니다. GitLab 계정의 확인된 이메일 주소와 일치해야 합니다.

  9. 선택 사항. 이름 뒤에 괄호 안에 표시할 코멘트를 입력합니다.

  10. GPG는 지금까지 입력한 정보를 표시합니다. 정보를 편집하거나 O(영문 Okay의 O)를 눌러 계속합니다.

  11. 강력한 비밀번호를 입력한 다음 다시 입력하여 확인합니다.

  12. 개인 GPG 키를 나열하려면 을 키를 생성할 때 사용한 이메일 주소로 교체하여 다음 명령을 실행합니다:

    gpg --list-secret-keys --keyid-format LONG 
    
  13. 출력에서 sec 줄을 식별하고 GPG 키 ID를 복사합니다. / 문자 뒤에 시작합니다. 이 예시에서 키 ID는 30F2B65B9246B6CA입니다:

    sec   rsa4096/30F2B65B9246B6CA 2017-08-18 [SC]
          D5E4F29F3275DC0CDA8FFC8730F2B65B9246B6CA
    uid                   [ultimate] Mr. Robot <your_email>
    ssb   rsa4096/B7ABC0813E4028C0 2017-08-18 [E]
    
  14. 관련 공개 키를 표시하려면 를 이전 단계의 GPG 키 ID로 교체하여 다음 명령을 실행합니다:

    gpg --armor --export 
    
  15. BEGIN PGP PUBLIC KEY BLOCKEND PGP PUBLIC KEY BLOCK 줄을 포함한 공개 키를 복사합니다. 다음 단계에서 이 키가 필요합니다.

계정에 GPG 키 추가#

사용자 설정에 GPG 키를 추가하려면:

  1. GitLab에 로그인합니다.
  2. 오른쪽 상단에서 아바타를 선택합니다.
  3. Edit profile을 선택합니다.
  4. 왼쪽 사이드바에서 Access > GPG keys를 선택합니다.
  5. Add new key를 선택합니다.
  6. Key에 공개 키를 붙여넣습니다.
  7. 계정에 키를 추가하려면 Add key를 선택합니다.

GitLab은 키의 지문, 이메일 주소, 생성 날짜를 표시합니다.

키를 추가한 후에는 편집할 수 없습니다. 대신 문제가 있는 키를 제거하고 다시 추가합니다.

GPG 키를 Git과 연결#

GPG 키를 만든계정에 추가한 후에는 이 키를 사용하도록 Git을 구성해야 합니다:

  1. 이 명령을 실행하여 방금 만든 개인 GPG 키를 나열하며 을 키의 이메일 주소로 교체합니다:

    gpg --list-secret-keys --keyid-format LONG 
    
  2. sec로 시작하는 GPG 개인 키 ID를 복사합니다. 이 예시에서 개인 키 ID는 30F2B65B9246B6CA입니다:

    sec   rsa4096/30F2B65B9246B6CA 2017-08-18 [SC]
          D5E4F29F3275DC0CDA8FFC8730F2B65B9246B6CA
    uid                   [ultimate] Mr. Robot <your_email>
    ssb   rsa4096/B7ABC0813E4028C0 2017-08-18 [E]
    
  3. 를 GPG 키 ID로 교체하여 커밋에 키로 서명하도록 Git을 구성합니다:

    git config --global user.signingkey 
    

Git 커밋 서명#

계정에 공개 키를 추가한 후 개별 커밋에 수동으로 서명하거나 Git이 기본적으로 서명된 커밋을 사용하도록 구성할 수 있습니다:

  • 개별 Git 커밋에 수동으로 서명하려면:

    1. 서명하려는 커밋에 -S 플래그를 추가합니다:

      git commit -S -m "My commit message"
      
    2. 요청받으면 GPG 키의 비밀번호를 입력합니다.

    3. GitLab에 푸시하고 커밋이 검증되었는지 확인합니다.

  • 기본적으로 모든 Git 커밋에 서명하려면 이 명령을 실행합니다:

    git config --global commit.gpgsign true
    

조건부로 서명 키 설정#

업무와 개인 용도와 같이 별도의 목적으로 서명 키를 유지하는 경우 .gitconfig 파일의 IncludeIf 구문을 사용하여 커밋에 서명할 키를 설정합니다.

전제 조건:

  • Git 버전 2.13 이상이 필요합니다.
  1. 기본 ~/.gitconfig 파일과 동일한 디렉토리에 두 번째 파일(예: .gitconfig-gitlab)을 만듭니다.

  2. 기본 ~/.gitconfig 파일에 비GitLab 프로젝트 작업을 위한 Git 설정을 추가합니다.

  3. 기본 ~/.gitconfig 파일 끝에 다음 정보를 추가합니다:

    # 이 파일의 내용은 GitLab.com URL에만 포함됩니다
    [includeIf "hasconfig:remote.*.url:https://gitlab.com/**"]
    
    # 이 줄을 편집하여 대체 구성 파일을 가리킵니다
    path = ~/.gitconfig-gitlab
    
  4. 대체 .gitconfig-gitlab 파일에 GitLab 저장소에 커밋할 때 사용할 구성 재정의를 추가합니다. 기본 ~/.gitconfig 파일의 모든 설정은 명시적으로 재정의하지 않는 한 유지됩니다. 이 예시에서:

    # 대체 ~/.gitconfig-gitlab 파일
    # 이 값은 'gitlab.com' 문자열과 일치하는 저장소에 사용됩니다,
    # 그리고 ~/.gitconfig의 해당 값을 재정의합니다
    
    [user]
    email = you@example.com
    signingkey = 
    
    [commit]
    gpgsign = true
    

태그 서명 및 검증#

히스토리

GPG 키를 Git과 연결한 후 태그에 서명할 수 있습니다:

  1. Git 태그를 만들 때 -s 플래그를 추가합니다:

    git tag -s v1.1.1 -m "My signed tag"
    
  2. 태그를 GitLab에 푸시합니다.

  3. 로컬에서 서명을 검증하려면 다음을 실행합니다:

    git tag --verify v1.1.1
    
  4. 선택 사항. 모든 태그를 자동으로 서명하려면 다음을 실행합니다:

    git config --global tag.gpgsign true
    

GPG 키 취소#

GPG 키가 손상되면 취소합니다. 키를 취소하면 과거와 미래 커밋이 모두 변경됩니다:

  • 이 키로 서명된 과거 커밋은 미검증으로 표시됩니다.
  • 이 키로 서명된 미래 커밋은 미검증으로 표시됩니다.

GPG 키를 취소하려면:

  1. 오른쪽 상단에서 아바타를 선택합니다.
  2. Edit profile을 선택합니다.
  3. 왼쪽 사이드바에서 Access > GPG keys를 선택합니다.
  4. 삭제할 GPG 키 옆에 Revoke를 선택합니다.

GPG 키 제거#

GitLab 계정에서 GPG 키를 제거하면:

  • 이 키로 서명된 이전 커밋은 검증된 상태로 유지됩니다.
  • 이 키를 사용하려는 미래 커밋(만들었지만 아직 푸시하지 않은 커밋 포함)은 미검증 상태가 됩니다.

계정에서 GPG 키를 제거하려면:

  1. 오른쪽 상단에서 아바타를 선택합니다.
  2. Edit profile을 선택합니다.
  3. 왼쪽 사이드바에서 Access > GPG keys를 선택합니다.
  4. 삭제할 GPG 키 옆에 Remove([remove])를 선택합니다.

미래와 과거 커밋 모두 미검증으로 만들어야 하면 대신 관련 GPG 키를 취소합니다.

관련 주제#

트러블슈팅#

비밀 키를 사용할 수 없음#

secret key not available 또는 gpg: signing failed: secret key not available 오류가 발생하면 gpg 대신 gpg2를 사용해 보세요:

git config --global gpg.program gpg2

GPG 키가 비밀번호로 보호되어 있고 비밀번호 입력 프롬프트가 표시되지 않으면 쉘의 rc 파일(일반적으로 ~/.bashrc 또는 ~/.zshrc)에 export GPG_TTY=$(tty)를 추가합니다.

GPG가 데이터 서명에 실패#

GPG 키가 비밀번호로 보호되어 있고 다음 오류 중 하나가 발생하는 경우:

error: gpg failed to sign the data
fatal: failed to write commit object
gpg: signing failed: Inappropriate ioctl for device

비밀번호 입력 프롬프트가 표시되지 않으면:

  1. 텍스트 편집기에서 쉘의 구성 파일(일반적으로 ~/.bashrc 또는 ~/.zshrc)을 엽니다.

  2. 파일에 다음 줄을 추가합니다:

    export GPG_TTY=$(tty)
    
  3. 파일을 저장하고 텍스트 편집기를 닫습니다.

  4. 변경 사항을 적용합니다. 다음 중 하나를 선택합니다:

    • 터미널을 재시작합니다.
    • source ~/.bashrc 또는 source ~/.zshrc를 실행합니다.
Note

정확한 단계는 운영 체제와 쉘 구성에 따라 다를 수 있습니다.