Linux下make安装的软件怎样安全卸载?

方法1:使用 make uninstall(推荐优先尝试)

如果软件的 Makefile 提供了卸载目标:

cd /path/to/source-code  # 进入源码目录
sudo make uninstall      # 执行卸载

原理
开发者若在 Makefile 中定义了 uninstall 规则,该命令会反向删除安装的文件。
注意事项

  • 必须使用原始编译时的源码目录(文件列表记录在 Makefile 中)。
  • 并非所有软件都支持此功能(可检查源码目录是否有 uninstall 规则)。

方法2:通过 checkinstall 生成包再卸载(适用于无卸载规则的软件)

步骤

  1. 安装 checkinstall(以Debian/Ubuntu为例):
    sudo apt install checkinstall
  2. 重新编译并打包
    cd /path/to/source-code
    ./configure          # 配置环境(非必须,视软件而定)
    make                 # 编译
    sudo checkinstall    # 替代 make install

    按提示输入包名和版本,生成 .deb.rpm 包。

  3. 卸载
    sudo dpkg -r package-name  # Debian/Ubuntu
    # 或
    sudo rpm -e package-name   # RHEL/CentOS

    优势
    将源码安装转换为系统包管理,卸载更彻底且可追踪。


方法3:手动卸载(高风险,需谨慎)

若上述方法不可用,需手动删除文件:

  1. 查找安装路径
    • 编译时指定了 --prefix(如 ./configure --prefix=/opt/software):
      sudo rm -rf /opt/software
    • 未指定路径(默认安装到 /usr/local/):
      sudo rm -rf /usr/local/bin/软件名    # 可执行文件
      sudo rm -rf /usr/local/lib/软件库    # 库文件
      sudo rm -rf /usr/local/share/软件名  # 资源文件
  2. 检查其他位置
    • 配置文件:/etc/软件名~/.config/软件名
    • 日志文件:/var/log/软件名

警告

  • 操作前备份重要数据(如 sudo cp -r /usr/local /backup)。
  • 避免误删系统文件!可通过 make -n install 模拟安装过程查看文件路径。

注意事项

  1. 权限问题:卸载系统目录文件需 sudo
  2. 环境变量:若修改了 PATHLD_LIBRARY_PATH,安装后需更新(如 source ~/.bashrc)。
  3. 依赖项:手动安装的依赖库需单独卸载。
  4. 优先选择包管理器
    sudo apt install 软件名  # Debian/Ubuntu
    sudo yum install 软件名  # RHEL/CentOS

    包管理器(apt/yum/dnf)自动处理卸载依赖,更安全高效。


总结建议

  • 首选方案:尝试 make uninstallcheckinstall
  • 次选方案:手动删除(仅当明确知道安装路径时)。
  • 预防措施:未来编译安装前使用 --prefix 指定独立目录(如 ./configure --prefix=/opt/software),便于集中管理。

重要提示:卸载系统关键组件可能导致不稳定!操作前务必确认软件影响范围,生产环境建议在测试后执行。


引用说明
本文方法参考自GNU Make手册、checkinstall官方文档及Linux社区最佳实践,具体命令以软件源码和系统环境为准。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5580.html

(0)
酷番叔酷番叔
上一篇 2025年6月25日 04:27
下一篇 2025年6月25日 05:08

相关推荐

  • Linux系统安装Nginx的具体步骤和方法有哪些?

    nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯程序员Igor Sysoev开发,因其轻量级、高并发、低资源消耗的特点被广泛应用于Web服务、负载均衡、反向代理等场景,在Linux系统上安装nginx是搭建基础服务的关键操作,本文将详细介绍主流Linux发行版下通过包管理器和源码编译两种方式安装ngi……

    2025年9月28日
    3600
  • Linux tmp目录性能不足?安全优化指南

    为什么需要调整/tmp?空间不足:默认/tmp可能位于根分区,易导致磁盘写满,性能优化:将/tmp挂载到内存(tmpfs)可加速读写,安全性:严格的文件权限和定期清理防止敏感信息残留,调整方法详解方法1:挂载为tmpfs(内存文件系统)适用场景:需要高速读写的临时文件(如编译任务),操作步骤:编辑配置文件: s……

    2025年6月17日
    7700
  • Linux服务器如何分配IP地址?

    Linux服务器作为网络中的核心节点,IP地址的正确分配是其稳定运行的基础,IP地址分配方式主要分为静态IP和动态IP(DHCP)两种,具体选择需根据服务器用途、网络环境及管理需求确定,本文将详细介绍Linux服务器IP地址分配的各类方法、配置步骤及注意事项,Linux网络配置基础概念在配置IP地址前,需了解网……

    2025年9月19日
    4700
  • linux如何使用rz

    Linux中,使用rz需先安装lrzsz包,然后

    2025年8月19日
    4700
  • Linux系统如何进入修改模式?

    Linux系统中的“修改模式”通常指进入特殊运行状态以进行系统配置修复、密码重置或内核参数调整等操作,根据不同场景,可通过GRUB引导菜单、systemd目标切换或命令行工具进入,以下是具体操作方法和适用场景说明,通过GRUB引导菜单进入修改模式GRUB(Grand Unified Bootloader)是Li……

    2025年9月26日
    4600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信