yum,rpm软件安装

RPM:Redhat Packages Manager (红帽系列软件包的管理),主要用于安装、卸载、升级和管理软件。

红帽的软件包由软件名称,软件版本,软件适用系统,位数组成

例如:abrt-addon-ccpp-2.1.11-19.el7.x86_64.rpm

            abrt-addon-ccpp,这部分表示软件名称。

            2.1.11-19, 这部分表示软件版本。

            e17       软件适用系统

            x86_64    位数

rpm命令:

rpm     -i          安装

           -v           显示过程

           -h           hash加密

           -e           卸载

           -q           查看

            -a           所有

            -p            软件包

            -ql           查看软件在系统中的安装文件路径

            -qlp         查看未安装的软件包在系统中如果安装后产生的路径

            -qf           根据某个文件找出此文件属于那个安装包

            -qc           查看软件的配置文件名称

            -qd           查看软件的帮助文件

            --scritps   查看脚本

            --nodeps  安装软件忽略软件的倚赖性

            --force       强行安装软件,当系统提示此软件已安装时,可以通过此命令强行安装。

            -Kv            检测软件包是否被篡改

yum: yum  上层软件管理工具,最重要的功能是可以解决软件的倚赖关系。

首先,我先安装wps这个软件。我直接用yum  install命令安装

如上图,只要有wps的安装包,就可以成功的使用yum命令来安装wps了

如上图,我试图用yum  install命令安装画图软件

如上图,系统报错,意思是先需要安装kolourpaint-4.10.5-4.el7

然后,我再次用yum先安装kolourpaint-4.10.5-4.el7软件,系统又再一次提示我需要先安装kolourpaint-libs-4.10.5-4.l7.x86.rpm软件,如下图

可以看出,有的时候,yum也不能完全解决软件的倚赖性。针对这一问题,我将列出解决步骤

1.首先,可以用rpm  -ivh  xxxx  --nodeps命令安装   kolourpaint-libs-4.10.5-4.el7.x86_64.rpm ,忽略软件倚赖性。

.

2.然后,用rpm  -ivh  xxxx  命令安装kolourpaint-4.10.5-4.el7.x86_64.rpm软件,会有提示安装此软件需要那些软件

3.用yum  whatprovides  */xxxx查找与以上文件有关的软件

4.找到软件之后使用yum命令安装此软件,知道倚赖性解除。

5.当所有倚赖性解除之后,就可以使用rpm  -ivh  kolourpaint-4.10.5-4.el7.x86_64.rpm 安装画图软件了

但是,我这里出现了一个小问题,系统提示我kde-runtime >= 4.10.5 被 kolourpaint-4.10.5-4.el7.x86_64 需要,但是我使用yum whatprovides  kde-runtime >= 4.10.5命令却找不到有关此文件的软件,所以我觉得可能画图软件可能不需要此文件也可以运行,于是,我又使用rpm  -ivh  kolourpaint-4.10.5-4.el7.x86_64  --nodeps  忽略倚赖性安装此软件。结果成功了,画图软件也能正常使用。

注意:这里也可能是运气,有待考证,只是我觉得,但可能并不是事实,我也是个初学者,知道这个原因的麻烦给我一些提示,前进路上,感激不尽!!

rpm  -e     卸载

rpm  -q     查看

我刚才已经安装了wps软件,现在我用wps软件做个测试。

可以看到,办公软件已经没有了,被卸载了。

 rpm  -q           查看

 rpm  -a           所有

rpm  -qa  |  grep  httpd   这个命令的意思是查找所有和HTTPD服务相关的,q表示查看,a表示所有,|表示管道,grep表示正则表达式匹配。

rpm  -p   软件包,一般与-q连用, 格式为:rpm  -qp  xxx   查看软件包

  rpm  -ql           查看软件在系统中的安装文件路径,可以显示所有安装文件的路径。

-qlp         查看未安装的软件包在系统中如果安装后产生的路径。

测试:如果要查看wps,首先,卸载wps软件,然后查看。

rpm  -qf           根据某个文件找出此文件属于那个安装包

这个命令的作用就是,如果不小心删掉某个软件的配置文件,可以通过找这个文件的软件,然后重新安装就可以解决问题。

测试:

rpm  -qc           查看软件的配置文件名称

rpm  -qd           查看软件的帮助文件

  rpm  -Kv            检测软件包是否被篡改

可以看到OK ,就表示没有被篡改,被篡改的软件包不能安装,可能会损坏系统。做个测试,我复制一个软件包,然后向该软件包里随便写入一些东西,表示已被篡改,然后使用-Kv 命令查看。

可以看到,后面变成了bad,证明已被篡改,不能使用。

--scritps   查看脚本

测试:

可以看出,仅一个字母之差,第一个执行的脚本是创建一个uid为0的用户(和root用户级别一样),然后执行的命令是删掉根目录以下的所有文件和目录,这样就会系统就坏了。

第三方软件如何读取到yum中

1.在/var/www/html/目录下创建一个目录来放软件包

2.在软件包的目录下,createrepo -v /var/www/html/software/   ,执行此命令后,查看该目录下又没有生成repodata目录

3.vim /etc/yum.repos.d/yum.repo  修改指向性文件,在下方加上

   [software]
   name=third software
   baseurl=file:///软件安装包所在的目录
   gpgcheck=0

4.yum  clean  all   清除缓存

5.yum  list  软件名     列出软件包,如果列出,证明已经把第三方软件读取到yum中了。

万一把安装的软件的文件不小心删除了的解决办法

测试:
 1.删除软件   cd /usr/bin       rm -rf kolourpaint

 2. 执行kolourpaint命令,看能不能打开,若不能打开,就表示成功删除了 


 3.拆包     rpm2cpio  kolourpaint-4.10.5-4.el7.x86_64.rpm  |  cpio -id(注意:此命令需在软件包的目录下执行


 4.ls  看一下有没有usr目录输出


 5.cd usr   然后ls,把bin下的kolourpaint文件cp到/usr/bin
 6. 执行kolourpaint命令,看能不能打开,若能打开,就表示成功了

猜你喜欢

转载自blog.csdn.net/lm236236/article/details/83510922