Linux软件包安装2——基于red hat系列的rpm命令安装及apache简单搭建httpserver

rpm命令管理html

rpm包是基于red hat系列的二进制安装包。常见的red hat系列的有red hat enterprise LinuxcentosfedoraLinux发行版本node

首先介绍一下rpm包的命名方式:apache

httpd-2.2.15-39.el6.centos.i686.rpmcentos

 

在介绍Linuxrpm命令以前,先说明两个概念:浏览器

包全名:相似于上述的完整的命名方式 httpd-2.2.15-39.el6.centos.i686.rpmspa

包名:httpd.net

 

1.rpm安装、升级、卸载3d

rpm安装rest

rpm -ivh 包全名htm

-i install 安装
-v verbose 详细信息
-h hash 进度

--nodeps 不检测依赖性(不用)

 

rpm升级
rpm -Uvh 包全名

-Uupgrade

 

rpm卸载
rpm -e 包名
-eerase

注意:不检测依赖性通常不会用到该选项,若是在安装软件包时不检测依赖性,软件包会安装不完整,甚至安装失败

rpm升级须要升级的安装包


2.rpm查询


查询软件包是否安装
rpm -q(query) 包名
rpm -qa 查询全部已安装包

 

查询包详细信息

软件包的信息是在建立软件包的时候写入的,因此已安装包的信息和未安装包的信息皆可查询
rpm -qi  包名   查询以安装包的详细信息
rpm -qip 包全名的绝对路径 查询未安装包的详细信息

 

查询包中文件的安装位置
各文件安装位置是默认的(构建文件时肯定的),因此已安装包和未安装的文件皆可查询,手工指定安装位置会形成管理的不方便
rpm -ql  包名   查询已安装包文件的安装位置
rpm -qlp 包全名的绝对路径 查询未安装包文件会安装的位置


查询系统文件属于哪一个rpm
rpm -qf 系统文件名(必须经过软件包安装出现的文件)


查询软件包的依赖性
rpm -qR   包名    查询已安装包的依赖文件
rpm -qRp  包全名的绝对路径  查询未安装包的依赖文件


注意:查询软件包的信息只能经过rpm命令查询,yum查询不完整

 

这里简单介绍一下关于文件依赖的内容

所谓的软件包安装以来指的是在安装软件包a的时候须要软件包b,这时候就说软件包a依赖于软件包b

常见的依赖形式:

A)树形依赖 a->b->c

B)环形依赖 a->b->c->a 

C)库依赖

树形依赖安装软件包a,先安装软件包c,在安装软件包b,最后安装软件包a

环形依赖,同时安装软件包abc

库依赖:所谓的库依赖指的是软件包中的某一个库被另外一个软件包所依赖,关键在于查找库所在的软件包,能够经过www.rpmfind.net查询

下面经过安装Linux下的apache来简单介绍rpm包的安装:

首先查询httpd包是否安装


安装httpd


这样才装的比较完整,你可能会发现没有出现依赖关系,那是由于我以前已经装过一次httpd,将全部的依赖关系已经解决,下面安装带有依赖关系的包



去www.rpmfind.net查找




安装库文件所在包再一步步安装便可。


3.rpm命令管理-校验和文件提取
rpm -V 包名
如今状态与原始安装状态比较

若是没有发生变化,命令不会有响应

若发生变化,会有信息提示

验证内容中的8个信息的具体内容以下:

uS  文件大小是否改变

u文件的类型或文件的权限(rwx)是否被改变

u5  文件MD5校验和是否改变(能够当作文件内容是否

改变)

uD  设备的中,从代码是否改变

uL  文件路径是否改变

uU  文件的属主(全部者)是否改变

uG  文件的属组是否改变

uT  文件的修改时间是否改变

4.rpm包中文件提取(主要用做误操做,文件修复)
若是某个系统文件被误删除,能够查询该系统文件在哪个安装包中,一种方式是直接从新安装该软件包覆盖,另外一种方式是从该软件包中提取误删除的文件到当前目录,在拷贝到原目录
例如 误删除/bin/ls,则ls命令无法使用

此时能够查询/bin/ls所在的软件包,而后从相应的软件包中提取,再放到相应的位置便可

 



既然已经安装好了apache,那么就来简单搭建一个httpsever

首先开启httpd



httpd开启成功,添加html文件到apache的默认发布目录

 

把防火墙禁用

iptables -F

而后重启httpd

/etc/init.d/httpd restart

而后在同网段的浏览器中输入192.168.110.2便可访问到index.html了