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学习笔记之关于 >/dev/null 2>&1 详解
shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 分解这个组合:“>/dev/null 2>&1” 为五 ...
- Debian 9 / Debian 10 / Ubuntu 18.04 / Ubuntu 18.10快速开启BBR加速 或 关闭BBR加速
如果使用的是Debian 9.Debian 10.Ubuntu 18.04.Ubuntu 18.10等内核高于4.9版本的系统,均可以使用此方法开启BBR加速,若你使用了Ubuntu 19.04的系统 ...
- SQL Server中查找包含某个文本的存储过程 SQL 查找存储过程中出现过的文字怎么查询 查询整个数据库中出现的文本 sql 全局搜索
--将text替换成你要查找的内容SELECT name, *FROM sysobjects o, syscomments sWHERE o.id = s.id AND text LIKE '%tex ...
- MySQL之Python与Mysql交互
一:Python操作MySQL步骤 1:Python中操作MySQL的步骤 2.引入模块 在.py文件中引入pymysql模块 import pymysql pymysql是python的一个第三方与 ...
- 2019 阿里java面试笔试总结 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.滴滴等公司offer,岗位是Java后端开发,因为发展原因最终选择去了阿里,入职一年时间了,也成为了面试官, ...
- 【转载】C#通过Contains方法判断DataTable中是否存在某个列名
在C#中的Datatable数据变量的操作过程中,有时候需要判断DataTable中是否存在某个列名,此时可以通过DataTable对象的Columns列对象集合属性下的Contains方法来进行判断 ...
- MySQL导入数据报错Got a packet bigger than‘max_allowed_packet’bytes错误的解决方法
由于max_allowed_packet的值设置过小的原因,只需要将max_allowed_packet值设置大一点就OK了.通过终端进入mysql控制台,输入如下命令可以查看max_allowed_ ...
- 数据结构与算法—Trie树
Trie,又经常叫前缀树,字典树等等.它有很多变种,如后缀树,Radix Tree/Trie,PATRICIA tree,以及bitwise版本的crit-bit tree.当然很多名字的意义其实有交 ...
- Asp.Net Core 生成二维码(NuGet使用QRCoder)
前言 功能:调用web api 接口 1.获取 jpeg 格式的二维码 2.获取中间带有logo 的二维码 3. 下载 jpeg,svg 格式的二维码 需要的NuGet 包: > QRCoder ...
- .Net Core 2.2 发布IIS遇到的那些坑
这两天在研究.Net Core 发布iis总结一下. 我主要是参照官方文档: https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/ ...