YUM 源与 APT 源的详解及使用指南

news/2024/10/3 21:47:29 标签: ubuntu, linux, devops, 运维, centos

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、YUM源
    • YUM源的基本概念
      • 配置示例
        • gpgcheck的用途
      • createrepo的功能
        • 使用示例
      • 挂载ISO镜像
        • 使用块设备
  • 二、APT源
    • APT源的基本概念
      • 配置示例
      • 挂载ISO镜像
        • 使用非块设备
        • 检验和区分
  • 三、何时使用块设备挂载
    • 使用块设备的场景
    • 不使用块设备的场景
  • 结论


前言

在Linux操作系统中,YUM(用于RPM包管理的工具)和 APT(用于Deb包管理的工具)是两种常用的软件包管理工具。本文将分别探讨这两种源的概念及其配置方法,同时讨论挂载ISO镜像时的块设备与非块设备的使用场景。


一、YUM源

YUM源的基本概念

YUM源是存放RPM软件包的仓库,YUM通过这些源来下载和安装软件。源的配置文件通常位于 /etc/yum.repos.d/ 目录下。

配置示例

[repo_name]
name=描述信息
baseurl=http://url/to/repo/
enabled=1
gpgcheck=0  # 用于指定是否检查软件包签名,1表示启用检查,0表示不检查
gpgcheck的用途

gpgcheck 设置为1时,YUM会验证下载的软件包的签名,以确保软件包的完整性和来源的可靠性。若签名无效,YUM将拒绝安装该软件包,从而提高系统的安全性。

PS:只设为 gpgcheck 1 还不行,还得从官网下载这个检测文件(几百k)一起使用(同路径下)

createrepo的功能

createrepo 是用于创建YUM仓库元数据的工具。通过此工具,您可以在本地目录中创建包含RPM包的YUM源,并生成必要的repodata。

使用示例
#安装createrepo:
yum install createrepo
#生成元数据:
#假设您的RPM包存放在 /path/to/repo/ 目录中,运行以下命令:
createrepo /path/to/repo/

这将在该目录中生成一个 repodata 目录,其中包含了YUM所需的元数据文件。此路径实际上是配置中 baseurl 指向的路径

挂载ISO镜像

在CentOS中,你可以将ISO镜像文件挂载到某个目录以用作YUM源。

使用块设备

在挂载ISO文件时,需要使用块设备。ISO镜像本质上是一个光盘映像文件,可以被视为块设备。

#默认挂载命令:
mount /path/to/your.iso /mnt

#或使用特定参数:
mount -t iso9660 -o ro,loop /path/to/your.iso /mnt
#losetup命令
#使用 losetup 命令可以管理循环设备。常见命令包括:

#查看所有块设备(亦可检验用)
losetup -a

#创建块设备:
losetup /dev/loop1 /path/to/your.iso

#删除块设备:
losetup -d /dev/loop1

二、APT源

APT源的基本概念

APT源是存放Deb软件包的仓库,APT通过这些源来下载和安装软件。APT源的配置文件位于 /etc/apt/sources.list 及 /etc/apt/sources.list.d/ 目录下。

配置示例

deb http://url/to/repo/ focal main

挂载ISO镜像

在Ubuntu中,同样可以将ISO镜像挂载为APT源。

使用非块设备

对于普通文件(如普通目录或文件),APT通常不需要将其视为块设备。你可以直接将ISO镜像添加为源,像这样:

sudo mount -o loop /path/to/your.iso /mnt

对于本地Deb包目录,你只需在 /etc/apt/sources.list 文件中添加相应的行:

deb [trusted=yes] file:///path/to/your/repo/ ./
检验和区分

APT没有专门的块设备概念,但你可以使用 dpkg -l 来列出已安装的包并验证源的有效性。

三、何时使用块设备挂载

使用块设备的场景

ISO文件: ISO镜像文件是以块为单位存储数据的,通常需要使用块设备挂载。使用 -o loop 选项将其挂载为块设备。
虚拟磁盘: 任何以文件形式存储的虚拟磁盘(如VMDK、VHD等)也需要以块设备的方式挂载。

不使用块设备的场景

普通文件或目录: 对于普通的目录或文件,你可以直接在APT的源配置中引用,而不需要挂载为块设备。


结论

无论是YUM源还是APT源,了解何时使用块设备挂载、如何配置源以及如何检验和区分这些方式都是非常重要的。通过掌握这些知识,可以更有效地管理和维护Linux系统的软件包。


http://www.niftyadmin.cn/n/5689006.html

相关文章

kafka测试

1】确认 ZooKeeper 服务状态 为了进一步确认 ZooKeeper 服务的状态,你可以执行以下操作: 检查 ZooKeeper 服务状态: docker ps 确保 ZooKeeper 容器正在运行。 检查 ZooKeeper 日志: docker logs zookeeper 查看最新的日志条目&…

VS与VSCode的区别

文章目录 1. 什么是 Visual Studio 和 Visual Studio Code?Visual Studio(VS)Visual Studio Code(VS Code) 2. 主要区别详解性能和资源占用功能和复杂性扩展和自定义适用场景价格 3. 详细对比总结4. 如何选择适合自己的…

Qt/C++开源控件 自定义雷达控件

使用Qt框架创建一个简单的雷达图&#xff0c;包含动态扫描、目标点生成、刻度和方向标识。代码实现使用C编写&#xff0c;适合用作学习和扩展的基础。 1. 头文件与基本设置 #include "RadarWidget.h" #include <QPainter> #include <QPen> #include &…

Unity2017在安卓下获取GPS位置时闪退的解决办法

在Unity使用低功耗蓝牙通信&#xff08;BLE&#xff09;需要用到设备的位置信息。但是调用Input.location.Start()程序会闪退。 解决办法&#xff1a;调用原生安卓接口。 参见《Unity2021通过aar调用Android方法》编写一个aar插件gpsplugin&#xff0c;在插件中提供获取GPS位…

python如何显示数组

np.set_printoptions方法的相关属性&#xff1a; <span style"background-color:#272822"><span style"color:#f8f8d4">set_printoptions(precisionNone, thresholdNone, edgeitemsNone, linewidthNone, suppressNone, nanstrNone, infstrNo…

D25【 python 接口自动化学习】- python 基础之判断与循环

day25 for 循环 学习日期&#xff1a;20241002 学习目标&#xff1a;判断与循环&#xfe63;-35 for 循环&#xff1a;如何遍历一个对象里的所有元素&#xff1f; 学习笔记&#xff1a; for 循环与while循环的区别 for循环的定义 使用for循环遍历序列 使用for循环遍历字典…

什么是转义字符

1.什么是转义字符 转义字符是一组特殊的字符&#xff0c;转义字符顾名思义就是&#xff1a;转变原来的意思。 比如&#xff1a;我们有一组字符&#xff0c;其中的n能完整的打印出来&#xff0c;如下&#xff1a; #include <stdio.h> int main() { printf("asnfd&…

Leecode SQL 184. Department Highest Salary 找出tie

Department Highest Salary 注意&#xff01;要找出 tie 的 highest salary&#xff01; Write a solution to find employees who have the highest salary in each of the departments. Return the result table in any order. The result format is in the following ex…