Linux命令:yum

yum 命令

基本介绍

yum(Yellowdog Updater Modified)是基于 RPM 包管理系统的高级包管理器。它能够自动解决依赖关系,从指定的软件仓库中下载并安装软件包。yum 是 CentOS、Fedora、RHEL 等基于 Red Hat 的 Linux 发行版中最常用的包管理工具。

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

语法

复制代码
yum [OPTIONS] COMMAND [PACKAGE]

常用命令

安装命令

  • install:安装软件包
  • localinstall:安装本地 RPM 包

更新命令

  • update:更新所有软件包
  • update PACKAGE:更新指定软件包
  • upgrade:升级系统

删除命令

  • remove:删除软件包
  • erase:删除软件包(与 remove 相同)

查询命令

  • list:列出软件包
  • info:显示软件包信息
  • search:搜索软件包
  • provides:查找提供指定文件的包
  • repolist:列出可用仓库

仓库管理命令

  • repolist:列出仓库
  • makecache:生成缓存
  • clean:清理缓存

其他命令

  • check-update:检查可用更新
  • groupinstall:安装软件组
  • groupremove:删除软件组
  • groups:软件组相关操作

常用选项

基本选项

  • -y, --assumeyes:自动回答 yes
  • -q, --quiet:安静模式
  • -v, --verbose:详细模式
  • -C, --cacheonly:仅使用缓存
  • --installroot=PATH:指定安装根目录

配置选项

  • --config=FILE:指定配置文件
  • --setopt=KEY=VALUE:设置配置选项
  • --enableplugin=PLUGIN:启用插件
  • --disableplugin=PLUGIN:禁用插件

使用示例

1. 安装软件包

bash 复制代码
yum install package_name

2. 安装多个软件包

bash 复制代码
yum install package1 package2 package3

3. 安装本地 RPM 包

bash 复制代码
yum localinstall package.rpm

4. 更新所有软件包

bash 复制代码
yum update

5. 更新指定软件包

bash 复制代码
yum update package_name

6. 删除软件包

bash 复制代码
yum remove package_name

7. 搜索软件包

bash 复制代码
yum search keyword

8. 显示软件包信息

bash 复制代码
yum info package_name

9. 列出所有已安装包

bash 复制代码
yum list installed

10. 列出可用仓库

bash 复制代码
yum repolist

11. 生成缓存

bash 复制代码
yum makecache

12. 清理缓存

bash 复制代码
yum clean all

13. 检查可用更新

bash 复制代码
yum check-update

14. 安装软件组

bash 复制代码
yum groupinstall "Development Tools"

15. 自动回答 yes 安装

bash 复制代码
yum -y install package_name

输出格式说明

安装输出

复制代码
Dependencies Resolved

================================================================================
 Package       Arch   Version           Repository                     Size
================================================================================
Installing:
 package_name  x86_64 1.0.0-1          repo_name                      100 k
Installing for dependencies:
 dependency1   x86_64 2.0.0-1          repo_name                       50 k
 dependency2   x86_64 3.0.0-1          repo_name                       30 k

Transaction Summary
================================================================================
Install  1 Package (+2 Dependent packages)

Total download size: 180 k
Installed size: 500 k
Is this ok [y/N]: y

搜索输出

复制代码
============================= N/S matched: keyword ==============================
package_name.x86_64 : Description of the package
package_name-devel.x86_64 : Development files for package_name

仓库列表

复制代码
repo id                repo name                                  status
base/7/x86_64          CentOS-7 - Base                            10,000
updates/7/x86_64       CentOS-7 - Updates                            500
extras/7/x86_64        CentOS-7 - Extras                             100

配置文件

主配置文件

复制代码
/etc/yum.conf

仓库配置目录

复制代码
/etc/yum.repos.d/

配置文件结构

ini 复制代码
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

仓库配置文件示例

ini 复制代码
[repo_name]
name=Repository Name
baseurl=http://example.com/repo/
enabled=1
gpgcheck=1
gpgkey=http://example.com/repo/RPM-GPG-KEY

实用技巧

查看当前配置的仓库

bash 复制代码
yum repolist

查看仓库配置文件

bash 复制代码
ls -la /etc/yum.repos.d/
cat /etc/yum.repos.d/*.repo

查找包含特定命令的包

bash 复制代码
yum provides */command_name

安装软件组

bash 复制代码
# 列出可用软件组
yum grouplist

# 安装软件组
yum groupinstall "Web Server"

只下载不安装

bash 复制代码
yum install --downloadonly --downloaddir=/tmp package_name

跳过某些包的更新

bash 复制代码
yum update --exclude=package_name

使用缓存

bash 复制代码
yum -C install package_name

相关命令

  • rpm:底层 RPM 包管理工具
  • dnf:新一代 RPM 包管理器(yum 的替代)
  • yum-config-manager:配置 yum 仓库
  • yum-utils:yum 工具集

注意事项

  1. 权限要求:需要 root 权限执行安装、升级和删除操作
  2. 网络连接:需要网络连接从远程仓库下载包
  3. 缓存:第一次使用 yum 会生成缓存,可能需要一些时间
  4. 仓库配置:确保仓库配置文件正确
  5. GPG 验证:建议启用 GPG 验证以确保包的完整性

总结

yum 是 Linux 系统中基于 RPM 的高级包管理器。它能够自动解决依赖关系,从指定的软件仓库中下载并安装软件包。yum 是 CentOS、Fedora、RHEL 等基于 Red Hat 的 Linux 发行版中最常用的包管理工具。