linux 学习系列-Linux yum 命令

来源:互联网 发布:绿灯侠 知乎 编辑:程序博客网 时间:2024/06/11 20:37


Linux yum 命令

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常用命令

注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长.

系统更新,更新所有可以升级的rpm包,包括kernel

#yum -y update

每天定期执行系统更新

#chkconfig yum on#service yum start

*rpm包的更新,检查可更新的rpm包

#yum check-update

更新所有的rpm包

#yum update

更新指定的rpm包,如更新kernel和kernel source

#yum update kernel kernel-source

大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级

#yum upgrade

*rpm包的安装和删除

//安装rpm包,如xmms-mp3#yum install xmms-mp3//删除rpm包,包括与该包有倚赖性的包#yum remove licq

注:同时会提示删除licq-gnome,licq-qt,licq-text

*yum暂存(/var/cache/yum/)的相关参数

清除暂存中rpm包文件#yum clean packages

清除暂存中rpm头文件

#yum clean headers

清除暂存中旧的rpm头文件

#yum clean oldheaders

清除暂存中旧的rpm头文件和包文件

#yum clean 或#yum clean all

注:相当于yum clean packages + yum clean oldheaders

*rpm包列表

//列出资源库中所有可以安装或更新的rpm包#yum list

列出资源库中特定的可以安装或更新以及已经安装的rpm包

#yum list mozilla#yum list mozilla*

注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包

列出资源库中所有可以更新的rpm包

#yum list updates

列出已经安装的所有的rpm包

#yum list installed

列出已经安装的但是不包含在资源库中的rpm包

#yum list extras

注:通过其它网站下载安装的rpm包

*rpm包信息显示(info参数同list)
列出资源库中所有可以安装或更新的rpm包的信息

#yum info

列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息

#yum info mozilla#yum info mozilla*

注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息

列出资源库中所有可以更新的rpm包的信息

#yum info updates

列出已经安装的所有的rpm包的信息

#yum info installed

列出已经安装的但是不包含在资源库中的rpm包的信息

#yum info extras

注:通过其它网站下载安装的rpm包的信息

*搜索rpm包
搜索匹配特定字符的rpm包

#yum search mozilla

注:在rpm包名,包描述等中搜索

搜索有包含特定文件名的rpm包

#yum provides realplay

实例

实例 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……(省略)

实例 1:移除 pam-devel

    [root@www ~]# yum remove pam-devel    Setting up Remove Process    Resolving 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]: y    Downloading Packages:    Running rpm_check_debug    Running Transaction Test    Finished Transaction Test    Transaction Test Succeeded    Running Transaction      Erasing   : pam-devel                    ######################### [1/1]    Removed: pam-devel.i386 0:0.99.6.2-4.el5    Complete!

实例 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

运行以下命令生成缓存

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




yum常用问题解决

1、如果网速慢的话可以通过增加yum的超时时间,这样就不会总是因为超时而退出。#vi /etc/yum.conf#加上这么一句timeout=1202、yum Existing lock错误的解决办法如果系统启动的时候, yum出现Existing lock /var/run/yum.pid: another copy is running as pid 3380. Aborting.可以用下面的办法解决:方法一etc/init.d/yum-updatesd stop方法二#rm -f /var/run/yum.pid主要原因就是yum在自动更新,只要关掉它就可以了。




原创粉丝点击