linux下卸载软件不如windows下方便,卸载Linux平台软件非常麻烦,而且提示不清,经常还会为路径问题煞费脑筋,因为有些源码编译安装的,所以路径一般不会使用默认路径,那么有依赖关系的软件就很容易出问题,找不到依赖执行或配置文件。而有一些又是系统默认安装的,路径一般比较分散,再加上平台多,卸载起来更是麻烦。
本文总结了常见的几种Linux软件卸载方式,希望可以帮助大家掌握如何卸载Linux下的各种软件。
注:以下命令均在终端shell中进行。X-WINDOW也有对应的文件管理工具,但终究使用较少。安装和卸载软件前最好看看README,一般均有说明,国内软件就不说了,有时作者都不清楚如何卸载的软件都会往外发。
一、绿色软件
这类软件大多是以压缩包(*.tar.gz,...)形式发放的,跟下文的源码包类似,但是不需要编译,直接解压到某个目录即可运行。这类软件直接到对应目录下删除即可。不涉及相关系统变量修改,至多再加上相关启动选项修改或启动链接。
rm -rf softname_version
二、使用RPM包安装的软件
1、确定软件版本
rpm -qa|grep softname*
softname为软件名称,不确定部分可使用*通配符。接着就会有相关的软件包列表。
2、卸载软件包
rpm -e softname_version
softname_version为完整的软件包名称。
当卸载RPM安装包时,经常会遇到系统提示如下错误:
error: specifies multiple packages,出现该错误一般是因为有两个或多个同名包,(典型:是x86和x64包都安装),Linux无法区分卸载目标。这时可使用--allmatches参数,告诉卸载程序,只要匹配就卸载,相当于同名的同时都卸载。
常见卸载错误xxx.so is needed by yyy时,说明这些库跟这些程序有依赖关系(运行需要),如果确认没有问题,可以 使用--nodeps 参数,不考虑依赖关系而直接卸载gd包,比如# rpm -e gd --allmatches --nodeps
3、定制的安装和卸载软件
这类软件很少了,但是某些商业软件则会提供,安装卸载会跟WINDOWS平台一样,一般只需运行一个脚本就可完成。
三、自编译安装的软件
这类软件有*.tar.gz,*.tar.bz,*.tar.bz2等,都是源程序,需要编译才能安装(当然也有上文的绿色解压安装的,但也使用tar.gz这样打包的,不在此列)。这类软件使用上文的rpm命令查不到任何信息。只有天知道(自己过些日子可能也不知道)安装到了哪里。
1、卸载自编译软件
make uninstall
注意该命令要在源码包目录下执行,使用此命令卸载软件,会比较彻底,而且各相关路径全部都会列出来。
但是,往往我们安装后,源码包会删除掉,只剩安装目标了,那么在找到安装时的配置就很麻烦(路径可能是默认路径,也可能指定路径)。而且也未必能够找到。安装LOG也未必能帮得上忙。
2、XXX卸载方法
如果遇到上面说的那种情况(其实是经常遇到),又找不到路径的,只能手动删除了,确保没有运行干扰的程序就可以了。
此外,还有*.src.rpm形式的源代码包,也需要编译安装,卸载方法同第二节。