当前位置: 首页 > news >正文

Linux RPM包安装、卸载和升级

我们以安装 apache 程序为例。因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。

RPM包默认安装路径

通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。

RPM 包的默认安装路径是可以通过命令查询的。

除此之外,RPM 包也支持手动指定安装路径,但此方式并不推荐。因为一旦手动指定安装路径,所有的安装文件会集中安装到指定位置,且系统中用来查询安装路径的命令也无法使用(需要进行手工配置才能被系统识别),得不偿失。

与 RPM 包不同,源码包的安装通常采用手动指定安装路径(习惯安装到 /usr/local/ 中)的方式。既然安装路径不同,同一 apache 程序的源码包和 RPM 包就可以安装到一台 Linux 服务器上(但同一时间只能开启一个,因为它们需要占用同一个 80 端口)。

实际情况中,一台服务器几乎不会同时包含两个 apache 程序,管理员不好管理,还会占用过多的服务器磁盘空间。

RPM 包的安装

安装 RPM 的命令格式为:

[root@localhost ~]# rpm -ivh 包全名

注意一定是包全名。涉及到包全名的命令,一定要注意路径,可能软件包在光盘中,因此需提前做好设备的挂载工作。

此命令中各选项参数的含义为:

  • -i:安装(install);

  • -v:显示更详细的信息(verbose);

  • -h:打印 #,显示安装进度(hash);

例如,使用此命令安装 apache 软件包,如下所示:

[root@localhost ~]# rpm -ivh \
/mnt/cdrom/Packages/httpd-2.2.15-15.el6.centos.1.i686.rpm
Preparing...
####################
[100%]
1:httpd
####################
[100%]

注意,直到出现两个 100% 才是真正的安装成功,第一个 100% 仅表示完成了安装准备工作。此命令还可以一次性安装多个软件包,仅需将包全名用空格分开即可,如下所示:

[root@localhost ~]# rpm -ivh a.rpm b.rpm c.rpm

如果还有其他安装要求(比如强制安装某软件而不管它是否有依赖性),可以通过以下选项进行调整:

  • -nodeps:不检测依赖性安装。软件安装时会检测依赖性,确定所需的底层软件是否安装,如果没有安装则会报错。如果不管依赖性,想强制安装,则可以使用这个选项。注意,这样不检测依赖性安装的软件基本上是不能使用的,所以不建议这样做。

  • -replacefiles:替换文件安装。如果要安装软件包,但是包中的部分文件已经存在,那么在正常安装时会报"某个文件已经存在"的错误,从而导致软件无法安装。使用这个选项可以忽略这个报错而覆盖安装。

  • -replacepkgs:替换软件包安装。如果软件包已经安装,那么此选项可以把软件包重复安装一遍。

  • -force:强制安装。不管是否已经安装,都重新安装。也就是 -replacefiles 和 -replacepkgs 的综合。

  • -test:测试安装。不会实际安装,只是检测一下依赖性。

  • -prefix:指定安装路径。为安装软件指定安装路径,而不使用默认安装路径。

apache 服务安装完成后,可以尝试启动:

[root@localhost ~]# service 服务名 start|stop|restart|status

各参数含义:

  • start:启动服务;

  • stop:停止服务;

  • restart:重启服务;

  • status: 查看服务状态;

例如:

[root@localhost ~]# service httpd start #启动apache服务

服务启动后,可以查看端口号 80 是否出现。命令如下:

[root@localhost ~]# netstat -tlun | grep 80

tcp 0 0 :::80:::* LISTEN

也可以在浏览器中输入 Linux 服务器的 IP 地址,访问这个 apache 服务器。目前在 apache 中没有建立任何网页,所以看到的只是测试页

RPM包的升级

使用如下命令即可实现 RPM 包的升级:

[root@localhost ~]# rpm -Uvh 包全名

-U(大写)选项的含义是:如果该软件没安装过则直接安装;若已经安装则升级至最新版本。

[root@localhost ~]# rpm -Fvh 包全名

-F(大写)选项的含义是:如果该软件没有安装,则不会安装,必须安装有较低版本才能升级。

RPM包的卸载

RPM 软件包的卸载要考虑包之间的依赖性。例如,我们先安装的 httpd 软件包,后安装 httpd 的功能模块 mod_ssl 包,那么在卸载时,就必须先卸载 mod_ssl,然后卸载 httpd,否则会报错。

软件包卸载和拆除大楼是一样的,本来先盖的 2 楼,后盖的 3 楼,那么拆楼时一定要先拆除 3 楼。

如果卸载 RPM 软件不考虑依赖性,执行卸载命令会包依赖性错误,例如:

[root@localhost ~]# rpm -e httpd
error: Failed dependencies:
httpd-mmn = 20051115 is needed by (installed) mod_wsgi-3.2-1.el6.i686
httpd-mmn = 20051115 is needed by (installed) php-5.3.3-3.el6_2.8.i686
httpd-mmn = 20051115 is needed by (installed) mod_ssl-1:2.2.15-15.el6.
centos.1.i686
httpd-mmn = 20051115 is needed by (installed) mod_perl-2.0.4-10.el6.i686
httpd = 2.2.15-15.el6.centos.1 is needed by (installed) httpd-manual-2.2.
15-15.el6.centos.1 .noarch
httpd is needed by (installed) webalizer-2.21_02-3.3.el6.i686
httpd is needed by (installed) mod_ssl-1:2.2.15-15.el6.centos.1.i686
httpd=0:2.2.15-15.el6.centos.1 is needed by(installed)mod_ssl-1:2.2.15-15.el6.centos.1.i686

RPM 软件包的卸载很简单,使用如下命令即可:

[root@localhost ~]# rpm -e 包名

-e 选项表示卸载,也就是 erase 的首字母。

RPM 软件包的卸载命令支持使用“-nocteps”选项,即可以不检测依赖性直接卸载,但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法征程使用。

相关文章:

Linux RPM包安装、卸载和升级

我们以安装 apache 程序为例。因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。 RPM包默认安装路径 通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所…...

ROS 多级tf坐标转换

题目 现有一移动机器人,该机器人的基坐标系为“base_link”,机器人包含3个子坐标系分别为“joint1”,“joint2”,“joint3”。 要求:利用多坐标转换,实现joint1下的坐标向joint2下的坐标转换,…...

ceph rados对象存储索引残留问题排查与处理

问题现象 对象存储存储桶无法删除,检查发现生命周期过期后存储桶中有文件残留,未完全删除,但实际访问文件时为404,通过s3cmd无法删除对象,且无报错。 问题定位 检查bucket当前状态,发现桶内有大量object…...

十年测试工龄,揭露软件测试痛点以及分析

做软件测试的同学们,你在平时的测试工作中有哪些困惑或困扰呢?你可以自行简单思考一下。下面我梳理一下,大家可以看看自己是不是也有如此的感受。 从测试整体角度分析: 第一个痛点是入门容易深入难。 很多人认为软件测试也就那么…...

【星海出品】flask(三) 组件

Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架 wsgiref 因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以,需要一个统一的接口协议来实现这样的服务器软件,让我们专心用Python编写Web业务。 这个…...

关于卷积神经网络的池化层(pooling)

了解池化层 池化层又称“下采样层”或“子采样层”,池化层可以大大降低特征的维度,减少计算量,同时可以避免过拟合问题。 顾名思义,最大池化层就是从输入的矩阵中某一范围内,选择最大的元素进行保留;平均池…...

GNU链接脚本详解

0. 前言 每一个链接都是由链接脚本控制的,链接脚本是用链接命令语言编写的脚本。链接都会用到一个链接脚本,如果你没有指定自己的脚本,就会使用默认的链接脚本。可以用 "--verbose" 命令行选项显示默认的连接脚本。指定命令行参数…...

酷柚易汛ERP-账户管理操作指南

1、应用场景 对账户进行管理,可设置账户当前余额、期初余额和设置是否为默认账户。 2、主要操作 2.1 新增支付账户 打开【资料】-【账款管理】,点击【新增】添加账户类别,输入相关信息并保存,账户编号和名称为必录项。&#x…...

函数的连续性

函数在某一点极限存在,不一定连续 函数的左极限 函数的右极限 函数在某点连续需要满足三个条件 1、左右极限存在 2、左右极限相等 3、函数在该点的极限值等于在该点的函数值 满足1、2两个条件函数在该点极限存在。...

Pandas groupby方法中的group_keys属性

pandas版本1.5.3中groupby方法,当设置group_keysTrue时,会以groupby的字段为第一级索引,如下述代码中time_id作为第一级索引,同时保留了原dataframe(df)中的索引作为第二级索引。 >>> df.groupby…...

win 命令替代鼠标的操作

操作方式都是在 winR 输入框输入或者终端输入 1、快速打开 控制面板 运行control 2、快速打开 电源选项 运行powercfg.cpl 3、快速打开 网络连接 运行ncpa.cpl 4、快速打开 程序和功能 运行appwiz.cpl 5、快速打开 Windows Defender防火墙 运行Firewall.cpl 6、快速打开 鼠标 …...

Shopee活动取消规则是什么?shopee官方促销活动怎么取消?

作为一家知名的电商平台,shopee官方对于消费者取消促销活动的请求给予了相应的规定和处理流程。 shopee活动取消规则是什么? 首先,消费者应该明确了解虾皮的促销活动取消规则。根据虾皮的官方规定,消费者在参与促销活动之前&…...

安卓常见设计模式2------构建者模式(Kotlin版)

1. W1 是什么,什么是构建者模式? 构建者模式(Builder Pattern)是一种创建复杂对象的设计模式。它通过使用链式调用的方式,逐步构建对象,使得代码更易读、可维护,并且可以处理许多可选参数的情况…...

redis主从复制+哨兵

1.主从复制 redis配置文件redis.conf master机器:IP 192.168.1.5 ,端口 6379 设置配置参数 daemonize yes #bind 127.0.0.1 -::1 protected-mode no port 6379 dbfilename "dump.rdb" dir "/root/redis/my_redis_conf/dumpdir" l…...

html动态爱心超文本标记代码,丝滑流畅有特效,附源码

没想到现在看个剧&#xff08;点燃我&#xff0c;温暖你&#xff09;要的同款居然是代码&#xff0c;李峋 这盛世如你所愿啊&#xff01;李峋的同款爱心代码来啦&#xff0c;拿走试试吧&#xff5e; <!DOCTYPE html> <html><head><title></title&g…...

力扣:162. 寻找峰值(Python3)

题目&#xff1a; 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums&#xff0c;找到峰值元素并返回其索引。数组可能包含多个峰值&#xff0c;在这种情况下&#xff0c;返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] nums[n] -∞ 。 你必须实现时…...

【Python】20大报告生成词云

这个我其实写过一篇类似的博客&#xff0c;但是那个的文件对象是.csv&#xff0c;对应到.docx文件的话&#xff0c;就不太适用了。如下&#xff1a; Python生成词云-CSDN博客 代码&#xff1a; import jieba import os import wordcloud import numpy as np from PIL import…...

目标检测YOLO实战应用案例100讲-基于无人机的轻量化目标检测系统设计

目录 前言 国内外研究现状 国外研究现状 国内研究现状...

ansible-第二天

ansible 第二天 以上学习了ping、command、shell、script模块&#xff0c;但一般不建议使用以上三个&#xff0c;因为这三个模块没有幂等性。举例如下&#xff1a; [rootcontrol ansible]# ansible test -a "mkdir /tmp/1234"[WARNING]: Consider using the file …...

【测试工具】UnixBench 测试

一、UnixBench 简介 UnixBench 原本叫做 BYTE UNIX benchmark suite。软件为 Unix 类的系统提供了一些基本的性能指标。通过不同的测试来测试系统不同方面的性能&#xff08;2D&#xff0c;3D&#xff0c;CPU&#xff0c;内存等等&#xff09;。这些测试的结果将和一些标准的系…...

天赐范式第2个星期:仅仅两周的娃儿和PID打成平手,换个领域就不好说了,过程可复现,文尾附python源码。

&#x1f525; 混沌控制巅峰对决&#xff01;天赐范式 VS 混沌 PID&#xff08;FPU 热传导实测&#xff0c;无作弊无套路&#xff09; 我用一整个上午再加午饭时间&#xff0c;让豆包当天赐范式&#xff0c;让文心当 PID&#xff0c;在前文提到的强非线性 FPU&#xff08;Fermi…...

mysql权限表查询性能如何优化_MySQL系统权限缓存原理

BEM 能让 CSS 更易复用&#xff0c;因其通过「块__元素--状态」命名强制绑定样式与结构&#xff0c;明确依赖关系&#xff0c;避免全局冲突&#xff1b;补 BEM 应渐进式改造高频模块&#xff0c;严守命名规范&#xff1b;它不与 CSS-in-JS 或 Tailwind 冲突&#xff0c;但需统一…...

MSP430与MMC/SD卡SPI通信实现与优化

1. MSP430与MMC/SD卡SPI通信概述在嵌入式系统开发中&#xff0c;外扩存储设备是常见需求。MSP430系列微控制器通过SPI接口与MMC/SD卡通信&#xff0c;为数据采集、日志记录等应用提供了可靠的存储解决方案。SPI&#xff08;Serial Peripheral Interface&#xff09;作为一种同步…...

游戏引擎‘潜规则’:为什么你的法线贴图在Unity里凸,到UE4里就凹了?

游戏引擎‘潜规则’&#xff1a;为什么你的法线贴图在Unity里凸&#xff0c;到UE4里就凹了&#xff1f; 当你在Unity中精心调整的法线贴图导入Unreal Engine后&#xff0c;突然发现所有凹凸细节都出现了诡异的反转——原本凸起的砖缝变成了凹陷的沟槽&#xff0c;金属铆钉的立…...

WarcraftHelper终极指南:5个简单步骤让魔兽争霸3在现代Windows系统完美运行

WarcraftHelper终极指南&#xff1a;5个简单步骤让魔兽争霸3在现代Windows系统完美运行 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸…...

html如何修改备注

<p>HTML中没有“备注”&#xff0c;只有<!-- -->注释&#xff1b;它不显示、不可见、无法被JS选择器获取&#xff0c;仅用于源码说明&#xff0c;语法严格&#xff0c;不可嵌套或缺失字符&#xff0c;生产环境常被压缩移除。</p>HTML 里没有“备注”这个东西…...

OpenBB Workspace实战:如何为你的私募团队定制一个专属的A股/港股投研看板

OpenBB Workspace实战&#xff1a;为私募团队定制A股/港股投研看板 每天早上8点&#xff0c;某私募基金的分析师小王都要重复同样的工作&#xff1a;打开五个不同的数据平台&#xff0c;手动下载A股行情、港股资金流向、财务指标、行业研报和内部模型结果&#xff0c;再用Excel…...

深度解析MIST显微图像拼接工具:从原理到实战的高效拼接方案

深度解析MIST显微图像拼接工具&#xff1a;从原理到实战的高效拼接方案 【免费下载链接】MIST Microscopy Image Stitching Tool 项目地址: https://gitcode.com/gh_mirrors/mist3/MIST 在生物医学研究、材料科学和病理诊断等领域&#xff0c;科研人员经常面临一个关键挑…...

避坑指南:STM32F407 ADC采集波形送到VOFA+显示,这些细节不注意波形会失真

STM32F407 ADC数据采集与VOFA波形显示优化实战 最近在调试STM32F407的ADC采集时&#xff0c;发现VOFA上显示的波形总是出现各种小问题——正弦波有毛刺、三角波出现阶梯状畸变、方波边缘抖动。这让我意识到&#xff0c;从ADC采样到上位机显示这条数据链路上&#xff0c;每个环节…...

SVD不只是数学:深入浅出看懂它在推荐系统和图像压缩里是怎么工作的

SVD不只是数学&#xff1a;深入浅出看懂它在推荐系统和图像压缩里是怎么工作的 当你在线购物时&#xff0c;那些"猜你喜欢"的商品推荐从何而来&#xff1f;当你用手机拍摄照片并上传社交平台时&#xff0c;图片为何能快速加载且不失真&#xff1f;这背后都藏着一个强…...