热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux(centOS)下软件包管理rpm命令管理包命名与依赖性/安装升级与依赖/查询/校验与文件提取

Linux下大部分软件是c写的,但跟Windows上的不一样,需要专门开发Linux版。Linux的系统主要分为两大类,redhat&#

Linux下大部分软件是c写的,但跟Windows上的不一样,需要专门开发Linux版。

Linux的系统主要分为两大类,

redhat:cent OS就是redhat,用的包是RPM包。

debian、Ubanto:dev包。

Linux下的安装包分为

源码包:直接可以看到c代码的文件,但安装执行比较慢,因为需要现场进行编译。没有卸载,直接删除目录。

脚本安装包:install.sh,

二进制包:RPM包,是已经编译好的,也就是  0和1  。安装快,但是看不到源代码。










源码包就相当于自己动手打家具,二进制包参照安装说明装家具。



rpm一定要注意包名和包全名的应用场合!


包的依赖性示例:




查找依赖包:


然后就会出现下面的:


这里,如果装centos 5.10 for i386就需要依赖第一个那个包。


如果需要依赖关系,且依赖比较复杂,需要模块化依赖的时候,拆分模块是比较麻烦的,

这时候就可以用后面的yum安装。yum是专门用来解决依赖性的。



用rpm -ivh 加RPM安装包的全名就可以安装。

只有在安装和升级的时候才用包全名。如果在查询的和卸载时候是未安装的包也应该是全名。




Linux支持tab键,但Solaris不支持,Solaris是Unix。


在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种。下面针对每一种方法各举例来说明。ubuntu与dibian是一类。


Solaris

3、patch软件包的安装 
每个补丁都有编号。例如补丁号为101945,版本是34的话,这个补丁的目录名就是101945-34. 
# patchadd 105160-01 安装补丁 
# patchrm 删除补丁 
# patchadd -p 检查系统的补丁情况 
# showrev -p 查看所有已经安装的patch 


先装主包:


下面这个.so.o的文件就是模块依赖了,需要到上面的网站上去找。注意安装的时候虽然依赖性里只给了名字提示,但全名可以通过  tab  键来获得。


卸载的时候只要包名就可以了,因为它回去系统里找。


这就卸载了,为什么不依赖性了?因为没有装后面的依赖性包。不必深究,后面有yum解决这个问题。


www.rpmfind.net在这个网站的search里查找需要的安装的包应该是安装那个包即可。因为需要安装的包系统提示里并没有,

所以到这个网站上找它对应的包安装上即可。


rpm包可以通过命令或者更方便的yum安装,但查询只能通过rpm命令来查询:

RPM包的查询方式:


因为是在数据库中查找安装包,所有不需要一定进入安装目录。


查找所有httpd的安装包,即所有Apache的安装包:



上图下面的一条是查询包的相关信息,这些信息是在包安装的时候就组建好了。



这些信息是在组建生产包的时候就已经写好。所以可以查没有安装的包信息:

从install Date里可以看到not installed。



查询安装位置:



列出了这么多,虽然有些不带httpd但也是Apache安装的文件:


可以查询未安装的包,将要安装的目录,因为这些信息如同上面讲的都是在组建包的是创建好的:



根据文件名查询它是属于哪个包:



这些文件必须是通过包装出来的,否则找不到,例如log文件手动创建的文件是查不到的。

这个yum.conf就是在上面  ls  出来的,是安装 httpd 的时候安装的。



操作未安装的包时要用绝对路径。

查询未安装软件包的依赖性:(这个好)



查询已经安装包的依赖性:



查询未安装包的依赖性:

先进目录:


下面就是安装这个包时依赖的文件:


校验与文件提取:

可以验证有没有人偷偷动你的文件。


没有任何信息就是没动过:


修改过的:



其中 c 是文件类型,:



用于误删除等的恢复或者修复等:







这是提取到了本目录下的   /bin/ls   下,需要复制到相关目录下  /bin   才能使用.




推荐阅读
author-avatar
qs08y602lt
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有