RPM与YUM

RPM

RPM是Red Hat Package Manager的缩写,它是一种用于安装、卸载、升级和管理RPM包的工具。RPM使用一种数据库记录的方式来将软件安装到Linux系统,可以自动解决依赖性问题,并且提供了查询和校验等功能。

以下是使用rpm的基本操作:

  1. 安装软件:使用rpm -i命令后面跟上软件的rpm包路径来安装软件。例如:rpm -i package.rpm
  2. 卸载软件:使用rpm -e命令后面跟上软件的名称来卸载软件。例如:rpm -e package_name
  3. 升级软件:使用rpm -Urpm -F命令后面跟上软件的rpm包路径来升级软件。升级会覆盖旧版本,如果该软件包未安装则进行安装。
  4. 查询已安装的软件包:使用rpm -q命令后面跟上软件的名称来查询已安装的软件包。例如:rpm -q package_name
  5. 查询已安装的软件包详细信息:使用rpm -qi命令后面跟上软件的名称来查询已安装的软件包的详细信息。例如:rpm -qi package_name
  6. 查询某个文件属于哪个rpm包:使用rpm -qf命令后面跟上文件的路径来查询某个文件属于哪个rpm包。例如:rpm -qf /path/to/file
  7. 显示已安装的rpm包依赖关系:使用rpm -vv命令后面跟上软件的名称来显示已安装的rpm包依赖关系。

RPM命令有很多选项,以下是一些常用的选项:

  1. -i:表示安装。
  2. -v:表示详细信息。
  3. -h:以"#"号显示安装进度。
  4. -q:查询指定包名。
  5. -e:卸载指定包名。
  6. -U:升级软件,若未软件尚未安装,则安装软件。
  7. -F:升级软件。
  8. -V:对RPM包进行验证。
  9. --nodeps:忽略依赖关系(不建议使用)。
  10. -qi:列出已安装的这个包的标准详细信息。
  11. -ql:列出rpm包的文件内容。

另外,RPM默认会将软件包信息写入/var/lib/rpm/目录下的数据库档案中,可以用来软件查询、软件升级的版本比较、数字签名等。SRPM是RPM源代码包,可以在具体的安装环境下编译成RPM包再进行安装。

在使用RPM时,需要注意一些常见的问题。例如,如果依赖关系不满足,RPM会停止安装并显示错误信息。这时可以使用--nodeps选项忽略依赖关系进行安装,但可能会影响软件正常运行。另外,如果需要卸载某个软件包,需要先确保该软件包没有其他依赖关系或服务的依赖,否则可能会造成系统不稳定或服务中断等问题。

YUM

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

以下是使用yum的基本操作:

  1. 安装软件:
  • 本地安装:如果本地有相关的rpm文件,可以用以下命令进行安装:yum localinstall ur.rpm
  • 网络安装:需要安装某个软件时,可以在命令中添加该软件的名称进行搜索并安装,例如:yum install software_name
  1. 更新软件:使用 yum update 命令可以更新系统中已安装的所有软件。
  2. 卸载软件:使用 yum remove 或 yum uninstall 命令可以卸载已安装的软件。
  3. 查询软件:使用 yum list 命令可以查询本地已安装的所有软件,也可以查询指定软件是否已安装。
  4. 设定本地的yum:设定好了本地的yum之后,就可以方便地进行安装(例如使用fc5自带的yum进行安装)。
  5. 自动解决增加或删除rpm包时遇到的依赖性问题:yum能自动解决在增加或删除rpm包时遇到的依赖性问题。
  6. 查看已安装的软件包列表:使用 yum list installed 可以查看已安装的软件包列表。
  7. 清除缓存:使用 yum clean all 可以清除缓存,释放空间。

另外,还有一些关于yum的介绍:

  • Yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
  • Yum可以同时配置多个资源库(Repository)。
  • Yum的特点是可以同时配置多个资源库(Repository),可以简洁的配置文件,自动解决增加或删除rpm包时遇到的依赖性问题,使用方便,保持与RPM数据库的一致性。

使用

yum install <package_name> 命令可以安装指定的软件包。

yum info <package_name> 命令可以显示有关指定软件包的详细信息,如版本、描述等。

yum search <keyword> 命令进行搜索。

yum remove <package_name> 命令可以卸载已安装的软件包。

yum update 命令可以更新系统中所有已安装的软件包到最新版本。

yum repolist 命令可以查看当前系统中配置的软件包仓库列表。

yum list installed 命令可以列出系统中已安装的所有软件包。

常用选项

-y:自动回答所有提示为“yes”,用于脚本中的无交互安装。

--nogpgcheck:忽略GPG检查,用于安装未经签名的软件包。

--skip-broken:跳过有依赖问题的软件包,继续安装其他软件包。

示例

(以安装firewall为例)

我们可以先去搜索有没有这个包的信息,使用yum info <package>, 发现没有我们要的包,于是去搜索是否存在,发现包名叫做  firewalld.noarch 于是我们查看这个包的信息,通过它的描述,我们可以知道这就是我们需要的软件,于是用yum install <package> 下载安装

安装好了,我们通过yum list installed来查看下载的包,但是鉴于输出太多,我们使用管道符号链接grep进行过滤,得到有firewalld的软件。至此就安装完成了。卸载时使用yum remove <package> 此时加上  -y  选项,与安装时对比我们不需要再手动输入确定(y)。

在使用yum时,需要注意几个问题。在第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的资源。如果在下载过程中出现问题,可以尝试检查网络连接或者更换yum源。同时,为了避免在安装或更新软件时出现依赖性问题,应该定期更新系统,并保持与最新版本的软件包一致。

补充

组安装

Yum还提供了一种按组安装软件包的方式,使用 yum grouplist 可以查看可用的软件包组。

使用 yum groupinstall <group_name> 可以安装一个软件包组,如 yum groupinstall "Development Tools"

使用 yum groupremove <group_name> 可以卸载一个软件包组。

示例

rpm文件鉴别

.rpm和.src.rpm文件都是RPM包格式,但它们之间存在一些重要的区别:

  1. 内容:.rpm文件包含了已编译的二进制程序和已安装的文件,可以直接在系统中运行。而.src.rpm文件包含了未编译的源代码,需要经过编译和安装才能使用。
  2. 安装方式:.rpm文件可以通过rpm命令直接安装,而.src.rpm文件需要使用特别的命令来安装。例如,在Red Hat系列发行版中,可以使用rpm --rebuild命令将.src.rpm文件编译并安装到系统中。
  3. 适用场景:.rpm文件适用于已经编译好并且可以直接运行的程序,而.src.rpm文件适用于需要从源代码编译和安装的程序。

从RPM包名中,我们可以看出它支持的平台类型,通常在包名中会包含相关的硬件平台信息。例如,i386表示该RPM包适用于x86架构的Intel或AMD的处理器,而i586、i686和x86_64则表示适用于更广泛的硬件平台。类似地,sparc表示适用于SPARC架构的处理器,alpha表示适用于DEC Alpha架构的处理器。

以mysql为例

mysql-community-server-5.7.44-1.el7.x86_64.rpm 这个文件名

    5.7.44 是该包的版本号。

    1 是该版本的修订号。

    el7 表示该RPM包适用于Red Hat Enterprise Linux 7或CentOS 7等基于RHEL 7的发行版。

    x86_64 表示该RPM包适用于64位的x86架构处理器。

.noarch表明这个rpm包支持所有的LInux发行版。例如刚刚的firewalld.noarch

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/668374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python Flask 写一个简易的 web 端程序(附demo)

python Flask 写一个简易的 web 端程序 &#xff08;附demo&#xff09; 介绍简单介绍装饰器 app.route("/") 进阶增加接口设置端口 静态网页核心代码完整代码 介绍 Flask 是一个用于构建 Web 应用程序的轻量级 Python Web 框架。它设计简单、易于学习和使用&#x…

Python XML 转 JSON,XML 转字典

今天我们将学习如何在 Python 中将 XML 转换为 JSON 和 XML 转换为字典。我们可以使用 Python 的 xmltodict 模块来读取 XML 文件并将其转换为字典或 JSON 数据。我们还可以在大型 XML 文件上进行流式处理&#xff0c;并将其转换为字典。在进入编码部分之前&#xff0c;让我们首…

[N-139]基于springboot,vue宠物领养系统

开发工具&#xff1a;IDEA 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 系统分前后台&#xff0c;项目采用前后端分离 前端技术&#xff1a;vue3element-plus 服务端技术&#xff1a;springbootmybatis-plusr…

Vue-easy-tree封装及使用

1.使用及安装 下载依赖 npm install wchbrad/vue-easy-tree引入俩种方案 1.在main.js中引入 import VueEasyTree from "wchbrad/vue-easy-tree"; import "wchbrad/vue-easy-tree/src/assets/index.scss" Vue.use(VueEasyTree)2.当前页面引入 import VueEa…

构建企业私域流量池:新时代的客户管理策略

随着互联网的发展和数字化时代的来临&#xff0c;企业面临的竞争环境日趋激烈。为了在众多竞争者中脱颖而出&#xff0c;许多企业开始转向私域流量的建设。私域流量是企业通过自有渠道获取的、可以自由支配的流量&#xff0c;对于提升品牌忠诚度、促进销售增长具有重要意义。本…

PAT-Apat甲级题1007(python和c++实现)

PTA | 1007 Maximum Subsequence Sum 1007 Maximum Subsequence Sum 作者 CHEN, Yue 单位 浙江大学 Given a sequence of K integers { N1​, N2​, ..., NK​ }. A continuous subsequence is defined to be { Ni​, Ni1​, ..., Nj​ } where 1≤i≤j≤K. The Maximum Su…

在建站和小程序方面,公司如何提升客户的体验

在建站和小程序方面&#xff0c;公司可以通过以下几个方面来提升客户的体验&#xff1a; 了解客户需求&#xff1a;在项目开始之初&#xff0c;深入了解客户的业务需求、目标受众、品牌风格等&#xff0c;是至关重要的。通过与客户的深入沟通&#xff0c;可以更好地把握其需求…

2024年第三届能源与环境工程国际会议(CFEEE 2024) | Ei&Scopus双检索

会议简介 Brief Introduction 2024年第三届能源与环境工程国际会议(CFEEE 2024) 会议时间&#xff1a;2024年12月12日-14日 召开地点&#xff1a;澳大利亚凯恩斯 大会官网&#xff1a;CFEEE 2024-2024 International Conference on Frontiers of Energy and Environment Engine…

day42_jdbc

今日内容 0 复习昨日 1 JDBC概述 2 JDBC开发步骤 3 完成增删改操作 4 ResultSet 5 登录案例 0 复习昨日 1 写出JQuery,通过获得id获得dom,并给input输入框赋值的语句 $(“#id”).val(“值”) 2 mysql内连接和外连接的区别 内连接只会保留完全符合关联条件的数据 外连接会保留表…

如何在linux下使用openssl自签https的ip证书配置nginx

《如何在linux下使用openssl自签https的ip证书配置nginx》首发牧马人博客转发请加此提示 如何在linux下使用openssl自签https的ip证书配置nginx 背景 **<<如何在linux下使用openssl自签https的ip证书配置nginx>>**这篇文章的诞生跟上篇&#xfeff;&#xfeff;浅…

antv/x6节点添加鼠标悬浮高亮和删除功能

antv/x6节点添加鼠标悬浮高亮和删除功能 效果鼠标悬浮高亮鼠标移出恢复原状态 效果 鼠标悬浮高亮 this.graph.on(node:mouseenter, ({ node }) > {node.addTools({name: button-remove,args: {x: 100%,y: 0,offset: { x: 0, y: 0 },},})})鼠标移出恢复原状态 this.graph.on(…

Java/Python/Go不同开发语言基础数据结构和相关操作总结-数组篇

Java/Python/Go不同开发语言基础数据结构和相关操作总结 1. Java1.1 静态数组Object[]1.1.1 数据结构和定义方式1.1.2 增加1.1.3 修改1.1.4 查询1.1.5 删除1.1.6 获取元素的位置1.1.7 获取总长度1.1.8 正向排序1.1.9 逆向排序 1.2 动态列表List\<Object>1.2.1 数据结构和…

如何实现冻干机和产品全生命周期的验证和监测?

为什么冻干需要工艺优化和合规性 冻干是制药和生物技术产品的关键工艺&#xff0c;需要精确控制关键的温度和压力参数。通过遵守 GMP 和 FDA 合规性等监管准则&#xff0c;您可以生产出更高质量的产品&#xff0c;避免不必要的浪费&#xff0c;并缩短产品上市时间。 要想在冻干…

Java on Azure Tooling 2024年1月更新|Azure Key Vault 支持、示例项目创建支持及更多

作者&#xff1a;Jialuo Gan - Program Manager, Developer Division At Microsoft 排版&#xff1a;Alan Wang 大家好&#xff0c;欢迎来到 2024 年 Java on Azure 工具的首次更新。在本次更新中&#xff0c;我们将介绍对于 Azure Key Vault 支持、基于 Azure 示例项目的创建支…

Python入门指北二十六

Python中如何实现静态类型检查和动态类型检查&#xff1f;你有哪些工具推荐&#xff1f; Python中有许多常用的Web开发框架&#xff0c;每个框架都有其独特的特点和适用场景。以下是一些常用的Web开发框架及其特点&#xff1a; Django&#xff1a; 特点&#xff1a;Django是一…

更换服务器是否需要更换SSL证书?

在互联网时代&#xff0c;随着企业和网站的发展&#xff0c;更换服务器是一种常见的需求。然而&#xff0c;许多网站管理员在更换服务器时是否需要更换SSL证书存在疑虑。本文将就此问题进行探讨&#xff0c;帮助您了解在更换服务器时是否需要更换SSL证书。 1、SSL证书的绑定 SS…

【面试】冲刺春招!每天三十道面试题——Java基础篇(一)

目录 一 JDK 和 JRE 的区分 二 简述编码的作用以及记事本的实现原理 三 基本类型有哪些&#xff1f;分别占据多少空间&#xff1f; 四 java中布尔类型的空间大小是怎么定下来的&#xff1f;为什么不是1bit&#xff0c; 把考虑因素说一下 五 int类型和float类型哪一个精度更…

nohost本地部署

1、安装node Node.js 官方网站下载&#xff1a;https://nodejs.org/en/download/ 2、安装whistle 安装命令为 npm install -g whistle 或 npm install -g cnpm --registryhttps://registry.npm.taobao.org 后&#xff0c;使用 cnpm install -g whistle 来安装 3、插件修改 官方…

线性矩阵不等式LMI与李雅普诺夫Lyapunov稳定性

文章目录 线性矩阵不等式&#xff08;Linear Matrix Inequality&#xff0c;LMI&#xff09;例子 Lyapunov稳定性Schur Complement定义Schur Complement作用/性质利用Schur Complement将LMI和Lyapunov联系起来 线性矩阵不等式&#xff08;Linear Matrix Inequality&#xff0c;…

BUG:docker启动之后直接退出问题

示例如下&#xff1a; 问题排查&#xff1a; 启动命令 sudo docker run --privilegedtrue --runtimenvidia --shm-size80g -v /mmm_data_center:/mmm_data_center -v /imagecenter_new/:/imagecenter_new -v /data1:/data1 -v /mnt/offline_data/:/mnt/offline_data/ --neth…