0

0

如何安全卸载使用 make install 安装的软件

碧海醫心

碧海醫心

发布时间:2025-10-19 09:42:34

|

467人浏览过

|

来源于php中文网

原创

如何安全卸载使用 make install 安装的软件

本文旨在指导读者如何安全地卸载通过 make install 命令安装的软件。由于 make install 的行为取决于 Makefile 的具体实现,因此卸载过程需要仔细分析 Makefile,并手动或编写脚本逆向安装过程。本文将详细介绍如何查找 Makefile,分析安装目标,并提供卸载的通用方法和注意事项。

当您使用 make install 从源代码编译安装软件时,软件的文件会被复制到系统的各个目录中,通常是 /usr/local/bin、/usr/local/lib 等。卸载这些软件并非像包管理器那样简单,因为 make install 本身并不提供卸载功能。卸载的关键在于理解 make install 究竟做了什么,然后反向操作。

理解 make install 的工作原理

make install 并非一个通用的命令,它的行为完全取决于项目根目录下的 Makefile 文件。Makefile 中定义了 install 目标,其中包含了将编译好的文件复制到系统目录的具体指令。因此,卸载的关键就是分析 Makefile,找出 install 目标所执行的操作,并逆向执行这些操作。

查找 Makefile

Makefile 通常位于您编译软件的源代码根目录。例如,如果您按照以下步骤编译安装了 PHP:

cd /home/steve/php-src
./buildconf
./configure
make
sudo make install

那么 Makefile 就位于 /home/steve/php-src 目录下。

分析 Makefile 的 install 目标

找到 Makefile 后,需要仔细阅读其中 install 目标的内容。可以使用文本编辑器打开 Makefile,搜索 install: 找到 install 目标。

install 目标通常包含一系列 cp (复制) 命令,将编译好的文件复制到系统目录。例如:

install:
    $(INSTALL) -d $(DESTDIR)$(bindir)
    $(INSTALL_PROGRAM) php $(DESTDIR)$(bindir)/php
    $(INSTALL) -d $(DESTDIR)$(mandir)/man1
    $(INSTALL_MAN) php.1 $(DESTDIR)$(mandir)/man1/php.1

这段代码表示:

  • 创建目录 $(DESTDIR)$(bindir),通常是 /usr/local/bin。
  • 将 php 可执行文件复制到 $(DESTDIR)$(bindir)/php。
  • 创建目录 $(DESTDIR)$(mandir)/man1,通常是 /usr/local/share/man/man1。
  • 将 php.1 man page 复制到 $(DESTDIR)$(mandir)/man1/php.1。

注意: $(DESTDIR) 是一个变量,通常为空,或者指定安装目录的前缀。

手动卸载

根据 install 目标的分析结果,可以手动删除相应的文件和目录。以上面的例子为例,可以执行以下命令卸载:

sudo rm /usr/local/bin/php
sudo rm /usr/local/share/man/man1/php.1

重要提示: 务必仔细核对要删除的文件路径,避免误删系统文件。

萤火商城
萤火商城

萤火商城V2.0,是2021年全新推出的一款轻量级、高性能、前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP,前后端源码完全开源,看见及所得,完美支持二次开发,可学习可商用,让您快速搭建个性化独立商城。萤火商城V2.0开源版 [uni-app端]如何使用uni-app端一、导入uniapp项目 1. 首先下载HBuilderX并安装,地址:https://www.dcloud

下载

创建 uninstall 目标 (推荐)

为了方便卸载,可以向 Makefile 中添加一个 uninstall 目标,用于逆向执行 install 目标的操作。

uninstall:
    rm -f $(DESTDIR)$(bindir)/php
    rm -f $(DESTDIR)$(mandir)/man1/php.1

然后,就可以使用以下命令卸载软件:

sudo make uninstall

注意: 添加 uninstall 目标需要对 Makefile 有一定的了解。

使用 xargs 配合 find 命令 (通用方法)

如果 Makefile 过于复杂,难以手动分析,可以使用 find 命令配合 xargs 命令来查找和删除文件。 首先,你需要知道安装过程中复制了哪些类型的文件。 例如,可执行文件和man page。

  1. 查找可执行文件: 假设可执行文件都放置在 /usr/local/bin 目录下,可以使用以下命令查找:

    find /usr/local/bin -type f -executable -print0 | xargs -0 sudo rm -f

    这个命令会查找 /usr/local/bin 目录下所有可执行文件,并将它们传递给 rm -f 命令删除。

  2. 查找 man page: 假设 man page 都放置在 /usr/local/share/man/man1 目录下,可以使用以下命令查找:

    find /usr/local/share/man/man1 -type f -name "*.1" -print0 | xargs -0 sudo rm -f

    这个命令会查找 /usr/local/share/man/man1 目录下所有以 .1 结尾的文件,并将它们传递给 rm -f 命令删除。

重要提示: 使用 find 和 xargs 命令时,务必谨慎,仔细检查查找的范围和删除的文件,避免误删系统文件。 建议先使用 -print 参数测试 find 命令的输出,确认无误后再使用 -print0 | xargs -0 sudo rm -f 删除文件。

注意事项

  • 在执行任何删除操作之前,务必备份重要数据。
  • 仔细核对要删除的文件路径,避免误删系统文件。
  • 如果不确定如何卸载,可以寻求专业人士的帮助。
  • 某些软件可能会安装配置文件到 /etc 目录下,这些文件需要手动删除。
  • 有些软件会注册系统服务,需要手动停止并移除这些服务。

总结

卸载使用 make install 安装的软件需要仔细分析 Makefile,并逆向执行安装过程。本文介绍了如何查找 Makefile,分析 install 目标,并提供了手动卸载、创建 uninstall 目标和使用 find 和 xargs 命令的通用方法。希望本文能够帮助您安全地卸载使用 make install 安装的软件。

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2854

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1699

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1559

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

1058

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1525

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1276

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1629

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1309

2023.11.13

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

25

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9.3万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 10.7万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号