学习笔记-RPM软件包 管理相关 rpm软件包是什么
qiyuwang 2024-10-19 08:57 27 浏览 0 评论
YUM 与 DNF 区别
YUM
Yellowdog Updater, Modified (YUM)是一个免费的开源程序Yellowdog Updater, Modified (YUM)是一个免费的开源程序
UM基本上是一个包管理工具,用于安装、更新和删除Red Hat Enterprise Linux中的软件包UM基本上是一个包管理工具,用于安装、更新和删除Red Hat Enterprise Linux中的软件包
YUM与早期的包管理器相比的一个主要卖点是,它不仅安装您想要安装的包,而且自动安装作为您想要安装的包的先决条件的任何包
DNF
Dandified YUM,即DNF,是Yum的升级版
Fedora 22 和RHEL(Red Hat Enterprise Linux)8及以上版本中默认使用的包管理工具
DNF在功能上与Yum类似,但实现上使用了更现代的技术
主要的区别是DNF坚持严格的API,这鼓励为DNF开发扩展和插件
相比Yum,DNF在依赖解决和包查询等操作上更快速,拥有更好的性能。这是因为DNF使用了更先进的解决算法和更高效的数据结构
YUM DNF 软件包 命令
更新软件包
# 清除 YUM 缓存
sudo yum clean all
sudo dnf clean all
# 创建 YUM 缓存
sudo yum makecache
sudo dnf makecache
# 更新 系统
sudo yum update -y
sudo dnf update -y
# 合并命令
sudo yum clean all && sudo yum makecache && sudo yum update -y
sudo dnf clean all && sudo dnf makecache && sudo dnf update -y
安装软件包
# 安装软件包
yum install -y {软件包名}
# 更新软件包
yum update -y {软件包名}
# 安装可用的软件包组
yum groupinstall {软件包组名}
# 更新指定的软件包组
yum groupupdate {软件包组名}
# 硬盘安装rpm包并使用yum解决依赖
yum localinstall {软件包名}
卸载软件包
# 卸载软件包
yum remove {软件包名}
# 卸载指定软件组中的软件包
yum groupremove {软件包组名}
查找软件包
# 查找软件包
yum search {软件包名}
# 查看系统中已经安装的和可用的软件组
yum grouplist
# 查询指定软件包的依赖关系
yum deplist {软件包名}
#
# 列出所有可安装的软件包
yum list
# 列出所有可更新的软件包
yum list updates
# 列出所有已安装的软件包
yum list installed
# 列出所有已安装,但不在YUM源中的软件包
yum list extras
# 列出所有指定软件包
yum list {软件包名}
# 获取软件包信息
yum info {软件包名}
# 获取所有可更新的软件包信息
yum info updates
# 获取获取所有已安裝的软件包信息
yum info installed
# 获取所有已安裝但不在Yum Repository內的软件包信息
yum info extras
# 软件包提供哪些文件
yum provides {软件包名}
清理软件包
# 清除缓存目录(/var/cache/yum)下的软件包
yum clean packages
# 除缓存目录(/var/cache/yum)下的 headers
yum clean headers
# 清除缓存目录(/var/cache/yum)下旧的 headers
yum clean oldheaders
# 清除缓存目录(/var/cache/yum)下的软件包及旧的headers
yum clean
yum clean all
yum clean packages && yum clean oldheaders# 清除缓存目录(/var/cache/yum)下的软件包
yum clean packages
# 除缓存目录(/var/cache/yum)下的 headers
yum clean headers
# 清除缓存目录(/var/cache/yum)下旧的 headers
yum clean oldheaders
# 清除缓存目录(/var/cache/yum)下的软件包及旧的headers
yum clean
yum clean all
yum clean packages && yum clean oldheaders
特殊应用
# 加快 YUM下载速度的软件包
yum -y install yum-fastestmirror
RPM 安装命令
安装软件包
# 安装一个软件包
# -i 安装软件包
# -v 可视化安装
# -h 显示安装进度
# –force 强制安装,覆盖安装
# –nodeps 不验证依赖,直接安装
rpm -ivh {软件包名}
# 升级一个软件包
rpm -Uvh {软件包名}
卸载软件包
# 卸载一个软件包
rpm -e {软件包名}
查询软件包
# 查询一个包是否被安装
rpm -q {软件包名}
# 查询被安装的包的信息
rpm -qi {软件包名}
# 列出该包中有哪些文件
rpm -ql {软件包名}
# 列出一个文件属于哪一个RPM包
rpm -qf
官方帮助文档
YUM 官方帮助文档
已加载插件:fastestmirror
Usage: yum [options] COMMAND
List of Commands:
check 检查 RPM 数据库问题
check-update 检查是否有可用的软件包更新
clean 删除缓存数据
deplist 列出软件包的依赖关系
distribution-synchronization 已同步软件包到最新可用版本
downgrade 降级软件包
erase 从系统中移除一个或多个软件包
fs Acts on the filesystem data of the host, mainly for removing docs/lanuages for minimal hosts.
fssnapshot Creates filesystem snapshots, or lists/deletes current snapshots.
groups 显示或使用、组信息
help 显示用法提示
history 显示或使用事务历史
info 显示关于软件包或组的详细信息
install 向系统中安装一个或多个软件包
list 列出一个或一组软件包
load-transaction 从文件名中加载一个已存事务
makecache 创建元数据缓存
provides 查找提供指定内容的软件包
reinstall 覆盖安装软件包
repo-pkgs 将一个源当作一个软件包组,这样我们就可以一次性安装/移除全部软件包。
repolist 显示已配置的源
search 在软件包详细信息中搜索指定字符串
shell 运行交互式的 yum shell
swap Simple way to swap packages, instead of using shell
update 更新系统中的一个或多个软件包
update-minimal Works like upgrade, but goes to the 'newest' package match which fixes a problem that affects your system
updateinfo Acts on repository update information
upgrade 更新软件包同时考虑软件包取代关系
version 显示机器和/或可用的源版本。
Options:
-h, --help 显示此帮助消息并退出
-t, --tolerant 忽略错误
-C, --cacheonly 完全从系统缓存运行,不升级缓存
-c [config file], --config=[config file]
配置文件路径
-R [minutes], --randomwait=[minutes]
命令最长等待时间
-d [debug level], --debuglevel=[debug level]
调试输出级别
--showduplicates 在 list/search 命令下,显示源里重复的条目
-e [error level], --errorlevel=[error level]
错误输出级别
--rpmverbosity=[debug level name]
RPM 调试输出级别
-q, --quiet 静默执行
-v, --verbose 详尽的操作过程
-y, --assumeyes 回答全部问题为是
--assumeno 回答全部问题为否
--version 显示 Yum 版本然后退出
--installroot=[path] 设置安装根目录
--enablerepo=[repo] 启用一个或多个软件源(支持通配符)
--disablerepo=[repo] 禁用一个或多个软件源(支持通配符)
-x [package], --exclude=[package]
采用全名或通配符排除软件包
--disableexcludes=[repo]
禁止从主配置,从源或者从任何位置排除
--disableincludes=[repo]
disable includepkgs for a repo or for everything
--obsoletes 更新时处理软件包取代关系
--noplugins 禁用 Yum 插件
--nogpgcheck 禁用 GPG 签名检查
--disableplugin=[plugin]
禁用指定名称的插件
--enableplugin=[plugin]
启用指定名称的插件
--skip-broken 忽略存在依赖关系问题的软件包
--color=COLOR 配置是否使用颜色
--releasever=RELEASEVER
在 yum 配置和 repo 文件里设置 $releasever 的值
--downloadonly 仅下载而不更新
--downloaddir=DLDIR 指定一个其他文件夹用于保存软件包
--setopt=SETOPTS 设置任意配置和源选项
--bugfix Include bugfix relevant packages, in updates
--security Include security relevant packages, in updates
--advisory=ADVS, --advisories=ADVS
Include packages needed to fix the given advisory, in
updates
--bzs=BZS Include packages needed to fix the given BZ, in
updates
--cves=CVES Include packages needed to fix the given CVE, in
updates
--sec-severity=SEVS, --secseverity=SEVS
Include security relevant packages matching the
severity, in updates
插件选项:
DNF 官方帮助文档
usage: dnf [options] COMMAND
主要命令列表:
alias 列出或创建命令别名
autoremove 删除所有原先因为依赖关系安装的不需要的软件包
check 在包数据库中寻找问题
check-update 检查是否有软件包升级
clean 删除已缓存的数据
deplist [已弃用,请使用 repoquery --deplist] 列出软件包的依赖关系和提供这些软件包的源
distro-sync 同步已经安装的软件包到最新可用版本
downgrade 降级包
group 显示或使用组信息
help 显示一个有帮助的用法信息
history 显示或使用事务历史
info 显示关于软件包或软件包组的详细信息
install 向系统中安装一个或多个软件包
list 列出一个或一组软件包
makecache 创建元数据缓存
mark 在已安装的软件包中标记或者取消标记由用户安装的软件包。
module 与模块交互。
provides 查找提供指定内容的软件包
reinstall 重装一个包
remove 从系统中移除一个或多个软件包
repolist 显示已配置的软件仓库
repoquery 搜索匹配关键字的软件包
repository-packages 对指定仓库中的所有软件包运行命令
search 在软件包详细信息中搜索指定字符串
shell 运行一个交互式的 DNF shell
swap 运行一个交互式的 DNF mod 以删除或安装 spec
updateinfo 显示软件包的参考建议
upgrade 升级系统中的一个或多个软件包
upgrade-minimal 升级,但只有“最新”的软件包已修复可能影响你的系统的问题
插件命令列表:
builddep Install build dependencies for package or spec file
changelog 查看软件包的改变日志数据
config-manager 管理 dnf 配置选项和软件仓库
copr 与 Copr 仓库交互。
debug-dump 转储已安装的 RPM 软件包信息至文件
debug-restore 恢复调试用转储文件中的软件包记录
debuginfo-install 安装调试信息软件包
download 下载软件包至当前目录
groups-manager 创建并编辑组元数据文件
needs-restarting 判断所升级的二进制文件是否需要重启
offline-distrosync 准备系统的离线 distrosync
offline-upgrade 准备系统的离线升级
playground 与 Playground 仓库交互。
repoclosure 显示仓库中未被解决的依赖关系的列表
repodiff 列出两组仓库中的不同
repograph 以点线图方式输出完整的软件包依赖关系图
repomanage 管理 RPM 软件包目录
reposync 下载远程仓库中的全部软件包
system-upgrade 准备系统以升级到新版本
General DNF options:
-c [config file], --config [config file]
配置文件位置
-q, --quiet 静默执行
-v, --verbose 详尽执行
--version 显示 DNF 的版本并退出
--installroot [path] 设置目标根目录
--nodocs 不要安装文档
--noplugins 禁用所有插件
--enableplugin [plugin]
启用指定名称的插件
--disableplugin [plugin]
禁用指定名称的插件
--releasever RELEASEVER
覆盖在配置文件和仓库文件中 $releasever 的值
--setopt SETOPTS 设置任意配置和仓库选项
--skip-broken 通过跳过软件包来解决依赖问题
-h, --help, --help-cmd
显示命令帮助
--allowerasing 允许解决依赖关系时删除已安装软件包
-b, --best 在事务中尝试最佳软件包版本。
--nobest 不将事务限制在最佳候选
-C, --cacheonly 完全从系统缓存运行,不升级缓存
-R [minutes], --randomwait [minutes]
最大命令等待时间
-d [debug level], --debuglevel [debug level]
调试输出级别
--debugsolver 转储详细解决结果至文件
--showduplicates 在 list/search 命令下,显示仓库里重复的条目
-e ERRORLEVEL, --errorlevel ERRORLEVEL
错误输出级别
--obsoletes 对 upgrade 启用 dnf 的过期处理逻辑,或对 info、list 和 repoquery
启用软件包过期的显示功能
--rpmverbosity [debug level name]
rpm调试输出等级
-y, --assumeyes 全部问题自动应答为是
--assumeno 全部问题自动应答为否
--enablerepo [repo] 为当前 dnf 命令临时启用仓库。接受一个 id、以逗号分隔的多个 id 列表,或 ids
glob。此选项可多次指定。
--disablerepo [repo] 为当前 dnf 命令临时禁用仓库。接受一个 id、以逗号分隔的多个 id 列表,或 ids
glob。此选项可多次指定,但它与 `--repo` 是相互排斥的。
--repo [repo], --repoid [repo]
启用指定 id 或 glob 的仓库,可以指定多次
--enable 使用 config-manager 命令启用 repos (自动保存)
--disable 使用 config-manager 命令禁用 repos (自动保存)
-x [package], --exclude [package], --excludepkgs [package]
用全名或通配符排除软件包
--disableexcludes [repo], --disableexcludepkgs [repo]
禁用 excludepkgs
--repofrompath [repo,path]
附加仓库所要使用的标签和路径(与 baseurl 中的路径一致),可以指定多次。
--noautoremove 禁用删除不再被使用的依赖软件包
--nogpgcheck 禁用 gpg 签名检查 (如果 RPM 策略允许)
--color COLOR 配置是否使用颜色
--refresh 在运行命令之前将元数据标记为过期
-4 仅解析 IPv4 地址
-6 仅解析 IPv6 地址
--destdir DESTDIR, --downloaddir DESTDIR
设置软件包要复制到的目录
--downloadonly 仅下载软件包
--comment COMMENT 为事务添加一个注释
--bugfix 在更新中包括与 bug 修复有关的软件包
--enhancement 在更新中包括与功能增强有关的软件包
--newpackage 在更新中包括与新软件包有关的软件包
--security 在更新中包括与安全有关的软件包
--advisory ADVISORY, --advisories ADVISORY
在更新中包括修复指定公告所必须的软件包
--bz BUGZILLA, --bzs BUGZILLA
在更新中包括修复给定 BZ 所必须的软件包
--cve CVES, --cves CVES
在更新中包括修复给定 CVE 所必须的软件包
--sec-severity {Critical,Important,Moderate,Low}, --secseverity {Critical,Important,Moderate,Low}
在更新中包括匹配给定安全等级的安全相关的软件包
--forcearch ARCH 强制使用一个架构
RPM 官方帮助文档
用法: rpm [选项...]
查询/验证软件包选项:
-a, --all 查询/验证所有软件包
-f, --file 查询/验证文件属于的软件包
-g, --group 查询/验证组中的软件包
-p, --package 查询/验证一个软件包
--pkgid query/verify package(s) with package
identifier
--hdrid query/verify package(s) with header
identifier
--triggeredby query the package(s) triggered by the
package
--whatrequires query/verify the package(s) which require a
dependency
--whatprovides 查询/验证提供相关依赖的软件包
--nomanifest 不把非软件包文件作为清单处理
查询选项(用 -q 或 --query):
-c, --configfiles 列出所有配置文件
-d, --docfiles 列出所有程序文档
-L, --licensefiles list all license files
--dump 转储基本文件信息
-l, --list 列出软件包中的文件
--queryformat=QUERYFORMAT 使用这种格式打印信息
-s, --state 显示列出文件的状态
验证选项(用 -V 或 --verify):
--nofiledigest 不验证文件摘要
--nofiles 不验证软件包中文件
--nodeps 不验证包依赖
--noscript 不执行验证脚本
安装/升级/擦除选项:
--allfiles 安装全部文件,包含配置文件,否则配置文件会被跳过。
--allmatches 移除所有符合 <package>
的软件包(如果 <package>
被指定未多个软件包,常常会导致错误出现)
--badreloc 对不可重定位的软件包重新分配文件位置
-e, --erase=<package>+ 清除 (卸载) 软件包
--excludedocs 不安装程序文档
--excludepath=<path> 略过以 <path> 开头的文件
--force --replacepkgs --replacefiles 的缩写
-F, --freshen=<packagefile>+ 如果软件包已经安装,升级软件包
-h, --hash 软件包安装的时候列出哈希标记
(和 -v 一起使用效果更好)
--ignorearch 不验证软件包架构
--ignoreos 不验证软件包操作系统
--ignoresize 在安装前不检查磁盘空间
-i, --install 安装软件包
--justdb 更新数据库,但不修改文件系统
--nodeps 不验证软件包依赖
--nofiledigest 不验证文件摘要
--nocontexts 不安装文件的安全上下文
--noorder 不对软件包安装重新排序以满足依赖关系
--noscripts 不执行软件包脚本
--notriggers 不执行本软件包触发的任何脚本
--nocollections 请不要执行任何动作集
--oldpackage 更新到软件包的旧版本(带 --force
自动完成这一功能)
--percent 安装软件包时打印百分比
--prefix=<dir> 如果可重定位,便把软件包重定位到 <dir>
--relocate=<old>=<new> 将文件从 <old> 重定位到 <new>
--replacefiles 忽略软件包之间的冲突的文件
--replacepkgs 如果软件包已经有了,重新安装软件包
--test 不真正安装,只是判断下是否能安装
-U, --upgrade=<packagefile>+ 升级软件包
--reinstall=<packagefile>+ reinstall package(s)
所有 rpm 模式和可执行文件的通用选项:
-D, --define=“MACRO EXPR” 定义值为 EXPR 的 MACRO
--undefine=MACRO undefine MACRO
-E, --eval=“EXPR” 打印 EXPR 的宏展开
--macros=<FILE:…> 从文件 <FILE:...>
读取宏,不使用默认文件
--noplugins don't enable any plugins
--nodigest 不校验软件包的摘要
--nosignature 不验证软件包签名
--rcfile=<FILE:…> 从文件 <FILE:...>
读取宏,不使用默认文件
-r, --root=ROOT 使用 ROOT 作为顶级目录 (default:
"/")
--dbpath=DIRECTORY 使用 DIRECTORY 目录中的数据库
--querytags 显示已知的查询标签
--showrc 显示最终的 rpmrc 和宏配置
--quiet 提供更少的详细信息输出
-v, --verbose 提供更多的详细信息输出
--version 打印使用的 rpm 版本号
Options implemented via popt alias/exec:
--scripts list install/erase scriptlets from
package(s)
--setperms set permissions of files in a package
--setugids set user/group ownership of files in a
package
--setcaps set capabilities of files in a package
--restore restore file/directory permissions
--conflicts list capabilities this package conflicts
with
--obsoletes list other packages removed by installing
this package
--provides list capabilities that this package provides
--requires list capabilities required by package(s)
--info list descriptive information from package(s)
--changelog list change logs for this package
--xml list metadata in xml
--triggers list trigger scriptlets from package(s)
--last list package(s) by install time, most
recent first
--dupes list duplicated packages
--filesbypkg list all files from each package
--fileclass list file names with classes
--filecolor list file names with colors
--fscontext list file names with security context from
file system
--fileprovide list file names with provides
--filerequire list file names with requires
--filecaps list file names with POSIX1.e capabilities
Help options:
-?, --help Show this help message
--usage Display brief usage message
相关推荐
- 你真的会用Word画线吗?(word画线技巧)
-
【你真的会用Word画线吗?】①输入三个“=”回车,是一条双直线;②输入三个“”,回车,就是一条波浪线;③输入三个“”回车,就是一条虚线;④输入三个“-”,回车,就是一条细直线.....新技能get√...
- 「干货」Word技巧知识——进阶篇(2)
-
Hello,大家好,我是无拘无束的分享知识,每天跟大家分享点有用的知识,话不多说。感兴趣的朋友可以点赞、关注、收藏哦。1.将word文档中的硬回车全部消除从事来稿阅读、编辑的工作者,最头痛的事就是打...
- 办公室人员必备! Word快捷键大全(办公中常用的快捷键)
-
【Word里超简单的画线方法!】简历、总结里文字太多怎么办?用线条分隔!Word画线秘籍:①输三个"="回车,是一条双直线②输三个"~"回车,是一条波浪线③输三个"-"回车,就是一条细直线。(来源...
- Word笔记大全(详细步骤)(word怎么写笔记)
-
字处理一、文档的基本操作1.打开/新建2.快速新建ctrl+n3.利用模板创建文件--新建--选择模板officeplus4.保存5.保护文件--信息--保护文档--限制编辑--对话框:勾选每一项...
- 如何删除word文档空白页?(怎么删除word里的空白页?)
-
在日常办公或学习中,我们经常会遇到Word文档中出现空白页的情况,这不仅影响文档的美观,还可能造成打印浪费。下面,我将为大家详细介绍如何在Office和WPS中的Word里轻松删除这些恼人的空白页。...
- Win11学院:如何在Windows 11装机时禁用BitLocker磁盘加密
-
IT之家5月7日消息,微软计划在Windows1124H2装机过程默认启用BitLocker加密,对于用户来说有两方面的影响:其一是影响硬盘的性能,其二是用户如果没有解密密钥,可能...
- 办公小技巧:Word“安全模式”用通透
-
大家都知道Windows的安全模式。其实,Word也有安全模式。那么,Word的安全模式又是什么?何时使用这种模式?使用这种模式有何限制?当Word运行中遇到问题需要启用安全模式运行时,如何按照软件给...
- 段落结束敲回车,下一段格式变样了怎么处理#每天学习一点点
-
段落换行后的格式发生变化。段落结束敲回车键,下一段格式变样了怎么处理?大家有时候遇到文章敲回车键,在下一段打字之后会发现这一段的样子就会和之前的段落不一样,当然可以调整一下或者用格式刷刷一下,但是稍微...
- 硬回车、软回车等介绍(硬回车键和软回车键)
-
1.硬回车:硬回车占两个字节,在word中敲击Enter键即可输入硬回车,硬回车是真正的段落标记,在两个硬回车之间的文字自成一个段落。代码是^p(小写)。2.软回车:用Shift+Enter产...
- Word里超简单的画线方法!(word中如何画线条)
-
小厅分享【Word里超简单的画线方法!】简历、总结里文字太多怎么办?用线条分隔!Word画线秘籍:①输三个"="回车,是一条双直线②输三个"~"回车,是一条波浪线③输三个"-"回车,就是一条细直线...
- Word 如何更改图片、删除与删除背景,勾选图片等问题
-
如果插入到Word文档中的图片想另外换一张,更换方法有两种,一种是把原图删除另外插入一张,另一种是直接更换图片。Word2016提供了更改图片的功能,用此功能更换图片会自动把原图删除,就像...
- Word中批量删除空行(多种方案)(批量删除word中的空行)
-
如下图,在Word文档中存在大量空行(回车),为了文档整洁,需要批量取消这些回车;方法一Ctrl+h,在查找内容中输入”^p^p”,在替换为输入”^p”,单击全部替换即可(^符号在英文输入法下按Shi...
- Word文档如何取消自动编号?(word文档如何取消自动编号功能)
-
在word文档中,当我们编辑有序号的文本内容时,word会自动识别给文本编号,如果直接删除序号再按回车键,序号又会自动填充。但有时候我们并不需要它自动编号或不喜欢它的编号格式,如何才能取消word自动...
- 最全的Word知识点,抓紧时间收藏起来
-
Word知识点1.1word工作界面Word2010的窗口组成∶窗口分标题栏、菜单栏、常用工具栏、格式工具栏、标尺、编辑区滚动条、状态栏、任务窗格。1.标题栏∶显示所编辑的文档名和程序名称。单击标题...
- Word中的页眉横线就是删不掉?其实按下这个键,1秒就能去除
-
不知道大家在用Word的同时,有没有遇到过难删除的页眉横线呢?以前小编就是遇到这条横线,不得已将里面的文字复制到一个新的文档中,如今终于知道该怎样删除这条横线了,下面我们就来看看删除方法。一、删除页眉...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- navicat无法连接mysql服务器 (65)
- 下横线怎么打 (71)
- flash插件怎么安装 (60)
- lol体验服怎么进 (66)
- ae插件怎么安装 (62)
- yum卸载 (75)
- .key文件 (63)
- cad一打开就致命错误是怎么回事 (61)
- rpm文件怎么安装 (66)
- linux取消挂载 (81)
- ie代理配置错误 (61)
- ajax error (67)
- centos7 重启网络 (67)
- centos6下载 (58)
- mysql 外网访问权限 (69)
- centos查看内核版本 (61)
- ps错误16 (66)
- nodejs读取json文件 (64)
- centos7 1810 (59)
- 加载com加载项时运行错误 (67)
- php打乱数组顺序 (68)
- cad安装失败怎么解决 (58)
- 因文件头错误而不能打开怎么解决 (68)
- js判断字符串为空 (62)
- centos查看端口 (64)