zoukankan      html  css  js  c++  java
  • Linux进阶教程丨第12章:安装与更新软件包

    本文是 i 春秋作家「xiehudie」表哥分享的技术文章,旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。本套Linux进阶教程共分为14章,欢迎大家前来系统学习。

    前期回顾>>

    第1章:访问命令行

    第2章:从命令行管理文件

    第3章:编辑、查看和编辑文本文件

    第4章:管理用户和组

    第5章:控制对文件的访问

    第6章:监控与管理Linux进程

    第7章:控制服务和守护进程

    第8章:配置和保护SSH

    第9章:分析和储存日志

    第10章:管理网络

    第11章:归档和传输文件

    Linux进阶教程丨第2章:从命令行管理文件
     

    第12章:安装与更新软件包

    一、软件包和RPM

    RPM软件包管理器提供了一种标准的方式来打包欤件进行分发。与使用从存档提取到文件系统的软件相比,采用RPM软件包形式管理软件要简单得多。管理员可以通过它跟踪欤件包所安装的文件,需要删除哪些件并检查确保显示支持赖件包。有关已安装件包的信息存储在各个系统的本地RPM数据库中。

    RPM软件包文件由四个元素组成:

    Linux进阶教程丨第12章:安装与更新软件包

     

    -NAME是描述其内容的一个或多个词语(coreutils)。

    -VERSION是原始软件的版本号(8.30)。

    -RELEASE是基于该版本的件包的发行版号,由赖件打包商设置,后者不一定是原始欤件开发商(4.el8)。

    -ARCH是编译的软件包运行的处理器架构。noarch表示此软件包的内容不限定架构(与表示64 位的x86一64和表示64位ARM的aarch64等等相反)

    从存储库安装软件包时,只需要软件包的名称。如果存在多个版本,则会安装具有更高版本号的软件包。如果一个版本存在多个发行版,则会安装具有更高发行版号的赖件包。

    每个RPM软件包是包含以下三个组成部分的特殊存档:

    - 软件包安装的文件。

    - 与软件包(元数据)有关的信息,如name、version、release和arch;软件包的摘要和描述;是否要求安装其他软件包;授权许可信息;软件包更改日志;以及其他详细信息。

    - 在安装、更新或删除此软件包时可能运行的脚本,或者在安装、更新或删除其他软件包时触发的脚本。

    通常,软件提供商使用GPG密钥对RPM软件包进行数字签名。RPM系统通过确认件包已由相应的GPG密钥签名来验证软件包的完整性。如果GPG 签名不匹配,RPM系统拒绝安装赖件包。

    我们在安装该软件包,仅获取该软件包的最新版本。为了更新软件,RPM会删除旧版本的软件包,再安装新版本。更新通常会保留配置文件,但新版本的打包程序会定义确切的行为。

    在大多数情形中,一次仅可安装软件包的一个版本或发行版。不过,如果软件包构建为没有冲突的文件名,则可安装多个版本。最重要的相关例子是kernel软件包。由于新的内核只有通过启动至该内核才能进行测试,该软件包进行了特殊设计,以便一次能够安装多个版本。如果新内核启动失败,则旧内核依然可用并可启动。

    rpm实用程序是低级工具,可获取欤件包文件和已安装软件包的内容的相关信息。默认情况下,它从已安装软件包的本地数据库中获取信息。但是,可以使用· p选项来指定我们想获取有关已下载软件包文件的信息。这样做的目的可能是想在安装之前检查软件包文件的内容。

    查看已安装软件包的一般信息:

    Linux进阶教程丨第12章:安装与更新软件包

     列出软件包安装的文件:

    Linux进阶教程丨第12章:安装与更新软件包

     rpm命令也可以用于安装已下载到本地目录的RPM软件包。

    Linux进阶教程丨第12章:安装与更新软件包

     以下是RPM查看命令摘要:

    Linux进阶教程丨第12章:安装与更新软件包

     

    二、YUM

    该低级别rpm命令可用于安装软件包,但不可与软件包存储库一起使用或自动解决多个源的依赖关系/

    Yum的设计目标是在管理基于RPM的软件安装和更新方面成为一个更理想的系统。Yum命令允许我们安装、更新、删除和获取有关软件包及其依赖性的信息。

    使用yum查找软件

    - yum help 显示用法信息

    - yum list 显示已安装和可用的软件包

    Linux进阶教程丨第12章:安装与更新软件包

     - yum search KEYWORD根据仅在名称和摘要字段中找到的关键字列出的软件包。

    若要搜索名称、摘要和描述字段中包含“web server”的软件包,可以使用search all:

    Linux进阶教程丨第12章:安装与更新软件包

     - yum info PACKAGENAME返回与软件包相关的详细信息,包括安装所需的磁盘空间。

    获取Apache HTTP Server的相关信息:

    Linux进阶教程丨第12章:安装与更新软件包

     - yum provides PATHNAME显示与指定的路径名匹配的软件包。

    若要查找提供/var/www/html目录的软件包,可使用:

    Linux进阶教程丨第12章:安装与更新软件包

     使用yum安装和删除软件

    - yum install PACKAGENAME获取并安装软件包,包括所有依赖项:

    Linux进阶教程丨第12章:安装与更新软件包

     - yum update PACKAGENAME获取并安装指定赖件包的较新版本,包括所有依赖项。通常,该进程尝试适当保留配置文件,但是在某些情况下,如果打包商认为旧文件在更新后将无法使用,则可能对其进行重命名。如果未指定PACKAGENAME,它将安装所有相关更新。

    Linux进阶教程丨第12章:安装与更新软件包

     由于新的内核只有通过启动至该内核才能进行测试,该软件包进行了特殊设计,以便一次能够安装多个版本。如果新内核启动失败,则依然可以使用旧的内核。使用yum update kernel实际上会安装新的内核。配置文件中保存一份软件包列表,即使在管理员要求更新时也始终安装这些软件包。

    - yum remove PACKAGENAME删除安装的软件包,包括所有受支持的软件包:

    Linux进阶教程丨第12章:安装与更新软件包

     使用yum安装和删除各组软件

    - yum也具有组的概念,即针对特定目的而一起安装的相关软件集合。常规组是软件包的集合。环境组是常规组的集合。一个组提供的软件包或组可能为mandatory(安装该组时必须予以安装)、default(安装该组时通常会安装),或 optional(安装该组时不予以安装,除非特别要求)file:///C:\Users\lenovo\AppData\Local\Temp\ksohtml\wps948C.tmp.png与yum list相似,yum group list命令可显示已安装和可用的组的名称。

    与yum list相似,yum group list命令可显示已安装和可用的组的名称。

    Linux进阶教程丨第12章:安装与更新软件包

     有些组一般通过环境组安装, 默认为隐藏。可通过yum group list hidden命令列出这些隐藏组。

    - yum group info显示组的相关信息。它可以列出必选、默认和可选软件包的名称。

    Linux进阶教程丨第12章:安装与更新软件包

     - yum group install 将安装一个组,同时安装其必选和默认的软件包,以及它们依赖的软件包。

    Linux进阶教程丨第12章:安装与更新软件包

     查看事务历史记录

    - 所有安装和删除事务的日志记录在/var/log/dnf.rpm.log中。

    Linux进阶教程丨第12章:安装与更新软件包

     - yum history显示安装和删除事务的摘要。

    Linux进阶教程丨第12章:安装与更新软件包

     - history undo选项可以撤销事务。

    Linux进阶教程丨第12章:安装与更新软件包

     以下是Yum命令摘要:

    Linux进阶教程丨第12章:安装与更新软件包
     
  • 相关阅读:
    ubuntu server 12.04中文显示不了
    hustoj升级
    oj资源
    考试系统
    怎样用DOS命令替换文本里的某段字符
    ubuntu一键安装lamp
    Windows Server 2008官方简体中文正式版下载+序列号
    vsphere ubuntu网速很慢
    前端
    (运维)VMwarevCenterServerAppliance5.0安装与部署
  • 原文地址:https://www.cnblogs.com/ichunqiu/p/15662284.html
Copyright © 2011-2022 走看看