Shadowrocket Linux 설치 방법: deb·rpm·AppImage 선택과 apt·dnf 명령, 실행 권한 설정

Debian·Ubuntu는 deb 패키지를 apt로, Fedora 계열은 rpm 패키지를 dnf로 설치하세요. 그 밖의 배포판에서는 AppImage에 실행 권한을 부여한 뒤 실행하면 됩니다.

이 글의 핵심 내용

Linux 데스크톱에 Shadowrocket을 설치하려는 사용자를 위한 안내입니다. 먼저 배포판과 CPU 아키텍처를 확인한 뒤 사이트의 다운로드 페이지에서 deb, rpm, AppImage 중 알맞은 파일을 선택하세요. 이어서 로컬 설치, 실행 권한 설정, 첫 실행을 확인합니다. 명령어에는 실제로 다운로드한 파일 경로를 입력하므로 패키지 이름을 추측할 필요가 없습니다. 연결 테스트는 이미 이용 중인 서비스 제공업체와 구독이 있다는 전제에서 진행합니다. 설치를 마쳐도 사용할 수 있는 연결 경로가 자동으로 제공되지는 않습니다.

1. 배포판·아키텍처·다운로드 방법 확인

deb, rpm, AppImage는 소프트웨어 배포 형식이며 프록시 프로토콜이 아니고 연결 설정을 대신하지도 않습니다. Debian, Ubuntu 및 같은 패키지 관리 체계를 사용하는 배포판에서는 일반적으로 deb를 선택하고, Fedora처럼 dnf를 사용하는 시스템에서는 rpm을 선택합니다. 그 밖의 데스크톱 배포판은 실행 환경이 요구 사항을 충족하는 경우 AppImage를 사용할 수 있습니다. 단일 파일로 실행된다고 해서 모든 Linux 시스템과 호환되는 것은 아닙니다.

cat /etc/os-release
uname -m
getconf LONG_BIT

첫 번째 명령은 배포판 정보를 표시하므로 ID와 ID_LIKE를 확인하세요. 두 번째 명령은 커널이 인식한 시스템 아키텍처를 표시하고, 세 번째 명령은 현재 사용자 공간의 비트 수를 확인하는 데 도움이 됩니다. 일반적인 x86_64와 aarch64는 서로 다른 아키텍처입니다. 패키지 형식을 올바르게 골라도 다운로드 페이지에 표시된 아키텍처를 다시 확인해야 합니다. 호환되는 파일이 없다면 파일 이름을 바꾸거나 강제 설치로 검사를 우회하지 마세요.

시스템 패키지로 설치

deb
Debian / Ubuntu: apt 사용
rpm
Fedora 계열: dnf 사용
설치 권한
패키지 관리 작업에는 보통 sudo가 필요합니다
이후 관리
시스템 패키지 데이터베이스에 설치 정보가 기록됩니다

패키지 형식과 CPU 아키텍처를 각각 확인하세요. 파일 확장자만으로 판단하면 안 됩니다.

단일 파일 실행

형식
AppImage
파일 권한
현재 사용자의 실행 권한 필요
실행 환경
아키텍처, 시스템 라이브러리, FUSE 조건의 영향을 받습니다
저장 위치
개인 디렉터리 안의 고정된 위치를 권장합니다

AppImage는 apt나 dnf로 설치하지 않으며, 애플리케이션 메뉴 항목이 자동으로 만들어진다고 보장할 수 없습니다.

먼저 전체 플랫폼 다운로드 페이지에서 Linux 섹션을 선택하세요. 설치 파일은 이 사이트에서 제공합니다. 다운로드 방식은 두 가지입니다. iPhone / iPad용은 App Store에서 $2.99 일회성 결제이며, 시스템 요구 사항은 App Store 페이지에 표시된 내용을 따릅니다. Mac(Apple 칩 및 Intel), Windows, Android, Linux 버전은 무료입니다. iPhone / iPad용 제품의 개발자는 Shadow Launch Technology Limited이며 앱 ID는 932747118입니다.

2. Debian / Ubuntu: 로컬 deb 패키지를 apt로 설치

로컬 파일 설치에는 apt를 사용하는 것이 좋습니다. apt는 패키지를 처리할 때 의존성을 함께 확인하고, 시스템에 설정된 저장소에서 필요한 의존성을 가져오려고 합니다. 먼저 파일을 다운로드한 다음 Bash 터미널을 열고 아래 단계를 진행하세요. 경로 입력 안내가 나타나면 실제 파일의 전체 경로를 붙여 넣으세요. 입력값을 따옴표로 감쌀 필요는 없습니다. 명령어에서 변수를 인용 처리하므로 경로에 공백이 있어도 됩니다.

  1. deb 파일 다운로드

    사이트의 다운로드 페이지에서 Linux 섹션을 열고 아키텍처를 확인한 뒤 deb 파일을 저장하세요. 브라우저에 다운로드 완료로 표시될 때까지 기다리고, 아직 다운로드 중인 임시 파일은 선택하지 마세요.

  2. 파일 위치 확인

    파일 관리자에서 다운로드한 파일을 찾아 속성에서 전체 경로를 확인하세요. 터미널에 경로를 입력할 때 Tab 키로 자동 완성할 수도 있습니다. 파일 이름을 직접 옮겨 적다가 실수하는 일을 줄일 수 있습니다.

  3. 설치 실행

    아래 명령을 실행하고 실제 경로를 입력한 다음 apt가 표시하는 설치 계획을 확인하세요. 관련 없는 소프트웨어를 대량으로 삭제하려 하거나 아키텍처가 맞지 않는다는 안내가 나오면 취소하고 원인을 확인하세요.

  4. 실행 확인

    설치가 끝나면 데스크톱 애플리케이션 메뉴에서 Shadowrocket을 찾아 일반 사용자로 실행하세요. 기본 창이 열리는지 확인한 뒤 기존 구성을 가져오면 됩니다.

read -r -p "다운로드한 deb 파일의 전체 경로를 입력하세요: " pkg
if [ -f "$pkg" ]; then
  pkg="$(realpath -- "$pkg")"
  dpkg-deb -f "$pkg" Package Architecture
  sudo apt update && sudo apt install "$pkg"
else
  printf '%s\n' "파일이 없습니다. 경로를 확인하세요."
fi

realpath는 경로를 절대 경로로 바꿔 apt가 로컬 파일을 확실하게 처리하도록 합니다. 경로 접두사가 없는 파일 이름만 입력하면 apt가 이를 패키지 이름으로 검색할 수 있습니다. 설치 중 필요한 네트워크 연결은 보통 의존성을 가져오는 데 사용되며, 로컬 deb 파일이 완전히 다운로드되지 않았다는 뜻은 아닙니다. apt update에서 저장소 오류가 발생했다면 저장소 설정이나 네트워크를 먼저 수정한 후 설치를 다시 시도하세요.

3. Fedora 계열: 로컬 rpm 패키지를 dnf로 설치

rpm 파일도 배포판의 의존성 해결 도구를 사용해 처리해야 합니다. 아래에서는 저수준 설치 작업만 수행하지 않고 dnf로 로컬 rpm을 설치합니다. 시스템에서 활성화된 저장소에 필요한 의존성이 있으면 찾을 수 있지만, 배포판 간의 모든 차이를 자동으로 해결하지는 못합니다. 시스템이 rpm을 인식한다고 해서 어떤 rpm이든 설치할 수 있는 것은 아닙니다.

read -r -p "다운로드한 rpm 파일의 전체 경로를 입력하세요: " pkg
if [ -f "$pkg" ]; then
  pkg="$(realpath -- "$pkg")"
  rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$pkg"
  sudo dnf install "$pkg"
else
  printf '%s\n' "파일이 없습니다. 경로를 확인하세요."
fi

dnf에서 작업 완료 메시지가 표시되면 데스크톱에서 Shadowrocket을 실행하세요. 애플리케이션 메뉴가 바로 갱신되지 않으면 데스크톱 세션에서 로그아웃한 뒤 다시 로그인해 보세요. 설치 자체가 실패했다면 메뉴를 새로 고쳐도 누락된 파일이 생기지 않으므로 터미널로 돌아가 설치 오류를 해결해야 합니다.

4. AppImage: 실행 권한을 설정하고 바로 실행

AppImage는 보통 단일 파일로 저장됩니다. 먼저 개인 디렉터리의 Applications 폴더처럼 계속 사용할 위치에 파일을 옮긴 뒤 실행 권한을 설정하세요. 이렇게 하면 나중에 파일을 이동해도 생성한 데스크톱 바로가기가 무효화될 가능성이 줄어듭니다. 파일 이름과 확장자는 다운로드 당시 그대로 두면 되며, 직접 변경할 필요가 없습니다.

read -r -p "다운로드한 AppImage 파일의 전체 경로를 입력하세요: " app
if [ -f "$app" ]; then
  app="$(realpath -- "$app")"
  chmod u+x -- "$app" && "$app"
else
  printf '%s\n' "파일이 없습니다. 경로를 확인하세요."
fi

chmod u+x는 파일 소유자에게만 실행 권한을 추가합니다. 모든 사용자에게 쓰기 권한을 부여할 필요는 없습니다. 파일 소유자가 다르다면 데스크톱 애플리케이션 전체를 sudo로 실행하기보다 다운로드 및 저장 위치가 올바른지 먼저 확인하세요. 파일 관리자에서 속성을 열어 실행 권한을 활성화할 수도 있지만, 메뉴 이름은 데스크톱 환경마다 다릅니다.

AppImage 실행 실패: 오류 유형별 해결 방법

권한 및 저장 위치
  • Permission denied: ls -l 출력에서 실행 권한을 확인하세요.
  • 실행 권한이 있는데도 거부됨: 파일이 있는 파일 시스템이 noexec 옵션으로 마운트되었는지 확인하세요.
  • 실행할 수 있는 개인 로컬 디렉터리로 먼저 옮긴 다음 권한을 설정하고 다시 시도하세요.
아키텍처 및 실행 의존성
  • Exec format error: 설치 파일과 시스템의 아키텍처가 일치하는지 먼저 확인하세요.
  • FUSE 또는 libfuse.so.2가 없다는 안내가 표시되면 현재 배포판의 패키지 안내에 따라 필요한 호환 라이브러리를 설치하세요.
  • 시스템 라이브러리 심볼이 없다는 안내가 표시되면 실행 요구 사항을 확인하세요. 억지로 실행하기 위해 시스템 핵심 라이브러리를 교체하지 마세요.

터미널에서 직접 실행해 오류 메시지를 확인한 뒤 해당 조건을 해결하세요. 반복해서 두 번 클릭하거나 권한을 확대해 원인을 추측하지 마세요.

FUSE 관련 패키지 이름은 배포판과 시스템 버전에 따라 달라지므로, 모든 시스템에 같은 설치 명령을 적용하는 것은 적절하지 않습니다. 컨테이너, 제한된 데스크톱 세션, 일부 마운트 환경에서는 필요한 작업이 허용되지 않을 수도 있습니다. AppImage로 데스크톱 창이 열린다고 해서 이후 네트워크 작업에 필요한 권한까지 모두 부여된 것은 아닙니다.

5. 첫 실행: 설치 확인과 연결 확인을 구분

먼저 일반 사용자로 Shadowrocket을 열 수 있고 기본 설정이 유지되는지 확인한 다음 연결을 테스트하세요. 설치 파일은 프로그램 실행 문제를 해결하고, 기존 구독과 구성은 연결 대상 및 라우팅 문제를 다룹니다. 이 안내는 이미 이용 중인 서비스 제공업체와 구독이 있다는 전제에서 작성되었습니다. 이 사이트는 노드나 구독을 제공·판매·추천하지 않으며, 클라이언트 구매 비용에는 연결 서비스 요금이 포함되지 않습니다.

  1. Home에서 기존 연결 항목을 확인하세요. 추가하려면 오른쪽 위의 +를 누르고 Type에서 Subscribe를 선택한 다음, 이미 보유한 구독 링크를 입력해 저장하고 구독을 업데이트하세요.
  2. 업데이트 후 연결 항목이 표시되는지 확인하세요. 링크를 가져오지 못하는 문제, 인증 만료, 프로그램 실행 실패는 서로 다른 문제이므로 재설치를 반복해 해결하려 하지 마세요.
  3. Config에서 현재 구성과 규칙을 확인한 다음, Global Routing에서 테스트 목적에 맞는 모드를 선택하세요.
  4. 처음 연결할 때는 시스템 권한 안내를 확인하세요. 권한이 필요하다는 명확한 안내가 있을 때만 그에 따라 진행하고, 일상적인 실행 방법으로 항상 root를 사용하지 마세요.

아래 비교는 라우팅 모드의 용도를 설명합니다. Config를 선택해도 모든 연결이 직접 연결되거나 프록시를 사용하는 것은 아닙니다. 실제 결과는 규칙 순서와 각 규칙의 정책에 따라 달라집니다. Proxy를 선택해도 잘못된 주소, 포트, 비밀번호 또는 전송 매개변수는 수정되지 않습니다.

Global Routing → Config

권장

현재 구성의 규칙에 따라 연결 정책을 결정합니다. 사용 전에 규칙이 의도한 대로 설정되어 있는지, 특히 마지막의 FINAL이 앞선 규칙에 일치하지 않은 연결을 어떻게 처리하는지 확인하세요.

적합한 경우: 명확한 라우팅 구성을 이미 갖추고 일상적으로 사용하거나 규칙을 확인할 때

Global Routing → Proxy

프록시 모드에서 현재 연결이 가능한지 테스트하면 연결 매개변수 문제와 규칙 선택 문제를 구분하는 데 도움이 됩니다. 실제 적용 범위는 시스템의 네트워크 처리 방식에 따라 달라집니다.

적합한 경우: 기존 연결이 수립되는지 잠시 확인할 때. 모든 앱이 네트워크를 경유하는지 확인하는 용도는 아닙니다.

Global Routing → Direct

직접 연결 모드로 기본 네트워크 상태를 비교하세요. 직접 연결로 특정 사이트에 접속할 수 있어도 해당 경로에 접근 가능하다는 뜻일 뿐, 기존 프록시 연결이 정상이라는 증거는 아닙니다.

적합한 경우: 로컬 네트워크, DNS, 사이트 자체에 접근 가능한지 비교할 때

문제 해결 단계에서는 자동 연결 조건을 추가로 적용하지 마세요. Settings → On Demand가 이미 활성화되어 있다면 트리거 조건을 먼저 확인하세요. 수동으로 연결을 끊은 뒤에도 조건에 따라 다시 연결될 수 있습니다. Scene과 자동화 설정은 기본적인 수동 연결 테스트를 대신할 수 없습니다. 다른 플랫폼의 시스템 VPN 설정 경로를 Linux 데스크톱에 그대로 적용하지 마세요.

6. 업데이트·제거·오류 기록

업데이트 전에 현재 사용 중인 구성을 저장하고 기존 구독의 관리 정보가 여전히 유효한지 확인하세요. deb와 rpm은 다운로드 페이지에서 새 파일을 받은 뒤 기존과 같은 패키지 관리 도구로 설치할 수 있으며, 패키지 관리자가 작업을 처리합니다. 로컬 패키지를 설치한다고 해서 업데이트 저장소가 자동으로 추가되는 것은 아닙니다. AppImage는 실행 중인 프로그램을 먼저 종료한 다음 파일을 교체하고 실행 권한과 데스크톱 바로가기 경로를 다시 확인하세요.

형식업데이트 방법제거 시 유의 사항
deb새로 다운로드한 호환 파일을 apt로 설치하고 작업 결과를 확인하세요.패키지 관리자를 사용해 실제 패키지 이름으로 제거하세요. 패키지 이름은 dpkg-deb로 조회할 수 있습니다.
rpm새로 다운로드한 호환 파일을 dnf로 처리하세요. 아키텍처를 무시하고 강제로 덮어쓰지 마세요.dnf에서 실제 패키지 이름으로 제거하세요. 이름은 rpm으로 조회할 수 있습니다.
AppImage프로그램을 종료한 뒤 파일을 교체하고 실행 바로가기가 올바른 위치를 가리키는지 확인하세요.해당 파일과 직접 만든 바로가기를 삭제하세요. 개인 설정은 보존할지 별도로 확인해야 합니다.

프로그램을 삭제해도 개인 설정까지 지워지는 것은 아닙니다. 실행 오류가 발생해도 사용자 디렉터리 전체를 먼저 삭제하거나 정체를 모르는 경로를 정리하지 마세요. 설정을 보존하고 오류를 기록하세요. 기술 지원에 문의할 때는 배포판, 아키텍처, 패키지 형식, 설치 명령, 터미널 오류를 전달하면 됩니다. 구독 토큰, 비밀번호, 개인 키는 기록에서 삭제하세요.

위와 같이 문제를 구분하면 패키지 형식, 아키텍처, 의존성, 실행 조건, 연결 구성 중 어느 단계에서 문제가 생겼는지 파악하기 쉬워집니다. 설치 파일 세 종류를 반복해서 바꾸기보다 해당 단계의 문제를 해결하는 편이 효과적이며, 설치에 문제가 없는데 저장된 구성을 잘못 삭제하는 일도 막을 수 있습니다.

Shadowrocket 다운로드