系统盒子 - Windwos系统下载网站!

当前位置:首页 > 电脑维修 > Linux教程 > Linux软件安装及操作指南

Linux软件安装及操作指南

时间:2020-10-05 19:33 作者:系统盒子 来源:互联网

我们都晓得windows软件的安装十分简单,只要运行安装手续就可以了,可是Linux系统的软件可没那末容易安装,下边采编就给大家绍介下Linux系统中软件的安装办法。

timg.jpg


 先来看看Linux软件扩展名。软件后缀为.rpm起初是Red Hat Linux供给的一种包封装款式,如今很多Linux发行版本都运用;后缀为.deb是Debain Linux供给的一种包封装款式;后缀为.tar.gz、tar.Z、tar.bz2或.tgz是运用Unix系统打包工具tar打包的;后缀为.bin的普通是一点经济活动软件。经过扩展名可以理解软件款式,继续往前理解软件安装。


  一 源码安装形式


  因为linux操作系统开放源代码,故而在其上安装的软件大多也都是开源软件,例如apache、tomcat、php等软件。开源软件基本都供给源码下载,源码安装的形式;源码安装的益处是用户可以自个儿定制软件功能,安装需求的板块,不必的功能可以无须安装,这个之外,用户还可以自个儿挑选安装途径,便捷管理,卸载软件也很便捷,只需删去对应的安装目次即可。没有windows所说的的注册表之说。


  源码安装软件普通有以下几个步骤组成:下载解压源码、剖析安装平台背景(ifconfigure)、编译安装软件(make,make install)。下边我们作别绍介。


  1.1 下载解压源码


  linux下软件的源码普通都是C还是C++语言编著的,况且都会在软件的官方网站上供给源码包下载,例如apache开源项目标官方网站为http://www.apache.org,这个之外在网上的众多开源社区普通也供给一点常用软件的源码下载,源码都打包成压缩文件,常见的源码打包压缩款式有“.tar.gz”、“.tar.baz2”等。我们可以从网站上首先下载源码文件,而后在传到存在的地方的linux系统下,假如你的linux系统处于联网状况下,也可以直接在系统内经过wget什么的的下载指示将源码包直接下载到linux系统下。


  下载完成,把相应的软件解包即可,针对下载软件包的不一样,运用不一样的办法施行解压,解压完结后进入了解压生成的目次中,在这个目次下,普通都存在一个REDAME文件,这个文本文件十分关紧,它周密的绍介了这个软件所能完成的功能、权力委托允许、安装需要、安装注意事情的项目、安装形式等等,因为linux各个版本的差别,以及安装背景的不一样,软件的安装形式也不尽相同,所以在安装软件前,必须要事前阅览这个README文件,确门卫装的准确性。


  1.2 剖析安装平台背景


  在软件包解压完结在这以后,我们进入了源码目次,普通都会存在configure和README这样两个文件,README就是上头我们讲到的,是对软件的绍介和安装解释明白;linux下软件的安装遭受操作系统安装背景的影响,譬如某些软件在安装还是运行过程中需求调配使用操作系统本身的库文件,还是需求运行系统的某个工具等等,不过系统中不存在这个库文件还是这个工具没有安装,那末安装还是运行软件便会败绩。


  为了防止这个问题的显露出来,在安装软件的时刻就需求剖析操作系统背景,检验测定现时系统是否领有安装软件所需的全部文件和工具,假如系统缺乏某个文件,就给出提醒,一直到满意软件的全部需要截止。这个就是configure文件的功能,configure文件普通是个可执行文件,可以在现时目次下直接输入“。/configure”施行软件安装的背景测试,假如提醒缺乏某些安装包,就需求施行安装,一直到测试经过。一般的,源码安装都需求GCC还是CC编译器,这些个编译器普通在安装系统时定制安装包中的研发工具选项下,实际上这也是我们在第二章安装linux系统中要求挑选研发工具包的端由存在的地方。


  这个之外,在执行configure剖析软件需要时,还可以在“。/configure”后面加上软件的安装途径以及安装所需的板块等等一点选项,来定制用户需求的软件功能。


  1.3 编译安装软件


  在证验软件安装背景后,正式进入了软件的编译步骤,在施行编译前,首先理解下关于编译的一点基础知识。


  在linux系统下,make是我们常常用到的编译指示,不管是安装软件仍然项目研发,都会常常用到编译安装指示,也就是make和make install,对于一个里面含有众多源文件的应用手续,运用make和makefile工具可以简单迅速的解决各个源文件之间复杂的倚赖关系,同时,make工具还可以半自动完成全部源码文件的编译办公,况且可以只对上次编译后改正过的文件施行增量编译,因为这个,技术纯熟掌握了make和makefile工具在这以后,源码安装软件就变的像windows下安装软件同样简单。


  Makefile文件


  make工具最主要的功能就是经过makefile文件来成功实现的,makefile文件是依照某种语法来施行编著的,文件中定义了各个源文件之间的倚赖关系,并解释明白了怎么样编译源文件并生成可执行文件,它经过描写各个源手续之间的关系让make工具半自动完成编译办公。


  在linux系统下,习性于使用Makefile代替makefile文件,我们在执行configure经过后,便会在现时目次下生成这个文件,普通事情状况下在指示行输入make时,make指示会默许去寻觅现时目次下的Makefile文件,假如我们用其他文件作为makefile,就要在make指示选项后指定makefile文件,例如我们设确定编制译规则文件为make_file,就需求运用以授命指定:


  [root@WEBServer ~]#make -f make_file


  下边我们经过举例理解下Makefile的编著原则和内部实质意义。


  例如有一个test手续,有三个源文件file1.c、file2.c、file3.c以及库文件LS编译生成,这三个源文件还作别里面含有了自个儿的头文件1.h、2.h、3.h。一般,C编译器将会输出三个目的文件file1.o、file2.o、file3.o。假定file1.c和file3.c都要声明用到一个apcs的文件,不过file2.c无须,也就是在file1.c和file3.c文件中都有大致相似“#include “apcs””的声明。


  下边这段代码就是对test手续的描写:


  1:#It is a example for describing makefile2:test: file1.o file2.o file3.o3:cc file1.o file2.o file3.o -LS -o test


  4:file1.o: file1.c 1.h apcs


  5:gcc -c file1.c


  6:file3.o: file3.c 3.h apcs


  7:gcc -c file3.c


  8:file2.o: file2.c c.h


  9:gcc -c file2.c


  这个描写文档实际上就是一个makefile文件,第1行径注解行,第二行指定test手续有file1.o、file2.o、file3.o链收生成,第三行描写了怎么样从test所倚赖的文件树立可执行文件,接下来的第四、六、八行定义了三个目的文件和他们倚赖的“.c”、“.h”和“apcs”文件。余下的第五、七、九行定义了怎么样从目的倚赖的文件生成可执行文件。


  在理解Makefile文件结构后,我们就可以扼制编译的选项,定制自个儿所需的软件功能。


  接下来,我们只需在指示行输入make指示,即可进入了编译阶段,依据软件源手续的体积和系统的硬件配备布置,编译时间不稳定,编译完结,会在现时目次以及细目录下生成相应的可执行文件,接下来就进入了最终的安装软件阶段,在指示行输入make install指示,着手安装软件,安装进程项会头先开创安装目次,假如我们不拥有指定安装的目次,安装手续默许会安装在系统的/usr/local目次下开创安装目次,而后将相应的文件和可执行手续从源码目次复印到安装目次下,这么安装就完结了。


  1.4 源码安装Apache Http server


  下边我们经过源码安装apache,实际的例子解释linux下源码的安装形式。


  1. 下载解压apache源码


  [root@WEBServer~]#mkdir /apache #在根目次下开创一个apache目次[root@WEBServer~]#cd /apache #切换到apache目次[root@WEBServer apache]#wget  #下载apache源码》http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.bz2[root@WEBServer apache]#tar -jxvf httpd-2.2.9.tar.bz2 #解压apache源码[root@WEBServer apache]#ls #显露解压最后结果httpd-2.2.9 httpd-2.2.9.tar.bz2


  2. 测试安装背景


  [root@WEBServer apache]#cd httpd-2.2.9 #切换到httpd-2.2.9目次下[root@WEBServer httpd-2.2.9]#./configure --prefix=/opt/apache2.2.9 》--enable-so 》--enable-mods-shared=most


  》--enable-proxy-balancer=shared


  》--enable-proxy-http=shared


  》--enable-proxy-ajp


  》--enable-rewrite


  注意:上头我们指定apache的安装目次为/opt/apache2.2.9,同时指定需求编译的apache板块。


  下边作别绍介这些个板块代表的涵义,更周密的请参见apache文档。


  l --enable-so选项:表达让 Apache 可以支持DSO标准样式,这处认为合适而使用的是 Apache2.0往后的语法。假如你的Apache 是1.3版本,应改为“--enable-module=so”。


  l --enable-mods-shared=most选项:表达动态编译大多常用的板块,当然,也可以有挑选的加载一点板块,most意思是只里面含有一般用的板块,况且以动态加载标准样式加载。假如用的是 Apache1.3, 改为“--enable-shared=max”即可。


  l --enable-proxy-balancer=shared选项:表达让apache支持负载平衡功能,即动态的编译apache的负载平衡板块。


  l --enable-proxy-http=shared选项:表达动态编译apache的http摄理板块。


  l --enable-proxy-ajp选项:表达动态编译apache的proxy-ajp板块。


  l --enable-rewrite选项:让apache支持地址重写功能,即动态编译apache的rewrite板块。


  3.编译安装软件


  [root@WEBServer httpd-2.2.9]#make


  [root@WEBServer httpd-2.2.9]#make install安装完结,apache被安装到/opt/apache2.2.9下,接下来我们就可以运用apache软件了。


  二 RPM包形式安装


  2.1 RPM担保理工具绍介


  RPM是Red Hat Package Manager的减写,本意就是Redhat软件担保理,是最先由Redhat企业研发出来的linux下软件担保理工具,因为这种软件管理形式十分便捷,渐渐被其他linux发行商所假座,如今已经变成linux平台下通用的软件担保理形式,例如Fedora 、Redhat、suse、Mandrake等主流linux发行版本都默许认为合适而使用了这种软件担保理形式。


  RPM担保理大致相似于windows下的“添加/删去手续”不过功能却比“添加/删去手续”坚强雄厚众多。在Linux的系统安装光碟中,有众多以“.rpm”结末的软件包,这些个包文件就是我们所谓RPM文件。每个RPM文件中里面含有了已经编译好的二进制可执行文件,实际上就是将软件源码文件施行编译安装,而后行封装,就成了RPM文件,大致相似与windows安装包中的“.exe”文件。这个之外RPM文件中还里面含有了运行可执行文件所需的其他文件,这点也和windows下的软件包大致相似,windows手续的安装包中,除开“exe”可执行文件,还有其他倚赖运行的文件。


  RPM担保理形式的长处是:安装简便,由于软件已经编译完成打包完结,安装只是个证验背景和解压的过程。这个之外经过RPM形式安装的软件,RPM工具都会记录软件的安装信息,这么便捷了软件将来的查问,升班和卸载。


  RPM担保理形式的欠缺是对操作系统背景的倚赖非常大,它要求RPM包的安装背景务必与RPM包封装时的背景相完全一样或相当。还需求满意安装时与系统某些软件包的倚赖关系,例如需求安装A软件,不过A软件需求系统有B和C软件的支持,那末就务必先安装B和C软件,而后能力安装A软件。这也是我们在用RPM包形式安装软件需求加意的地方。


  2.2 RPM包品类和指示


  RPM包的封装款式普通有两种,作别是RPM和SRPM,SRPM包也是一种RPM,不过它里面含有了编译时的源码文件和一点编译指定的参变量文件,故而在运用的时刻需求从新施行编译,一般SRPM对应的RPM文件大致相似与“xxxxxxxx.src.rpm”款式。


  下边我们讲评一下子两种RPM包对应的文件名涵义:


  例如一个rpm文件:nxserver-2.1.0-22.i386.rpm那里面“nxserver”表达软件的名字,“2.1.0”表达软件的版本号,“22”表达软件更新发行的回数,“i386”表达适应硬件的平台,最终的“.rpm”是rpm软件包的标识。


  普通的RPM封装包的起名称款式都有这五个局部组成,因为SRPM包是需求编译能力运用的,因为这个没有上头显露项中对应的平台选项,其他与RPM包指示款式一致。


  对于RPM包的五个组成局部,我们下边绍介一点他们更周密的涵义和异同:


  软件名字:是对软件包的标识;


  软件的版本号:每个软件都有自个儿的版本号,版本号可以解释明白软件从着手迄今发行了若干了,软件是否是新的等等。


  软件更新发行回数:因为一个版本的软件在发行后有可能显露出来bug还是破绽,那末就需求修复和从新封装,每修复封装一次,软件的名字就要更新一次。


  适应的硬件平台:因为RPM包要在各种不一样的linux硬件平台上运用,不过因为每个不一样的硬件平台RPM打包封装的参变量也各不一,这么就显露出来了针对i386、i686、x86_64、noarch等的平台名字标识。


  i386指这个软件包适合使用于intel 80386往后的x86架构的计算机。


  i686指这个软件包适合使用于intel 80686往后(奔腾pro以上)的x86架构的计算机。


  x86_64指这个软件包适合使用于x86架构64为处置器的计算机。


  noarch表达这个软件包与硬件构架无关,可以通用。


  需求注意的是:i386软件包可以在恣意x86平台下运用,不管是i686或是x86_64的机器,相反,i686的软件包不尽然能在i386硬件上头运用,因为i686软件包普通都是对cpu施行了优化,全部具备向后兼容性,不过不具备先前兼容的特别的性质。


  RPM软件包标识:RPM软件包标识用于指明此文件是rpm款式的文件,普通有两种后缀标识,作别是以“.rpm”结末和以“.src.rpm”结末。


  2.3 RPM工具的运用


  RPM工具的运用分为安装、查问、证验、更新、删去等操作,下边我们作别绍介。


  1. 安装软件包


  指示款式:rpm -i [匡助选项] file1.rpm file2.rpm…。.fileN.rpm主选项解释明白:


  -i:install的意思,就是安装软件。也可以运用“--install”。


  参变量解释明白:file1.rpm file2.rpm…。.filen.rpm是指定即将安装RPM包的文件名,可以多个文件一块儿安装。


  匡助选项解释明白:这处的选项众多,我们只列出常用选项,周密诠释如下所述:


  l -v:显露附带加上信息。


  l -h:安装时输出标记“#”。


  l --test:只对安装施行测试,并不实际安装。


  l --nodeps:不查缉软件之间的倚赖关系。参加此选项有可能会造成软件不可以用。


  l --force:疏忽软件包以及软件冲突。


  l --replacepkgs:强迫从新安装已经安装的软件包。


  l --prefix:将软件包安装到由 指定的途径下。


  l --percent:以百分率的方式输出安装的进程度。


  l --excludedocs:不安装软件包中的说明事物的文章件l --includedocs:安装软件包,里面含有说明事物的文章件。



 举例:


  (1)我们安装ipvsadm-1.24-6.i386.rpm,运用下边指示:


  [root@localhost ~]# rpm -ivh ipvsadm-1.24-6.i386.rpm执行最后结果如下所述:


  warning:ipvsadm-1.24-6.i386.rpm:V3 DSA signature: NOKEY, key ID 44e181Preparing.。。 ############################ [100百分之百]


  1:ipvsadm ############################[100百分之百]


  (2)下边操作显露了安装gcc-3.4.4-2.i386.rpm包过程,在安装过程中,显露出来了安装包倚赖问题,我们的处置过程就是这样:


  [root@server ~]# rpm -ivh gcc-3.4.4-2.i386.rpm执行最后结果如下所述:


  warning: gcc-3.4.4-2.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60eerror: Failed dependencies:


  glibc-devel 》= 2.2.90-12 is needed by gcc-3.4.4-2.i386Suggested resolutions:


  glibc-devel-2.3.4-2.13.i386.rpm


  这处显露在安装gcc编译器之前需求安装glibc-devel包的支持,这个包周密的版本是glibc-devel-2.3.4-2.13.i386.rpm,因为这个,我们需求先安装这个软件包。


  [root@server ~]# rpm -ivh glibc-devel-2.3.4-2.13.i386.rpm执行最后结果如下所述:


  warning: glibc-devel-2.3.4-2.13.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60eerror: Failed dependencies:


  glibc-headers is needed by glibc-devel-2.3.4-2.13.i386glibc-headers = 2.3.4-2.13 is needed by glibc-devel-2.3.4-2.13.i386Suggested resolutions:


  glibc-headers-2.3.4-2.13.i386.rpm


  这处又显露出来倚赖关系,上头的不正确提醒是说安装glibc-devel包需求先安装glibc-headers软件包,况且给出了安装提议版本,于是我们就先安装glibc-headers包。


  [root@server ~]# rpm -ivh glibc-headers-2.3.4-2.13.i386.rpm执行最后结果如下所述:


  warning: glibc-headers-2.3.4-2.13.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60eerror: Failed dependencies:


  kernel-headers is needed by glibc-headers-2.3.4-2.13.i386kernel-headers 》= 2.2.1 is needed by glibc-headers-2.3.4-2.13.i386Suggested resolutions:


  glibc-kernheaders-2.4-9.1.98.EL.i386.rpm


  依旧报错,信息与上表情同,意思是说在安装kernel-headers包之前,需求glibc-kernheaders包的支持,况且给出了提议版本,我们先安装glibc-kernheaders包。


  [root@server ~]# rpm -ivh glibc-kernheaders-2.4-9.1.98.EL.i386.rpm执行最后结果如下所述:


  warning: glibc-kernheaders-2.4-9.1.98.EL.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60ePreparing.。。 ########################### [100百分之百]


  1:glibc-kernheaders ###################### [100百分之百]


  这次倚赖终于去掉消除了,依照像反的顺着次序着手安装,下边显露安装步骤。


  [root@server ~]# rpm -ivh glibc-headers-2.3.4-2.13.i386.rpmwarning: glibc-headers-2.3.4-2.13.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60ePreparing.。。 ########################### [100百分之百]


  1:glibc-headers ######################## [100百分之百]


  [root@server ~]# rpm -ivh glibc-devel-2.3.4-2.13.i386.rpmwarning: glibc-devel-2.3.4-2.13.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60ePreparing.。。 ########################### [100百分之百]


  1:glibc-devel ######################## [100百分之百]


  [root@server ~]# rpm -ivh gcc-3.4.4-2.i386.rpmwarning: gcc-3.4.4-2.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60ePreparing.。。 ############################## [100百分之百]


  1:gcc ########################### [100百分之百]


  (3) 在上例中,假如我们在安装gcc第1步参加“--nodeps”参变量,gcc因为不查缉倚赖关系,即可安装成功:


  [root@server ~]# rpm -ivh gcc-3.4.4-2.i386.rpm –nodeps执行最后结果如下所述:


  warning: gcc-3.4.4-2.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60ePreparing.。。 ############################## [100百分之百]


  1:gcc ########################### [100百分之百]


  这处参加了疏忽倚赖关系的参变量,固然可以安装成功,不过我们不提议这样做,由于这么安装的软件很可能是不可以用的,还是运用过程中显露出来问题,错非我们晓得疏忽倚赖关系对软件本身没有影响的话,才可运用此参变量。


  (4)安装xxxxxx.src.rpm的办法,这处我们以my-package.src.rpm名字为例,在redhat linux i386平台下施行绍介,常用的有两种办法,操作步骤如下所述:


  办法一:


  1)执行rpm -i my-package.src.rpm


  2) cd /usr/src/redhat/SPECS


  3) rpmbuild -bp my-package.specs 一个和软件包重名的specs文件。


  4) cd /usr/src/redhat/BUILD/my-package/ 一个软件包重名的目次5) 。/configure 这一步和编译平常的的源码软件同样,可以加上参变量6) make7) make install


  办法二:


  1)执行rpm -i my-package.src.rpm


  2)cd /usr/src/redhat/SPECS


  前两步和办法一相同


  3)rpmbuild -bb my-package.specs 一个和软件包重名的specs文件。


  此时,在/usr/src/redhat/RPM/i386/ (这处的途径依据具体包的不一样,也有可能是i686、noarch等等)在这个目次下,有一个还是两个新的rpm包,这个是编译好的二进制文件。


  4)执行rpm -i new-package.rpm,安装完成。


  例如:利用xxxx.src.rpm款式的包安装rsh软件,操作办法如下所述:


  [root@localhost ~]# rpm -i rsh-0.17-25.3.src.rpm[root@localhost ~]#cd /usr/src/redhat/SPECS/rsh.spec[root@localhost SPECS]#rpmbuild -bb rsh.spec[root@localhost SPECS]# cd /usr/src/redhat/RPMS/i386/rsh-0.17-25.3.i386.rpmrsh-debuginfo-0.17-25.3.i386.rpm


  rsh-server-0.17-25.3.i386.rpm


  [root@localhost i386]#rpm -ivh rsh-*


  Preparing.。。 ############################ [100百分之百]


  1:rsh-server ########################## [ 33百分之百]


  2:rsh ############################## [ 67百分之百]


  3:rsh-debuginfo ######################## [100百分之百]


  [root@localhost i386]#


  2. 查问软件包


  指示款式:rpm -q [匡助选项] package1……packageN主选项解释明白:


  -q:query的意思,也可以运用“--query”。


  参变量解释明白:package1……packageN为已经安装的软件包名字。


  匡助选项解释明白:


  l -f:查问操作系统中某个文件归属哪一个对应的rpm软件包。


  例如:


  [root@localhost ~]# rpm -qf /bin/bash


  bash-3.0-19.2


  l -p:查问以“.rpm”为后缀的软件包安装后对应的包名字。


  例如:


  [root@server ~]# rpm -qp gcc-3.4.4-2.i386.rpmgcc-3.4.4-2从这处的查问可以获悉,“gcc-3.4.4-2.i386.rpm”安装到系统往后,对应的包名为gcc-3.4.4-2。


  l -l:显露软件包中的全部文件列表。此选项后面跟软件包安装后对应的包名,牢牢记住不是以“.rpm”为后缀的rpm包。


  例如:


  [root@server ~]# rpm –ql gcc-3.4.4-2


  /usr/bin/c89


  /usr/bin/c99


  /usr/bin/cc


  /usr/bin/gcc


  /usr/bin/gcov


  ………(以下省略)………


  l -i:显露软件包的纲要信息,例如软件名字、版本、适合平台、体积等等。此选项后面跟完整的包名,切实避免不是以“.rpm”为后缀的rpm包。


  例如:在获得一个软件,安装之前普通都需求看下软件包有啥子内部实质意义,可以运用以授命:


  [root@server ~]# rpm -qi gcc-3.4.4-2.i386还是运用[root@server ~]# rpm -qpi gcc-3.4.4-2.i386.rpm这处因为用到达“-p”选项,首先显露出了安装后的软件包名,所以“-i”选项后可跟“.rpm”结末的软件包。


  l -g:查问系统有哪一些软件包归属指定的门类,RPM工具依据软件功能的不一样,将软件分了众多品类,作别如下所述,括弧内为注解解释明白:


  Amusements/Games (娱乐/游戏)


  Amusements/Graphics(娱乐/图形)


  Applications/Archiving (应用/档案)


  Applications/Communications (应用/通讯)


  Applications/Databases (应用/数值库)


  Applications/Editors (应用/编辑器)


  Applications/Emulators (应用/仿真器)


  Applications/Engineering (应用/工程)


  Applications/File (应用/文件)


  Applications/Internet (应用/因特网)


  Applications/Multimedia (应用/多电视台)


  Applications/Productivity (应用/产品)


  Applications/Publishing (应用/印刷)


  Applications/System (应用/系统)


  Applications/Text (应用/文本)


  Development/Debuggers (研发/调整器)


  Development/Languages (研发/语言)


  Development/Libraries (研发/函数库)


  Development/System (研发/系统)


  Development/Tools (研发/工具)


  Documentation (说明事物的文章档)


  System Environment/Base (系统背景/基础)


  System Environment/Daemons (系统背景/看守保护)System Environment/Kernel (系统背景/内核)System Environment/Libraries (系统背景/函数库)System Environment/Shells (系统背景/接口)User Interface/Desktops (用户界面/桌面儿)User Interface/X (用户界面/X窗户)



 User Interface/X Hardware Support (用户界面/X硬件支持)例如:检查现时系统归属“研发/调整器”门类的包有若干,运用以授命:


  [root@server ~]# rpm -qg “Development/Debuggers”lsof-4.72-1.1crash-4.0-2


  sysreport-1.3.15-5


  ltrace-0.3.36-2.EL4


  strace-4.5.13-0.EL4.1


  valgrind-2.2.0-5.EL4


  valgrind-callgrind-0.9.9-1


  gdb-6.3.0.0-1.63


  pstack-1.2-6


  l -d:显露软件包中的说明事物的文章件列表,RPM将软件包中的文件分为三类,一类是配备布置文件,一类是说明事物的文章件,一类是可执行文件。后面跟完整的包名,切实避免不是以“.rpm”为后缀的rpm包。


  例如:检查file软件包中的说明事物的文章件,运用以授命:


  [root@server108 cicro]# rpm -qd file-4.10-2/usr/share/doc/file-4.10/LEGAL.NOTICE/usr/share/doc/file-4.10/README


  /usr/share/man/man1/file.1.gz


  /usr/share/man/man3/libmagic.3.gz


  /usr/share/man/man5/magic.5.gz


  l -s:与“-l“选项大致相似,除开显露软件包中的全部文件列表信息,并且还显露每个文件的状况。RPM已安装的软件包中各个文件领有四种状况,作别是normal(正常状况,表达文件没有被其他软件包改正过)、not installed(未安装状况,表达文件没有安装)、replaced(已调换状况,表明此文件已经被其他软件包改正调换过了)、net shared(网络共享状况,表达此文件处于网络共享状况)。


  例如:检查ipvsadm-1.24-6包中每个文件的状况,运用以授命:


  [root@localhost ~]# rpm -i --excludedocs ipvsadm-1.24-6.i386.rpm[root@localhost ~]# rpm -qs ipvsadm-1.24-6normal /etc/rc.d/init.d/ipvsadmnormal /sbin/ipvsadm


  normal /sbin/ipvsadm-restore


  normal /sbin/ipvsadm-save


  not installed /usr/share/doc/ipvsadm-1.24not installed /usr/share/doc/ipvsadm-1.24/READMEnot installed /usr/share/man/man8/ipvsadm-restore.8.gznot installed /usr/share/man/man8/ipvsadm-save.8.gznot installed /usr/share/man/man8/ipvsadm.8.gz从上头可以看见,我们在安装ipvsadm-1.24-6.i386.rpm的时刻指定不安装说明事物的文章档,而后经过“-s”指示检查文件状况时,软件包的说明事物的文章档状况均为“not installed”。


  l -R (或--requires):显露软件包所需的功能,所说的功能,可以是软件包标识,也可以是共享动态库文件等等,软件包的倚赖关系就是有赖功能来成功实现的,假如所需的功能不存在,则倚赖关系一定得不到满意,软件安装便会败绩。


  l --provides:显露软件包供给的功能,这个功能可以是动态库文件,也可以是虚拟软件的包名等等。


  例如:检查nxclient-2.1.0-17.i386.rpm供给的功能,运用以授命:


  [root@localhost ~]# rpm -qp --provides nxclient-2.1.0-17.i386.rpmnxclient = 2.1.0-17可以看见这个软件供给了nxclient的功能。


  3. 证验软件包


  证验已经安装的软件包


  校验软件包比较的是某软件包安装的文件和原始软件包中的同一文件的信息是否完全一样。它校验每个文件的体积、职权范围、MD5 值、类型、全部者、以及组群。


  指示款式:rpm -V [匡助选项] package1……packageN主选项解释明白:


  -V:verify的意思,也可以用“--verify”接替。此参变量主要校验已经安装的软件包内的文件和起初安装时是否完全一样。


  参变量解释明白:package1……packageN 表达需求校验的且已经安装的软件包名。


  匡助选项解释明白:


  l -p:证验软件包文件


  例如:下边是证验rsh包的安装状况,操作过程如下所述:


  [root@localhost ~]# rpm -V rsh-0.17-25.3


  package rsh-0.17-25.3 is not installed


  [root@localhost ~]# rpm -Vp rsh-0.17-25.3.i386.rpmwarning: rsh-0.17-25.3.i386.rpm: V3 DSA signature: NOKEY, key ID db2a6emissing /usr/bin/rcpmissing /usr/bin/rexec


  missing /usr/bin/rlogin


  missing /usr/bin/rsh


  missing d /usr/share/man/man1/rcp.1.gz


  missing d /usr/share/man/man1/rexec.1.gzmissing d /usr/share/man/man1/rlogin.1.gzmissing d /usr/share/man/man1/rsh.1.gz[root@localhost ~]# rpm -ivh rsh-0.17-25.3.i386.rpmwarning: rsh-0.17-25.3.i386.rpm: V3 DSA signature: NOKEY, key ID db2a6ePreparing.。。 ########################### [100%]


  1:rsh ######################## [100%]


  [root@localhost ~]# rpm -Vp rsh-0.17-25.3.i386.rpmwarning: rsh-0.17-25.3.i386.rpm:V3 DSA signature: NOKEY, key ID db2a6e[root@localhost ~]# rpm -V rsh-0.17-25.3#上头操作中,我们首先证验rsh,可以晓得rsh没有在系统中安装,继续我们安装了rsh软件包,再次检查rsh包状况时,没有不论什么输出了,表达软件包文件所有正常。


  l -f:校验文件在隶属的软件包的状况,此选项后面跟相应的文件名。


  例如:查缉mysqlclient包中各个文件的状况,我们的操作如下所述:


  [root@localhost ~]# rpm -ql mysqlclient10-3.23.58-4.RHEL4.1/etc/ld.so.conf.d/mysqlclient10-i386.conf/usr/lib/mysql/libmysqlclient.so.10/usr/lib/mysql/libmysqlclient.so.10.0.0


  /usr/lib/mysql/libmysqlclient_r.so.10


  /usr/lib/mysql/libmysqlclient_r.so.10.0.0[root@localhost ~]# mv 》/usr/lib/mysql/libmysqlclient.so.10 /usr/lib/mysql/libmysqlclient.so.10.d[root@localhost ~]# rpm –V mysqlclient10-3.23.58-4.RHEL4.1missing /usr/lib/mysql/libmysqlclient_r.so.10[root@localhost ~]# rpm -Vf /usr/lib/mysql/libmysqlclient_r.so.10missing /usr/lib/mysql/libmysqlclient_r.so.10#这处我们首先查缉了mysqlclient包中里面含有的全部文件,而后摹拟删去mysqlclient包中一个文件,而后检查这个文件的状况,可以看见显露为“missing”,假如我们经过“-Vf”选项查缉某个文件,没有不论什么输出时,表达这个文件状况正常。


  l -a:检查验看全部的软件包。


  l -g:检查验看全部归属组的软件包。


  证验未安装的软件包文件


  发行的RPM款式的软件包是否值当相信,是否毁坏,我们可以经过RPM供给的选项施行证验。RPM软件包普通运用 Gnu 隐私卫士(或称 GPG)来写名字,因此帮忙运用者肯定下载软件包的可相信性。


  指示款式:rpm -K file1.rpm……fileN.rpm


  主选项解释明白:


  -K: checksig的意思,也可以用“--checksig”接替。这个选项用来查缉 RPM 软件包文件的md5校验和GPG写名字。


  参变量解释明白:file1.rpm……fileN.rpm表达需求校验软件包名。


  例子:假如想要校验某个软件包是否被窜改还是是否毁坏,可以运用如下所述指示查缉:


  [root@localhost ~]# rpm -K nxserver-2.1.0-22.i386.rpmnxserver-2.1.0-22.i386.rpm: md5 OK这处的“md5 OK”表达文件在下载中没有被毁坏还是没有被窜改。即这个文件是安全的。


  [root@localhost ~]# rpm -K ipvsadm-1.24-6.i386.rpmipvsadm-1.24-6.i386.rpm: (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: GPG#443e1821)上头的输出表达这个软件没有被权力委托写名字,在安装未被linux发行商权力委托的软件包时,请必须小心,由于这些个软件包内有可能里面含有有害的代码。


  4. 更新软件包


  指示款式:rpm -U [匡助选项] file1.rpm……fileN.rpm主选项解释明白:


  -U:upgrade的意思,可以运用“--upgrade”接替。


  参变量解释明白:file1.rpm……fileN.rpm表达需求升班的rpm文件包。


  匡助选项解释明白:


  --oldpackage 表达准许“升班”到一个老版本,即软件版本降级。


  其他选项与安装RPM软件包匡助参变量绝对相同,这处不再讲评。


  例子:我们将rsh从rsh-0.17-25.3升班到rsh-0.17-37.el5,步骤如下所述:


  [root@localhost ~]# rpm -q rsh


  rsh-0.17-25.3


  [root@localhost ~]# rpm -Uvh rsh-0.17-37.el5.i386.rpmwarning: rsh-0.17-37.el5.i386.rpm: V3 DSA signature: NOKEY, key ID 37017186Preparing.。。 ######################### [100百分之百]


  1:rsh ########################### [100百分之百]


  [root@localhost ~]# rpm -q rsh


  rsh-0.17-37.el5


  5. 删去软件包


  指示款式:rpm -e [匡助选项] package1……packageN主选项解释明白:


  -e:erase的意思,也可以用“--erase”接替。


  参变量解释明白:package1……packageN表达已经安装的软件包名字。


  匡助选项解释明白:


  l --test:只执行删去的测试。


  l --nodeps:不查缉倚赖性。


  举例:


  (1) 删去rsh软件包,运用以授命:


  [root@localhost ~]# rpm -q rsh


  rsh-0.17-37.el5


  [root@localhost ~]# rpm -e rsh-0.17-37.el5[root@localhost ~]# rpm -q rshpackage rsh is not installed


  (2)删去gcc软件包,不过存在倚赖关系,操作过程如下所述:


  [root@server ~]# rpm -e gcc


  error: Failed dependencies:


  gcc = 3.4.4-2 is needed by (installed) gcc-c++-3.4.4-2.i386gcc = 3.4.4-2 is needed by (installed) gcc-g77-3.4.4-2.i386gcc = 3.4.4-2 is needed by (installed) gcc-java-3.4.4-2.i386gcc = 3.4.3 is needed by (installed) li变态ool-1.5.6-4.EL4.1.i386gcc is needed by (installed) systemtap-0.4-0.EL4.i386这处又显露出来了删去倚赖性了,依据上头的提醒可知,要删去gcc软件包,务必删去与gcc互相倚赖的五个软件包,这个操作要十分谨慎认真,错非晓得删去后对系统没有影响,否则一定不要认识不清执行删去操作,由于这么有可能造成系统的解体。


  实际上我们也可以参加“--nodeps”参变量,疏忽倚赖关系,不过这么有可能会造成有关倚赖软件的不可以用。


  三、二进制软件安装形式


  Linux下二进制款式的软件是指事前已经在各种平台编译安装好有关软件,而后压缩打包,在安装时只需解压还是执行安装可执行文件即可。这种软件发行款式大致相似与windows系统,这么做的端由是尽力照顾源代码手续错误外泄漏,尽力照顾知识产权。二进制软件包的长处是安装简单、容易,欠缺是匮缺灵活性,相应的软件包执行在对应平台下安装,离去这个背景软件就没有办法运行。


  二进制软件包供给了众多类型的打包形式,最常见的就是我们上节讲到的RPM款式的包,还有以“*.tar.gz、*.tgz、*.bz2“等方式的二进制软件包,最终还有一个就是供给安装手续施行安装的二进制软件包。下边作别绍介:


  3.1 安装“*.tar.gz、*.bz2”二进制软件包


  这种款式的软件包,安装实际上就是简单的解压过程,依据不一样的软件打包款式,我们用相应的解压指示解压即可。


  对于*.tar.gz软件款式解压:tar –zxvf xxxxxx.tar.gz对于*.bz2软件款式解压: tar -jxvf xxxxxx.tar.gz这类软件的卸载,对于解压后只有纯一目次的软件,可以直接删去对应软件目次即可,假如解压后文件散布在几个目次中,需求一一手动删去目次。


  例如:我们常用的应用服务器器皿tomcat软件就是基于这种打包压缩款式发行的。我们只需下载后解压即可完成安装,假如需求卸载,直接删去对应的tomcat目次即可。


  3.2 供给安装手续的软件包


  这种软件包都供给了安装脚本代码还是安装向导手续,只需在下载此类软件包后解压,而后进入了安装目次,找到大致相似的setup、install、install.sh什么的的可执行文件运行即可,而后依据提醒(譬如安装途径,参变量设置等等)施行相应的设置,继续安装就半自动完成。


  这类软件的卸载也供给了相应的卸载脚本代码还是卸载向导,依据提醒即可完成软件卸载。


  例如:常常运用的sun jdk就是这种安装形式,从网络下载下来的jdk是个二进制可执行文件,首先设置文件的可执行职权范围(例如chmod 755 jdk1.6.0_07.bin,职权范围操作本著作后面面会有周密讲评) ,而后运行软件(也即是。/ jdk1.6.0_07.bin)即可完成安装。安装完成会在现时目次萌生一个对应的jdk手续和目录录。


  Linux下一点大型的软件安装,譬如weblogic、oracle等软件都供给了安装向导手续,用户可以依据安装提醒,没有遇到困难完成此类软件的安装。


  上头就是Linux系统安装软件的办法绍介了,假如你习性了windows系统,那末在运用Linux系统的时刻若干会有点不舒服应,习性后安装Linux软件也没有那末难了。

标签 Linux
分享到:

其他版本软件

人气教程排行

Win7系统推荐