Debian, Ubuntu 및 호환 파생 배포판에서는 deb를, Fedora처럼 dnf를 사용하는 환경에서는 rpm을 우선 선택하세요. 파일 하나로 보관하고 실행하려면 AppImage를 고려할 수 있습니다. Linux 데스크톱 환경을 이미 사용하는 경우에 적합한 안내입니다. 먼저 배포판과 프로세서 아키텍처를 확인한 뒤 사이트의 다운로드 페이지에서 설치 파일을 받고, 설치와 첫 실행 및 연결을 확인하세요. Shadowrocket 설치와 기존 구독 가져오기는 별개의 단계입니다.
1. 배포판에 맞춰 deb, rpm 또는 AppImage 선택하기
파일 크기만 보고 고르지 말고 먼저 시스템의 패키지 관리 방식을 확인하세요. deb와 rpm은 시스템 패키지 관리자에 등록되지만, AppImage는 보통 단일 애플리케이션 파일로 실행되며 deb나 rpm 패키지를 시스템에 설치하는 방식과는 다릅니다. 어떤 형식을 선택하든 프로세서 아키텍처, 시스템 라이브러리, 그래픽 환경의 호환성은 별도로 확인해야 합니다.
| 환경 | 우선 형식 | 설치 방법 |
|---|---|---|
| Debian, Ubuntu 및 호환 파생 배포판 | deb | apt로 로컬 파일을 설치하고 저장소에서 제공되는 종속 항목을 처리합니다. |
| Fedora 및 dnf를 사용하는 호환 RPM 환경 | rpm | dnf로 설치합니다. 필요한 시스템 라이브러리를 사용할 수 있는지 확인해야 합니다. |
| 애플리케이션을 단일 파일로 보관하려는 데스크톱 환경 | AppImage | 실행 권한을 추가한 뒤 실행합니다. 필요한 경우 FUSE와 런타임 라이브러리를 확인하세요. |
| 그 밖의 배포판 또는 데스크톱 환경이 없는 서버 | 호환 조건을 먼저 확인하세요 | 패키지 형식을 변환해 호환 여부를 판단하지 말고, 명령줄 실행 모드가 제공된다고 가정하지 마세요. |
터미널에서 아래 읽기 전용 명령 두 개를 실행하세요. 첫 번째 명령은 배포판 정보를 표시합니다. ID, ID_LIKE, VERSION_ID 값을 확인하세요. 두 번째 명령은 시스템 아키텍처를 표시합니다. 결과가 x86_64 또는 aarch64라면 다운로드 페이지에서 해당 아키텍처에 맞는 항목을 각각 확인하세요. 확장자가 같다고 해서 서로 바꿔 사용할 수 있는 것은 아닙니다.
cat /etc/os-release
uname -m
이 안내에서는 고정된 패키지 파일명을 지정하거나 모든 아키텍처에서 모든 형식을 사용할 수 있다고 가정하지 않습니다. 현재 목록과 요구 사항은 Linux 다운로드 섹션에서 확인하세요. 형식을 선택한 뒤에는 다운로드한 파일의 원래 이름을 유지하고, 이후 명령에 실제 경로를 입력하세요.
2. 다운로드 전 확인 사항과 터미널 준비
클라이언트를 설치하기 전에 구독을 가져올 필요는 없습니다. 먼저 데스크톱 세션이 정상인지, 시스템 네트워크에서 설정된 소프트웨어 저장소에 접속할 수 있는지 확인한 다음 설치 파일을 다운로드하세요. apt와 dnf는 로컬 파일을 설치할 때도 배포판 저장소에서 종속 항목을 가져올 수 있습니다. 따라서 파일을 다운로드했다고 해서 설치 과정 전체를 오프라인으로 진행할 수 있는 것은 아닙니다.
-
환경 확인
cat /etc/os-release와uname -m을 실행해 배포판, 시스템 버전, 아키텍처를 확인하고 다운로드 페이지의 안내와 하나씩 대조하세요. -
설치 파일 받기
Shadowrocket 다운로드 페이지를 열고 Linux 섹션에서 현재 시스템에 맞는 deb, rpm 또는 AppImage 파일을 선택하세요. 이 문서에는 설치 파일로 연결되는 직접 링크가 없습니다.
-
파일 경로 확인
파일 관리자에서 다운로드한 파일을 찾아 전체 경로를 확인하세요. 다운로드 폴더 이름이 현지화되어 있다면 경로가
~/Downloads라고 단정하지 마세요. -
터미널 열기
아래 대화형 명령은 Bash 기준입니다. 다른 셸을 사용 중이라면 먼저
bash를 입력하세요. 파일 경로를 입력할 때 Tab 키로 자동 완성하면 공백이나 확장자를 빠뜨리지 않을 수 있습니다.
3. deb 설치: apt로 로컬 파일 설치하기
Debian과 Ubuntu에서는 apt install로 로컬 deb 파일을 설치하는 것이 좋습니다. 하위 수준의 설치 도구에 파일을 바로 전달하는 것과 달리 apt는 현재 설정된 저장소를 통해 종속 항목을 해결할 수 있습니다. 아래 명령은 실제 파일 경로를 입력받아 절대 경로로 변환합니다. 이렇게 하면 apt가 파일명을 저장소의 패키지 이름으로 처리하는 일을 방지할 수 있습니다.
read -r -e -p '다운로드한 deb 파일 경로를 입력하세요: ' pkg
pkg="$(realpath -- "$pkg")"
if [ -f "$pkg" ] && [[ "$pkg" == *.deb ]]; then
sudo apt install "$pkg"
else
printf '%s\n' 'deb 파일을 찾을 수 없습니다. 경로를 다시 확인하세요.'
fi
안내가 표시되면 파일 경로만 입력하세요. 셸 명령에서 사용하는 바깥쪽 따옴표는 입력하지 마세요. 명령에서 변수에 큰따옴표를 적용하므로 경로에 공백이 있어도 apt에 올바르게 전달됩니다. 실행 전에 apt가 표시한 종속 항목과 디스크 변경 사항을 확인하세요. 시스템 구성 요소가 예상과 달리 대량으로 제거될 예정이라면 진행을 취소하고 원인을 확인하세요.
- 종속 항목을 해결할 수 없다는 메시지가 표시되는 경우: 배포판 버전과 패키지 요구 사항을 확인한 다음 시스템 저장소에 접근할 수 있는지 점검하세요. 다른 배포판의 종속 항목을 임의로 조합하지 마세요.
- 로컬 파일을 찾을 수 없다는 메시지가 표시되는 경우: 경로와 다운로드 완료 여부를 다시 확인하세요. 경로 입력 시 Tab 키로 자동 완성할 수 있습니다. 브라우저에 표시되는 다운로드 주소는 로컬 파일 경로가 아닙니다.
- 아키텍처가 일치하지 않는다는 메시지가 표시되는 경우:
uname -m을 다시 실행하고 다운로드 페이지에서 아키텍처를 확인하세요. 강제 설치를 해도 바이너리의 대상 아키텍처는 바뀌지 않습니다.
설치가 완료되면 데스크톱 애플리케이션 목록에서 Shadowrocket을 찾아 실행하세요. 패키지 관리자의 설치 완료 여부와 클라이언트의 연결 성공 여부는 서로 다른 문제입니다. 종속 항목 설치가 끝나면 먼저 창이 정상적으로 열리는지 확인한 다음 구독과 네트워크 설정을 진행하세요.
4. rpm 설치: dnf로 설치하고 트랜잭션 내용 확인하기
Fedora처럼 dnf를 사용하는 시스템에서는 아래 방법으로 로컬 rpm 파일을 설치할 수 있습니다. rpm 형식을 사용하는 모든 배포판에서 dnf를 사용하는 것은 아닙니다. 시스템의 패키지 관리자가 다르면 해당 배포판의 로컬 패키지 설치 방법을 따르세요. 명령을 그대로 복사하기 위해 시스템 패키지 관리 도구를 임의로 바꾸지 마세요.
read -r -e -p '다운로드한 rpm 파일 경로를 입력하세요: ' pkg
pkg="$(realpath -- "$pkg")"
if [ -f "$pkg" ] && [[ "$pkg" == *.rpm ]]; then
sudo dnf install "$pkg"
else
printf '%s\n' 'rpm 파일을 찾을 수 없습니다. 경로를 다시 확인하세요.'
fi
dnf는 이번 트랜잭션에서 설치할 패키지와 종속 항목, 관련 안내를 표시합니다. 출처와 변경 사항이 예상과 일치하는지 확인한 뒤 진행하세요. 종속 항목 충돌이 발생하면 전체 오류 메시지와 시스템 버전을 기록하고, 강제 덮어쓰기나 검사 생략 옵션을 바로 추가하지 마세요.
deb 설치 확인
- 파일 형식
.deb- 명령 도구
apt install- 파일 경로
- 실제 경로를 확인하고 절대 경로 사용
- 종속 항목 출처
- 현재 시스템에 설정된 소프트웨어 저장소
설치가 완료되면 시스템 패키지 관리자에 등록되지만, 온라인 업데이트 저장소에 자동으로 추가되는 것은 아닙니다.
rpm 설치 확인
- 파일 형식
.rpm- 명령 도구
dnf install- 필수 조건
- 현재 배포판에서 dnf 사용
- 트랜잭션 확인
- 추가될 종속 항목과 충돌 정보 확인
rpm 형식이 같더라도 배포판이나 시스템 버전이 다르면 호환된다고 보장할 수 없습니다.
5. AppImage 실행 권한 설정 및 첫 실행
AppImage는 앞의 두 절에서 다룬 패키지 관리자 설치 절차를 사용하지 않습니다. 먼저 현재 사용자가 계속 보관할 수 있는 위치로 파일을 옮긴 뒤 실행 권한을 추가하세요. 브라우저의 임시 폴더에 계속 두지 말고, 파일을 이동한 뒤에는 이전 경로를 가리키는 실행 바로 가기를 사용하지 마세요.
read -r -e -p '다운로드한 AppImage 파일 경로를 입력하세요: ' app
app="$(realpath -- "$app")"
if [ -f "$app" ] && [[ "$app" == *.AppImage ]]; then
chmod u+x -- "$app" && "$app"
else
printf '%s\n' 'AppImage 파일을 찾을 수 없습니다. 경로를 다시 확인하세요.'
fi
chmod u+x는 파일 소유자에게만 실행 권한을 추가합니다. 모든 사용자에게 쓰기 권한을 부여할 필요는 없습니다. 파일 소유자가 다른 사용자라면 먼저 출처와 저장 위치를 확인하세요. 이 명령은 터미널에서 애플리케이션을 바로 실행합니다. 창이 열리지 않으면 오류 출력을 보관해 권한, 런타임 라이브러리, 그래픽 세션 중 무엇이 문제인지 구분하세요.
패키지 관리자 설치와 단일 파일 실행의 관리 방식
deb / rpm
- 시스템 패키지 관리자가 설치 상태와 종속 항목을 기록합니다.
- 업데이트할 때는 사이트의 다운로드 페이지에서 호환되는 새 패키지를 받은 뒤 같은 패키지 관리자로 처리하세요.
- 제거하려면 시스템 소프트웨어 관리 도구에서 실제 패키지 이름을 확인한 다음 일반적인 절차에 따라 삭제하세요.
AppImage
- 애플리케이션 파일의 위치와 실행 권한을 직접 관리합니다.
- 파일을 교체하기 전에 실행 중인 애플리케이션을 종료하고 필요한 설정을 백업하세요.
- 애플리케이션 파일을 삭제해도 사용자 설정은 삭제되지 않을 수 있으며, 바로 가기도 별도로 정리해야 할 수 있습니다.
관리 방식에 맞춰 형식을 선택하세요. AppImage가 모든 배포판에서 작동한다고 가정해서는 안 됩니다.
6. 설치 후 기존 설정을 가져오고 연결 확인하기
창이 정상적으로 열린 다음 기존 서비스 제공업체의 설정을 가져오세요. 이 사이트는 클라이언트 설치 및 사용 방법만 설명합니다. 클라이언트를 설치해도 사용할 수 있는 연결이 자동으로 생성되지 않으며, 기존 서비스 제공업체 계정의 상태, 데이터 한도, 기기 제한도 변경되지 않습니다.
- 먼저 설정 가져오기: 현재 버전에 제공되는 가져오기 메뉴를 통해 기존 구독이나 개별 설정을 추가하세요. 화면에
Home → + → Type → Subscribe가 표시된다면 본인의 전체 구독 링크를 입력하고 저장한 뒤 업데이트하세요. 플랫폼마다 화면 구성이 다를 수 있으므로 실제 화면을 기준으로 진행하세요. - 목록 확인: 업데이트 후 예상한 항목이 나타나는지 확인하고 사용할 서버를 선택하세요. 목록이 비어 있다면 소프트웨어를 다시 설치하기보다 링크가 완전한지, 서비스 제공업체 측에 문제가 없는지 먼저 확인하세요.
- 라우팅 확인: 현재 화면에
Global Routing이 있다면Direct는 직접 연결을 뜻합니다.Proxy와 규칙에 따라 동작하는Config는 용도가 다릅니다. 규칙 기반으로 트래픽을 나누려면 선택된 Config를 먼저 확인하세요. - 테스트 결과 구분: 클라이언트 연결을 중지한 상태에서 시스템 네트워크가 정상인지 먼저 확인한 뒤 연결을 활성화하고 대상 사이트를 테스트하세요.
Connectivity Test가 제공된다면 선택한 서버를 점검하는 데 활용할 수 있습니다. 다만 테스트 결과만으로 모든 앱의 트래픽이 프록시를 통과한다고 판단해서는 안 됩니다.
클라이언트가 실행되지만 브라우저 동작에 변화가 없다면 시스템 프록시가 활성화되어 있는지, 아니면 다른 트래픽 처리 방식을 사용하는지 확인하세요. 대상 앱이 해당 방식을 따르는지도 점검해야 합니다. 설치만으로 모든 프로세스의 트래픽이 자동으로 처리된다고 가정하거나 다른 기기의 권한 설정 절차를 그대로 적용하지 마세요. 시스템 권한 요청이 표시되면 요청하는 권한의 범위를 먼저 확인하세요.
7. 설치 실패 및 실행 문제 해결
AppImage에 실행 권한을 줬는데도 Permission denied가 표시되는 이유는 무엇인가요?
먼저 ls -l과 실제 파일 경로를 사용해 실행 권한이 있는지 확인한 다음, 파일이 있는 파티션이 noexec 옵션으로 마운트되었는지 점검하세요. 실행 권한이 올바르더라도 파티션에서 실행을 허용하지 않는다면 파일을 실행 가능한 사용자 디렉터리로 옮겨 다시 시도하세요. 시스템 전체의 마운트 설정을 바로 변경하지 마세요.
AppImage를 두 번 클릭해도 반응이 없고 터미널에 FUSE 오류가 표시되면 어떻게 하나요?
터미널에 표시된 오류 전문을 보관하고 현재 배포판의 패키지 안내에 따라 호환되는 FUSE 런타임 라이브러리를 설치하세요. 시스템마다 패키지 이름이 다를 수 있으므로 기존 FUSE 구성 요소를 바로 교체하지 마세요. 여전히 호환되지 않으면 다운로드 페이지에서 해당 시스템에 맞는 deb 또는 rpm을 선택하세요.
Exec format error가 표시됩니다. 권한이 부족한 건가요?
권한을 반복해서 추가하기보다 먼저 대상 아키텍처와 파일 형식을 확인하세요. uname -m을 실행하고 다운로드 항목과 대조하세요. 파일 다운로드가 완료되지 않았다면 다시 받으세요. chmod는 실행 권한만 변경하며 한 아키텍처의 프로그램을 다른 아키텍처용으로 변환하지 않습니다.
apt 또는 dnf에서 설치 성공이라고 표시되지만 애플리케이션 목록에서 찾을 수 없나요?
먼저 데스크톱 애플리케이션 목록을 다시 열고, 필요하다면 데스크톱 세션에서 로그아웃한 뒤 다시 로그인하세요. 그런 다음 시스템 소프트웨어 관리 도구에서 실제로 설치되었는지 확인하세요. 실행 직후 종료된다면 실행 파일 이름을 추측하지 말고 오류를 기록하세요. SSH로 접속한 순수 터미널 세션은 로컬 그래픽 데스크톱을 사용할 수 있다는 뜻이 아닙니다.
앱을 업데이트하기 전에 기존 설정을 삭제해야 하나요?
일반적인 업데이트 절차로 설정을 삭제하지 마세요. 먼저 클라이언트를 종료하고 기존 설정을 백업한 다음 다운로드 페이지에서 호환되는 패키지를 받아 업데이트하세요. 버전 간 이전 방법이 명시되어 있다면 해당 안내를 따르세요. 앱을 다시 설치해도 사용자 디렉터리에 저장된 설정이 삭제되지 않을 수 있습니다.
문제를 파악하기 어렵다면 배포판 정보, 아키텍처, 설치 형식, 실행한 명령과 오류 출력의 주요 내용을 기록하세요. 구독 상태를 서비스 제공업체에 문의할 때는 전체 구독 링크, 계정 비밀번호, 액세스 토큰을 공개하지 마세요. 연결 문제는 문제 해결 안내에 따라 추가로 확인할 수 있습니다.