Shadowrocket Linux 버전을 설치하기 전에 배포판과 CPU 아키텍처를 확인하세요. Debian·Ubuntu 계열은 보통 deb, Fedora 등 dnf를 사용하는 시스템은 보통 rpm을 선택합니다. 독립 실행 파일이 필요하다면 AppImage를 고려할 수 있습니다. 이 글에서는 로컬 설치 명령어, 실행 권한 설정, 실행 오류 해결 방법을 안내합니다. 설치 후에는 서비스 제공업체에서 받은 구독을 가져오세요. 설치가 끝났다고 연결까지 사용할 수 있는 것은 아닙니다.
1. 배포판을 확인한 뒤 설치 패키지 선택하기
deb, rpm, AppImage는 배포 형식이며 프록시 프로토콜이 아닙니다. 우선 시스템의 패키지 관리자를 확인하고, 다운로드 페이지에 표시된 아키텍처와 실행 조건을 살펴보세요. 확장자가 같아도 모든 Linux 시스템에서 호환되는 것은 아닙니다. 파일을 내려받을 수 있다고 해서 현재 컴퓨터에서 실행할 수 있는 것도 아닙니다.
| 시스템 환경 | 우선 선택할 패키지 | 설치 또는 실행 방법 |
|---|---|---|
| Debian, Ubuntu 및 apt를 사용하는 파생 배포판 | deb | sudo apt install ./shadowrocket.deb |
| Fedora 및 dnf를 사용하는 RPM 계열 배포판 | rpm | sudo dnf install ./shadowrocket.rpm |
| 독립 파일을 바로 실행하려는 데스크톱 환경 | AppImage | 실행 권한을 추가한 뒤 일반 사용자로 실행 |
먼저 터미널에서 아래 명령어를 실행하세요. /etc/os-release의 ID와 ID_LIKE로 배포판을 확인하고, uname -m으로 시스템 아키텍처를 확인할 수 있습니다. 데스크톱 모양만 보고 배포판을 판단하지 말고, CPU가 같다는 이유로 의존성 확인을 건너뛰지 마세요.
cat /etc/os-release
uname -m
예를 들어 x86_64와 aarch64는 서로 다른 아키텍처입니다. 다운로드 페이지에 현재 기기에 맞는 빌드가 있는지 확인하세요. 해당 빌드가 없다면 다른 아키텍처용 패키지를 설치하지 마세요. AppImage도 아키텍처와 시스템 런타임 라이브러리의 영향을 받으며, 아키텍처를 변환해 주는 범용 도구가 아닙니다.
2. 다운로드한 파일 준비하기: 4단계
아래 명령어의 shadowrocket.deb, shadowrocket.rpm, shadowrocket.AppImage는 입력하기 쉽도록 정한 로컬 파일명이며 서버에 있는 설치 파일명이 아닙니다. 실제 파일을 다운로드한 뒤 파일 관리자에서 해당 이름으로 변경하세요. 파일명을 그대로 두려면 명령어의 파일명을 디스크에 저장된 전체 이름으로 바꾸면 됩니다.
-
환경 확인
터미널을 열고
cat /etc/os-release와uname -m을 실행해 배포판과 아키텍처를 확인하세요. 다운로드 페이지에 표시된 정보와 비교해 맞는 패키지를 선택합니다. -
파일 다운로드
다운로드 페이지의 Linux 섹션에서 deb, rpm 또는 AppImage를 선택하세요. 브라우저에서 다운로드가 완료될 때까지 기다리세요. 다운로드 중인 임시 파일에는 설치 명령어를 실행하지 마세요.
-
파일이 있는 디렉터리 열기
파일 관리자에서 설치 파일을 찾은 다음 ‘터미널에서 열기’를 사용해 해당 디렉터리로 이동하세요. 파일이 실제로
~/Downloads에 있다면cd ~/Downloads를 실행해도 됩니다. 디렉터리 이름이 현지화되었거나 직접 변경했다면 실제 경로를 사용하세요. -
패키지에 맞는 명령어 선택
deb는 apt, rpm은 dnf로 설치합니다. AppImage는 먼저
chmod u+x를 실행한 다음 일반 사용자로 실행하세요. 세 가지 방법 중 하나만 선택하면 됩니다. 패키지를 모두 설치할 필요는 없습니다.
시작하기 전에 pwd로 현재 디렉터리를 확인하고 ls -lh로 파일이 있는지 확인하세요. 경로에 공백이 있다면 따옴표로 감싸야 합니다. 예: sudo apt install "./shadowrocket linux.deb". 여기서 ./는 현재 디렉터리에 있는 로컬 파일을 뜻하므로 임의로 생략하면 안 됩니다.
3. deb 설치: apt로 의존성 처리하기
Debian, Ubuntu 등 apt를 사용하는 시스템에서는 apt로 로컬 deb 패키지를 설치하는 것이 좋습니다. apt는 패키지에 선언된 의존성을 확인하고, 시스템에 설정된 소프트웨어 저장소에서 필요한 항목을 가져오려고 시도합니다. 설치 파일이 로컬에 있어도 설치 과정에서 인터넷 연결이 필요할 수 있습니다.
sudo apt update
sudo apt install ./shadowrocket.deb
첫 번째 명령어는 저장소 색인을 갱신하고, 두 번째 명령어는 현재 디렉터리의 파일을 설치합니다. sudo 암호를 입력할 때 터미널에 글자나 별표가 표시되지 않는 것이 일반적입니다. 확인 메시지에 표시된 설치·업그레이드·삭제 항목을 검토한 뒤 진행하세요. 의존성 변경 내용이 예상과 다르면 무시하고 계속하지 마세요.
- 파일을 찾을 수 없다는 오류가 나오면
pwd와ls -lh를 실행해 디렉터리, 대소문자, 파일명이 정확히 일치하는지 확인하세요. - 아키텍처가 맞지 않는다는 오류가 나오면
uname -m결과와 다운로드한 패키지를 다시 확인하세요. 아키텍처를 강제로 무시하는 옵션은 추가하지 마세요. - 의존성을 충족할 수 없다는 오류가 나오면 먼저
sudo apt update가 성공했는지 확인한 다음, 배포판이 패키지의 실행 조건에 맞는지 확인하세요. - 패키지 관리자가 잠겨 있다면 시스템 업데이트나 다른 설치 작업이 끝날 때까지 기다리세요. 잠금 파일을 바로 삭제하지 마세요.
이전에 다른 도구를 사용해 의존성 상태가 미완료로 남았다면 sudo apt --fix-broken install을 실행하고, 수정 내용을 확인한 뒤 진행할 수 있습니다. 이 명령어는 시스템 패키지 의존성 상태를 처리할 뿐, 호환되지 않는 설치 파일을 현재 시스템에 맞게 바꾸지는 않습니다. 설치가 끝나면 앱 목록에서 Shadowrocket을 실행하세요. 그래픽 앱 전체를 sudo로 실행하지 마세요.
4. rpm 설치: dnf로 로컬 패키지 설치하기
Fedora 등 dnf를 사용하는 시스템에서는 로컬 rpm 파일 경로를 지정해 설치하세요. rpm은 패키지 형식이고 dnf는 의존성을 처리할 수 있는 패키지 관리자입니다. rpm 형식을 사용하는 다른 배포판이 반드시 dnf를 사용하는 것은 아닙니다. 별도의 패키지 관리자를 추가로 설치하기보다 해당 배포판의 관리 방식을 따르세요.
sudo dnf install ./shadowrocket.rpm
dnf는 필요한 의존성과 변경 가능 항목을 포함한 작업 요약을 표시합니다. 특정 의존성을 찾을 수 없다는 메시지가 나오면 시스템 버전, 저장소 이용 가능 여부, 설치 파일의 지원 범위를 먼저 확인하세요. 경고를 없애려고 --nodeps로 의존성을 강제로 건너뛰거나 시스템 라이브러리를 임의로 교체하지 마세요.
deb 설치 경로 확인
- 패키지 관리자
- apt
- 로컬 설치
sudo apt install ./shadowrocket.deb- 의존성 제공 위치
- 시스템에 설정된 소프트웨어 저장소
- 실행 방법
- 설치 후 앱 목록에서 실행
deb 파일을 dnf로 설치하지 말고 로컬 파일 경로도 생략하지 마세요.
rpm 설치 경로 확인
- 패키지 관리자
- 이 글의 명령어는 dnf용입니다
- 로컬 설치
sudo dnf install ./shadowrocket.rpm- 의존성 제공 위치
- 시스템에서 활성화된 소프트웨어 저장소
- 실행 방법
- 설치 후 앱 목록에서 실행
rpm 형식이라고 해서 모든 RPM 계열 배포판에서 바로 실행되는 것은 아닙니다.
5. AppImage: 실행 권한을 추가해 바로 실행하기
AppImage는 보통 apt나 dnf를 통해 시스템 패키지로 등록하지 않습니다. 사용자 디렉터리 중 장기간 보관할 수 있는 위치에 파일을 두고 실행 권한을 추가한 뒤 바로 실행하세요. 정리될 수 있는 임시 디렉터리에 계속 두지 말고, deb나 rpm처럼 패키지 관리자에 전달해 설치하지도 마세요.
chmod u+x ./shadowrocket.AppImage
./shadowrocket.AppImage
chmod u+x는 파일 소유자에게만 실행 권한을 추가합니다. chmod 777은 사용할 필요가 없습니다. 터미널에서 실행하면 오류 출력이 남아 권한, 아키텍처, 런타임 라이브러리 문제를 구분하기 쉽습니다. 아이콘을 두 번 클릭해도 창이 뜨지 않는다고 앱이 백그라운드에서 실행 중이라고 단정할 수는 없습니다.
Permission denied가 표시되면 먼저 실행 권한을 확인하세요. 파일이noexec마운트 옵션이 적용된 디스크에 있다면 실행 권한이 있어도 실행되지 않을 수 있습니다. 실행이 허용된 사용자 디렉터리로 옮기세요.Exec format error가 표시되면 먼저 아키텍처와 파일 다운로드가 완료되었는지 확인하세요. 실행 권한을 추가해도 아키텍처 불일치는 해결되지 않습니다.- FUSE 관련 오류가 표시되면 일부 AppImage 런타임에 호환되는 FUSE 라이브러리가 필요할 수 있습니다. 패키지 이름은 배포판마다 다르므로 현재 시스템의 패키지 안내를 따르세요. FUSE 구성 요소를 무작정 교체하지 마세요.
GLIBC버전이 맞지 않거나 공유 라이브러리가 없다는 메시지가 나오면 시스템의 실행 조건을 확인하세요. 시스템 libc를 직접 덮어쓰거나 출처를 알 수 없는 라이브러리를 시스템 디렉터리에 복사하지 마세요.
AppImage를 업데이트할 때는 먼저 실행 중인 앱을 종료한 다음 파일을 교체하고 새 파일의 실행 권한을 확인하세요. 기존 설정은 백업해 두되, 파일만 바꾸면 설정도 삭제된다고 생각하지 마세요. deb나 rpm을 로컬에서 설치해도 자동 업데이트 저장소가 추가되는 것은 아닙니다. 이후 다운로드는 이 사이트의 다운로드 페이지를 이용하세요.
6. 설치 후 설정과 라우팅을 각각 확인하기
설치는 ‘프로그램을 실행할 수 있는가’를 해결하고, 구독과 라우팅은 ‘연결을 어떻게 설정하고 트래픽을 어떻게 처리할 것인가’를 결정합니다. Shadowrocket을 실행한 뒤 Home에서 연결 정보가 모두 입력되었는지 확인하고, Config와 Global Routing을 점검하세요. Linux 데스크톱 환경마다 버튼 위치가 다를 수 있으므로 특정 플랫폼의 화면 배치를 기준으로 삼지 말고 앱에 실제로 표시되는 메뉴를 확인하세요.
- 서비스 제공업체에서 받은 구독 링크를 준비하고 Subscribe 메뉴에서 가져오세요. 가져온 뒤 항목이 실제로 표시되는지 확인하고, 업데이트 후에도 내용을 다시 점검하세요.
- 수동으로 추가하려면 Add Server에서 연결 정보에 맞는 Type을 선택하세요. Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard의 입력 항목은 서로 바꿔 사용할 수 없습니다.
- 주소, 포트, 인증 정보를 확인하세요. 서버 포트는 서비스 제공업체가 안내한 값을 사용해야 합니다. 일부 연결에서
443을 자주 사용한다고 해서 임의로 그 포트로 변경하지 마세요. - Global Routing의 현재 설정을 확인한 다음, 접속이 가능한 것으로 확인된 대상으로 테스트하세요. 앱 실행, 설정 저장, 연결 사용 가능 여부는 각각 별도로 확인해야 합니다.
Config
추천현재 설정의 규칙에 따라 정책을 선택합니다. 규칙을 본인의 사용 목적에 맞게 확인하세요. 앞선 규칙에 일치하지 않는 경우의 최종 처리 방식은 FINAL이 정하며, 항상 프록시 또는 직접 연결을 뜻하는 것은 아닙니다.
적합한 경우: 사용 가능한 규칙 설정이 있고 목적지별로 트래픽을 분리하려는 경우
Proxy
프록시 처리 범위에 들어오는 연결에 프록시 정책을 적용합니다. Config의 결과와 비교할 때 유용하지만, Linux의 모든 프로그램 트래픽이 프록시로 전달된다고 볼 수는 없습니다.
적합한 경우: 규칙 선택이 연결 실패의 원인인지 임시로 확인하려는 경우
Direct
처리 범위에 들어오는 연결을 직접 연결합니다. 로컬 네트워크 접속 결과를 비교할 때 사용하세요. Direct로 설정된 상태에서 웹페이지가 열린다고 프록시 연결이 작동한다고 판단해서는 안 됩니다.
적합한 경우: 직접 연결과 프록시 연결의 접속 결과를 비교하려는 경우
브라우저와 터미널의 접속 결과가 다르면 먼저 두 프로그램이 같은 프록시 주소를 사용하는지, 각각 시스템 프록시 또는 환경 변수를 읽는지 확인하세요. 실제로 활성화된 주소, 포트, 프록시 유형을 앱에서 확인하지 않고 로컬 수신 포트를 임의로 입력하지 마세요. 패키지 형식을 바꿔도 구독 매개변수 오류는 해결되지 않으며 라우팅 설정을 대신할 수도 없습니다.
7. 자주 묻는 질문: 터미널 출력을 확인한 뒤 조치하기
deb를 다운로드했는데 시스템에 apt가 없으면 어떻게 하나요?
cat /etc/os-release를 실행해 배포판을 확인한 다음 다운로드 페이지에서 호환되는 형식을 선택하세요. deb를 설치하려고 Debian 계열이 아닌 시스템에 apt를 임시로 추가하지 마세요. 호환성 확인을 피하기 위해 패키지 형식을 먼저 변환하지도 마세요.
AppImage를 두 번 클릭해도 반응이 없습니다. 관리자 권한으로 실행해야 하나요?
파일이 있는 디렉터리에서 chmod u+x ./shadowrocket.AppImage를 실행한 다음 ./shadowrocket.AppImage를 실행해 오류 메시지를 확인하세요. 일반 사용자로 실행할 때 sudo는 필요하지 않습니다. 출력 내용을 바탕으로 권한, 마운트 옵션, FUSE 또는 런타임 라이브러리 문제를 확인하세요.
설치는 끝났는데 앱 메뉴에 표시되지 않으면 어떻게 하나요?
AppImage는 바로 실행해도 메뉴 항목이 자동으로 만들어지지 않을 수 있으므로 먼저 터미널에서 실행하세요. deb나 rpm은 패키지 관리자 작업이 정상적으로 완료되었는지 확인한 다음 앱 목록을 다시 여세요. 설치 오류 메시지를 설치 완료로 착각하지 마세요.
구독을 가져오지 못하면 Linux 패키지를 다시 설치해야 하나요?
먼저 서비스 제공업체에서 받은 링크가 온전하고 만료되지 않았는지, 현재 네트워크에서 구독 주소에 접속할 수 있는지 확인하세요. 오류를 전달할 때는 민감한 부분을 가린 메시지만 공유하고 token, UUID, 비밀번호, 전체 구독 링크는 공개하지 마세요. 프로그램이 정상적으로 실행된다면 반복해서 재설치하기보다 설정과 네트워크부터 확인하세요.
지원 담당자에게 문제 해결 정보를 전달할 때는 배포판, uname -m 출력, 선택한 패키지 형식, 실행한 명령어, 전체 오류 문구를 기록하세요. ‘의존성 설치 실패’, ‘창이 실행되지 않음’, ‘구독 업데이트 실패’, ‘연결 후 대상에 접속할 수 없음’을 구분해 설명하면 서로 다른 단계의 문제가 뒤섞이지 않습니다.