Linux中RPM和yum管理和查询软件包

rpm管理软件包
    -i:安装
    -v:verbose查看详细信息
    -h:查看进度条
    -e:erase移除软件包
    -F:升级已经安装过的软件包
    -U:升级和安装软件包
    --replacepkgs  重新安装,相当于--force
    --oldpackage  安装旧版的软件包
    --replacefiles 忽略包的冲突
    --nodeps 忽略依赖性关系
rpm   -ivh  XXXXX.rpm   :  安装软件包,接的是完整的路径
rpm   -e    httpd  :  卸载httpd软件包,接的不是软件包的路径,而是名字


rpm 查询
常用选项
    -q(query):查询软件包是否安装
    -qa:查询已经安装过的软件包    rpm  -qa   |  grep httpd 
    -qi:查询软件包的信息,相当于yum info 
    -ql:查询安装该软件包后会生成的文件
    -qc:查询软件包的配置文件
    -qd:查询软件包的帮助文件
    -qf:查找文件来自于哪个软件包  相当于yum provides 
    -q --scripts:查询在安装或者删除软件包的时候运行的shell脚本
    -q --changelog:查询软件包的变更日志
    -qp  [-ilcdR --scripts  --changelog] rpmfile :查找本地软件包文件的相关信息
rpm -qp --scripts  /mnt/AppStream/Packages/vsftpd-3.0.3-28.el8.x86_64.rpm
当不小心误删除了配置文件,例如/etc/httpd/conf/httpd.conf文件被误删除,可以重新安装或者,yum list httpd查询软件包的详细信息,并找到/mnt/AppStream/Packages/httpd-2.4.37-10.module+el8+2764+7127e69e.x86_64.rpm,用以下命令
rpm2cpio httpd-2.4.37-10.module+el8+2764+7127e69e.x86_64.rpm | cpio -id   :  会生成目录结构和配置文件,可以从中直接覆盖

手动创建网络yum源
需要yum -y install createrepo_c  :  createrepo命令会直接生成repodata文件
把/mnt/AppStream/Packages/vsftpd-3.0.3-28.el8.x86_64.rpm 移动到/var/www/html/data目录下,并在data目录下生成repodata目录,并创建Packages文件,可把包放在Packages目录下,也可放在/data下,用以下yum源即可
[LOCAL]
name = LOCAL
baseurl = http://192.168.200.10/data
gpgcheck = 0
enabled = 1


把本主机作为网络yum源服务器
1、在/var/www/html/下面创建data目录作为本地光盘挂载点
2、把/dev/sr0挂载到/var/www/html/data下
3、配置以下的网络yum源
4、在客户端中也是这样配置
[baseOS]
name = baseOS
baseurl = http://192.168.200.10/data/BaseOS
gpgcheck = 0
enabled = 1
[appStream]
name = appStream
baseurl = http://192.168.200.10/data/AppStream
gpgcheck = 0
enabled = 1


rpm   -V  vsftpd   :  检查vftpd软件包的文件/etc/vsftpd/vsftpd.conf
S.5....T.  c /etc/vsftpd/vsftpd.conf
S : 文件大小变化
5 : 看文件有没有变化,根据hash值判断,有变化
T : 时间戳变化
c : 配置文件
d : 目录
g : ghost文件
l : license文件
r : readme文件 

rpm -Va  : 检查系统所有软件包的文件


/media/AppStream/Packages :  里面有vsftpd的安装包,把软件包移动到/data目录下
rpm -K   /data/vsftpd-3.0.3-28.el8.x86_64.rpm  :  校验密钥

rpm  -e pubkey密钥  : 卸载密钥
rpm  -qa |  grep gpg   :  可以检测到密钥,pubkey密钥
rpm  --import  /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  :  手动导入密钥,手动导入后yum安装的时候就不需要进行检测密钥,yum仓库里面的gpgcheck有没有问题都可以安装

模块流管理  :   为了实现同一个软件包多个版本的问题
satellite-5-client   1.0 [d][e]
yum   module  list   :   列出所有模块流的包,1.0为软件包的版本,d是default默认的意思,e表示当前生效的版本,即使卸载,下次生效的也是当前生效的版本,带i的是已经安装的
模块流的软件包都在AppStream里面


切换模块流:
1、先删除模块流:yum module remove satellite-5-client
2、重置模块流(会删除模块配置文件):yum module  reset satellite-5-client
3、安装并启动其他的模块流:yum module install satellite-5-client
注意:如果不删除模块流,直接重置模块流再安装其他模块流时,相应的软件包会进行降级或者升级操作。建议不要直接安装其他模块流,因为升级脚本可能在安装期间运行,从而破坏原始模块流,从而破坏原始模块流,可能会导致数据丢失或其他配置文件


编译源码包
1、检查编译环境,以及编译的配置(安装路径和开启关闭的功能)
./configure   --with-http_ssl_module(默认是没有需要安装就加上with)  : 加上https的功能
./configure   --without-http_ssl_module(默认是安装的不需要就用without去除) : 去除httpds的功能
还需要安装以下包
yum install gcc gcc-c++ make unzip pcre pcre-devel zlib zlib-devel libxml2 libxml2-devel  readline readline-devel ncurses ncurses-devel perl-devel perl-ExtUtils-Embed openssl-devel
./configure --prefix=/usr/local/nginx(把nginx的资源文件放在该路径下) --with-http_ssl_module

2、在检查编译环境的时候,可以直接执行./configure,看缺什么包直接安装就行。编译
make  -j 4  :  可启动4个线程进行编译
若make命令找不到,说明编译工具没安装好
#安装make命令的命令
yum -y install gcc automake autoconf libtool make
#查看是否安装成功(在Xshell下)
make -v

3、安装(生成文件,执行脚本)
make install
默认的安装路径是/usr/local/nginx, ./sbin/nginx启动,会监听在80端口,关闭防火墙,然后在网页中输入ip可以直接访问
s  :  发送信号
管理nginx
./usr/local/nginx/sbin/nginx -v  :  查看版本
./usr/local/nginx/sbin/nginx -s  reload : 重新加载服务
./usr/local/nginx/sbin/nginx -s  stop  : 停止服务
./usr/local/nginx/sbin/nginx   :  启动服务
想卸载nginx,直接把/usr/local/nginx包全删了

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

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

相关文章

DES算法(Python实现)

一、具体描述 基于计算机高级语言(如C语言)实现DES算法 二、名词术语与相关知识 DES算法 DES(Data Encryption Standard)是一种对称加密算法,被广泛应用于数据加密领域。它使用64位密钥和64位明文,通过…

【⭐AI工具⭐】AI工具导航推荐

目录 零 工具导航👉【[AI工具集导航](https://ai-bot.cn/)】👈👉【[iForAI](https://iforai.com/)】👈👉【[AInav](https://www.ainav.cn/)】👈👉【[Navi AI 导航](https://www.naviai.cn/)】&a…

Spring 见解 6 Spring事务控制

Spring事务控制 事务介绍 什么是事务? 当你需要一次执行多条SQL语句时,可以使用事务。通俗一点说,如果这几条SQL语句全部执行成功,则才对数据库进行一次更新,如果有一条SQL语句执行失败,则这几条SQL语句…

leetcode“位运算”——只出现一次的数字

只出现一次的数字i&#xff1a; https://leetcode.cn/problems/single-number/ 给你一个非空整数数组 nums&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现一次的元素。 class Solution { public:int singleNumber(vector<i…

外汇天眼:放弃对波动的偏爱才能追逐趋势!

无论在熊市还是牛市中&#xff0c;市场上亏损者仍然和别的状态下一样多。 在趋势不明的情况下&#xff0c;我们盼望趋势的来临; 然而趋势真正形成之时&#xff0c;我们却仍然一无所获。 趋势表面上看对我们很重要&#xff0c;然而具体交易时却又难以利用&#xff0c;在具体交易…

优优聚美团外卖代运营,提升销量的秘密武器

随着互联网的飞速发展&#xff0c;外卖平台逐渐成为人们生活中的重要组成部分。作为国内领先的外卖平台&#xff0c;美团外卖吸引了众多商家入驻。然而&#xff0c;如何在竞争激烈的市场中脱颖而出&#xff0c;成为许多商家面临的难题。此时&#xff0c;美团外卖代运营应运而生…

基于动物迁徙算法优化的Elman神经网络数据预测 - 附代码

基于动物迁徙算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于动物迁徙算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于动物迁徙优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&…

华清远见作业第二十三天——IO(第六天)

使用有名管道完成两个进程之间相互通信 代码&#xff1a; 创建管道&#xff1a; #include<a.h> int main(int argc, const char *argv[]) {//创建有名管道文件if(mkfifo("./myfifo1", 0664) ! 0){perror("mkfifo1 error");return -1;}printf("…

【Java集合篇】HashMap的put方法是如何实现的?

HashMap的put方法是如何实现的 ✔️典型解析✔️ 拓展知识仓✔️HashMap put方法的优缺点有哪些✔️如何避免HashMap put方法的哈希冲突✔️如何避免HashMap put方法的哈希重 ✔️源码解读✔️putVal 方法主要实现如下&#xff0c;为了更好的帮助大家阅读&#xff0c;提升效率&…

antd ColorPicker 颜色选择器

ColorPicker 属性 allowClear 允许清除选择的颜色 boolean false arrow 配置弹出的箭头 boolean | { pointAtCenter: boolean } true children 颜色选择器的触发器 React.ReactNode - defaultValue 颜色默认的值 string | Color - defaultFormat 颜色格式默认的值 rgb | he…

【独家解密】Java中定时任务的解决方案详解

目录 1、前言 2、定时任务的概述 2.1 什么是定时任务 2.2 定时任务的应用场景 3、使用Timer类和TimerTask类 3.1 Timer类的使用方法 3.2 TimerTask类的使用方法 4、使用ScheduledThreadPoolExecutor类 4.1 ScheduledThreadPoolExecutor类的使用方法 5、使用Spring框架…

代码随想录第四十五天——爬楼梯,零钱兑换,完全平方数

leetcode 70. 爬楼梯 题目链接&#xff1a;爬楼梯 爬楼梯也可以通过完全背包的解法求解。 确定dp数组以及下标的含义 dp[i]&#xff1a;爬到有i个台阶的楼顶&#xff0c;有dp[i]种方法确定递推公式 求装满背包的方法数的递推公式都是dp[i] dp[i - nums[j]] 所以本题的递推公…

如何保障 MySQL 和 Redis 的数据一致性?

数据一致性问题是如何产生的&#xff1f; 数据一致性问题通常产生于数据在不同的时间点、地点或系统中存在多个副本的情况&#xff0c; 系统只存在一个副本的情况下也完全可能会产生。 设想一下&#xff0c;你在一家连锁咖啡店有一张会员卡这张会员卡可以绑定两个账号&#x…

ComfyUI报错AttributeError: module ‘cv2.gapi.wip.draw‘ has no attribute ‘Text‘

ComfyUI在安装comfyui-reactor-node插件,然后启动之后突然报错: AttributeError: module cv2.gapi.wip.draw has no attribute Text 这是怎么回事呢? 于是四处搜寻答案。 总之就是opencv-python版本的问题导致的。 我将有可能解决办法的方法进行了总结。 下面列出所有解…

linux 设备模型之类

我们在本章中要考察最后的设备模型概念是类.一个类是一个设备的高级视图, 它抽象出 低级的实现细节. 驱动可以见到一个 SCSI 磁盘或者一个 ATA 磁盘, 在类的级别, 它们都 是磁盘. 类允许用户空间基于它们做什么来使用设备, 而不是它们如何被连接或者它们如 何工作. 几乎所有的类…

操作系统实验二

实验二 观察Linux行为&#xff0c;使用proc文件系统 一、实验目的 学习Linux内核、进程、存储和其他资源的一些重要特征。读/proc/stat文件&#xff0c;计算并显示系统CPU占用率和用户态CPU占用率。&#xff08;编写一个程序使用/proc机制获得以及修改机器的各种资源参数。需要…

优化改进YOLOv5算法之AKConv(可改变核卷积),即插即用的卷积,效果秒杀DSConv

1 AKConv原理 AKConv: Convolutional Kernel with Arbitrary Sampled Shapes andArbitrary Number of Parameters 摘要:基于卷积运算的神经网络在深度学习领域取得了令人瞩目的成果,但标准卷积运算存在两个固有的缺陷。一方面,卷积运算仅限于局部窗口,无法捕获其他位置的…

安卓上使用免费的地图OpenStreetMap

前一段使用了微信的地图&#xff0c;非常的好用。但是存在的问题是海外无法使用&#xff0c;出国就不能用了&#xff1b; 其实国内三家&#xff1a;百度&#xff0c;高德&#xff0c;微信都是一样的问题&#xff0c;当涉及到商业使用的时候需要付费&#xff1b; 国外除了谷歌…

51单片机介绍

1 单片机简介 单片机&#xff0c;英文Micro Controller Unit&#xff0c;简称MCU 内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能 单片机的任务是信息采集&#xff08;依靠传感器&#xff09;、处理&#xff08;依靠CPU&#xff09;和硬件设…

【Leetcode】227.基本计算器II

一、题目 1、题目描述 给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [ − 2 31 , 2 31 − 1 ] [-2^{31}, 2^{31} - 1] [−2