彻底清除自行编译并通过 make install 安装的包?

2016-12-10 09:25:33 +08:00
 Hardrain
Ubuntu 16.04
自己编译安装了一个 OpenSSL 1.1.0c ./configure 没指定--prefix
所以完全不知道安装到了哪里.

后来发现这个版本没有 3DES 的 Cipher(一个托管在上面的网站需要)准备卸载
不论通过 apt list --installed 还是 dpkg 都只能找到之前安装的 1.0.2j 版本
发现似乎无解了.

还是我应该备份站点数据和配置文件后 Reinstall OS ?
3584 次点击
所在节点    问与答
12 条回复
adminsb
2016-12-10 09:29:28 +08:00
看 makefile
Hardrain
2016-12-10 09:37:53 +08:00
@adminsb 算是 log?
编译的时候似乎也没指定 log ……
htfy96
2016-12-10 09:41:21 +08:00
如果有 make uninstall 就用那个
指定--prefix 再安装一遍,然后看看产生了哪些文件,对应删掉;再看看 Makefile 里改了哪些配置再还回来

另外,这就是为什么要有 cmake, 软件包等东西的原因
hosiet
2016-12-10 09:48:49 +08:00
对楼上表示不服, openssl 用的 Autotools 和 CMake 是一个性质的东西。只要源代码目录留着, make uninstall 就可以卸载。

应该说这就是发行版软件包出现的原因。
wql
2016-12-10 09:49:32 +08:00
默认是 /usr/local/openssl
应当指定开启弱算法的配置指令
wql
2016-12-10 09:49:46 +08:00
纠正:/usr/local/ssl
skydiver
2016-12-10 09:52:37 +08:00
没指定就是在 /usr/local

有些软件再 make uninstall 一下就没了
有些就自己删一下吧。
htfy96
2016-12-10 09:54:35 +08:00
@hosiet 嗯…之前没看过其代码,所以
我的意思是 cmake, 软件包 > 没有卸载办法
你的意思是 软件包 > autotools, cmake?

不过考虑到 CPack 的存在, CMake 也能制作软件包
Hardrain
2016-12-10 11:25:30 +08:00
@htfy96 可是当时并没有 cmake...
Hardrain
2016-12-10 11:25:44 +08:00
@htfy96 这就很麻烦了...
hosiet
2016-12-10 11:28:03 +08:00
@htfy96 我的意思是:

纯手写 Makefile :如果上游作者没写 uninstall target 就没法卸载,得自己找文件
Autotools, CMake, 用心写的 Makefile : make uninstall 就可以卸载
软件包及发行版的软件包管理系统:安装卸载不用操心,由打包者解决,只需要用发行版工具照着操作即可

CPack 不在讨论范围内,它不属于构建系统。
Hardrain
2016-12-10 11:29:51 +08:00
@hosiet 其实也不知道能不能 make uninstall
去 Google 有人提到这种方法 但是我已经把源码文件夹删了

但是关于 cmake 安装的时候我是压根没想到.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/326586

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX