写点什么

Linux yum 命令

作者:向阳逐梦
  • 2022-11-29
    四川
  • 本文字数:3156 字

    阅读完需:约 10 分钟

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。

基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum 语法

yum [options] [command] [package ...]
复制代码


  • options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。

  • command:要进行的操作。

  • package:安装的包名。

yum 常用命令

  • 1. 列出所有可更新的软件清单命令:yum check-update

    2. 更新所有软件命令:yum update

    3. 仅安装指定的软件命令:yum install <package_name>

    4. 仅更新指定的软件命令:yum update <package_name>

    5. 列出所有可安裝的软件清单命令:yum list

    6. 删除软件包命令:yum remove <package_name>

    7. 查找软件包命令:yum search <keyword>

    8. 清除缓存命令:

  • yum clean packages: 清除缓存目录下的软件包

  • yum clean headers: 清除缓存目录下的 headers

  • yum clean oldheaders: 清除缓存目录下旧的 headers

  • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

实例 1

安装 pam-devel

[root@www ~]# yum install pam-develSetting up Install ProcessParsing package install argumentsResolving Dependencies  <==先检查软件的属性相依问题--> Running transaction check---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel--> Running transaction check---> Package pam.i386 0:0.99.6.2-4.el5 set to be updatedfilelists.xml.gz          100% |=========================| 1.6 MB    00:05filelists.xml.gz          100% |=========================| 138 kB    00:00-> Finished Dependency Resolution……(省略)
复制代码

实例 2

移除 pam-devel

[root@www ~]# yum remove pam-develSetting up Remove ProcessResolving Dependencies  <==同样的,先解决属性相依的问题--> Running transaction check---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased--> Finished Dependency Resolution
Dependencies Resolved
============================================================================= Package Arch Version Repository Size=============================================================================Removing: pam-devel i386 0.99.6.2-4.el5 installed 495 k
Transaction Summary=============================================================================Install 0 Package(s)Update 0 Package(s)Remove 1 Package(s) <==还好,并没有属性相依的问题,单纯移除一个软件
Is this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction Erasing : pam-devel ######################### [1/1]
Removed: pam-devel.i386 0:0.99.6.2-4.el5Complete!
复制代码

实例 3

利用 yum 的功能,找出以 pam 为开头的软件名称有哪些?

[root@www ~]# yum list pam*Installed Packagespam.i386                  0.99.6.2-3.27.el5      installedpam_ccreds.i386           3-5                    installedpam_krb5.i386             2.2.14-1               installedpam_passwdqc.i386         1.0.2-1.2.2            installedpam_pkcs11.i386           0.5.3-23               installedpam_smb.i386              1.1.7-7.2.1            installedAvailable Packages <==底下则是『可升级』的或『未安装』的pam.i386                  0.99.6.2-4.el5         basepam-devel.i386            0.99.6.2-4.el5         basepam_krb5.i386             2.2.14-10              base
复制代码

国内 yum 源

网易(163)yum 源是国内最好的 yum 源之一 ,无论是速度还是软件版本,都非常的不错。

将 yum 源设置为 163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

安装步骤

首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
复制代码

下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)


  • CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo

  • CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo

  • CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo

wget http://mirrors.163.com/.help/CentOS6-Base-163.repomv CentOS6-Base-163.repo CentOS-Base.repo
复制代码

运行以下命令生成缓存

yum clean allyum makecache
复制代码

除了网易之外,国内还有其他不错的 yum 源,比如中科大和搜狐。

中科大的 yum 源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos

sohu 的 yum 源安装方法查看: http://mirrors.sohu.com/help/centos.html

配置本地 Yum 仓库

实现此案例需要按照如下步骤进行。

步骤一:搭建一个本地 Yum,将 RHEL6 光盘手动挂载到/media

命令操作如下所示:

[root@localhost ~]# mount /dev/cdrom /media/mount: block device /dev/sr0 is write-protected, mounting read-only[root@localhost ~]# mount | tail -1/dev/sr0 on /media type iso9660 (ro)
复制代码

步骤二:将本地设置为客户端,进行 Yum 验证

Yum 客户端需编辑配置文件,命令操作如下所示:

[root@localhost ~]# cd /etc/yum.repos.d/         //必须在这个路径下[root@localhost yum.repos.d]# ls                  //此路径下事先有配置文件的模板rhel-source.repo
[root@localhost yum.repos.d]# cp rhel-source.repo rhel6.repo //配置文件必须以.repo结尾[root@localhost yum.repos.d]# vim rhel6.repo[rhel-6] //中括号里内容要求唯一,但不要出现特殊字符name=Red Hat Enterprise Linux 6 //此为描述信息,可以看情况填写baseurl=file:///media/ //此项为yum软件仓库位置,指向光盘挂载点enabled=1 //此项为是否开启,1为开启, 0为不开启gpgcheck=1 //此项为是否检查签名,1为检测, 0为不检测gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release //签名认证信息的路径
[root@localhost /]# yum repolistLoaded plugins: product-id, refresh-packagekit, security, subscription-managerThis system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.rhel-6 | 3.9 kB 00:00 ... rhel-6/primary_db | 3.1 MB 00:00 ... repo id repo name statusrhel-6 Red Hat Enterprise Linux 6 3,690repolist: 3,690
复制代码

对于 Linux 软件安装时提示缺失库的,可以使用 yum 的 provides 参数查看 libstdc++.so.6 的库文件包含在那个安装包中只需要执行:

yum provides libstdc++.so.6
复制代码

然后按查询到安装包包名,使用 yum install 安装即可。

发布于: 刚刚阅读数: 5
用户头像

向阳逐梦

关注

人生享受编程,编程造就人生! 2022-06-01 加入

某公司芯片测试工程师,嵌入式开发工程师,InfoQ签约作者,阿里云星级博主,华为云·云享专家。座右铭:向着太阳,追逐梦想!

评论

发布
暂无评论
Linux yum 命令_yum源_向阳逐梦_InfoQ写作社区