博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 软件管理方式
阅读量:4121 次
发布时间:2019-05-25

本文共 1978 字,大约阅读时间需要 6 分钟。

linux系统中软件的安装,升级,卸载

centos软件管理方式:

二进制文件(注意兼容问题)

源代码编译安装,

软件管理器rpm

软件管理器前段工具yum

软件包组成:

二进制文件:/bin /usr/bin...

库文件:/lib  /usr/lib  (头文件 /usr/include)

配置文件:/etc

帮助文件:手册, README, INSTALL (/usr/share/doc/)

1 软件管理器

软件包管理器内部有一个数据库,其中记载着程序的基本信息,校验信息,程序路径信息等。一个 RPM 包包含了已压缩的软件文件集以及该软件的内容信息(在头文件中保存),通常表现为以 .rpm 扩展名结尾的文件,例如 package.rpm 。对其操作,需要使用 rpm 命令。

安装rpm包

rpm -ivh package.rpm

升级 RPM 包命令

# rpm -Uvh package.rpm

卸载 RPM 包命令

rpm -ev package

查询 RPM 包中包含的文件列表命令

rpm -qlp package

查询 RPM 包中包含的内容信息命令

# rpm -qip package

查询系统中所有已安装 RPM 包

rpm -qa

查询包的依赖关系

rpm -qR

使用 --nodeps 辅助参数,则安装过程将不理会依赖性关系限制,强制安装目标包,如

rpm -i --nodeps package_a.rpm

RPM 中的默认安装规则是不允许同一个包多次安装的,也不允许降级安装。使用 --force 辅助参数将不考虑以上因素,强制安装 RPM 包。但是,--force 无法强制安装一个不满足系统依赖性关系的包 ( 此时需要用到 --nodeps 参数 ) 。使用方法如:

rpm -i --force package_a.rpm

查询系统中已经安装的某个文件属于哪个 RPM 包

rpm -qf xxx  返回信息 : xxx-8.5-20081211.1920

RPM 包的安装时间

rpm -qa --last 返回信息 : 系统中所有软件的安装时间

2 软件包依赖性关系

由于开源的多态性,Linux 操作系统中的软件之间的依赖性关系处理一直令用户感到头疼。如果 package_a 依赖于 package_b,那么在一个没有安装 package_b 的系统中,package_a 是不被系统推荐安装的,强制安装很可能会导致软件无法正常工作。基于以上 package_a 和 package_b 的关系,在一个干净的系统中 ( 未安装 package_a 或 package_b),欲安装 package_a,错误通常会表现为:

rpm -ivh package_a.rpm

 error: Failed dependencies:

        pacakge_b = version info is needed by package_a

查询软件包依赖关系

rpm -qRp package_a.rpm

嵌套的依赖关系

如上示例为最理想的依赖关系,实际应用中往往最令用户头疼的是 package_a 依赖于 package_b/c/d/e/f 等多个包 , 而 package_b/c/d/e/f 等包又依赖于 package_b1,b2,b3/c1,c2/d1,d2/e1,e2/f1,f2 等等 ... ... 为保证软件的正常使用,必须找到所有依赖包以及子依赖包并且安装。过多的依赖关系大大降低了 Linux 软件安装的用户友好性。所以针对此类问题,使用了更高级的包管理策略去解决 - Yum/APT 。

3 yum在线升级

YUM 基于 RPM 包管理工具,能够从指定的源空间(服务器,本地目录等)自动下载目标 RPM 包并且安装,可以自动处理依赖性关系并进行下载、安装,无须繁琐地手动下载、安装每一个需要的依赖包。此外,YUM 的另一个功能是进行系统中所有软件的升级。如上所述,YUM 的 RPM 包来源于源空间,在 RHEL 中由 /etc/yum.repos.d/ 目录中的 .repo 文件配置指定

安装指定软件 

yum -y install package-name

列出系统中可升级的所有软件

yum check-update

升级指定软件

yum update package-name

列出系统中已安装软件

yum list installed 

在升级过程中接受所有互动问答

yum -y update

卸载指定软件

yum remove package-name

查询软件包信息,列出依赖

yum info package

yum deplist package

搜索包

yum search

 

参考

转载地址:http://vgspi.baihongyu.com/

你可能感兴趣的文章
Node.js-模块和包
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
PHP 7 的五大新特性
查看>>
深入了解php底层机制
查看>>
PHP中的stdClass 【转】
查看>>
XHProf-php轻量级的性能分析工具
查看>>
OpenCV gpu模块样例注释:video_reader.cpp
查看>>
OpenCV meanshift目标跟踪总结
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
听说玩这些游戏能提升编程能力?
查看>>
如果你还不了解 RTC,那我强烈建议你看看这个!
查看>>
沙雕程序员在无聊的时候,都搞出了哪些好玩的小玩意...
查看>>
Mysql复制表以及复制数据库
查看>>
Linux下SVN客户端使用教程
查看>>
Linux分区方案
查看>>
如何使用 systemd 中的定时器
查看>>
git命令速查表
查看>>
linux进程监控和自动重启的简单实现
查看>>
OpenFeign学习(三):OpenFeign配置生成代理对象
查看>>