导读 | Linux下是常规的软件安装方式除了二进制形式的软件分发,还有源代码形式的软件包,以下为两种式软件的安装与卸载方式 |
二进制分发软件包的安装与卸载
Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的分发形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。
1、*.rpm形式的二进制软件包
说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净。*.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);
rpm常用参数: -ivh:安装显示安装进度 [install--verbose—hash] -Uvh:升级软件包 [Update]; -qpl:列出RPM软件包内的文件信息[Query Package list]; -qpi:列出RPM软件包的描述信息[Query Package install package(s)]; -qf:查找指定文件属于哪个RPM软件包[Query File]; -Va:校验所有的RPM软件包,查找丢失的文件[View Lost]; -e:删除包
2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包
说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在目录中,则必须一一手动删除,想知道解压时向系统中安装了哪些文件,可以用命令“tar -ztvf *.tar.gz”/“tar -jtvf *.bz2”获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,j是调用bzip2解压,t是列出包的文件清单。
安装:tar -zxvf *.tar.gz 或 tar -jxvf *.bz2 卸载:手动删除
提供安装程序的软件包
这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。而且在软件安装后提供反安装的功能,目前这种类型的软件包还比较少。
源代码分发软件包的安装与卸载
Linux软件的源代码分发提供了软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,根据应用环境的不同进行编译安装。配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,难度较大。
1、*.src.rpm形式的源代码软件包
安装:rpm -rebuild *.src.rpm cd /usr/src/dist/RPMS rpm -ivh *.rpm 卸载:rpm -e packgename
说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述,两种方法如下:
法1: rpm -i your-package.src.rpm cd /usr/src/redhat/SPECS rpmbuild -bp your-package.specs #一个和你的软件包同名的specs文件 cd /usr/src/redhat/BUILD/your-package/ #一个和你的软件包同名的目录 ./configure #这一步和编译普通的源码软件一样,可以加上参数 make make instal
法2: rpm -i you-package.src.rpm cd /usr/src/redhat/SPECS #前两步和方法一相同 rpmbuild -bb your-package.specs #一个和你的软件包同名的specs文件 这时在/usr/src/redhat/RPM/i386/(根据具体包的不同,也可能是i686,noarch等等)在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。 rpm -i new-package.rpm即可安装完成。
2、*.tar.gz/*.tgz、*.bz2形式的源代码软件包
安装:tar -zxvf *.tar.gz 或 tar -jxvf *.bz2 先解压然后进入解压后的目录: 配置:./configure 编译:make 安装:make install
说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make uninstall命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的。
解压源码包: [[email protected] ~]# tar -zxvf zip-2.3-27.tar.gz(或者tar -jzxf zip-2.3-27.tar.bz2) 进入已解压的源码包目录,进行安装: [[email protected] ~]# cd zip-2.3-27 [[email protected] zip-2.3-27]# ./configure --prefix=.... && make && make install 卸载源码包: [[email protected] zip]# make uninstall
免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/