【转载】http://bbs.chinaunix.net/thread-1921235-1-1.html
不管是哪个平台下,软件的安装与卸载是每一位计算机操作者所必需掌握的知识。Windows之所以易用、好掌握,也在于它软件安装、卸载完全图形化操作、直观。反观Linux,就令人感觉有些困惑。Linux下软件的安装除了二进制形式的软件分发外,还有许多以源码形式分发的软件包。
1、以“rpm”为后缀的二进制软件包
安装:rpm -ivh *.rpm
卸载:rpm -e packagename
参数-i表示安装,-v是校验,-h是用散列符显示安装进度,-e是删除软件包,packgename代表软件包名,也就是版本号前面那个字符串。
卸载软件前,应首先知道软件包在系统中注册的名称,可以使用命令:rpm -q -a 结合grep来查询。确定了要卸载的软件包名后,就可以开始卸载了,命令如上所示。
由于系统中各个软件包之间相互有依赖关系,如果因存在这种依赖关系而不能卸载,rpm将给予提示并停止卸载,此时,可以使用命令 rpm -e –nodeps packagename 来忽略依赖关系,直接进行卸载。当然,忽略依赖关系的卸载,可能导致系统中其它一些软件无法正常使用,卸载前应三思。
2、以“src.rpm”为后缀的源码软件包
安装:先使用命令 rpm -rebuild *.src.rpm 将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再 rpm -ivh *.rpm 安装该二进制包即可。
卸载:同上,rpm -e packgename
3、以“tar.gz”、“.bz2”为后缀的二进制软件包
安装:tar zxvf *.tar.gz 、tar jxvf *.bz2
参数-z调用gzip,-x是解包,-v是校验,-f指定包的文件名,此项通常必选,-j调用bzip。当然,这些参数也不是绝对要加上的,比如-v参数,或者也可以使用其它一些参数,只不过我习惯上这么写。
卸载:手动删除
4、以“tar.gz”、“.bz2”为后缀的源代码软件包
先使用命令 tar zxvf *.tar.gz 或 tar jxvf *.bz2进行解压,然后进入解压后的目录,接着就是众所周知的三步曲: ./configure(配置)、make(编译)、make install(安装)。建议解压后不要急着进行所谓的“三步曲”,而应该先看下相关的说明文件,了解软件安装需要哪些条件,以便在配置的时候提供相应的参数。
我通常的做法是,进入解压后的目录后,先用ls命令查看一下该目录下都有哪些文件。通常在解压后的目录里,会有一个“Install”的纯文本文件,不妨先看看里面的内容,里面详细讲述了软件包的安装方法。当然,有时候也会发现这个“Install”是个可执行文件。
我遇到过里面带有setup这种类似Windows下软件安装的可执行文件(当然,这种情况是比较少数的),这对于不太习惯使用Linux的用户来说,是比较方便的。还有,就是一个后缀为“bin”的安装文件,安装前先查看一下它的执行权限。如果不具有可执行权限,请先赋予它执行的权限,再像正常的可执行文件那样运行即可。
安装完毕后,应清除编译过程中产生的临时文件和配置过程中产生的文件,可以使用命令:make clean 以及make distclean。
有些软件包的源代码在编译安装后可以使用 make uninstall 命令来进行卸载,如果没有提供此功能,则该软件的卸载也只有手动删除。由于软件可能将文件分散安装在系统的多个目录中,手动删除往往很难将它删除干净,这也许是很多人比较头痛的地方。所以,通常的做法是,在编译前的配置阶段,指定软件将要安装到的目标路径,即 “./configure –prefix=目录名”,这样可以使用 “rm -rf 软件的目录名”这一命令来进行干净彻底的卸载。