您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第六章软件安装及RPM的使用
在Windows下安装软件时,只需运行软件的安装程序(Setup,Install等)或者用解压缩软件解开即可安装,运行反安装程序(Uninstall,Unware,卸载等)就能将软件清除干净。这些完全图形化的操作接口,简单到只要用鼠标一直单击【下一步】就可以了。而Linux就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。在Linux系统中,软件安装程序比较复杂,不过最常见的有两种:一种是软件的源代码,您需要自己动手编译它。这种软件安装包通常是用gzip压缩过的tar包(后缀名为.tar.gz)。另一种是软件的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个RPM包(RedHatLinuxPacketManager,就是RedHat的软件包管理器),后缀名是.rpm。当然,也有用RPM格式打包的源代码、用gzip压缩过的可执行套装程序。只要您理解了以下的思路,这两种形式的安装包也不在话下了。·6.1RPM格式软件包的安装RPM是RedHat公司开发的软件包管理器,使用它可以很容易地对RPM形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用RPM形式的软件包。软件包往往有特定的命令规范,名字是由“文件名+版本号+.rpm”组成的字串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm,它们的软件包名称分别是apache和apache-devel。各个支持RPM格式的Linux常见软件的RPM包可以在网站rpmfind.net中找到。1.安装命令格式:rpm-i(or--install)optionsfile1.rpm...fileN.rpm参数:file1.rpm...fileN.rpm指将要安装的RPM包的文件名。详细选项:-h(or—hash)安装时输出hash记号;test只对安装进行测试,并不实际安装;--percent以百分比的形式输出安装的进度;--excludedocs不安装软件包中的文档;--includedocs安装文档;--replacepkgs强制重新安装已经安装的软件包;--replacefiles替换属于其他软件包的文件;--force忽略软件包及文档的冲突;--noscripts不运行预安装和后安装脚本;--prefixNEWPATH将软件包安装到由NEWPATH指定的路径下;--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;--nodeps不检查依赖性关系;--ftpproxyHOST用HOST作为FTP代理;--ftpportPORT指定FTP的端口号为PORT。通用选项:-v显示附加信息;-vv显示调试信息;--rootDIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfileFILELIST设置rpmrc文档为FILELIST;--dbpathDIRECTORY设置RPM资料库所在的路径为DIRECTORY。2.删除命令格式:rpm-e(or--erase)optionspkg1...pkgN参数:pkg1...pkgN:要删除的软件包。详细选项:--test只执行删除的测试;--noscripts不运行预安装和后安装脚本程序;--nodeps不检查依赖性。通用选项:-vv显示调试信息;--rootDIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfileFILELIST设置rpmrc文档为FILELIST;--dbpathDIRECTORY设置RPM资料库所在的路径为DIRECTORY。3.升级命令格式:rpm-U(or--upgrade)optionsfile1.rpm...fileN.rpm参数:file1.rpm...fileN.rpm指软件包的名字。详细选项:-h(or—hash)安装时输出hash记号;—oldpackage允许一个旧版本;--test只进行升级测试;--excludedocs不安装软件包中的文件;--includedocs安装文件;--replacepkgs强制重新安装已经安装的软件包;--replacefiles替换属于其他软件包的文件;--force忽略软件包及文件的冲突;--percent以百分比的形式输出安装的进度;--noscripts不运行预安装和后安装脚本;--prefixNEWPATH将软件包安装到由NEWPATH指定的路径下;--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;--nodeps不检查依赖性关系;--ftpproxyHOST用HOST作为FTP代理;--ftpportHOST指定FTP的埠号为HOST。通用选项:-v显示附加信息;-vv显示调试信息;--rootDIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfileFILELIST设置rpmrc文件为FILELIST;--dbpathDIRECTORY设置RPM资料库所在的路径为DIRECTORY。4.查询命令格式:rpm-q(or--query)options参数:pkg1...pkgN:查询已安装的软件包。详细选项:-pPACKAGE_FILE查询软件包的文件;-fFILE查询FILE属于哪个软件包;-a查询所有安装的软件包;--whatproVidesCAPABILITY查询提供了CAPABILITY功能的软件包;-ggroup查询属于group组的软件包;--whatrequiresCAPABILITY查询所有需要CAPABILITY功能的软件包。选项:-i显示软件包的概要信息;-l显示软件包中的文件列表;-c显示配置文件列表;-d显示文件列表;-s显示软件包中文档列表并显示每个文件的状态-;-scripts显示安装、卸载、校验脚本;--queryformat(or--qf)以用户指定的方式显示查询信息;--dump显示每个文件的所有已校验信息;--proVides显示软件包提供的功能;--requires(or-R)显示软件包所需的功能。通用选项:-v显示附加信息;-vv显示调试信息;--rootDIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;-rcfileFILELIST设置rpmrc文件为FILELIST;--dbpathDIRECTORY设置RPM资料库所在的路径为DIRECTORY。5.校验已安装的软件包命令格式:rpm-V(or--verify,or-y)options参数:pkg1...pkgN将要校验的软件包名软件包选项:-pPACKAGE_FILE校验PACKAGE_FILE所属的软件包;-a校验所有的软件包;-ggroup校验所有属于组group的软件包。详细选项:--noscripts不运行校验脚本;--nodeps不校验依赖性;--nofiles不校验文档属性。通用选项:-v显示附加信息;-vv显示调试信息;--rootPATH让RPM将PATH指定的路径做为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfileFILELIST设置rpmrc文件为FILELIST;--dbpathDIRECTORY设置RPM资料库所在的路径为DIRECTORY。6.校验软件包中的文件语法:rpm-K(or--checksig)optionsfile1.rpm...fileN.rpm参数:file1.rpm...fileN.rpm软件包的文件名;Checksig--详细选项;--nopgp不校验PGP签名。通用选项:-v显示附加信息;-vv显示调试信息;--rcfileFILELIST设置rpmrc文件为FILELIST。7.其他RPM选项--rebuilddb重建RPM资料库;--initdb创建一个新的RPM资料库;--quiet尽可能地减少输出;--help显示帮助文件;--version显示RPM的当前版本。如果你不喜欢在字符接口下安装或卸载这些软件包,完全可以安装基于X-Window的图形接口软件包管理程序,如glint,xrpm这样的图形接口。或使用KDE的KPackage(单击【开始】→【运行命令】,在其中输入KPackage即可启动KPackage)等,这样对软件包的安装、升级、卸载、验证和查询就可以通过单击鼠标来轻松完成,如图6-1所示。需要注意的是,每个RPM软件包格式的软件并不一定是独立的,各个RPM软件包之间有一定的依赖关系,删除某个RPM软件包可能导致别的软件不能使用。因此在升级和删除时应该注意。图6-1KPackage工作界面6.2提供安装程序的软件包这类软件包已经提供了安装脚本或二进制的安装引导程序(Setup,Install,Install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。例如ThizOffice办公软件套件就使用名为Setup.sh的安装程序,而且在软件安装后提供反安装的功能。目前这种类型的软件包还比较少,因其安装与卸载的方式与Windows软件一样,所以就无需多讲了。6.3源码包Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制码并进行安装。其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境;缺点是难度较大,一般不适合初学者使用。各个软件的源代码包一般都在各个软件项目的主页中提供下载,例如:等。1.*.src.rpm形式的源代码软件包安装:rpm-rebuild*.src.rpmcd/usr/src/dist/RPMSrpm-ivh*.rpm卸载:rpm-epackgename说明:rpm--rebuild*.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的RPM软件包,然后再安装该二进制包即可。Packgename如前所述。2.*.tar.gz/*.tgz/*.bz2形式的源代码软件包以tar.gz或tgz或tar.bz2等格式结尾的软件包一般都是以源代码方式发布的软件,安装这类软件首先需要对软件进行解压:#tarzxvffilename.tar.gz#tarxvfzfilename.tgz#tarxvfjfilename.tar.bz2解压以后,就可以进入解压后的目录:#cdfilename/对于这类文档,常见的安装步骤是:配置、编译和安装3步,其中最麻烦的就是配置,因为所有和软件安装相关的配置都是在这一步指定的:比如软件安装位置等。配置:./configure编译:make安装:makeinstall卸载:makeuninstall或手动删除说明:建议解压后先阅读说明文件(ReadMe和Install),了解安装的需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用makeuninstall命令来进行卸载,如果不提供此功能,则软件的卸载必须手动进行。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure--prefix=目录名,这样可以使用“rm-rf软件目录名”命令来进行干净彻底的卸载。与其他安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。
本文标题:第六章软件安装及RPM的使用
链接地址:https://www.777doc.com/doc-2160401 .html