YUM 备忘清单 === 这个 YUM 快速参考备忘单显示了它的常用命令使用清单。 YUM 清单查询 --- ### 介绍 yum(`Y`ellow dog `U`pdater, `M`odified)是一个在 `Fedora` 和 `RedHat` 以及 SUSE 中的 `Shell` 前端软件包管理器 ```bash $ yum [options] [command] [package ...] ``` ---- - [YUM 官方网站](http://yum.baseurl.org/) _(yum.baseurl.org)_ - [Fedora 中的 Yum 文档](https://docs.fedoraproject.org/en-US/Fedora/15/html/Deployment_Guide/ch-yum.html) _(fedoraproject.org)_ - [CentOS 中的 Yum 文档](http://wiki.centos.org/PackageManagement/Yum/) _(wiki.centos.org)_ - [Scientific Linux 中的 Yum 文档](https://www.scientificlinux.org/documentation/faq/yum.apt.repo) _(scientificlinux.org)_ ### YUM 查询 子命令描述和任务 #### help 显示 yum 命令和选项 ```bash yum help ``` 显示 yum 子命令和选项 ### 单独的包 #### list 列出存储库中的包名称 ```bash # 列出存储库中的包名称 yum list available # 列出所有可用的包 yum list installed # 列出所有已安装的包 yum list all # 列出已安装和可用的软件包 yum list kernel ``` #### info 列出已安装和可用的内核包 ```bash # 列出有关 `vsftpd` 软件包的信息 $ yum info vsftpd ``` #### deplist 显示包的依赖项 ```bash $ yum deplist nfs-utils ``` 列出依赖项和提供它们的包 #### provides ```bash # 查找提供查询文件的包 $ yum provides “*bin/top” # 显示包含 README.top 文件的包 $ yum provides “*/README.top” ``` #### search ```bash # 查找名称或描述中带有 samba 的软件包 $ yum search samba ``` #### updateinfo ```bash # 获取有关可用软件包更新的信息 $ yum updateinfo security ``` 获取有关可用 security 更新的信息 ### 包组 #### grouplist 列出已安装和可用软件包组的名称 #### groupinfo ```bash # 查看 Web 服务器组中的包 $ yum groupinfo "Web Server" ``` #### check-update 查询存储库以获取可用的软件包更新 ### 管理 YUM 存储库 #### repolist 显示启用的软件存储库 #### repoinfo 显示有关启用的 `yum` 存储库的信息 * ```bash $ yum repoinfo rhel-7-server-rpms ``` 请参阅有关 rhel-7-server-rpms 存储库的信息 #### repo-pkgs 使用特定存储库中的包 * ```bash # 列出来自 my-rpms 存储库的软件包 $ yum repo-pkgs my-rpms list # 从 my-rpms repo 安装所有软件包 $ yum repo-pkgs my-rpms install # 从 my-rpms 存储库中删除所有软件包 $ yum repo-pkgs my-rpms remove ``` #### makecache 下载 `yum` 存储库数据到缓存 ### 故障排除和维护 YUM #### check 检查本地 RPM 数据库是否有问题(运行了很长时间) #### history ```bash # 列出所有 yum 安装、更新和清理操作 $ yum history list # 显示 yum info 3 的详细信息 $ yum history info 3 # 撤消事务 3 中的 yum 操作 $ yum history undo 3 # 重做事务 3 中撤消的 yum 操作 $ yum history redo 3 ``` #### clean ```bash # 删除缓存中保存的包 $ yum clean packages # 从缓存中清除所有包和元数据 $ yum clean all ``` 清除缓存的包数据 #### fssnapshot 列出 LVM 快照(帮助在包更新后回滚) #### fs ```bash # 列出启用的文件系统过滤器 $ yum fs filters # 过滤所有正在安装的文档(小心!) $ yum fs documentation ``` 对文件系统采取行动(防止在最小系统上安装 doc 或语言文件)非常有用! ### 使用 YUM 管理语言包 #### langavailable 列出已安装的语言 * #### langinfo ```bash # 列出与西班牙语相关的软件包 $ yum langinfo es ``` #### langinstall ```bash # 安装与西班牙语相关的软件包 $ yum langinstall es ``` #### langlist 列出已安装的语言 * #### langremove ```bash # 删除与西班牙语相关的软件包 $ yum langremove es ``` ### 使用 YUM 安装、删除和升级软件包 #### install ```bash # 安装 vsftpd 包 $ yum install vsftpd ``` #### update ```bash # 使用可用更新更新所有软件包 $ yum update # 更新 httpd 包(如果可用) $ yum update httpd # 应用与安全相关的包更新 $ yum update --security ``` #### update-to 将一个或所有软件包更新到特定版本 #### upgrade ```bash $ yum -y upgrade ``` 更新包考虑过时,只升级所有包,不升级软件和系统内核 #### localinstall ```bash # 从本地文件、http 或 ftp 安装包 $ yum localinstall abc-1-1.i686.rpm # 从本地目录安装 abc 包 $ yum localinstall http://myrepo/abc-1-1.i686.rpm ``` 从 FTP 站点安装 abc #### downgrade 将软件包降级到早期版本 ```bash $ yum downgrade abc ``` 将 abc 包降级到早期版本 #### reinstall ```bash # 重新安装 util-linux(以替换任何已删除的文件) $ yum reinstall util-linux ``` #### swap ```bash # 删除 ftp 包并安装 lftp 包 $ yum swap ftp lftp ``` #### erase/remove ```bash # 删除 vsftpd 包和依赖 $ yum remove vsftpd ``` #### autoremove ```bash # 删除 httpd 和其他不需要的包 $ yum autoremove httpd ``` #### groupinstall ```bash # 安装 Web 服务器包 $ yum groupinstall "Web server" ``` ### 更多 YUM 相关命令(安装 yum-utils 软件包) #### find-repos-of-install 查找包来自哪个存储库 #### needs-restarting 查找已更新且需要重启的进程 #### repoclosure 从存储库中获取未满足的依赖项列表 #### repoquery 查询远程仓库和本地 `RPM` 数据库 ```bash # 显示依赖包 $ repoquery --requires --resolve bash ``` #### reposync 将 `yum` 存储库同步到本地目录 ```bash # 从 repo 获取包 $ reposync -r rhel-atomic-host-beta-rpms ``` #### repotrack 下载一个包及其所有依赖项 #### show-installed 列出已安装的 RPM 包和统计信息 #### verifytree 检查本地 yum 存储库的一致性 #### yum-complete-transaction 尝试完成未完成的 yum 交易 #### yumdb 检查或更改 yum 数据库 #### yumdownloader ```bash # 使用本地源离线安装 net-tools 工具包 $ yumdownloader net-tools.x86_64 # 使用 –destdir 参数设置下载的目标目录 $ yumdownloader net-tools.x86_64 --destdir=/usr/local/bin/ # 使用 –resolve 参数解决依赖关系并下载所需的安装包 $ yumdownloader net-tools.x86_64 --resolve --destdir=/usr/local/bin/ ``` 从 repo 下载一个包到当前目录 ### 不同 YUM 命令的常用选项 ```bash yum --disableplugin=langpacks info vsftpd # 显示与正在运行的进程相关的包 yum --enableplugin=ps ps yum install docker \ --enablerepo=rhel-7-server-extras-rpm yum list available --disablerepo=epel # 下载 vsftpd 包到缓存 yum install --downloadonly vsftpd ``` ---- :- | - :- | - `-y` | 如果出现提示,假设是 `--assumeno` | 如果提示,则假设否 `-q` | 不产生任何输出 `-v` | 产生额外的调试输出 `--noplugins` | 运行命令而不加载任何 yum 插件 `--disableplugin=` | 禁用单个命令的特定插件 `--enableplugin=` | 启用已安装但当前已禁用的插件 `--enablerepo=` | 为单个命令启用当前禁用的 repo(通配符可以) `--disablerepo=` | 为单个命令禁用当前启用的 repo(通配符可以) `--downloadonly` | 下载到 `/var/cache/yum/arch/prod/repo/packages/`,但不要安装 `--filter-???=` | 代替???与vendors, rpm-groups, arches 和其他人一起过滤输出 `--changelog` | 显示包的变更日志信息 另见 --- - [YUM 官方网站](http://yum.baseurl.org/) _(yum.baseurl.org)_ - [YUM 备忘清单(适用于红帽 RedHat 企业 Linux)](https://access.redhat.com/sites/default/files/attachments/rh_yum_cheatsheet_1214_jcs_print-1.pdf) _(access.redhat.com)_ - [用 yum 管理软件包](http://prefetch.net/articles/yum.html) _(prefetch.net)_ - [Fedora 中的 Yum 文档](https://docs.fedoraproject.org/en-US/Fedora/15/html/Deployment_Guide/ch-yum.html) _(fedoraproject.org)_ - [CentOS 中的 Yum 文档](http://wiki.centos.org/PackageManagement/Yum/) _(wiki.centos.org)_ - [Scientific Linux 中的 Yum 文档](https://www.scientificlinux.org/documentation/faq/yum.apt.repo) _(scientificlinux.org)_