在开始卸载 V2RayA 之前,建议先确认一个前提:本文主要适用于通过 APT 软件源安装 V2RayA 的 Debian/Ubuntu 系统。如果您的 V2RayA 是通过 Docker、OpenWrt、手动二进制文件,或者其他方式安装的,卸载方法可能会有所不同。
如果您的服务器使用的是 CentOS 系统,且需求不是卸载 V2RayA,而是搭建传统 Shadowsocks / SS 代理环境,可以参考 搬瓦工 CentOS 系统各版本搭建 Shadowsocks / SS 详细教程,不要直接套用本文的 Debian/Ubuntu 卸载流程。
目前在 Debian/Ubuntu 环境下,V2RayA 官方文档将“通过软件源安装”列为安装方法之一,并使用 APT 软件源进行管理。因此,如果您当初是按照 APT 软件源方式安装的 V2RayA,就不建议继续照搬旧教程中的 install.sh --remove,而应优先使用包管理器完成卸载和清理。
如果您还没有安装 V2RayA,或者想重新部署透明代理环境,可以先参考本站的 Linux 服务器安装 V2RayA 教程:配置 Just My Socks 订阅与透明代理,确认安装方式后再决定是否需要执行本文的卸载流程。
重要提示:关于 root 用户和 sudo
如果您的命令行提示符结尾是#,例如root@hostname:~#,通常说明您正在使用 root 用户,命令前无需添加sudo。如果提示符结尾是$,一般表示您是普通用户,需要在命令前加sudo,或者先切换到 root 用户。本文演示环境以 root 用户为例,因此命令中默认不添加
sudo。如果您不是 root 用户,请根据自己的实际情况添加sudo。
准备工作:登录服务器
在开始卸载 V2RayA 之前,请先通过 SSH 客户端,例如 Xshell,连接到您的 Linux 服务器,并确保当前用户具备执行系统管理命令的权限。
如果您使用的是搬瓦工 VPS,并且服务器暂时无法通过 SSH 正常连接,可以尝试使用搬瓦工后台提供的 Root shell / interactive 在线终端进行应急处理,具体方法可以参考 搬瓦工 Root shell 教程:如何使用 interactive 在线管理终端 (救急控制台)。
如果您使用的是其他服务商的 VPS,请查看对应服务商是否提供类似的 VNC、Serial Console、Rescue Mode 或 Web Console 功能。
如果您不确定自己是不是 root 用户,可以先执行下面的命令确认:
whoami
如果输出为 root,说明当前就是 root 用户;如果不是 root 用户,请切换到 root,或者在后续命令前添加 sudo。
一、检查 V2RayA 是否已安装
在正式卸载 V2RayA 之前,建议先确认系统中是否确实存在 V2RayA 服务。这样可以避免对一个不存在的服务执行无效操作,也方便我们判断后续清理是否成功。
请在终端中输入以下命令,查看 V2RayA 的服务状态:
systemctl status v2raya
温馨提示:执行此命令后,如果输出内容较多,终端可能会进入一个查看界面。此时如果无法继续输入新命令,不用担心,这是正常现象。按键盘上的 q 键即可退出该界面,回到命令行。
执行命令后,常见情况主要有两种。
1. V2RayA 已安装并正在运行
如果输出信息中包含 Active: active (running),说明 V2RayA 服务当前正在运行,也说明系统中确实安装了 V2RayA,接下来可以继续执行卸载步骤。

V2RayA 服务状态显示为 active (running),表示当前服务正在运行。
2. 系统中未找到 V2RayA 服务
如果输出内容为 Unit v2raya.service could not be found.,说明系统中没有找到 V2RayA 的 systemd 服务。出现这种情况,通常表示 V2RayA 没有安装,或者已经被卸载。
不过需要注意,如果您曾经通过非 APT 方式安装过 V2RayA,仅凭这条提示不一定能完全排除其他残留文件。本文主要针对 APT 安装场景。

系统提示 Unit v2raya.service could not be found,表示未找到 V2RayA 服务。
二、停止 V2RayA 服务并卸载软件包
在卸载软件之前,建议先停止 V2RayA 服务。这样可以减少卸载后进程仍然残留的概率。
如果您的系统中 V2RayA 正在运行,可以先执行:
systemctl stop v2raya
如果您还希望取消 V2RayA 开机自启,可以继续执行:
systemctl disable v2raya
如果系统提示服务不存在,也可以忽略,继续执行后面的卸载步骤。
接下来使用 apt purge 卸载 V2RayA 软件包:
apt purge v2raya
系统会请求您确认卸载,输入 Y 并按回车即可。

root 用户直接执行 apt purge 命令,卸载 V2RayA 软件包。
这里需要说明一下:apt purge v2raya 会卸载 V2RayA 软件包,并清理该软件包由包管理器记录的配置文件。但如果您还安装了 v2ray、xray 等内核组件,它们是否需要删除,需要根据您的实际使用情况决定。
如果这些组件仍被其他程序使用,请不要随意删除。只有在确认不再需要时,才考虑进一步清理。
如果您后续打算改用 Xray 内核重新搭建代理环境,也可以参考 Xray 一键脚本安装教程(支持 CentOS、Ubuntu、Debian、及最新版系统),但在操作前请先确认当前服务器上是否还有其他程序依赖原来的 xray 或 v2ray 组件。
三、清理 V2RayA 软件源和 GPG 密钥
卸载完 V2RayA 软件包后,还需要清理当初为了安装它而添加的 APT 软件源。否则以后执行 apt update 时,系统仍可能继续尝试读取这个源。
1. 删除 V2RayA 的软件源列表文件
请执行以下命令:
rm -f /etc/apt/sources.list.d/v2raya.list
这里使用 rm -f 的好处是:如果该文件不存在,命令不会报错,可以直接继续后续步骤。

删除 V2RayA 的 APT 源配置文件。命令成功执行后通常不会有任何输出。
2. 删除 V2RayA 软件源的 GPG 签名密钥
接下来清理 V2RayA 软件源使用的 GPG 签名密钥。这里需要注意,不同时间、不同教程添加 V2RayA 软件源时,密钥文件的保存路径可能并不完全一样。
部分旧环境可能使用 /etc/apt/trusted.gpg.d/v2raya.gpg,较新的 Debian/Ubuntu APT 安装方式则可能使用 /etc/apt/keyrings/v2raya.asc。为了兼容不同安装方式,建议直接执行下面两条命令:
rm -f /etc/apt/trusted.gpg.d/v2raya.gpg rm -f /etc/apt/keyrings/v2raya.asc
如果某个文件不存在,使用 rm -f 不会报错,这是正常现象,表示该路径下没有对应的 GPG 密钥文件,可以继续执行下一步。

系统提示该路径下的 GPG 密钥文件不存在,这是正常现象,表示此路径没有对应文件。
3. 刷新系统的软件包列表
删除软件源和 GPG 密钥后,最后执行一次更新,让系统重新生成本地软件包索引:
apt update
完成后,系统后续就不会再从已删除的 V2RayA APT 源拉取软件包信息。

清理软件源后执行 apt update,刷新系统软件包列表。
四、卸载后验证服务状态并处理残留进程
完成前面的卸载和清理后,我们还需要再次验证 V2RayA 是否已经从系统服务中移除。
请执行:
systemctl status v2raya
执行后,可能会遇到以下几种情况。
1. 服务已经不存在
如果您看到 Unit v2raya.service could not be found.,说明 systemd 已经找不到 V2RayA 服务文件。对于通过 APT 安装的 V2RayA 来说,这通常表示卸载已经完成。
2. 服务文件已删除,但状态仍未刷新
有些系统在软件包被卸载后,systemd 可能仍然保留旧的服务状态缓存。这种情况下,可以执行下面的命令,让 systemd 重新读取服务配置:
systemctl daemon-reload

执行 systemctl daemon-reload 后,systemd 会重新加载服务配置。命令成功时通常不会有输出。
执行完成后,再次检查:
systemctl status v2raya
3. 特殊情况:卸载后服务或进程仍然显示存在
在某些环境中,即使已经执行了 apt purge,您仍可能看到 V2RayA 相关服务或进程没有立即消失。这通常是因为进程仍在内存中运行,或者 systemd 还保留着旧状态。

特殊情况:apt purge 后,服务状态仍显示 V2RayA 相关进程存在,需要继续处理。
如果执行 systemctl daemon-reload 后再次查看状态,可能会看到服务定义已经不存在,例如显示 Loaded: not-found,但进程仍然存在。

服务文件已经不存在,但进程仍在内存中运行。截图中可以看到 Main PID。
这种情况下,建议先尝试普通方式结束进程。请将下面命令中的 PID 替换为您自己终端中看到的 Main PID。
kill 74761
执行后,再次检查进程是否还存在:
systemctl status v2raya
如果普通 kill 无法结束进程,再使用强制结束方式:
kill -9 74761
请注意:kill -9 属于强制结束进程,建议只作为最后兜底方案使用。正常情况下,应优先尝试 systemctl stop 或普通 kill。
下面截图演示的是普通方式无效后,使用 kill -9 强制结束残留进程的情况。

在普通方式无法结束进程时,可以根据实际 PID 使用 kill -9 强制结束残留进程。
4. 最终状态检查
残留进程处理完成后,再次执行:
systemctl status v2raya
如果此时看到服务已经 not-found,并且没有继续运行的 V2RayA 进程,说明 V2RayA 服务文件和运行进程都已经被清理。

最终检查结果:服务文件已不存在,残留进程已被结束。
如果您看到类似 failed 或 killed 的历史状态,也不用过度担心。这通常只是 systemd 保留的旧状态记录,并不代表 V2RayA 仍然在运行。
如果想清理 systemd 中保留的失败状态,可以执行:
systemctl reset-failed
该命令用于清理 systemd 中保留的失败状态记录。即使没有明显输出,也属于正常情况,可以继续执行下一步检查。
然后再执行一次:
systemctl status v2raya
如果继续显示找不到服务,说明清理已经完成。
五、可选检查:确认命令和进程是否已清理
如果您希望进一步确认 V2RayA 是否还有残留,可以执行下面两个检查命令。
1. 检查 v2raya 命令是否还存在
command -v v2raya
如果没有任何输出,通常表示系统 PATH 中已经找不到 v2raya 命令。
2. 检查是否还有 v2raya 进程
ps -ef | grep '[v]2raya'
如果没有输出,说明当前系统中没有正在运行的 V2RayA 进程。
卸载或调整代理服务后,如果您的 Telegram 电脑版出现加载失败、连接不上或一直转圈等情况,可以参考 Telegram 电脑版加载失败?全面排查与快速解决指南,进一步检查本地代理设置、网络环境和客户端配置。
六、V2RayA 卸载流程回顾
本文以一次真实服务器环境中的 V2RayA 卸载过程为例,演示了如何检查服务状态、通过 APT 卸载 V2RayA、清理软件源和 GPG 密钥,并处理卸载后可能出现的残留进程。
整个过程可以概括为以下几个步骤:
# 查看 V2RayA 服务状态 systemctl status v2raya # 停止并禁用 V2RayA 服务 systemctl stop v2raya systemctl disable v2raya # 卸载 V2RayA 软件包 apt purge v2raya # 清理 APT 软件源和 GPG 密钥 rm -f /etc/apt/sources.list.d/v2raya.list rm -f /etc/apt/trusted.gpg.d/v2raya.gpg rm -f /etc/apt/keyrings/v2raya.asc # 刷新软件包列表 apt update # 重新加载 systemd,并清理失败状态记录 systemctl daemon-reload systemctl reset-failed # 最终检查 systemctl status v2raya
需要注意的是,不同服务器的安装方式、系统版本和软件源配置可能不同,所以实际执行时看到的提示也可能不完全一样。只要理解每一步的目的,就能根据自己的服务器情况灵活处理。
最后再强调一次:服务器管理中,执行命令只是第一步,执行后的验证同样重要。卸载 V2RayA 后,建议通过 systemctl status、command -v 和 ps 等命令确认服务文件、命令和进程都已经清理干净,避免留下不必要的残留。

搬瓦工教程