在 Debian 上,lsnrctl 是 Oracle Database(通常带 Oracle Listener) 的组件,并不是通过 apt 直接安装的标准 Debian 包,因此不能用 apt remove lsnrctl 来卸载。
下面按不同场景说明如何正确“卸载 / 清理 lsnrctl”。
先确认它是 Oracle 的:
which lsnrctl
通常位于:
$ORACLE_HOME/bin/lsnrctl
如果 Oracle 还在:
cd $ORACLE_HOME/oui/bin
./runInstaller
这是最安全、最干净的方式。
如果 OUI 已损坏:
lsnrctl stop
rm -rf $ORACLE_BASE
rm -rf $ORACLE_HOME
~/.bashrc
/etc/profile
删除:
ORACLE_HOME
ORACLE_BASE
PATH 中的 oracle bin
userdel -r oracle
groupdel oinstall
groupdel dba
rm -f /etc/oratab
rm -f /etc/oraInst.loc
如果你只是想让 lsnrctl 命令不可用:
rm -f $ORACLE_HOME/bin/lsnrctl
⚠️ 这会影响 Oracle 正常运行,不建议生产环境使用。
which lsnrctl
echo $ORACLE_HOME
lsnrctl status
若都无输出或报错,即已清理。
| 方式 | 说明 |
|---|---|
apt remove |
❌ 不适用 |
| Oracle OUI | ✅ 官方推荐 |
| 手动删除 | ✅ 无 OUI 时 |
| 只删 lsnrctl | ⚠️ 不推荐 |
如果你是 Oracle Client / Database / 只装了 Instant Client,可以告诉我具体版本,我可以给你更精确的卸载步骤。