【Linux】RPM软件包和Yum软件仓库、apt

RPM

简介

  • RPM Package Manager,RPM 包管理器
    由红帽公司提出,Redhat、SUSE 等系列采用
    建立集中数据库,记录软件包安装/卸载等变化信息,分析软件包依赖关系
  • RPM 包 文件名特征

    bash-4.2.46-30.el7.x86_64.rpm
    操作系统:e 代表企业版,l 代表 linux

常见的软件封包类型

封包类型 说明
软件包 扩展名,适用于RedHat系列
deb软件包 拓展名.deb,适用于Debian系列
源代码软件包 以.tar.gz,.tar.bz2格式的压缩包提供包含程序的原始代码啊文件
其他 提供install.sh,setup, *.bin, *.pl等安装文件,绿色免安装、提供一边一 的程序及文件

常见安装位置

RPM包的一般安装位置(分散)

查询未安装的 RPM 安装软件

格式:

常用的子选项

:查看指定软件的详细信息
:查看指定软件的文件安装清单

安装/卸载 RPM 包软件

安装:

格式:

选项:

:显示安装细节
:以# 显示安装进度

  • 安装软件包 vsftpd:
  • 若想解决警告问题,直接直接导入红帽签名信息即可

卸载

格式:

查询已安装的软件包某个目录/文件是哪个 RPM 带来的

格式:

软件依赖关系

解决依赖关系

  • 先安装/卸载要求的包
  • 如果RPM包齐全但比较多,可以使用通配符*

忽略依赖关系(不推荐)

  • 可能导致软件运行异常
  • 辅助选项 –nodeps

安装失败:

[root@localhost ~]# rpm -ivh /mnt/Packages/bind-chroot-9.9.4-61.el7.x86_64.rpm
错误:依赖检测失败:
bind = 32:9.9.4-61.el7 被 bind-chroot-32:9.9.4-61.el7.x86_64 需要

安装成功:

[root@localhost ~]# rpm -ivh /mnt/Packages/bind-9.9.4-61.el7.x86_64.rpm
准备中… ################################# [100%]
正在升级/安装…
1:bind-32:9.9.4-61.el7 ################################# [100%]
[root@localhost ~]# rpm -ivh /mnt/Packages/bind-chroot-9.9.4-61.el7.x86_64.rpm

Yum仓库

简介

YUM,yellowdog updater modified

  • 基于RPM包构建的软件更新机制
  • 自动解决软件包依赖关系
  • 所有软件包由集中的YUM软件仓库提供

准备本地YUM仓库

软件仓库的提供方法

  • 本地目录:file://…
  • FTP或HTTP服务:ftp://…、http://…
  • Red Hat 发布的RPM包集合
  • 第三方、用户定义的RPM包集合

Yum仓库构建(既做服务端又做客户端)

影响yum使用的主要文件

  • 基本设置:/etc/yum.conf
  • 仓库配置:
  • 日志文件:/var/log/yum.log

.repo 基本配置项

  • [源名称]:自定义名称,具有唯一性
  • name:本软件源的描述字串
  • :指定YUM服务端的URL地址
  • enabled:是否启用此频道
  • gpgcheck:是否验证待安装的RPM包
  • gpgkey:用于RPM软件包验证的密钥文件

Red Hat 具体搭建代码

:挂载操作时,需要确保虚拟机连接好镜像文件
具体操作如下:

Yum仓库使用

查询软件信息

查看软件列表

安装、卸载软件包

软件包基本操作

  • 格式:

常用指令

  • :安装指定软件包,类似于

    apt

    引言

    apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。

    apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令。

    学习apt的原因是因为做一份作业centos和Ubuntu同时死机!!!!于是安装了kali,没想到kali居然无法用rpm,但其实Ubuntu也没有rpm的内核,kali属于Ubuntu的一种,与Ubuntu一样,拥有apt这样类似于rpm的包管理工具。

    apt的权限

    一些apt命令需要对, , , 进行读写操作,这些命令需要权限。

    而对于下载包、显示包信息、检索包等,则无需sudo权限。

    格式

    options:可选,选项包括 (帮助),(当安装过程提示选择全部为”yes”),(不显示安装的过程)等等。
    command:要进行的操作。
    package:安装的包名。

    apt 常用命令

    需要sudo权限的操作

    列出所有可更新的软件清单命令

    软件包索引是一个保存了包的版本(这是与rpm不同的地方)、资源地址等信息的文件。如果长久不更新,那么新版本的软件包将不会被其他apt相关命令下载安装。

    实例

    升级单个程序包

    格式:

    自动升级

    安装完成后自动升级服务将自行启动,可以通过来验证这一点。

    安装软件包

    格式:

    • 在线安装单个或多个软件包
    • 或是安装本地deb包
    安装指定版本

    移除软件包

    remove

    删除软件包

    格式

    • 移除单个或多个软件包
    purge

    移除软件包及配置文件

    自动移除未使用的包apt autoremove

    每安装一个包,其依赖也会被安装。移除此包时会保留这些依赖包,因此需要自动移除未使用的包

    显示已安装的所有软件包清单

    无需sudo权限的apt命令

    下载软件包

    格式

    查看某个包是否可用:使用grep命令

    查看已安装包

    查看可升级的包

    实例

    【Linux】RPM软件包和Yum软件仓库、apt

    由于前面都更新了,所以没有可更新包了

    搜索包

    查看包信息

    列出所有已安装的包的版本信息

    文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8596 人正在系统学习中

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月22日
下一篇 2022年8月22日

相关推荐