Shadowrocket Linux 버전을 설치하기 전에 배포판과 프로세서 아키텍처를 확인한 뒤, 사이트의 다운로드 페이지에서 deb, rpm 또는 AppImage를 선택하세요. Linux 그래픽 데스크톱과 터미널을 사용할 수 있는 사용자를 대상으로 로컬 패키지 설치, 실행 권한, 의존성 오류, 업데이트 및 제거 방법을 설명합니다. 모든 명령은 실제로 다운로드한 파일 경로를 사용하며, 설치 파일명을 미리 가정하지 않습니다.
Linux 설치 파일 선택: 배포판과 아키텍처 확인
Ubuntu, Debian 등 APT를 사용하는 시스템은 보통 deb를, Fedora 등 DNF를 사용하는 시스템은 보통 rpm을 선택합니다. 단일 파일로 실행하려면 AppImage를 고려할 수 있습니다. 확장자는 배포 형식을 나타낼 뿐 프로세서 아키텍처를 뜻하지 않으며, 배포판 간 호환성을 보장하지도 않습니다. 다운로드 전에 페이지에 표시된 아키텍처와 실행 요구 사항도 확인하세요.
배포판과 패키지 관리자
- 배포판 정보
cat /etc/os-release- APT 시스템
- deb를 우선 선택하세요. 의존성은 apt가 처리합니다.
- DNF 시스템
- rpm을 우선 선택하세요. 의존성은 dnf가 처리합니다.
- 단일 파일로 실행
- AppImage를 고려하되 실행 환경 요구 사항을 충족해야 합니다.
Linux라는 이유만으로 deb와 rpm을 섞어 설치하면 안 됩니다.
아키텍처와 데스크톱 환경
- 프로세서 아키텍처
uname -m- x86_64
- 일반적으로 amd64/x86_64로 표시됩니다.
- aarch64
- 일반적으로 arm64/aarch64로 표시됩니다.
- 실행 환경
- 현재 사용자의 그래픽 데스크톱 세션에서 실행합니다.
아키텍처 이름이 대응된다고 해서 다운로드 페이지에서 해당 아키텍처용 패키지를 제공한다는 뜻은 아닙니다.
아래의 읽기 전용 명령 두 개를 실행하면 기본 환경을 확인할 수 있습니다. 파생 배포판이라면 ID_LIKE도 확인하고, 실제로 사용하는 패키지 관리자를 알아보세요. 모든 rpm 기반 시스템에 dnf 명령을 적용할 수는 없습니다. 다른 패키지 관리 도구를 사용하는 배포판은 해당 시스템 문서를 따르세요.
cat /etc/os-release
uname -m
다운로드 전 준비: 파일 출처와 전체 경로 확인
설치 파일은 클라이언트 다운로드 페이지의 Linux 섹션에서 받으세요. Shadowrocket Linux 버전은 무료입니다. iPhone / iPad 버전은 App Store에서 $2.99에 한 번 구매하며, Mac(Apple 칩 및 Intel), Windows, Android 버전도 무료입니다. iPhone / iPad의 시스템 요구 사항은 App Store 페이지의 안내를 확인하세요.
-
시스템 확인
터미널에서
cat /etc/os-release와uname -m을 실행해 배포판, 패키지 관리자, 아키텍처를 확인하세요. 컴퓨터 브랜드만으로 판단하지 마세요. -
다운로드 페이지 열기
사이트의 ‘클라이언트 다운로드’ → Linux로 이동해 환경에 맞는 deb, rpm 또는 AppImage를 선택하고 브라우저에서 다운로드가 완료될 때까지 기다리세요.
-
파일 경로 확인
파일 관리자에서 다운로드한 파일의 속성을 열고 파일명이 포함된 절대 경로를 확인하세요. 다운로드 폴더의 이름은 현지화되거나 사용자가 변경했을 수 있으므로 반드시 Downloads라고 가정하지 마세요.
-
설치 방법 선택
deb와 rpm은 아래 설명에 따라 시스템 패키지 관리자로 설치하고, AppImage는 단일 파일 실행 절차에 따라 실행 권한을 설정하세요. 문제를 해결하는 동안 세 가지 형식을 번갈아 설치하지 마세요.
아래의 대화형 명령은 Bash용입니다. 입력 안내가 표시되면 실제 파일의 절대 경로를 붙여 넣고 Enter를 누르세요. 경로에 공백이 있어도 되지만, 이 입력 단계에서는 따옴표를 추가하지 말고 홈 디렉터리 대신 ~를 사용하지 마세요. read는 물결표를 자동으로 확장하지 않습니다. 이후 명령의 변수에는 이미 큰따옴표가 적용되어 있습니다.
deb 설치 방법: apt로 로컬 파일 설치
Debian, Ubuntu 및 호환 APT 시스템에서는 apt install로 로컬 deb 파일을 설치하면 패키지 관리자가 설정된 소프트웨어 저장소에서 의존성을 해결하도록 할 수 있습니다. 여기에는 저장소의 패키지명이 아니라 절대 경로를 지정합니다. 설치 전에 패키지의 Package 및 Architecture 필드를 확인할 수 있습니다.
read -r -p "deb 파일의 절대 경로를 입력하세요: " pkg
test -f "$pkg" && dpkg-deb -f "$pkg" Package Architecture
sudo apt update
sudo apt install "$pkg"
두 번째 줄에 패키지 정보가 표시되고 경로 오류가 없는지 확인한 뒤 설치 명령을 실행하세요. sudo는 이 컴퓨터의 관리자 권한을 요청합니다. 터미널에서 비밀번호를 입력할 때 문자가 표시되지 않는 경우가 일반적이며, 이는 앱 계정 로그인이 아닙니다. apt update는 소프트웨어 저장소 색인만 갱신하며 Shadowrocket을 설치하거나 업데이트하지 않습니다.
- 파일을 찾을 수 없다는 메시지가 표시되나요? 붙여 넣은 경로, 파일명의 대소문자, 다운로드 완료 여부를 먼저 확인하세요. 관리자 권한으로 바꿔 반복 실행하지 마세요.
- 의존성을 충족할 수 없다는 메시지가 표시되나요? 누락된 패키지명과 시스템 버전 요구 사항을 확인하고 시스템 소프트웨어 저장소를 사용할 수 있는지 점검하세요. 출처를 알 수 없는 곳에서 런타임 라이브러리를 임의로 가져오지 마세요.
- 패키지 관리자가 잠겨 있다는 메시지가 표시되나요? 시스템 업데이트나 다른 설치 작업이 끝날 때까지 기다렸다가 다시 시도하세요. 잠금 파일을 삭제하는 것은 일반적인 해결 방법이 아닙니다.
- 설치가 끝났나요? 데스크톱 앱 메뉴에서 Shadowrocket을 찾으세요. 설치 프로그램에 오류가 출력됐다면 먼저 해결해야 합니다. 메뉴에 아이콘이 나타났다는 사실만으로 설치 성공을 판단하지 마세요.
rpm 설치 방법: dnf로 로컬 패키지와 의존성 처리
Fedora 및 DNF를 사용하는 호환 시스템에서는 dnf install로 로컬 rpm을 설치하세요. 먼저 패키지의 이름과 아키텍처를 확인한 다음 설치 작업 내용을 검토하세요. DNF가 실행 의존성을 함께 설치할 수 있으며, 세부 내용은 현재 시스템의 소프트웨어 저장소와 설치된 구성 요소에 따라 달라집니다.
read -r -p "rpm 파일의 절대 경로를 입력하세요: " pkg
test -f "$pkg" && rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$pkg"
sudo dnf install "$pkg"
설치 작업 확인 화면이 예상한 내용과 일치해야 합니다. 데스크톱 구성 요소를 대량으로 제거하려 하거나 아키텍처 불일치 또는 의존성 충돌이 표시되면 먼저 취소하고 다운로드 형식을 확인하세요. 설치를 계속하려고 의존성 생략이나 강제 교체 옵션을 바로 추가하지 마세요.
두 설치 방식의 관리 범위
deb / rpm 설치
- 설치 기록은 시스템 패키지 관리자가 관리합니다.
- 시스템에 설치하려면 관리자 권한이 필요합니다.
- 제거할 때는 다운로드 파일명이 아니라 패키지의 실제 이름을 사용합니다.
- 의존성 해결에는 설정된 소프트웨어 저장소가 필요합니다.
AppImage 실행
- 다운로드한 파일을 실행 시작점으로 사용합니다.
- 현재 사용자에게 실행 권한을 먼저 부여합니다.
- 다운로드 정리로 삭제되지 않도록 파일을 안정적인 위치에 보관하세요.
- 데스크톱 메뉴에 자동으로 등록되지 않을 수 있습니다.
시스템 패키지 관리 기록이 필요하면 시스템에 맞는 deb 또는 rpm을 우선 선택하세요. AppImage를 선택했다면 파일 위치와 교체 절차를 직접 관리해야 합니다.
AppImage 실행 방법: 실행 권한을 설정한 뒤 터미널에서 실행
AppImage는 다운로드한 뒤 실행 권한을 설정해야 하는 경우가 많으며, 현재 데스크톱 사용자가 실행해야 합니다. 처음에는 터미널에서 실행해 권한, 마운트 또는 런타임 라이브러리 오류를 확인하는 것이 좋습니다. 두 번 클릭해도 반응이 없다는 이유로 전체 그래픽 앱을 sudo로 실행하지 마세요.
read -r -p "AppImage 파일의 절대 경로를 입력하세요: " app
test -f "$app" && chmod u+x "$app"
"$app"
chmod u+x는 파일 소유자에게 실행 권한을 추가할 뿐, 파일 형식을 변환하거나 누락된 시스템 구성 요소를 설치하지 않습니다. 원래 경로에 파일을 두면 같은 경로로 계속 실행할 수 있습니다. 다른 디렉터리로 옮겼다면 이동한 경로를 사용하세요. 프로그램이 실행되는 동안 파일을 삭제하거나 교체하지 마세요.
권한을 추가했는데도 Permission denied가 표시되나요?
먼저 ls -l "$app"으로 권한을 확인한 다음, 파일이 있는 파티션에 noexec 마운트 옵션이 적용됐는지 살펴보세요. 이 제한이 원인이라면 실행이 허용된 사용자 디렉터리로 파일을 옮긴 뒤 다시 시도할 수 있습니다. 이동식 디스크나 공유 디렉터리 전체의 마운트 정책을 함부로 완화하지 마세요.
FUSE 관련 오류가 표시되면 어떻게 하나요?
일부 AppImage 런타임은 FUSE에 의존합니다. 터미널에 표시된 누락 라이브러리 이름을 확인하고 현재 배포판의 패키지 안내에 따라 호환 라이브러리를 설치하세요. 패키지명은 배포판과 시스템 버전에 따라 다를 수 있으므로 특정 배포판의 설치 명령을 그대로 복사해 적용하지 마세요.
Exec format error가 표시되나요?
먼저 uname -m을 실행해 다운로드 페이지의 아키텍처 표시와 비교하고, file "$app"으로 파일 형식을 확인하세요. 아키텍처가 맞지 않거나 다운로드한 파일이 실행 프로그램이 아니라면 올바른 파일을 다시 선택하세요. chmod를 반복 실행해도 아키텍처 문제는 해결되지 않습니다.
두 번 클릭해도 창이 표시되지 않나요?
그래픽 데스크톱에서 터미널을 열고 "$app"을 직접 실행해 가장 먼저 표시되는 명확한 오류를 확인하세요. 원격 SSH 세션에서 실행했다면 먼저 로컬 컴퓨터의 데스크톱에서 테스트하세요. 그래픽 세션이 없다는 이유만으로 파일이 손상됐다고 판단하지 마세요.
설치 후 확인 방법: 먼저 실행을 확인한 뒤 연결 설정 점검
창이 열리는지와 네트워크에 연결되는지는 별개의 확인 항목입니다. 먼저 일반 사용자 데스크톱에서 앱이 실행되는지 확인한 다음, 사용자가 이미 보유한 서비스 제공자의 연결 정보를 사용하세요. 클라이언트를 설치해도 사용할 수 있는 서버가 자동으로 생성되지는 않습니다. 이 사이트는 노드나 구독을 제공·판매·추천하지 않습니다.
- 실행 확인: deb / rpm 설치는 앱 메뉴에서 실행하고, AppImage는 실제 파일 경로를 사용해 실행하세요. 앱이 비정상 종료되면 터미널 오류와 배포판, 아키텍처 정보를 함께 기록하세요.
- 연결 정보 확인: 직접 보유한 설정을 가져올 때 서버 주소, 포트, 프로토콜, 인증 정보가 모두 정확한지 확인하세요. 포트는 서비스 제공자가 안내한 값을 기준으로 해야 하며, 설치 안내를 이유로 특정 숫자로 일괄 변경하면 안 됩니다.
- 설정별 역할 구분: 현재 화면에 Home, Config, Settings 등의 메뉴가 있다면 실제 기기에 표시되는 내용을 기준으로 확인하세요. Global Routing의 Direct는 직접 연결을 뜻합니다. 이 상태에서의 접속 결과를 프록시 연결 테스트 결과로 간주하지 마세요.
- 규칙 적용 범위 확인: Config 상태에서는 설정된 규칙에 따라 결과가 달라질 수 있습니다. 구독 업데이트와 앱 업데이트는 서로 다른 작업입니다. 전자는 사용자의 연결 정보를 갱신하고, 후자는 클라이언트 프로그램을 교체합니다.
권한 요청이 표시되면 현재 실행 작업에서 나온 안내인지 확인하고, 구체적으로 어떤 권한을 요청하는지 읽어보세요. 설치 명령에 관리자 권한을 사용한다고 해서 이후 앱도 계속 관리자 권한으로 실행해야 하는 것은 아닙니다. 권한 안내는 데스크톱 환경, 네트워크 처리 방식, 배포판에 따라 다를 수 있으므로 iPhone / iPad의 VPN 설정 안내를 Linux 설치 성공 여부의 판단 기준으로 삼지 마세요.
업데이트 및 제거: 실제 패키지명 사용과 설정 보존
deb와 rpm은 해당 형식의 새 패키지를 다운로드한 뒤 같은 패키지 관리자로 설치해 업데이트할 수 있습니다. 파일명 변경만으로 업데이트 여부를 판단하지 말고, 로컬 패키지 설치가 업데이트 저장소를 자동으로 추가한다고 가정하지 마세요. AppImage를 업데이트하려면 먼저 프로그램을 종료하고 새 파일로 기존 실행 파일을 교체한 뒤 실행 권한을 다시 확인하세요.
- deb 제거: 원래 설치 파일에서 Package 필드를 확인한 뒤 실제 이름을 APT에 전달하세요. 제거 전에 작업 요약을 확인하고, 설치 파일의 전체 이름을 패키지명으로 사용하지 마세요.
- rpm 제거: 원래 파일에서 NAME 필드를 확인한 뒤 DNF로 해당 패키지를 제거하세요. 의존성 처리 결과도 확인해야 합니다.
- AppImage 삭제: 앱을 종료한 뒤 해당 파일을 삭제하세요. 데스크톱 바로가기를 직접 만들었다면 해당 항목도 제거해야 합니다.
- 설정 보존: 프로그램을 제거해도 사용자 디렉터리의 설정이 반드시 삭제되는 것은 아닙니다. 설정을 옮겨야 한다면 앱에서 실제로 제공하는 내보내기 기능으로 먼저 저장하세요. 설정 디렉터리를 추측하거나 알 수 없는 디렉터리에 재귀 삭제를 실행하지 마세요.
아래 명령은 로컬 설치 파일에서 실제 패키지명을 확인해 제거하는 방법만 보여줍니다. 현재 설치 형식에 맞는 명령 한 묶음만 실행하세요. 실제로 존재하는 파일의 절대 경로를 입력해야 합니다. 설치 파일을 이미 삭제했다면 이름을 추측하지 말고 시스템 패키지 관리자의 설치 목록에서 확인하세요.
# APT 시스템: deb 메타데이터에서 이름 확인
read -r -p "원본 deb 파일의 절대 경로를 입력하세요: " pkg
name=$(dpkg-deb -f "$pkg" Package) && sudo apt remove "$name"
# DNF 시스템: rpm 메타데이터에서 이름 확인
read -r -p "원본 rpm 파일의 절대 경로를 입력하세요: " pkg
name=$(rpm -qp --queryformat '%{NAME}' "$pkg") && sudo dnf remove "$name"