升级安装软件包linux代码,Linux(cent OS)下软件包管理-rpm命令管理-包命名与依赖性/安装升级与依赖/查询/校验与文件提取...

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

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

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

debian、Ubanto:dev包。

Linux下的安装包分为

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

脚本安装包:install.sh,

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

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

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

包的依赖性示例:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

查找依赖包:

0818b9ca8b590ca3270a3433284dd417.png

然后就会出现下面的:

0818b9ca8b590ca3270a3433284dd417.png

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

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

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

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

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

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

先装主包:

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

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

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

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

RPM包的查询方式:

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

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

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

从install Date里可以看到not installed。

0818b9ca8b590ca3270a3433284dd417.png

查询安装位置:

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png0818b9ca8b590ca3270a3433284dd417.png

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

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

0818b9ca8b590ca3270a3433284dd417.png

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

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

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

查询未安装包的依赖性:

先进目录:

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

校验与文件提取:

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

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

修改过的:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

其中 c 是文件类型,:

0818b9ca8b590ca3270a3433284dd417.png

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

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值