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-devel Setting up InstallProcessParsingpackage install arguments ResolvingDependencies<==先检查软件的属性相依问题-->Running transaction check --->Package pam-devel.i386 0:0.99.6.2-4.el5set to be updated -->ProcessingDependency: pam =0.99.6.2-4.el5forpackage: pam-devel -->Running transaction check --->Package pam.i386 0:0.99.6.2-4.el5set to be updated filelists.xml.gz 100%|=========================|1.6 MB 00:05 filelists.xml.gz 100%|=========================|138 kB 00:00->FinishedDependencyResolution……(省略)
实例 2
移除 pam-devel
[root@www ~]# yum remove pam-devel Setting up RemoveProcessResolvingDependencies<==同样的,先解决属性相依的问题-->Running transaction check --->Package pam-devel.i386 0:0.99.6.2-4.el5set to be erased -->FinishedDependencyResolutionDependenciesResolved=============================================================================PackageArchVersionRepositorySize=============================================================================Removing: pam-devel i386 0.99.6.2-4.el5 installed 495 k TransactionSummary=============================================================================Install0Package(s)Update0Package(s)Remove1Package(s)<==还好,并没有属性相依的问题,单纯移除一个软件Isthis ok [y/N]: y DownloadingPackages:Running rpm_check_debug RunningTransactionTestFinishedTransactionTestTransactionTestSucceededRunningTransactionErasing: pam-devel ######################### [1/1]Removed: pam-devel.i386 0:0.99.6.2-4.el5Complete!
实例 3
利用 yum 的功能,找出以 pam 为开头的软件名称有哪些?
[root@www ~]# yum list pam*InstalledPackages pam.i386 0.99.6.2-3.27.el5 installed pam_ccreds.i386 3-5 installed pam_krb5.i386 2.2.14-1 installed pam_passwdqc.i386 1.0.2-1.2.2 installed pam_pkcs11.i386 0.5.3-23 installed pam_smb.i386 1.1.7-7.2.1 installed AvailablePackages<==底下则是『可升级』的或『未安装』的 pam.i386 0.99.6.2-4.el5base pam-devel.i386 0.99.6.2-4.el5base pam_krb5.i386 2.2.14-10base
国内 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.repo mv CentOS6-Base-163.repoCentOS-Base.repo
运行以下命令生成缓存
yum clean all
yum 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=RedHatEnterpriseLinux6//此为描述信息,可以看情况填写 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 repolist Loaded plugins: product-id, refresh-packagekit, security, subscription-manager This system isnot registered to RedHatSubscriptionManagement.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 status rhel-6RedHatEnterpriseLinux63,690 repolist:3,690
对于 Linux 软件安装时提示缺失库的,可以使用 yum 的 provides 参数查看 libstdc++.so.6 的库文件包含在那个安装包中只需要执行:
yum provides libstdc++.so.6
然后按查询到安装包包名,使用 yum install 安装即可。