源码安装的Apache需通过定位安装前缀、追溯服务与路径残留、验证命令和服务状态三步彻底卸载:先查--prefix路径或which httpd推导根目录,再清理/etc/init.d或systemd服务文件、PATH中的软链、日志与库配置,最后用httpd -v、systemctl status及find命令验证无残留。

源码安装的 Apache 没有内置卸载命令,清理关键在于“定位+追溯+验证”,不能只靠猜路径或暴力删目录。
确认安装前缀和实际部署位置
绝大多数源码安装会指定 --prefix(如 ./configure --prefix=/usr/local/apache2),这个路径就是根目录。进入该目录检查结构:bin/、conf/、modules/、logs/、htdocs/ 等子目录基本可判定为 Apache 所属。若记不清前缀,可查安装时的 configure 日志,或运行 which httpd 后向上推两级路径。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
优先用 DESTDIR 或 checkinstall 补救(适合未来)
如果当时安装时用了 make install DESTDIR=/tmp/apache-installed,那所有文件路径都记录在 /tmp/apache-installed 下,直接按该树状结构反向删除即可。更推荐的是下次安装前先装 checkinstall:
sudo apt install checkinstall # Ubuntu/Debian<br> ./configure --prefix=/usr/local/apache2<br> make<br> sudo checkinstall --pkgname=apache2-src --provides=apache2
这样会生成 .deb 包并注册进 apt,后续可用
sudo apt purge apache2-src 干净卸载。
手动清理必须覆盖的残留点
仅删 /usr/local/apache2 不够,还需检查以下位置:
-
/etc/init.d/apache2 或 /etc/systemd/system/apache2.service:服务脚本,不删会导致
systemctl list-unit-files仍显示 - /usr/local/bin/apachectl、/usr/local/sbin/httpd:可能被软链或单独复制到 PATH 目录
- /var/log/apache2 和 /var/run/apache2:日志与 pid 目录,常被忽略
-
/etc/ld.so.conf.d/apache2.conf:若编译过模块并更新过动态库路径,需一并删除并执行
sudo ldconfig
验证是否清干净
执行三步检查:
- 运行
httpd -v或apache2 -v,应提示“command not found” - 执行
sudo systemctl status apache2或sudo systemctl status httpd,应显示 “not found” 或 “no such file” - 搜索残留痕迹:
sudo find /usr /etc /var -name "*apache*" 2>/dev/null | grep -E "(apache|httpd)",结果应为空或仅剩无关匹配(如注释行)

















