linu之软件包管理
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
将编译好的程序文件复制到系统中
linu之软件包管理相关推荐
- 软件包管理(rpmyum)
一.rpm包管理器 rpm是一个功能强大的包管理工具,可用于构建,安装,查询,验证,更新和卸载软件包. 用法: rpm [OPTION...] 配置文件: /var/lib/rpm/ 已安装rpm包的 ...
- 软件包管理 之 软件在线升级更新yum 图形工具介绍
作者:北南南北 来自:LinuxSir.Org 提要:yum 是Fedora/Redhat 软件包管理工具,包括文本命令行模式和图形模式:图形模式的yum也是基于文本模式的:目前yum图形前端程序主要 ...
- helm部署仓库中没有的包_Kubernetes的Helm软件包管理器简介
helm部署仓库中没有的包 Before we dive into the Helm package manager, I'm going to explain some key concepts t ...
- mac下软件包管理brew
brew是什么?Homebrew OS X 不可或缺的套件管理器. brew是一个mac新用户需要了解的必备命令,它是mac下的软件包管理软件,类似centos下的yum.ubuntu下的apt-ge ...
- BZOJ4196:[NOI2015]软件包管理器——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=4196 https://www.luogu.org/problemnew/show/P2146 你决定 ...
- Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包管理
在Linux系统下,对于软件包的管理有多种机制,有源代码方式.RPM软件包管理方式以及YUM软件管理方式,本篇随笔将详细讲解CentOS下源代码形式安装软件以及RPM软件包管理机制 一.源代码形式 首 ...
- Linux系统下软件包管理四
3.其它类型软件:1)基于perl 和python 的程序的安装:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com: ...
- 软件包管理 之 Fedora Extras(Fedora 计划的扩充资源) rpm.livna.org软件仓库的介绍和应用...
作者:北南南北 来自:LinuxSir.Org 提要:rpm.livna.org 是一个重要的Fedora 扩充和增强资源,资源更新较快:是我们必用的资源之一:拥有apt和yum源:为Fedora c ...
- Linux学习笔记重新梳理20180702 之 yum软件包管理器
2019独角兽企业重金招聘Python工程师标准>>> Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中 ...
最新文章
- 嵌入式C语言代码的调试技巧
- 零基础不建议学前端_web前端开发零基础怎样入门-哈尔滨前端学习
- Spring MVC,Ajax和JSON第2部分–服务器端代码
- Linux和Windows下查看、设置环境变量的比较
- 数据结构-图及其遍历
- 如何使用.NET Core,SQL和HTML和JavaScript构建CRUD应用程序
- 为 Analysis Services 数据库使用扩展字段属性(SQL Server 2005 联机丛书(2008 年 11 月))...
- 大数据分析四大分析要素
- 批处理定时执行任务_[Abaqus tips ] 分析任务的定时执行
- WinApi学习笔记-内存管理
- 日本著名数学游戏专家中村义作教授提出这样一个问题:将2520个桔子分给六个儿子
- 项目管理-产品开发流程
- html jquery隐藏input,JQuery控制input的隐藏和显示
- 缺少msvcr100.dll,小编教你丢失msvcr100.dll真正解决方法
- DataV-数据-api方式
- java中获取日期属于哪一年的第几周
- 聊天链接改单系统源码
- Python list 列表方法
- kinit什么意思_kinit
- Jquery全选系列操作(锋利的jQuery)
热门文章
- 试解螺旋矩阵(非方阵)的java实现
- web页面中如何隐藏js代码的显示。或者说如何不让别人一下子就能看懂我的web代码。
- [破解] DRM-内容数据版权加密保护技术学习(上):视频文件打包实现
- ppt流程图按步骤链接_ppt怎么做流程图 怎样用PPT制作流程图
- mtk modem log分析
- OMCS ——卓尔不群的网络语音视频聊天框架(跨平台)
- ps-去掉水印/局部变暗/高斯模糊调整背景
- API的魅力:H5让Web页面轻松控制多媒体音视频
- VGA HDMI DVI DP接口是什么之显示器显示不清晰我该怎么办
- iOS图像显示原理与优化你都不知道?不是吧,不是吧