Yum 是yellowdog updater modified的缩写。yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个 distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了 Linux 用户一直头痛的 dependencies 的问题。
一般这类软件通过一个或者多个配置文件描述对应的 repository 的网络地址,通过 http 或者 ftp 协议在需要的时候从 repository 获得必要的信息,下载相关的软件包。这样,本地用户通过建立不同的 repository 的描述说明,在有 Internet 连接时就能方便进行系统的升级维护工作。另外,如果需要使用代理,可以用 http_proxy 和 ftp_proxy 这些 shell 里面标准环境变量的设定。
Yum包的下载:
可以用wget 直接从网上下载,该命令下载的文件会放在当前目录下。如:
[root@localhost ~]# wget http://yum.baseurl.org/download/3.2/yum-3.2.26.tar.gz
[root@localhost ~]# wget http://yum.baseurl.org/download/3.2/yum-3.2.26-0.src.rpm
安装:
[root@localhost ~]# rpm -ivh /yum/Server/createrepo-0.4.11-3.el5.noarch.rpm
创建YUM 配置文件:
路径为/etc/yum.repos.d/,文件名随意,例如本例的命令为:
cat > /etc/yum.repos.d/local_yum.repo << EOF
[Base]
name=Red Hat Enterprise Linux 5 update 5 (名字可以随便起)
baseurl=file:///var/ftp/pub/RHEL5u5_x86_64/Server (搜索路径,必须指向你本机的yum源路径)
enabled=1 (是否启用源,0为不启用,1为启用,过没这一项,就是启用)
gpgcheck=0 (gpgcheck是gpg验证是否开启的选项,1是开启,0是不开启,一般情况可以关掉)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[Cluster]
name=Red Hat Enterprise Linux 5 update 5
baseurl=file:///var/ftp/pub/RHEL5u5_x86_64/Cluster
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ClusterStorage]
name=Red Hat Enterprise Linux 5 update 5
baseurl=file:///var/ftp/pub/RHEL5u5_x86_64/ClusterStorage
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[VT]
name=Red Hat Enterprise Linux 5 update 5
baseurl=file:///var/ftp/pub/RHEL5u5_x86_64/VT
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
EOF
注意:
baseurl=后面的参数,file://表示使用的协议,类似于ftp://、http:// 等,第3个“/”表示系统文件路径的根目录;光盘下的Server目录的YUM 标签名必须是“[Base]”,不区分大小写,否则该目录下的RPM 包读取不到,其他目录的标签名随意。
要使配置的新YUM 安装源生效,运行下面的命令:
yum clean && yum update
YUM常用命令:
1.安装软件包:
yum install package
yum localinstall package 从本机目录安装软件包
yum groupinstall group 安装某个组件的全部软件包
2.更新软件包:
yum update package
yum check-update 列出所有可更新的软件包
yum list updates mysql* 查找mysql的更新
yum update 更新所有可更新的软件包
yum update mysql* 更新所有mysql的软件包
yum groupupdate group 更新某个组件的所有软件包
yum list 列出所有已安装和仓库中可用的软件包
yum list available 列出仓库中所有可用的软件包
yum list updates 列出仓库中比当前系统更新的软件包
yum list installed 列出已安装的软件包
yum list recent 列出新加入仓库的软件包
yum info 查询软件包信息
3.删除软件包:
yum remove package
yum groupremove group 删除某个组件的全部软件包
4.清除软件包
yum clean packages 清除遗留在缓存里的包文件
yum clean metadata 清除遗留在缓存里的元数据
yum clean headers 清除遗留在缓存里的头文件
yum clean all 清除包文件,元数据,头文件
5.搜索软件包:
yum search package
yum info package 查找一个软件包的信息
yum list package 列出包含指定信息的软件包
yum list installed 列出已安装的软件包
yum list extras 列出不是通过软件仓库安装的软件包
yum list *ttp* 列出标题包含ttp的软件包
yum list updates 列出可以更新的软件包
6.查找特定文件是由什么软件包提供的:
yum whatprovides filename
例子:
yum whatprovides httpd.conf
可用选项
–disalberepo=lib 禁用某个软件仓库
–enalberepo=lib 启用某个软件仓库
-C 禁用使用本机缓存的元数据
例子:
yum –disalberepo=livna|–enalberepo=livna install mplayer
yum -C info httpd
特别提醒:yum源里的软件安装包一般会有gpg签名,验证gpg签名,是为了保证软件安装包是可靠性。但一些新的软件的安装包是无法通过验证的,但又确实没有问题,就需要跳过验证。gpgcheck是gpg验证是否开启的选项,=1是开启,=0是不开启,一般情况可以关掉