RHEL9 DNF/YUM仓库管理软件包

DNF/YUM仓库管理软件包

  • 一个基于RPM包的软件包管理器
  • 能够从指定的服务器自动下载RPM包并且安装,自动处理依赖性关系,并且一次性安装所有依赖的软件包
  • C/S模式
    • Server服务端提供RPM软件包与数据库文件repodata
    • Client客户端使用dnf仓库

常用组合

组合参数意义
dnf info查看软件包详情rpm -qip
dnf install安装软件包rpm -ivh
dnf list显示全部软件包名称rpm -a
dnf search搜索仓库中的指定软件包`rpm -qa
dnf version显示版本信息
dnf update更新软件包需要订阅或拥有开发者权限
dnf remove删除软件软件包rpm -evh
dnf history查看使用dnf进行的历史操作
dnf provides查询文件来源rpm -qf

列出软件包

dnf list "chor*"  # 使用通配符模糊查询
dnf list   # 列出所有包

在这里插入图片描述

列出包组,我们可以直接安装整个服务,而不需要一个一个安装

dnf grouplist

在这里插入图片描述

搜索对应的包

dnf search ntp    # dnf search NAME

在这里插入图片描述

搜索包的作用、信息

dnf info dos2unix  # 从软件仓库中搜索,即使软件包没有安装
# dnf info package_name

在这里插入图片描述

查看历史记录,可以查看使用dnf进行了什么操作

dnf history

在这里插入图片描述

查询文件来源

# 如果使用rpm,我们要指定文件的绝对路径
rpm -qf /etc/chrony.conf# dnf 可以使用通配符代替路径
dnf provides *chrony.conf# 搜索命令的来源文件,显示搜寻不到结果,在没有订阅的前提下,需要搭建第三方软件仓库
dnf provides sl

在这里插入图片描述
在这里插入图片描述

DNF和YUM其实一个东西,只是YUM是DNF的前身,通过查询命令可以看到其实都是连接到dnf-3上

which dnf
which yum
ll /usr/bin/dnf
ll /usr/bin/yum

在这里插入图片描述

查看存在的软件仓库

在RHEL7版本中,AppStream和BaseOS两个是在一个目录下;从RHEL8版本后开始分开放

  • 通过web查看(默认会一个Web共享),可以通过web访问http://content

  • 查看本地目录
    在这里插入图片描述

BaseOS:指的是系统包(例如web服务)

AppStream:应用软件包

ll /content/rhel9.0/x86_64/dvd/AppStream
ll /content/rhel9.0/x86_64/dvd/repodata

我们可以发现在文件夹内都存在相同的文件夹

  • Packages:RPM软件包
  • repodata:软件包索引
    在这里插入图片描述

查看当前已经启用仓库

dnf repolist

在这里插入图片描述

查看当前主机所有仓库,包括未启用

dnf repolist all

在这里插入图片描述

启用指定的仓库

dnf config-manager --enable openstack-17-tools-for-rhel-9-x86_64-debug-rpmsdnf config-manager --disenable openstack-17-tools-for-rhel-9-x86_64-debug-rpms  # 关闭

在这里插入图片描述

DNF仓库客户端配置

查看所有仓库文件

ll /etc/yum.repos.d/*.repo

在这里插入图片描述

查看redhat.repo仓库文件,这个是由订阅管理自动生成的内容
在这里插入图片描述

以第一段内容为例

  • [xxxx]:表示ID(唯一)
  • name:仓库名
  • baseurl:仓库地址
  • enabled:是否启用仓库
  • gpgcheck:是否检测签名(通过公钥检测)
  • gpgkey:公钥地址
  • sslverify:是否启用https
  • sslcacert:https使用的CA证书
  • sslclientkey:https使用的Client私钥
  • sslclientcert:https使用的Client证书
  • metadata_expire:仓库元数据(例如,软件包列表、依赖关系等)在本地缓存中的过期时间,针对Red Hat官方仓库的特定设置,以确保与官方仓库的同步和更新
  • enabled_metadata:自定义配置项
[名称]  --- 用于区分不同的源
name=  --- 名称/注释信息
baseurl=  --- 指定仓库/源的URL地址enabled=  --- 用于指定是否启用这个仓库/源 [enable也可以写成enable]0--- 不使用这个仓库1--- 使用这个仓库gpgcheck=  --- 用于指定安装的软件包是否要进行数字签名的验证0--- 不对每个安装包进行数字签名验证1--- 对每个包做数字签名验证gpgkey=/path/  如果gpgcheck=1,则需要使用此选项指定公钥;如果gpgcheck=0,可以不写
通过修改配置文件自定义软件仓库/软件源
rm -rf /etc/yum.repos.d/*.repo   # 先删除原有的所仓库文件
vim /etc/yum.repo/yum.repo  # 创建仓库文件,文件名自定义即可,只需要保证后缀为.repo# 写入下列内容
[AppStream]
name=AppStream
baseurl=file:///content/rhel9.0/x86_64/dvd/AppStream
enabled=1   # 默认启用 可以不写
gpgcheck=0  # 默认启用,0为不启用仓库检查
# 不写的话此处默认为gpgcheck=1
# 还需要额外指定证书[gpgkey=file:///content/rhel9.0/x86_64/dvd/RPM-GPG-KEY-redhat-release ][BaseOS]
name=BaseOS
baseurl=file:///content/rhel9.0/x86_64/dvd/BaseOS
enabled=1
gpgcheck=0

通过查看/etc/yum.repo文件可以查看默认选项
在这里插入图片描述

安装软件包

dnf install ftp

在这里插入图片描述

删除软件包

dnf remove ftp -y 

在这里插入图片描述

通过命令行自定义软件仓库/软件源
rm -rf /etc/yum.repos.d/*  # 分别测试,删除上述文件
dnf config-manager --help   # 我们可以查看到一个选项[--add-repo URL,添加后自动启用]

在这里插入图片描述

dnf config-manager --add-repo file:///content/rhel9.0/x86_64/dvd/BaseOS
dnf config-manager --add-repo file:///content/rhel9.0/x86_64/dvd/AppStream

在这里插入图片描述

查看添加后的仓库文件

ll /etc/yum.repos.d

在这里插入图片描述

可以发现仓库文件内容缺少了一条gpgcheck=0,其没有指定公钥

  • 可以修改/etc/yum.conf文件,将gpgchek=0 --> gpgcheck=1
vim /etc/yum.conf# 修改文件内容
gpgcheck=0

在这里插入图片描述

  • 或者在仓库文件末尾追加一行gpgcheck=1
echo "gpgcheck=1" >> /etc/yum.repos.d/content_rhel9.0_x86_64_dvd_AppStream.repo
echo "gpgcheck=1" >> /etc/yum.repos.d/content_rhel9.0_x86_64_dvd_BaseOS.repo

查看追加后的内容
在这里插入图片描述

测试安装软件

dnf -y install ftp

在这里插入图片描述

第三方DNF仓库

因为只有Foundation可以联网,所以在Foundation上进行实验。

EPEL(Extra Packages for Enterprise Linux)是一个为Red Hat Enterprise Linux(RHEL)、CentOS以及其他兼容的系统提供额外软件包的仓库。

搭建RHEL的仓库

首先查询当前主机的版本

cat /etc/redhat-release

在这里插入图片描述

访问南京大学的镜像站,baseurl实际就是repodata所在的路径

# https://mirror.nju.edu.cn/epel/RHEL版本/Everything/系统架构
https://mirror.nju.edu.cn/epel/9/Everything/x86_64/

搭建软件仓库,自主选择搭建的方式

vim /etc/yum.repos.d/epel_nju.repo# 写入下列内容
[nju]
name= nju
baseurl= https://mirror.nju.edu.cn/epel/9/Everything/x86_64/
enabled=1
gpgcheck=0

在这里插入图片描述

继续检索上面搜索不到的sl命令来源

dnf provides sl

在这里插入图片描述

安装

dnf install sl

在这里插入图片描述

查看软件包中的包含的文件

rpm -ql sl

在这里插入图片描述

查看效果

sl

在这里插入图片描述

搭建CentOS的仓库

我们先把sl删除,然后在把所有仓库文件删除

dnf remove sl
rm -rf /etc/yum.repos.d/*.repo

访问南京大学镜像站,查找Centos

https://mirror.nju.edu.cn/centos/8-stream/AppStream/x86_64/os/
https://mirror.nju.edu.cn/centos/8-stream/BaseOS/x86_64/os/

搭建软件仓库,这里我们使用命令添加的方式

dnf config-manager --add-repo https://mirror.nju.edu.cn/centos/8-stream/AppStream/x86_64/os/
dnf config-manager --add-repo https://mirror.nju.edu.cn/centos/8-stream/BaseOS/x86_64/os/# 别忘记要添加“不对每个安装包进行数字签名验证”,也就是gpgcheck=0,默认=1;这里我们直接修改主文件
vim /etc/yum.conf
gpgcheck=1   -->  gpgcheck=0

在这里插入图片描述
在这里插入图片描述

查看所有仓库文件
在这里插入图片描述

如果不想出现redhat.repo,可以取消订阅

subscription-manager unregister

在这里插入图片描述

搜索openssh包

dnf search openssh

在这里插入图片描述

第三方RPM包

https://pkgs.org/

可以搜索我们需要的RPM包
在这里插入图片描述

Official代表官方的
在这里插入图片描述

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

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

相关文章

解决Klipper下位机ID获取失败问题

使用硬件: 上位机:必趣派,版本CB1_Debian11_Klipper_kernel5.16_20230303 下位机:八爪鱼STM32F407 问题:上位机获取下位机ID失败。 解决:咨询DIY群友,也对这个问题不太了解。我调试过程中&…

Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 4-1、线条平滑曲面(原始图形)

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata fro…

【vivado】 clock wizard 时钟IP

一、前言 MMCM和PLL是在FPGA设计中不可避免需要使用到的时钟资源,对于其功能及使用方法的理解是正确进行FPGA设计的前提。 二、Xilinx 时钟 IP配置 vivado中使用时钟向导(Clocking Wizard)配置时钟IP核,其框图如下: clk_in 输入时钟&#…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的的商品标签识别系统(Python+PySide6界面+训练代码)

摘要:开发商品标签识别系统在提升零售业运营效率和顾客购物体验中发挥着关键作用。本篇博客详细阐述了如何应用深度学习技术构建此类系统,并提供了完整的代码实现。该系统基于高效的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5进行了性能对比&…

*Javaweb -- MyBatis*

一:介绍: 1.MyBatis是一个优秀的 ①持久层 ②框架,用于简化JDBC的开发! ①:JAVAEE有三层的结构:表现层, 业务层, 持久层. 表现层代表的是页面的展示,业务层则指的是对于相关逻辑的处理, 而持久层, 指的则是对于数据进行持久化,保存在数据库当中. 持久层具体的来说就是负责…

数字孪生+工业互联网标识解析,打造智能工厂新标杆!

当前,工业4.0浪潮愈发澎湃,加快数字化、网络化、智能化发展成为了制造业转型升级的必然要求。 51WORLD基于数字孪生技术与工业互联网标识解析体系,打造了一个集协同化供应、个性化定制、智能化生产于一体的全连接产线孪生平台(以…

antv L7结合高德地图使用dome1

antv L7结合高德地图使用 一、设置底图二 、添加antv L7 中要使用的dome1. 安装L7 依赖2. 使用的dome 、以下使用的是浮动功能3. 运行后显示 自定义样式修改1. 设置整个中国地图浮动起来 自定义标注点1. 静态标注点2. 动态标注点(点位置需要自己改)3. 完…

Python笔记:函数

Python函数定义规则: 函数代码块以def关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。return [表达式] 结束函数,选择性地返回一个值给调用方,不带表…

Windows系统中安装docker及镜像加速的配置

文章目录 一.安装wsl二.下载docker desktop三.更换Docker镜像引用出处 一.安装wsl 在安装wsl之前,先在Windows中配置WSL环境,步骤很简单,按照以下文章进行 Windows10/11配置WSL(Ubuntu)环境 以管理员身份打开Windows PowerShell,执行以下命…

模型驱动架构MDA

MDE 模型驱动工程(MDE, Model-Driven Engineering)是软件工程的一个分支,它将模型与建模拓展到软件开发的所有方面,形成一个多维建模空间,从而将工程活动建立在这些模型的映射和转换之上。[1] MDE的基本原则是将模型视…

2.Windows平台Python的下载、安装和配置环境变量——跟老吕学Python编程

2.Windows平台Python的下载、安装和配置环境变量——跟老吕学Python编程 一、下载Windows版Python1.Python官网2.Windows版Python下载网址 二、在Windows安装Python1.全自动安装Python(不推荐)1.1 启动安装1.2 安装进度1.3 安装完成1.4 查看版本 2.自定义…

【GO】HTTP标准库1 - http协议基础知识

目录 一 http协议 1 http协议 2 http request 3 请求方法 4 URL 5 协议版本 6 请求头 7 Content-type 9 POST与GET区别 10 HTTP Response 11 常见的状态与话术 12 HTTP 响应头 13 完整的HTTP响应 14 HTTPS 一 http协议 1 http协议 HTTP(HyperText Tra…

Kubeadm部署K8s

Kubeadm部署K8s 集群规划: Master节点规划: Node节点规划: 安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 操作系统 CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘…

CANopen转Profinet网关连接西门子PLC与变流器通讯

CANopen转Profinet网关(XD-COPNm20)在智能领域,变流器的应用非常广泛,变流器一般会采用CANopen协议。现场采用台达的变流器(支持CANopen协议)作为CANopen从站,S7-1500系列PLC做主站,…

表单进阶(3)-上传文件和隐藏字段

上传文件&#xff1a;<input type"file"> 隐藏字段&#xff1a;<input type"hidden" name"" id"" value"带给后端的信息"> 禁用disabled&#xff1a;<button disabled"disabled">注册</bu…

蓝牙系列七:开源蓝牙协议栈BTStack数据处理(Wireshark抓包分析)

继续蓝牙系列的研究。 在上篇博客&#xff0c;通过阅读BTStack的源码&#xff0c;大体了解了其框架&#xff0c;对于任何一个BTStack的应用程序都有一个main函数&#xff0c;这个main函数是统一的。这个main函数做了某些初始化之后&#xff0c;最终会调用到应用程序提供的btst…

【嵌入式】嵌入式系统稳定性建设:最后的防线

&#x1f9d1; 作者简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟。提供嵌入式方向的学习指导、简历面…

一文带你了解MySQL之B+树索引的原理

前言 学完前面我们讲解了InnoDB数据页的7个组成部分&#xff0c;知道了各个数据页可以组成一个双向链表&#xff0c;而每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表&#xff0c;每个数据页都会为存储在它里边儿的记录生成一个页目录&#xff0c;在通过主键查…

蓝桥杯真题讲解:子矩阵(二维滑动窗口)

蓝桥杯真题讲解&#xff1a;子矩阵&#xff08;二维滑动窗口&#xff09; 一、视频讲解二、正解代码 一、视频讲解 蓝桥杯真题讲解&#xff1a;子矩阵&#xff08;二维滑动窗口&#xff09; 二、正解代码 //二维单调队列 #include<bits/stdc.h> #define endl \n #def…

MapBox添加带箭头的轨迹线

效果&#xff1a; // 轨迹线 export const MAP_PATH_LINE (values, layerId) > {// 箭头-右var svgXML <svg viewBox"0 0 1024 1024" xmlns"http://www.w3.org/2000/svg"> <path d"M529.6128 512L239.9232 222.4128 384.7168 77.5168…