linu之软件包管理

本文介绍了Linux系统中的RPM包管理工具,包括其功能、命名格式及常用命令。此外,还讨论了YUM和DNF作为RPM的增强版,用于自动化解决依赖关系。最后,讲述了如何配置YUM仓库以及源代码编译安装软件的过程。
摘要由CSDN通过智能技术生成

RPM管理工具

RPM是红帽子包管理(Redhat Package Manager)的缩写。
■ 由Red Hat公司提出的一种软件包管理标准。
■ 是Linux各发行版中应用最广泛的软件包格式之一(还有debian的发行版deb安装包)。
作用 : 对发行的 RPM格式的软件包进行安装 、査询、 更新、升级、 校验、 卸载以及生成.rpm格式的软件包等
■ RPM功能通过rpm命令使用不同参数来实现。
rpm:软件包_ 压缩存贮, 拥有一个头文件, 其中包含有关于本软件包的相关信息, 便于对软件包信息进行查询。
RPM软件包的典型命名格式:
■ 软件名-版本号-发行号.操作系统版本.硬件平台的类型.rpm比如 zsh-5.0.2-14.el7.x86_64.rpm
在这里插入图片描述

命令参数:
安装软件包:rpm -ivh + 软件包名   安装
卸载软件包:rpm -evh + 软件名    卸载
查看系统所有已安装的软件包:rpm -qa  查看系统所有已安装的软件包   rpm -qa | grep zsh
查看某个文件是哪一个包释放:rpm -qf  + 文件绝对路径   
查看软件释放的文件列表:rpm -ql  + 软件名             
包的详细信息显示:rpm -qpi +  包名               
软件包升级:rpm -Uvh + 软件名   

注意:下载软件包必须挂载本地光盘源。

YUM管理工具

YUM (Yellow dog Updater,Modified) 则能在线下载、 安装、 卸载、 升级rpm软件包等任务,并且能够自动查找并解决rpm包之间的依赖关系后,一次性完成所有具有依赖关系rpm包的安装,而无需管理员逐个、 手工地去安装每一个rpm包。
要实现YUM的功能,有赖于三个机制的建立:
■ 其一是需要有一个包含各种rpm安装文件的软件仓库(即yum源)
■ 其二是有软件仓库的仓库数据库 ,其中收集了软件仓库中所有rpm包的头部信息包含了该包的描述,功能,提供的文件,依赖关系等信息。
■ 其三是有软件仓库的地址等信息 。
RHEL8中默认使用的软件批量管理工具由原版本的yum换成了速度更快的dnf,原有的yum命令仅为dnf的软链接,当然依旧可以使用。

配置yum仓库

本地仓库分类:
BaseOS存储库:提供一套核心的底层操作系统功能,为基础软件安装库。
AppStream存储库:包括额外的用户空间应用程序、运行时语言和数据库,以支持不同的工作负载和用力。AppStream中的内容有两种格式–RPM格式的和称为模块的RPM格式扩展。

[root@bogon mnt]# mount /dev/sr0 /mnt #挂载本地光盘源,默认挂在在/mnt,也可自己创建挂在带你目录。
[root@bogon mnt]# vim /etc/yum.repos.d/rhel8.repo
[AppStream] #仓库标识
name=Appstream  #仓库名称
baseurl=file:///mnt/AppStream  #资源定位符
gpgcheck=0 #关闭密钥检测
enable=1 #开机启动
[BaseOS]
name=BasaOS
baseurl=file:///mnt/BaseOS
gpgcheck= 0
enable=1
[root@kongd ~]# yum repolist   #查看仓库状态
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
RHEL8-Appstream                                                                   98 MB/s | 5.3 MB     00:00    
RHEL8-BaseOS                                                                     126 MB/s | 2.2 MB     00:00    
仓库标识                                              仓库名称                                              状态
RHEL8-Appstream                                       RHEL8-Appstream                                       4,672
RHEL8-BaseOS                                          RHEL8-BaseOS                                          1,658
#yum install yp-tools

命令参数

yum install [-y] 包名
yum groupinstall 包组名

yum install [-y] 包名 安装指定的软件包,-y则在工作过程中需要使用者响应, 这个选个参数可以直接回答yes
yum update [-y] 包名 升级指定的软件包或主机中所有已安装的软件包
yum remove [-y] 包名 卸载已经安装在系统中的指定的软件包
yum provides 文件名 查找指定的文件属于哪个包; rpm -qf
yum info 包名 查看指定软件包的详细信息  rpm -qpi
yum repolist [all] 查看系统中yum资源库配置信息
yum search 模糊包名 查看模糊包名的软件包
yum grouplist 查看仓库里而所有包组
yum groupinfo 包组名 查看指定包组里而的详细信息
yum groupinstall 包组名 安装指定包组里面的所有包
yum list all 列出仓库里所有可安装的软件包
yum list installed [包名] 列出己经安装的所有的或指定的rpm包(包名中可使用匹配符) rpm -qa 
yum clean packages all 清除下载到本机的指定的软件包或所有软件包的yum源缓存
yum whatprovides /etc/fstab 查看这个文件是由那个包提供的

源代码编译

使用源代码安装软件的优点:
获得最新的软件版本,及时修复bug
根据用户需要,灵活定制软件功能
应用场合举例:
安装较新版本的应用程序时 自由软件的最新版本大都以源码的形式最先发布。
当前安装的程序无法满足需要时,编译安装可由用户自行修改、定制功能。
​需要为应用程序添加新的功能时 用户可以重新配置、自由修改源代码,加入新的功能。

配置(预编译过程)    
编译   make  安装 make install
确认源代码编译环境   
安装支持(C/C++程序语言的 编译器)
解包 —— tar(解包、释放出源代码文件)
配置 —— ./configure(针对当前系统、软件环境,配置好安装参数)
编译 —— make(将源代码文件变为二进制的可执行程序)
安装 —— make install
将编译好的程序文件复制到系统中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值