首页 > 系统相关 >CentOS软件包管理

CentOS软件包管理

时间:2023-09-26 18:32:44浏览次数:28  
标签:CentOS 管理 -- rpm 命令 yum 软件包 安装

一:CentOS中RPM软件包管理方式概述

Linux系统中的很多软件除了提供软件本身的程序功能之外,还需要提供该程序使用的库和软件以及配置文件等。因此,在Linux中以软件包为单位处理这些集合。包的组成部分如下图所示:

CentOS软件包管理_安装软件

软件包管理就是安装或者卸载软件,还可以查看当前安装软件的信息以及软件之间的依赖关系,这种检查可以避免软件之间的冲突。软件包之间的依赖关系就是指操作系统软件包a时需要安装软件包b。软件包管理方式在RedHat(CentOS)和Debian(Ubuntu)中有所不同,区别如下表所示:

主要软件包格式

RedHat系列

Debian系列

软件包格式

rpm格式

deb格式

软件包管理命令

rpm命令

dpkg命令

在线升级命令

yum(dnf)命令

apt命令

在CentOS中,虽然rpm和yum包都是软件包管理命令,但是两者之间还是有区别的。

rpm命令:以单个程序为单位管理和执行,软件包之间的依赖关系不会自动解决,但是会预先显示必要的程序包信息。使用rpm命令安装软件包时需要指定路径,且受限于软件的依赖性。

yum命令:具有在线升级软件包功能,可以自动解决依赖关系。yum安装时不需要指定路径,而且会自动安装依赖的软件包,但需要提前配置好yum源。

二:利用rpm命令管理RPM软件包

格式:rpm [软件包] 软件包名称

rpm命令的选项大致可以分为3类,分别是显示类选项、安装类选项和卸载类选项。显示软件包信息的选项如下表所示:

选项

说明

-i、--info

显示指定软件包的详细信息

-a、--all

显示已安装的RPM软件包信息列表

-q 、--query

显示软件版本(已安装的软件)

-f、 --file

显示包含指定文件的RPM软件包

-c、 --configfiles

仅显示指定程序包的配置文件

-d、 --docfiles

仅显示指定包中的文件

-l、 --list

显式指定包中的所有文件

-R、 --requires

显示指定软件包所依赖的RPM软件包名称

-P 、--package

显示有关指定的RPM软件包文件而不是已安装的RMPM软件包名称的信息

不同选项组合起来有不同的显示效果,比如执行rpm -q cups命令显示cups软件包的版本信息,如果使用该命令查看系统中还没有安装的软件包vim,则会提示“未安装软件包vim”,指定-ql表示显示cups软件包中的所有文件。如下图所示:

CentOS软件包管理_安装软件_02

再看一个/etc/skel/.bashrc文件的RPM软件包信息,如下图所示:

CentOS软件包管理_配置文件_03



有关软件包的选项如下表所示:

选项

说明

-i --install

安装软件包(没有更新)

-v  --verbose

显示详细信息

-h --hash

使用#显示进度

-U --upgrade

升级软件包,若不存在则安装新软件包

-F  --freshen

更新软件包,若不存在,则不会执行任何操作

--nodeps

忽略依赖项并安装

--force

即使已安装指定的软件包,也会执行覆盖安装

--test

在不安装软件包的情况下,检查是否存在冲突并显示结果

通常安装软件包会搭配-ivh这三个选项一起使用,即rpm -ivh软件包名称。指定-q安装软件包时会显示这个软件是否已经安装了,如果没有安装会提示这是未安装的软件包,指定-ivh选项安装软件包时会显示更加详细的安装信息,还可以看到安装进度,如下图所示:

CentOS软件包管理_配置文件_04


安装软件包时,如果对其他软件包有依赖性,必须同时安装所需的软件包,否则安装将会停止。你可以使用--nodeps选项忽略依赖关系,但是这种操作可能会是其他情况收到涌向。在安装ypbind软件包时由于没有其他软件包而无法安装,这时加入--nodeps选项可以忽略依赖项并安装成功。

如果想卸载软件包,可以指定下面这几个选项,如下表所示:

选项

说明

-e --erase

卸载安装包

--nodeps

忽略依赖软件包并删除软件包

--allmatches

删除与软件包匹配的所有版本的软件包

卸载安装包时会验证rpm软件包之间的依赖性,如果你要卸载的软件包依赖于其他软件包,卸载操作会被中断。忽略依赖项时,可以进行卸载,但其他情况会受影响。下面使用rpm -e命令卸载软件包的过程,如下图所示:

CentOS软件包管理_安装软件_05

在卸载软件时,如果存在软件依赖性,一般不要轻易删除互相依赖的软件包,因为不清楚对系统有没有影响。有时可以指定-nodeps选项忽略依赖关系,但是这样可能会导致相关依赖不可用。

注意:如果使用rpm安装软件包时一直失败,可以:在关机后,"Oracle VM VirtualBox管理器"界面点击“设置按钮”,选择”存储>控制器:IDE“选项单击右边的”添加虚拟光驱“按钮添加CentOS的ISO镜像文件。然后单击”系统”按钮,选择”主板“选项,在启动顺序中取消勾选“光驱”复选框,设置完成后单击OK按钮。

开机后,执行mount -tiso9660/dev/cdrom/mnt.cdrom命令即可以将光驱挂载成功。/mnt目录中的cdrom目录需要使用mkdir命令创建。在/mnt/cdrom中找到Packages目录,安装软件时需要事先进入到Packages目录中。

三:rpm命令和yum命令的区别

yum命令是一个开源的命令行管理工具,这个命令广泛应用于在LInux系统上管理和维护RPM软件包。yum命令通过解决软件包的依赖性,自动安装、删除和更改软件包,当yum安装和升级一个软件包时,它会安装和升级所有依赖包的软件包。所有的RPM软件包都存储在软件库当中,用户可以使用yum命令从软件库当中下载安装到系统当中。

格式:yum [选项] {子命令} [软件包名称]

yum命令和它的子命令组合起来可以显示和搜索软件包的相关信息。下面是使几个和搜索与显示相关的子命令,如下表所示:

子命令

说明

list

显示所有可用的RPM软件包信息

list installed

显示已安装的的RPM软件包

info

显示有关指定的RPM软件包的详细信息

search

使用指定的关键字搜索RPM软件包并显示结果

deplist

显示指定的RPM包的依赖项信息

可以使用yum命令与上面的的各种子命令组合起来显示软件包的信息。

CentOS软件包管理_CentOS_06

上面截图中,利用yum installed命令显示已安装的RPM软件包信息。

执行yum info bash命令显示软件包bash的详细信息,包括软件包bash的名臣、版本、大小等,如下图所示:

CentOS软件包管理_配置文件_07

在执行软件包管理系统时,使用yum命令非常方便。yum和子命令搭配可以用来安装、更新和卸载软件包,如下表所示:

子命令

说明

install

安装指定的rpm软件包,会自动解决依赖问题

update

更新所有可以更新的已安装的rpm软件包,也可以指定单个rpm软件包进行更新

upgrade

整个系统的升级发行般

remove

卸载指定的rpm软件包

在更新软件包时,可以一次更新一个单独的软件包、多个软件包或全部的软件包。如果在更新时存在任何有关依赖关系的包,那么所依赖的软件包也会被同时更新。在使用yum命令安装或更新软件包时,yum命令总是时会安装一个新内核来取消安装和更新内核软件包之间的差别。

执行yum install zsh命令可以安装zsh安装软件包时,安装过程有提示确认消息时,输入y就可以继续安装,直到成功完成软件的安装,如下图所示。

CentOS软件包管理_安装软件_08

安装完成之后,你可以使用yum list命令指定软件包的名称检查是否安装了这个软件包,如下图所示,

CentOS软件包管理_安装软件_09

想要卸载之前安装的zsh软件包,可以使用yum remove zsh命令。卸载过程中会有卸载确认的提示信息。

CentOS软件包管理_配置文件_10

四:yum命令的配置文件

yum命令的主要配置文件是/etc/yum.conf,这个文件包含了基本的配置信息,例如yum执行期间的日志文件规范。yum的配置文件有配置文件/etc/yum.conf和资源库配置目录/etc/yum.repos.d。Linux系统中将有关每个软件库的消息都存储在了/etc/yum.repos.d目录下的一个单独文件中,这些文件定义了要使用的软件库。

CentOS软件包管理_CentOS_11



在/etc/yum.conf文件中,[main]的部分中所定义的都是全局设置,下面是每个参数的·含义:

cachedir:存储下载软件包的目录。

keepcache:如果该值为0,表示在安装软件包之后删除它们。

debuglevel:记录日志的信息量,数值从0到1.

logfile:yum的日志文件。

exactarch:该值为1时,表示yum只更新相同的体系结构的软件包。

obsoletes:该值为1时,表示yum在更新期间替换废弃的软件包。

gpgcheck:该值为1时,表示yum检查GPG签名以验证软件包的授权。

plugins:该值为1时,开启有扩展功能的yum plugins。

installonly_limit:对于单一的软件包可以同时安装的最大版本数.

进入/etc/yum,repos.d目录中,使用ls命令可以查看到这个目录下的每一个存储库服务器的配置文件,如下图所示:

CentOS软件包管理_CentOS_12

下面来说一下yum的存储库,存储库是指用户要下载文件的存储位置,除了使用网络上的服务器之外,还应该在文件系统中指定一个特定的目录作为存储库。

CentOS的存储库有提供CentOS正式支持的软件包的标准存储库,也有提供来自第三方的其他软件包的外部存储库,安装CentOS时的配置文件在/etc/yum,repos.d目录中。存储库的主要类型如下:

存储库

说明

配置文件

base

CentOS租用的软件包,此软件包包含在ISO影像中进行安装








CentOS-Base.repo

updates

CentOS租赁后更新的软件包

CentOS-Base.repo

extras

附加和上游戏包

CentOS-Base.repo

c7-media

使用DVD或ISO映像的存储库

CentOS-Medio.repo

 使用cat命令查看存储服务器配置文件,即CentOS.repo配置文件内容。

CentOS软件包管理_安装软件_13

其中name表示存储库的名称,morrorlist字段指定包含存储服务器列表的URL,baseurl(注释行,默认在首行带#)字段指定centos.org的存储库URL。



















标签:CentOS,管理,--,rpm,命令,yum,软件包,安装
From: https://blog.51cto.com/u_15912723/7613066

相关文章

  • Centos 内核 kernel 版本
    1:查看当前Centos内核版本uname-r 2:下载内核包wgethttp://hkg.mirror.rackspace.com/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-5.4.257-1.el7.elrepo.x86_64.rpm3:rpm安装该包rpm-ivhkernel-lt-5.4.257-1.el7.elrepo.x86_64.rpm4:编辑grub文件vim/etc/default/......
  • 基于边缘智能网关的储充一体电站管理方案
    在“2030碳达峰,2060碳中和”的目标下,我国持续加快推进能源转型,扩大新能源占比,全国各地都在部署建设光伏、储能、新能源汽车充电等应用。随着新能源汽车的广泛普及,充电站、充电桩的需求快速增加,行业也诞生了“光伏+储能+充放”的综合能源站应用。 针对此类综合能源站的监测和管......
  • 视频融合平台EasyCVR如何使用视频监控系统搭建森林防火与人车管理系统解决方案
    安防视频监控平台EasyCVR是一个具有强大拓展性、灵活的视频能力和轻便部署的平台。它支持多种主流标准协议,包括国标GB28181、RTSP/Onvif、RTMP等,还可以支持厂家的私有协议和SDK接入,例如海康Ehome、海大宇等设备的SDK。该平台不仅拥有传统安防视频监控的功能,还具备接入AI智能分析的......
  • 电商必看!防关联浏览器在多店铺管理中的实际作用
    随着电商的迅速发展,如何有效管理多个店铺和账户成为许多卖家面临的挑战。为了应对账户关联和隐私泄露等问题,越来越多的电商大咖开始使用防关联浏览器。一、为什么电商大咖都在使用防关联浏览器?电商大咖之所以选择使用防关联浏览器,而不再使用普通的浏览器,主要是因为它提供了以下几个......
  • centos设置开启自动启动服务
    1、编写服务或程序启动脚本命令:vi/opt/abaqus-lmgrd.sh输入启动脚本内容,如:#!/bin/bashsudo/usr/SIMULIA/License/2022/linux_a64/code/bin/lmgrd-c/usr/SIMULIA/License/2022/linux_a64/code/bin/ABAQUSLM__lmgrd__SSQ.lic2、赋予脚本可执行权限......
  • Linux系统常见的管理面板有哪些?
    Linux是非常热门的技术,也是当下非常受欢迎的操作系统,具有独特的优势所在,广受大家的喜欢和追捧,今天老男孩教育为大家分享一下几款常用的Linux系统面板,希望对你有所帮助。1、宝塔面板:是一款使用方便、功能强大而且终身免费的服务器管理软件,支持Linux以及Windows系统,一键配置L......
  • 使用HHDBCS管理Redis
    Redis是一款内存高速缓存数据库,可用于缓存,事件发布或订阅,高速队列等场景。因此,根据需要,HHDBCS在主页设置了“发布窗口”及“订阅窗口”。1连接redis打开HHDBCS,在数据库类型中选择Redis,填入相关信息,点击“登陆”即可。2订阅功能点击“订阅窗口”,在弹出框中填入信息,点击订......
  • 基于Java的高校竞赛管理系统设计与实现(亮点:发起比赛、报名、审核、评委打分、获奖排名
    高校竞赛管理系统一、前言二、我的优势2.1自己的网站2.2自己的小程序(小蔡coding)2.3有保障的售后2.4福利三、开发环境与技术3.1MySQL数据库3.2Vue前端技术3.3SpringBoot框架3.4微信小程序四、功能设计4.1主要功能描述4.2系统角色五、系统主要功能展示5.1前端展示5.1.1......
  • 基于Java的高校实习管理系统设计与实现(亮点:实习记录、实习打分、实习作业,功能新颖、老
    高校实习管理系统一、前言二、我的优势2.1自己的网站2.2自己的小程序(小蔡coding)2.3有保障的售后2.4福利三、开发环境与技术3.1MySQL数据库3.2Vue前端技术3.3SpringBoot框架3.4微信小程序四、功能设计4.1主要功能描述五、系统主要功能5.1管理员功能5.2公司功能5.3老师......
  • 谁背着“猴子”—— 职场时间管理必读指南
    谁背着“猴子”——职场时间管理必读指南 2017-11-2918:27小编在参加原子领导力训练营内训过程中,学习到一个经典的管理理论:“谁背着‘猴子’?” 这里的“猴子”指的是工作中待解决的问题。这个概念让自己意识到原来我经常试图把自己的“猴子”抛给领导,而这样的思维和工作方......