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中有关服务管理的知识. 什么是服务 服务一般是放置在后台运行的一个或多个进分程,为用户或系统提供某项特定的服务,有些是系统服务,有些则是独 ...
随机推荐
- 什么是 Shell?
简单来说“Shell编程就是对一堆Linux命令的逻辑化处理”. Shell 编程的 Hello World 学习任何一门编程语言第一件事就是输出HelloWord了!下面我会从新建文件到shell代 ...
- 从nsurlsession、Alamofire到moya
更好的理解(抽象).更少的构建(配置).更方便的表达(语言) 一.iOS系统的网络编程(DSL概念) ios缺省的网络编程只是给出了网络编程的基本概念: urlsession.request.resp ...
- Azkaban 3.x 编译及部署
一.Azkaban 源码编译 1.1 下载并解压 Azkaban 在 3.0 版本之后就不提供对应的安装包,需要自己下载源码进行编译. 下载所需版本的源码,Azkaban 的源码托管在 GitHub ...
- IntelliJ IDEA启动一个普通的java web项目的配置
文:朱季谦 这是我很久以前刚开始用IntelliJ IDEA时记录的笔记,正好赶上最近离职了,可以有比较多的时间把以前的记录整理一下,可以让刚接触到IntelliJ IDEA的童鞋学习如何在Intel ...
- 获取html 中的内容 将前台的数据获取到后台 用 jquery 生成一个 form表单 提交数据
使用js创建一个form表单 ,使用post上传到后台中 下面是代码.在获取html内容的时候使用了js节点来获取内容. parent:父节点.上一级的节点 siblings:兄弟节点.同一级别的节点 ...
- C# vb .NET读取识别条形码线性条码EAN-13
EAN-13是比较常见的条形码编码规则类型的一种.如何在C#,vb等.NET平台语言里实现快速准确读取该类型条形码呢?答案是使用SharpBarcode! SharpBarcode是C#快速高效.准确 ...
- spring整合MyBatis思路
目录 整合目标 需要的jar 整合思路 加入配置文件 整合目标 控制层采用springMVC.持久层使用mybatis实现. 需要的jar spring(包括springmvc) mybatis my ...
- 8 Traits of an Experienced Programmer that every beginner programmer should know
Referrence: http://whats-online.info/guides-and-info/36/Traits-of-Experienced-Programmer-that-every- ...
- 【开发笔记】-MySQL数据库5.7+版本,编码格式设置
原因 昨天不小心把数据库搞崩了,重装了5.7.27版本得mysql数据库,在安装过程中并没有设置数据库默认编码格式等操作.在把项目启动后,jpa自动创建表结构,会把数据库,表,字段的编码自动设置为IS ...
- Linux命令:scp
1.find命令: scp [参数] [原路径] [目标路径] 2.用法: scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令.linux的sc ...