Linuxのインストールとパッケージ形式

Linuxディストリビューションに応じたdeb・rpm・AppImageの選び方と、apt・dnfでのインストール方法、AppImageに実行権限を付与して起動する手順を解説します。

この記事の概要

LinuxデスクトップにShadowrocketをインストールする方向けに、ディストリビューションとCPUアーキテクチャの確認から、当サイトのダウンロードページでdeb・rpm・AppImageを選ぶ方法、インストール・起動・初回接続の確認までを解説します。コマンドでは、ここで説明するローカルのファイル名を使用します。ダウンロードファイルの元の名前ではありません。インストールの成否とネットワーク接続の成否は分けて確認し、依存関係や実行権限、設定の問題を切り分けましょう。

1. ディストリビューションとアーキテクチャを確認する

ShadowrocketのLinux用パッケージは、デスクトップの見た目ではなく、使用中のシステムに合わせて選びます。GNOMEやKDEなどのデスクトップ環境によってdebとrpmのどちらを使うかが決まるわけではありません。UbuntuとFedoraは似たデスクトップ環境でも、パッケージ管理の方式が異なります。ターミナルで次の2つの読み取り専用コマンドを実行し、ディストリビューションとマシンのアーキテクチャを確認してください。

cat /etc/os-release
uname -m

1つ目の出力ではIDとID_LIKEを確認し、ディストリビューションのパッケージ管理に関する説明も参照してください。2つ目の出力は、x86_64またはaarch64が一般的です。前者は通常、ダウンロードページのx64に、後者はARM64に対応します。パッケージ形式とアーキテクチャは別々の条件です。拡張子が同じでも、CPUに対応しているとは限りません。ダウンロードページに該当するアーキテクチャがない場合、別のアーキテクチャ向けパッケージを無理にインストールしないでください。

システム環境形式インストール方法
Debian、Ubuntuおよびaptを使用する派生ディストリビューションdebaptでローカルファイルをインストールし、依存関係を解決する
Fedoraおよびdnfを使用するRPM系システムrpmdnfでローカルファイルをインストールし、処理内容を確認する
ダウンロードページに互換ビルドが掲載されているLinuxデスクトップAppImage実行権限を付与して起動する。システムの動作要件も満たす必要がある

2. インストールパッケージを取得し、ローカルファイルを準備する

アプリのダウンロードページを開き、Linuxのセクションからインストールパッケージを取得します。形式とアーキテクチャを確認してから保存してください。この記事では第三者のダウンロード先を使わず、ターミナルからリモートのインストールスクリプトを取得することもありません。ブラウザーでのダウンロードが完了していない、ファイルサイズが0、または一時的な拡張子が付いている場合は、ダウンロードの完了を待ってください。

  1. ホームディレクトリにshadowrocket-installフォルダーを作成します。
  2. 今回選んだインストールパッケージを1つだけそのフォルダーに入れ、別のアプリや古いパッケージが混ざらないようにしてください。
  3. 以下のコマンドをコピーしやすくするため、debファイルをshadowrocket-local.debに、rpmファイルをshadowrocket-local.rpmにそれぞれ名前を変更します。AppImageの保存方法は第5節を参照してください。
  4. 変更するのはファイル名だけです。拡張子を変えて別の形式にしないでください。ファイル名を変更しても、ファイル内部のアーキテクチャや依存関係の要件は変わりません。
mkdir -p "$HOME/shadowrocket-install"
cd "$HOME/shadowrocket-install"
ls -lh

上記のファイル名は、ユーザーが自分のPC上で設定する操作用の名前であり、当サイトのインストールパッケージの元のファイル名ではありません。ダウンロード時の名前をそのまま使う場合は、以降のコマンドでファイルパス全体を実際の名前に置き換えてください。パスに空白が含まれる場合は、半角の二重引用符で囲みます。debとrpmの手順を両方実行しないでください。

3. deb:aptでローカルファイルをインストールする

DebianやUbuntuなどaptを使うシステムでは、先ほど作成したフォルダーに移動してから、ローカルのdebファイルをインストールします。コマンドの./は重要です。引数がソフトウェアリポジトリのパッケージ名ではなく、現在のフォルダー内にあるファイルであることを示します。インストールには管理者権限が必要です。依存パッケージは通常、システムに設定済みのリポジトリから取得するため、追加の依存関係をダウンロードする場合はネットワーク接続が必要です。

cd "$HOME/shadowrocket-install"
sudo apt install ./shadowrocket-local.deb
  1. aptが表示する追加・アップグレード・削除対象を確認してください。今回の操作と明らかに関係のない項目が大量に削除される場合は、いったんキャンセルし、そのまま確定しないでください。
  2. 処理内容を確認してから実行し、完了まで待ちます。ターミナルの入力待ちに戻り、インストールエラーが表示されていなければ、アプリ一覧からShadowrocketを探してください。
  3. ファイルが見つからないと表示された場合は、pwdとls -lhを実行し、フォルダーとファイル名を確認してください。すぐにインストールコマンドを変更しないでください。
  4. アーキテクチャが一致しない場合は、ダウンロードページで対象のアーキテクチャを確認してください。依存関係を満たせない場合は、システムの対応範囲、リポジトリの設定、依存パッケージ名を確認します。

sudo apt updateはリポジトリのインデックスを更新するコマンドで、システム全体をアップグレードするものでも、Shadowrocketを直接インストールするものでもありません。エラーの原因がインデックスの古さだと明確な場合は、このコマンドを実行してからローカルファイルのインストールを再試行できます。システムのバージョンが必要な依存関係を提供できない場合、インデックスを繰り返し更新しても実行環境の非互換性は解決しません。

4. rpm:dnfで処理内容を確認してインストールする

Fedoraなどdnfを使うシステムでは、ローカルインストールの手順はaptの場合と似ていますが、指定するのはrpmファイルです。dnfはパッケージのメタデータをもとに、アーキテクチャと依存関係を確認し、実行される処理を表示します。インストール前に起動中のShadowrocketを終了し、プログラムファイルの更新中に古いプロセスが旧ファイルを使用しないようにしてください。

cd "$HOME/shadowrocket-install"
sudo dnf install ./shadowrocket-local.rpm

インストールが完了したら、アプリ一覧から起動します。起動アイコンがすぐに表示されない場合は、アプリ一覧を更新するか、デスクトップに再ログインしてください。「アイコンが見当たらない」だけでインストール失敗と判断しないでください。ターミナルに処理失敗が明示されている場合は、デスクトップのアイコンを繰り返しクリックするのではなく、まずインストールエラーを解消します。

5. AppImage:実行権限を付与してターミナルから起動する

AppImageは通常、単一のファイルとして保存して実行します。debやrpmのように、同じ形式のインストール処理がシステムに登録されるわけではありません。あらゆるLinux環境で動作するとは限らず、CPUアーキテクチャ、基本ランタイムライブラリ、グラフィカルセッション、一部のビルドで使われるFUSEの仕組みが起動に影響する場合があります。まずダウンロードページの説明を確認し、この形式を選ぶか判断してください。

ホームディレクトリにApplicationsフォルダーを作成し、ダウンロードが完了したAppImageを移動して、ファイルマネージャーでShadowrocket.AppImageに名前を変更します。その後、次のコマンドを実行してください。chmod u+xはファイルの所有者に実行権限を追加するだけです。アプリに全ユーザーの書き込み権限を与える必要はありません。

mkdir -p "$HOME/Applications"
cd "$HOME/Applications"
chmod u+x ./Shadowrocket.AppImage
./Shadowrocket.AppImage

2つの起動方法

ファイルマネージャーからダブルクリック
  • ファイルのプロパティで実行が許可されていることを確認します。
  • ダブルクリックしてもファイルの内容が表示される、または反応がない場合は、ターミナルから起動してください。
  • 初回起動後にファイルを移動しないでください。自分で作成したショートカットが機能しなくなる場合があります。
ターミナルから直接実行
  • ファイルのあるフォルダーに移動し、./を付けて起動します。
  • FUSE、共有ライブラリ、ディスプレイサービスに関するエラーを記録してください。
  • テストを終了し、アプリが安定して起動することを確認してから、デスクトップのショートカットを作成します。

まずターミナルでファイルを実行できるか確認してから、デスクトップのショートカットを設定してください。通常の権限確認の代わりに、グラフィカルアプリ全体をsudoで起動しないでください。

Permission deniedが表示された場合は、実行権限だけでなく、ファイルがあるパーティションがnoexecでマウントされていないかも確認してください。FUSE関連のエラーが表示された場合は、使用中のディストリビューションのドキュメントで必要なランタイムコンポーネントを確認します。どのディストリビューションでもコンポーネント名が同じとは限りません。AppImageがアプリメニューに自動表示されなくても、ファイルが破損しているとは限りません。

6. 初回起動:インストールと接続を分けて確認する

メインウィンドウが開いたことから確認できるのは、アプリの起動までです。続いて、ユーザーがすでに所有しているサーバーまたはサブスクリプションを設定する必要があります。当サイトではノードやサブスクリプションの提供・販売・推奨は行っていません。初回確認では、まず現在のネットワークが使える状態を保ち、Homeで読み込んだ内容を確認します。アドレス、ポート、認証情報に漏れがないことを確認してから接続してください。テストを通すために、適当なポート番号を入力しないでください。

  1. Homeでユーザー自身が用意した設定を読み込みます。サブスクリプションは更新可能な設定ソースの集合であり、インストールパッケージには含まれません。
  2. 選択中の項目が使用予定のサーバーであることを確認し、期限切れの項目を誤って選んでいないか確認してください。
  3. Global Routingの現在のモードを確認してから、対象を明確にしたアクセス確認を一度行います。モードを切り替える前に元の設定を控え、テスト後に戻してください。
  4. ウィンドウは正常に開くのに接続できない場合は、認証、接続タイムアウト、ドメイン名の名前解決、ルールの適用状況を個別に確認してください。この段階では設定を先に調べ、すぐにアンインストールして再インストールしないでください。

Config

おすすめ

現在の設定ルールに基づいて、対象となる通信の処理方法を決定します。ルールによってPROXY、DIRECT、REJECTなどが指定されます。先行するルールに一致しない通信は、FINALなど後続のルールで処理され、すべてがデフォルトで直接接続になるわけではありません。

適しているケース:設定内容を確認済みで、普段使うルールによる振り分けを確認したい場合

Proxy

対象となる通信をグローバルプロキシとして処理し、Configの結果と一時的に比較できます。サーバーの認証失敗は解決できず、対象外のすべてのシステム通信が自動的にプロキシを経由するわけでもありません。

適しているケース:サーバーへの接続が正常で、ルールがアクセスに影響しているか確認したい場合

Direct

対象となる通信を直接接続し、基本的なネットワーク状態を確認します。現在のネットワークで宛先に接続できない場合、Directに切り替えてもその状況は変わりません。

適しているケース:基本的なネットワーク接続とプロキシ接続の結果を比較したい場合

まとめ:現象を再現できる状態で記録してから、再インストールを検討する

メインウィンドウは開くものの、Configを使用した場合だけアクセスに問題があるなら、まずConfigで適用されているルールを確認してください。AppImageでウィンドウ自体が開かない場合は、ターミナルの起動エラーを確認します。問題を分けて調べれば、設定や実行環境の問題を再インストールで覆い隠さずに済みます。

7. 更新・アンインストール・よくあるエラー

更新前に、アプリのエクスポート機能で自分の設定をバックアップし、サブスクリプションの認証情報も安全に保管してください。deb・rpmのパッケージ管理への登録とAppImageファイルの置き換えは、管理方法が異なります。当サイトから新しいパッケージを入手しても、実行中のプロセスが自動的に切り替わるわけではありません。更新後は古いプロセスを終了してアプリを再起動し、設定が保持されているか確認してください。

aptでパッケージが見つからない場合、ダウンロードを間違えたのでしょうか?

コマンドの./shadowrocket-local.debに./が残っているか確認してください。pwdとls -lhを実行し、ファイルが現在のフォルダーにあるか確認します。ファイル名が異なる場合は実際のパスに書き換えてください。この記事で使うローカルの変更後ファイル名を、ダウンロード時の元の名前と混同しないでください。

Exec format errorが表示され、実行権限を付けても直らない場合は?

まずuname -mを実行し、ダウンロードしたパッケージのアーキテクチャを確認してください。このエラーは、実行ファイルとマシンのアーキテクチャが一致しない場合によく発生し、ファイルの内容に異常がある場合にも起こります。実行権限を付けてもARM64用プログラムがx64用に変わることはありません。対応するビルドを入手し直してください。

AppImageをダブルクリックしても反応がない場合、何度もクリックしてよいですか?

繰り返し起動しないでください。保存先のフォルダーに移動し、./Shadowrocket.AppImageを実行して、最初に表示されたエラーを記録します。共有ライブラリやFUSEの不足が表示された場合は、使用中のディストリビューションに応じて実行時の依存関係を確認してください。権限エラーの場合は、実行権限とマウントオプションを確認します。

インストール後もWebページを開けない場合、パッケージ形式を変えるべきですか?

まずShadowrocketが正常に起動することを確認し、次にHomeで選択中のサーバー、Global Routing、Configのルールを確認してください。アプリ自身の通信と、システムで実際にプロキシ対象となる範囲も区別します。debからAppImageに変更しただけでは、サブスクリプションの項目、認証情報、ルールの内容は修正されません。

Shadowrocketの入手方法と使い方

iPhone / iPad版はApp Storeで2.99米ドルの買い切り、Mac / Windows / Android / Linux版は無料です。Mac版はAppleシリコンとIntelに対応しています。iPhone / iPadのシステム要件はApp Storeの掲載情報をご確認ください。ダウンロードページでお使いのデバイスに合った版を入手し、ガイドに沿って読み込みと接続の手順を確認してください。

Shadowrocket をダウンロード