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

linux软件仓库

Linux 下的软件仓库及相关知识

常见软件包类型

在 Linux 系统中,常见的软件包类型主要包括 .deb.rpm.deb 是 Debian 及其衍生版本(如 Ubuntu)使用的软件包格式,而 .rpm 则是 Red Hat 及其衍生版本(如 CentOS、Fedora)所采用的标准格式1

RPM 命令详解

RPM(RedHat Package Manager)是一种用于管理和维护基于 RPM 的软件包的工具。以下是常用的 rpm 命令及其功能:

  • 查询已安装的软件包
    使用 -q 参数可以查询指定名称的软件包是否已安装:

    Bashrpm -q package_name
  • 列出所有已安装的软件包
    使用 -qa 参数可显示当前系统中所有的已安装软件包列表:

    Bashrpm -qa
  • 查看软件包的信息
    使用 -qi 参数可以获得关于某个特定软件包的详细信息:

    Bashrpm -qi package_name
  • 验证软件包的完整性
    使用 -V 参数可以检查已安装软件包的内容是否有被修改的情况:

    Bashrpm -V package_name
  • 安装新的软件包
    使用 -i 或者直接执行 rpm 命令即可完成新软件包的安装操作:

    Bashrpm -ivh package_file.rpm
  • 升级现有软件包
    如果需要更新现有的软件包,则可以通过以下方式实现:

    Bashrpm -Uvh package_file.rpm
  • 卸载软件包
    删除不再需要的软件包可通过下面这条指令达成目的:

    Bashrpm -e package_name

本地软件仓库构建方法

为了能够离线管理大量依赖关系复杂的软件集合,通常我们会创建自己的本地 YUM 软件库。具体步骤如下所示:

  1. 准备 ISO 文件或者 DVD 光盘作为初始数据源;
  2. 创建目标挂载点并将其关联至实际介质设备;例如 /mnt/cdrom 就是一个典型的选择;
  3. 编写相应的 repo 配置文档存放在路径 /etc/yum.repos.d/ 中定义好 BaseURL 地址指向刚才设置好的共享位置;
  4. 测试连接有效性确认无误之后便完成了整个流程3

示例代码片段展示如何编辑 westos.repo 文件:

ini

网络软件仓库构建方法

除了通过物理媒介之外还可以借助 HTTP(S)/FTP 协议远程分发二进制文件给客户端机器使用。这里简单概述几个要点:

  • 设置 Web/Ftp Server 提供在线服务接口;
  • 修改对应节点主机上的 yum.conf 加入新增加的服务地址链接;
  • 客户端重新加载缓存同步最新元数据以便正常工作4
DNF 命令使用

DNF 是新一代替代传统 YUM 的包管理系统,默认集成到了较新版 Fedora/CentOS7+ 当中去掉了部分冗余选项更加简洁高效同时也兼容旧版语法结构保持向后兼容特性不变。下面是几个常用场景举例说明:

  • 更新操作系统整体环境到最新稳定状态:

    Bashdnf update
  • 查找符合条件的目标程序是否存在可用版本号可供选择下载安装:

    Bashdnf search keyword
  • 显示某单一项目的全貌描述包括但不限于作者版权许可声明等等附加资料详情记录:

    Bashdnf info program-name
  • 批量处理多条命令串连在一起一次性提交减少交互次数提高效率:

    Bashecho 'yes'|dnf remove conflicting-packages --setopt=deltarpm=false && dnf clean all || exit 1
http://www.xdnf.cn/news/38125.html

相关文章:

  • 【AIVS】OPENAIVS开源视频推理系统简介
  • 【内置函数】84个Python内置函数全整理
  • 嘉立创原理图、PCB常见问题
  • 8.5/Q1,Charls最新文章解读
  • JavaScript 变量命名规范
  • LeetCode 2563.统计公平数对的数目:排序 + 二分查找
  • 行为审计软件:企业合规与内部监控的数字守门人
  • 硬件工程师面试常见问题(3)
  • Linux下使用C++获取硬件信息
  • Spring Cloud CircuitBreaker服务熔断+隔离+限流
  • 【解决】torch引入过程中的ImportError: __nvJitLinkAddData_12_1, version libnvJitLink.so.12
  • 编程技能:调试04,逐语句命令
  • 08-DevOps-向Harbor上传自定义镜像
  • 【数字IC进阶】整数除3和模3的高效实现
  • 网络开发基础(游戏方向)之 概念名词
  • ESP32-S3上跑通红外重复码发送(7)
  • Linux cmp 命令使用详解
  • SQL注入绕过一些过滤的方式
  • 【数据结构】_栈和队列相关面试题
  • Photoshop安装与配置--简单攻略版
  • 数字化转型四步走:企业的进化密码
  • 新手记录--从零开始[labelme安装及使用]
  • springAi---智能客服
  • 微信、抖音、小红书emoji符号大全
  • Step文件无法编辑怎么办?
  • 案例驱动的 IT 团队管理:创新与突破之路:第六章 组织进化:从案例沉淀到管理体系-6.1 案例库建设方法论-6.1.1结构化案例采集模板
  • 220V转5V转12V电机驱动供电WT5105
  • Java Date 类深度解析
  • k8s教程4:Kubernetes中的服务发现与负载均衡
  • 【信息系统项目管理师】高分论文:论信息系统项目的采购管理(CRM实施)