Linux软件安装——软件包分类、RPM包管理
1、软件包分类:
(1)源码包:
优点:开源,即用户可以看到源代码,用户可以修改源代码;可以自由选择所需的功能;软件是编译安装,效率更高。
缺点:需要手动安装,安装慢。
(2)二进制包(RPM包、系统默认包):
缺点:编译之后的包,不能看到源代码;功能选择不够灵活;依赖性(卸载安装有严格顺序)。
优点:不需要手动安装,安装速度快;包管理系统简单(安装、卸载、升级、验证等)
2、RPM包管理——命令管理方式
(1)RPM包命名规则:


noarch:适用于任何的硬件平台。
name:表示包的名称,包括主包名和分包名,如:httpd
version:表示包的版本信息,如:2.2.6
release:用于标识rpm包本身的发行号,可还包含适应的操作系统
arch:表示主机平台
发行号:如:1
(2)RPM包依赖:

第一个为树形依赖,第二个为环形依赖。在树形依赖中,必须先安装软件包c,再安装软件包b最后安装软件包c,而卸载过程则正好相反。
由于依赖性的存在,使得安装卸载过程变得较为复杂,但是能够解决。
(3)模块依赖
a、挂载:

b、进入文件夹:


c、进入Packages目录,执行ls命令:

所有的RPM包都被查询了出来。
e、安装:

安装时存在模块依赖,依赖于libodbcinst.so.2 ,可以通过yum在线管理的方式解决。
3、RPM包管理——yum在线管理
(1)包全名与包名:
包全名:操作的包是没有安装的软件包,使用的是包全名。
包名:操作的是已经安装的软件包,实际上是搜索/var/lib/rpm/中的数据库。

这些文件都是二进制文件,不能用vim来查看。
(2)RPM包的安装:
a、先检验光盘是否已经挂载:

没有挂载的话先挂载:

挂载成功:

b、查看rpm包:
进入到mnt的cdrom目录下的Packages目录进行查看:

c、安装:
rpm -ivh 包全名
选项:
-i (install) 安装
-v (verbose) 显示详细信息
-h (hash) 显示进度
--nodeps 不检测依赖性(不允许使用)

d、升级:
rpm -Uvh 包全名
选项:
-U (upgrade) 升级
e、卸载:
rpm -e 包名
选项:
-e (erase)卸载
--nodeps 不检测依赖性(不允许使用)
f、查询:
rpm -qa
# 查询所有已经安装的RPM包
选项:
-a 所有(all)
g、验证:
rpm -V +软件包名
YUM:基于RPM包管理,能够直接从服务器自动下载RPM包并安装,可以自动处理依赖关系,并且一次安装所有的依赖软件包。
安装软件包:
yum install +包的名字
Linux软件安装——软件包分类、RPM包管理的更多相关文章
- Linux软件安装——软件包
Linux软件安装——软件包 摘要:本文主要学习了Linux下软件安装的相关知识. 软件包 简介 Linux下的软件包众多,且几乎都是经GPL授权.免费开源(无偿公开源代码)的.这意味着如果你具备修改 ...
- Linux软件安装方式 - Tarball&RPM&YUM
软件安装 简介 概念详解 # 概念详解 - 开放源码: 程序码, 写给人类看的程序语言, 但机器并不认识, 所以无法执行; - 编译器: 将程序码转译成为机器看的懂得语言, 就类似翻译者的角色; - ...
- linux下安装rabbitmq的rpm包问题记录
安装rabbitmq的文章和帖子多如牛毛,不管是官网还是各个博客,这里附个Rabbitmq官网安装Rpm包的链接, http://www.rabbitmq.com/install-rpm.html 不 ...
- linux 下安装chrome的rpm包
1. 下载chrome的rpm包,假设叫cho. 2.执行命令 rpm -ivh cho 3.报错提示需要lsb>=4.0,执行命令 yum install lsb 等待安装完毕. 4. 重新执 ...
- Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)
apt list *python* Nosee123关注赞赏支持 Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...
- Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...
- Linux软件安装管理:rpm与yum
目录 1. rpm包的管理 1.1 介绍 1.2 rpm包的简单查询指令 1.3 rpm 包名的基本格式 1.4 rpm其它指令 1.5 卸载rpm包 1.6 安装rpm包 2. yum 2.1 说明 ...
- Linux软件安装管理
1.软件包管理简介 1.软件包分类 源码包 脚本安装包 二进制包(RPM包.系统默认包) 2.源码包 源码包的优点是: 开源,如果有足够的能力,可以修改源代码 可以自由选择所需要的功能 软件设计编译安 ...
- Linux软件安装——服务管理
Linux软件安装——服务管理 摘要:本文主要学习了Linux中有关服务管理的知识. 什么是服务 服务一般是放置在后台运行的一个或多个进分程,为用户或系统提供某项特定的服务,有些是系统服务,有些则是独 ...
随机推荐
- RabbitMQ学习之Publish/Subscribe(3)
上一个教程中,我们创建了一个work queue. 其中的每个task都会被精确的传送到一个worker. 这节,我们将会讲把一个message传送到多个consumers. 这种模式叫做publis ...
- Python基础之shutil模块、random模块
1.shutil模块 shutil模块是对os模块的功能补充,包含移动.复制.打包.压缩.解压等功能. 1)shutil.copyfileobj() 复制文件内容到另一个文件,可指定大小内容,如len ...
- pat 1039到底买不买
小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子 ...
- js获取某月有多少天
var day = new Date(2018,10,0); //最后一个参数为0,意为获取2018年10月一共多少天 console.log(day.getDate());
- 2.JavaScript中的原型规则以及原型设计模式
原型规则 原型规则 所有的引用类型(数组.对象.函数),都具有对象特征,即可自由扩展属性: 所有的引用类型,都有一个_proto_ 属性(隐式原型),属性值是一个普通对象: 所有函数,都具有一个pro ...
- vue数组更新界面无变化
1. vue数组更新界面无变化 1.1. 说明 对数组进行更新或者添加,一定要注意方式,我的情况是数组套数组,双重循环,在造数据的时候,不断从尾部添加数据,所以写成了如下形式,每次下拉都会去加载一批相 ...
- 【译】Matplotlib:plotting
前言 本教程源于Scipy Lecture Notes,URL:http://www.scipy-lectures.org/ 本教程若有翻译不当或概念不明之处,请大家留言,博主及时更正,以便后来的用户 ...
- Spring中获取外部配置文件中的属性值
很多时候需要将配置信息从程序中剥离粗来,Spring现在提供的方法是通过@Value注解和<context:placeholder>来获取配置文件中的配置信息.这里给出一个简单的例子. 首 ...
- pyechart基本使用大全
charts_base 原文链接:https://blog.csdn.net/weixin_43735353/article/details/89328048 图表详细配置请参考 图表配置篇 基本图表 ...
- 初步学习JAVA面向对象初步认识及面向对象内存分析图举例说明
1. 说到面向对象, 一个绕不开的话题,就是面向过程. 面向过程适合简单.不需要协作的事务. 面向过程 = 分解问题 + 逻辑为先 = 先细节,再整体. 对比面向过程, 面向对象是模块化的, 当我们思 ...