Ubuntu에 Ghidra를 설치하기 전에
Ghidra는 일반적인 Ubuntu DEB 설치 프로그램이 아니라 Java로 실행되는 포터블 소프트웨어입니다. upstream 프로젝트가 공개하는 멀티플랫폼 ZIP에는 애플리케이션, 실행 스크립트, 문서와 플랫폼 구성 요소가 들어 있습니다. 따라서 일반적인 설치는 Java를 준비하고, 압축을 풀고, 실행 스크립트를 실행하는 과정입니다. /usr/bin에 파일을 복사하거나 GUI를 root로 실행할 필요는 없습니다.
호환되는 64비트 Ubuntu 환경과 함께 ZIP, 압축 해제된 애플리케이션, Java 캐시, 프로젝트, 가져온 프로그램과 분석 데이터베이스를 저장할 쓰기 가능한 공간을 준비하세요. Ghidra 문서는 설치된 바이너리에 4GB RAM과 1GB 저장 공간을 최소 출발점으로 제시하지만, 큰 펌웨어나 디컴파일 작업에는 더 많은 자원이 필요합니다. 개인 설치는 ~/tools 또는 ~/opt 아래가 권한 문제를 줄이는 데 유리합니다.
분석 권한이 있는 소프트웨어, 펌웨어 또는 메모리 이미지만 조사하세요. 다운로드 안내는 출처와 실행 방법을 설명할 뿐, 특정 대상을 리버스 엔지니어링할 권리를 제공하지 않습니다. 각 Ghidra 버전을 별도 폴더에 보관하면 기존 설치를 덮어쓰지 않고 결과를 비교하거나 되돌릴 수 있습니다.
Ubuntu 패키지 관리자가 필요로 할 때만 sudo를 사용하세요. Ghidra 실행과 프로젝트 생성은 일반 사용자로 수행해야 설정, 캐시와 프로젝트의 소유권을 예측할 수 있습니다.
Ubuntu에 64비트 JDK 21 설치하기
Ghidra 12.1에는 Java 21 Runtime and Development Kit이 필요합니다. runtime만 설치하지 말고 java와 javac를 포함한 전체 JDK를 설치하세요. Java 21을 제공하는 Ubuntu 저장소에서는 일반적으로 openjdk-21-jdk 패키지를 사용합니다. 저장소에 해당 패키지가 없다면 신뢰할 수 있는 JDK 21 배포판을 선택하고 그 배포판의 Ubuntu 설치 방법을 따르세요.
패키지 설치가 끝나면 새 터미널을 열고 활성 버전을 확인합니다. Java 21과 64비트 환경이 표시되어야 합니다. 다른 애플리케이션이 다른 Java 버전을 요구한다면 두 버전을 유지하고 JAVA_HOME 또는 Ubuntu의 alternatives 도구로 Ghidra에 사용할 JDK를 선택하세요. Ghidra에 더 최신 JDK가 필요하다는 이유만으로 기존 JDK를 삭제하지 마세요.
Ghidra가 Java를 찾을 수 없다고 표시하면 JAVA_HOME을 확인하고 java 실행 파일이 아니라 JDK 폴더를 가리키는지 확인하세요. 대상 폴더 안에는 java와 javac가 있는 bin 폴더가 있어야 합니다.
sudo apt update && sudo apt install openjdk-21-jdkjava -version && javac -version공식 Ghidra ZIP 다운로드하기
공식 Ghidra 12.1.2 릴리스를 열고 Assets를 펼칩니다. ghidra_12.1.2_PUBLIC_20260605.zip을 선택하세요. 이 파일이 프로젝트가 지정한 사전 빌드 배포판입니다. GitHub에는 Source code (zip)와 Source code (tar.gz)도 표시되지만, 이 파일들은 소스에서 Ghidra를 빌드하려는 사람을 위한 저장소 스냅샷이며 일반적인 Ubuntu 설치 파일이 아닙니다.
확인된 PUBLIC ZIP의 크기는 572,803,866바이트, 약 546.3MiB입니다. 이 사이트는 공식 GitHub 파일로 연결할 뿐 파일을 미러링하거나 이름을 바꾸거나 재포장하지 않습니다. 브라우저가 HTML 페이지, 지나치게 작은 파일 또는 예상하지 못한 설치 프로그램 확장자를 저장했다면 실행하지 마세요. 공식 릴리스로 돌아가 PUBLIC 파일을 선택하세요.
Ubuntu에서 Ghidra를 검색하면 Snap, apt 또는 보안 배포판 패키지가 나타날 수 있습니다. 관리되는 환경에서는 유용할 수 있지만 버전, 유지 관리자와 패치가 upstream 프로젝트와 다를 수 있습니다. 현재 upstream 빌드와 직접 확인 가능한 체크섬이 필요하면 공식 GitHub 파일을 사용하세요.
| 릴리스 파일 | 일반 설치에 사용할까요? | 내용 |
|---|---|---|
| ghidra_12.1.2_PUBLIC_20260605.zip | 예 | 공식 사전 빌드 멀티플랫폼 배포판 |
| Source code (zip) | 아니요 | 소스 빌드용 저장소 스냅샷 |
| Source code (tar.gz) | 아니요 | tar.gz 형식의 저장소 스냅샷 |
SHA-256으로 ZIP 확인하기
릴리스 노트에는 실행 가능한 ZIP의 SHA-256 digest가 공개되어 있습니다. 다운로드가 중단되었거나 프록시를 거쳤거나 출처 기록이 필요할 때 해시를 확인하면 변경되거나 손상된 바이트를 감지할 수 있습니다. 다만 확인되지 않은 미러를 공식으로 만들어 주는 것은 아니며 전체 보안 감사를 대신하지도 않습니다.
다운로드한 파일이 있는 폴더에서 sha256sum을 실행하고 공식 digest b62e81a0390618466c019c60d8c2f796ced2509c4c1aea4a37644a77272cf99d와 전체 값을 비교하세요. 한 글자라도 다르면 파일을 삭제하고 공식 릴리스에서 다시 다운로드합니다.
sha256sum ghidra_12.1.2_PUBLIC_20260605.zipGhidra 압축을 풀고 ./ghidraRun 실행하기
사용자 소유의 tools 폴더를 만들고 전체 아카이브를 압축 해제하면서 폴더 구조를 유지하세요. 압축 파일 안에서 Ghidra를 실행하지 마세요. 제대로 압축을 풀면 ./ghidraRun 옆에 Ghidra, Extensions, support, docs와 server 폴더가 보여야 합니다.
압축을 푼 폴더에서 일반 Ubuntu 사용자로 실행 스크립트를 실행합니다. 첫 실행에는 Java가 모듈을 초기화하고 설정을 만들면서 시간이 조금 더 걸릴 수 있습니다. Project Window가 나타나면 별도의 프로젝트 폴더에 Non-Shared Project를 만드세요. 애플리케이션과 분석 데이터를 분리하면 업데이트가 안전합니다.
셸에 Permission denied가 표시되면 실행 스크립트의 모드만 확인하고 필요한 경우 해당 스크립트에만 실행 권한을 추가합니다. 배포판 전체에 재귀적으로 실행 권한을 주지 마세요. 즉시 종료되면 터미널에서 실행하거나 디버그 실행 스크립트를 사용해 원래 오류를 확인합니다.
- 1
개인 도구 폴더 만들기
애플리케이션과 프로젝트를 분리하고 root 소유 GUI 설치를 피합니다.
mkdir -p ~/tools - 2
ZIP 전체 압축 해제
모든 폴더를 유지하고 버전별로 새 대상 폴더를 사용합니다.
unzip ghidra_12.1.2_PUBLIC_20260605.zip -d ~/tools - 3
압축 해제 폴더로 이동
계속하기 전에 실행 스크립트와 support가 보이는지 확인합니다.
cd ~/tools/ghidra_12.1.2_PUBLIC - 4
일반 사용자로 실행
sudo 없이 데스크톱 애플리케이션을 시작합니다.
./ghidraRun

Ubuntu 환경과 WSL2에서 발생하는 데스크톱 문제 해결
java not found 또는 unsupported JDK 오류가 나타나면 Ghidra를 실행하는 같은 터미널에서 java -version과 javac -version을 다시 실행하세요. Java 17 또는 runtime 전용 패키지를 가리킨다면 64비트 JDK 21을 설치하거나 선택합니다. JAVA_HOME은 JDK 폴더를 가리켜야 하며 /usr/bin/java처럼 실행 링크를 직접 가리키면 안 됩니다.
WSL2에서도 Ghidra를 실행할 수 있지만 GUI 사용 여부는 WSLg나 X 서버 같은 Windows 쪽 표시 경로에 달려 있습니다. 디스플레이가 없는 Linux 셸은 support/analyzeHeadless로 배치 분석을 수행할 수 있지만 Project Window에는 작동하는 display가 필요합니다. 빈 창을 Ghidra 설치 실패로 판단하기 전에 echo $DISPLAY와 WSLg/X 설정을 확인하세요.
Wayland, 원격 데스크톱 또는 non-reparenting 창 관리자에서는 Ghidra가 문서화한 실행 속성이 필요할 수 있습니다. 한 번에 하나의 환경만 바꾸고 support/launch.properties 원본을 보관하며 터미널 오류를 기록하세요. 권한 오류가 있으면 root로 실행하기보다 사용자 소유의 실행 가능한 파일 시스템으로 애플리케이션을 옮깁니다.
| 증상 | 가능한 원인 | 첫 조치 |
|---|---|---|
| java 또는 javac를 찾을 수 없음 | PATH/JAVA_HOME에 JDK 없음 | JDK 21 설치 후 새 터미널 열기 |
| Permission denied | 실행 모드 또는 noexec 파일 시스템 | chmod +x ghidraRun 또는 폴더 이동 |
| WSL2 창이 비어 있음 | WSLg/X display 없음 또는 Java 창 문제 | DISPLAY와 공식 실행 속성 확인 |
| 즉시 종료 | 그래픽 실행기가 오류를 숨김 | 터미널 또는 support/ghidraDebug로 실행 |
| 잘못된 파일을 다운로드함 | 소스 아카이브, HTML 또는 부분 다운로드 | PUBLIC ZIP 선택 후 SHA-256 확인 |

첫 프로젝트를 만들고 안전하게 업데이트하기
Ubuntu의 로컬 설치에서는 File > New Project를 선택하고 Non-Shared Project를 사용합니다. 프로젝트를 ~/tools/ghidra_12.1.2_PUBLIC 밖에 저장해야 애플리케이션 폴더를 교체해도 분석 데이터가 사라지지 않습니다. 중요한 프로젝트는 .gpr 파일과 연결된 .rep 폴더를 함께 백업하세요.
업데이트할 때는 새 공식 버전을 기존 폴더 옆에 압축 해제하고 checksum을 확인한 뒤 중요한 프로젝트의 복사본을 테스트합니다. Ghidra는 일반적인 데스크톱 제거 프로그램을 사용하지 않습니다. 애플리케이션을 닫고 프로젝트와 스크립트를 보존한 다음 압축 해제한 애플리케이션 폴더를 삭제하세요. 설정과 캐시까지 초기화하려면 별도로 확인합니다.
GUI 대신 자동화가 필요하면 같은 확인된 배포판의 support/analyzeHeadless를 사용합니다. 스크립트나 컨테이너에서 Ghidra와 JDK 버전을 고정하고 프로젝트를 관리되는 경로에 저장하며, 신뢰하지 않는 샘플을 높은 권한으로 처리하지 마세요.
Ubuntu에 Ghidra를 설치할 때 자주 묻는 질문
Ubuntu에 Ghidra를 설치하려면 sudo가 필요한가요?
보통 필요하지 않습니다. openjdk-21-jdk 설치를 위해 apt에서 sudo를 사용하고, 이후 ZIP은 사용자 폴더에 압축을 풀어 sudo 없이 ./ghidraRun을 실행하세요.
apt나 Snap으로 Ghidra를 설치할 수 있나요?
Ubuntu나 Snap에 커뮤니티 패키지가 있을 수 있지만 upstream 프로젝트와 버전과 출처가 다를 수 있습니다. 공식 최신 빌드가 목적이라면 NationalSecurityAgency/ghidra 릴리스의 PUBLIC ZIP을 선택하고 SHA-256을 확인하세요.
Ghidra는 Ubuntu의 24.04 버전에서 작동하나요?
호환되는 64비트 Ubuntu 데스크톱은 호환 가능한 64비트 JDK 21이 설치되어 있으면 공식 배포판을 실행할 수 있습니다. 버전별 문제는 최신 Ghidra 문서와 그래픽 환경을 확인하세요.
WSL2의 Ubuntu에 Ghidra를 설치하는 방법은 무엇인가요?
JDK 21과 공식 ZIP은 일반 Ubuntu와 같은 방법으로 설치합니다. GUI에는 WSLg 또는 X 서버가 필요하며 display가 없으면 support/analyzeHeadless를 사용하고 먼저 DISPLAY를 확인하세요.
Ghidra에서 Java가 지원되지 않는다고 표시되는 이유는 무엇인가요?
Ghidra 12.1에는 64비트 JDK 21이 필요합니다. java -version, javac -version, JAVA_HOME과 선택한 JDK 아키텍처를 확인하세요. Java 17 runtime이나 JRE 전용 패키지는 같은 요구 사항을 충족하지 않습니다.
설치 후 Ghidra 버전을 확인하는 방법은 무엇인가요?
압축 해제된 폴더 이름과 ZIP 파일 이름을 확인하고 애플리케이션 안의 버전 정보도 확인합니다. 릴리스 태그, 파일 이름과 SHA-256을 설치 기록에 남겨 두면 업데이트할 때 유용합니다.
확인된 Ubuntu 절차로 Ghidra 설치하기
확인되지 않은 미러나 래퍼 대신 공식 Ghidra 12.1.2 ZIP, JDK 21, SHA-256 확인과 ./ghidraRun을 사용하세요.