首页 > 代码库 > yum

yum

yum
1` rpm -q yum
2` 配置yum源 /etc/yum.repos.d
vim 1.repo 文件名要以.repo结尾
[rhel]
name=
baseurl=file:// /mnt
ftp://192.168.0.1/
http://www.redhat.com/source url支持的协议只有三种(http:// ftp:// file://)
enabled=1
gpgcheck=0

yum list metadata :源数据
yum install dhcp
yum remove dhcp
yum update
yum clean all


[root@localhost ~]# cat /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-source-beta]
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


[root@www ~]# vi /etc/yum.repos.d/CentOS-Base.repo

[base]

name=CentOS-$releasever - Base

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

如上所示,鸟哥仅列出 base 这个容器内容而已,其他的容器内容请自行查阅啰!上面的数据需要注意的是:

? [base] :代表容器的名字!中刮号一定要存在,里面的名称则可以随意取。但是丌能有两个相同的容器名称,否则 yum 会丌

晓得该到哪里去找容器相关软件列表档案。

? name :只是说明一下这个容器的意丿而已,重要性丌高!

? mirrorlist= :列出这个容器可以使用的映射站台,如果丌想使用,可以批注到这行;

? baseurl= :这个最重要,因为后面接的就是容器的实际网址!mirrorlist 是由 yum 程序自行去捉映像站台, baseurl 则是挃

定固定的一个容器网址!我们刚刚找到的网址放到这里来啦!

? enable=1 :就是让这个容器被启劢。如果丌想启劢可以使用enable=0 喔!

? gpgcheck=1 :还记得RPM 的数字签名吗?这就是挃定是否需要查阅 RPM 档案内的数字签名!

? gpgkey= :就是数字签名的公钥文件所在位置!使用默讣值即可


yum的安装


第一步:新建一个文件夹,并把光盘内的所有文件复制到这个文件夹里:
[root@localhost ~]# mkdir /yum
[root@localhost ~]# cp -rvf /misc/cd/* /yum

第二步:备份repodata文件。因为有四个文件夹里都有这个文件,所以都要备份。
[root@localhost ~]# mv /yum/Server/repodata /yum/Server/repodata.bak
[root@localhost ~]# mv /yum/VT/repodata /yum/VT/repodata.bak
[root@localhost ~]# mv /yum/Cluster/repodata /yum/Cluster/repodata.bak
[root@localhost ~]# mv /yum/ClusterStorage/repodata /yum/ClusterStorage/repodata.bak

第三步:安装工具包:
[root@localhost ~]# rpm -ivh /yum/Server/createrepo-0.4.11-3.el5.noarch.rpm

第四步:生成仓库数据库:
[root@localhost ~]# createrepo -g /yum/Server/repodata.bak/comps-rhel5-server-core.xml /yum/Server/
[root@localhost ~]# createrepo -g /yum/VT/repodata.bak/comps-rhel5-vt.xml /yum/VT/
[root@localhost ~]# createrepo -g /yum/Cluster/repodata.bak/ /yum/Cluster
[root@localhost ~]# createrepo -g /yum/ClusterStorage/repodata.bak/comps-rhel5-cluster-st.xml /yum/ClusterStorage/

第五步:查看仓库数据文件:
[root@localhost ~]# ls /yum/Server/repodata/
comps-rhel5-server-core.xml //这个文件软件包组的分类。
filelists.xml.gz other.xml.gz primary.xml.gz //这三个文件为软件包列表文件。
repomd.xml //这个文件为MD5校验信息。
在/yum/VT /yum/Cluster /yum/ClusterStorage下面都有这几个文件,作用和这一样。如果想更新软件包,只需把下载完的软件包放在Server或者其他三个目录里,再使用第四步重新生成数据库文件即可。

第六步:客户端配置:主要修改下面红色的部分:
[root@localhost ~]# cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/chenbin.repo
[root@localhost ~]# vi /etc/yum.repos.d/chenbin.repo

[rhel-Server]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///yum/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-VT]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///yum/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-Cluster]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///yum/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-ClusterStorage]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///yum/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

第七步:查看:如图,已经出现软件列表了。


如果在上图中的编辑里选择软件存储库,就出现下图:

如果把这里的勾去掉,再次打开就没有软件列表了,同时在/etc/yum.repos.d/chenbin.repo配置文件下的enabled=0。

清除一下yum安装时的缓存:
[root@localhost ~]# yum clean all

安装一个软件试试:
[root@localhost ~]# rpm -ivh /yum/Server/httpd-2.2.3-22.el5.i386.rpm
warning: /yum/Server/httpd-2.2.3-22.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
libapr-1.so.0 is needed by httpd-2.2.3-22.el5.i386
libaprutil-1.so.0 is needed by httpd-2.2.3-22.el5.i386

因为依赖关系,所以不能安装。用如下命令安装:
[root@localhost ~]# yum install /yum/Server/httpd-2.2.3-22.el5.i386.rpm
系统会自动安装完成。Yum缷载如下:
[root@localhost ~]# yum remove httpd。

第二种方法:
第一步:同上,创建一个新文件夹,并把光盘的内容全部复制到该文件夹内:
[root@localhost ~]# mkdir /yum
[root@localhost ~]# cp -rvf /misc/cd/* /yum

第二步:安装工具包:
[root@localhost ~]# rpm -ivh /yum/Server/createrepo-0.4.11-3.el5.noarch.rpm

第三步:生成仓库数据库:
[root@localhost ~]# cd /yum
[root@localhost yum]# createrepo . //注意后面的.

第四步:查看文件:文件作用同上:
[root@localhost yum]# ls /yum/repodata/
filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml

第五步:客户端配置:
[root@localhost ~]# cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/chenbin.repo
[root@localhost ~]# vi /etc/yum.repos.d/chenbin.repo

[rhel-chenbin]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///yum/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

清除yum安装时的缓存:
[root@localhost ~]# yum clean all

至此,yum安装完成,但使用这种方法安装后在应用程序-添加删除软件的列表是空的,但使用yum安装软件是可以的。
[root@localhost ~]# yum install /yum/Server/httpd-2.2.3-22.el5.i386.rpm
[root@localhost ~]# yum remove httpd

第三种方法:
首先把光盘放入光驱内:
然后复制配置文件:
[root@localhost ~]# cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/chenbin.repo
最后编辑配置文件:
[root@localhost ~]# vi /etc/yum.repos.d/chenbin.repo

[rhel-Server]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///misc/cd/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-VT]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///misc/cd/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-Cluster]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///misc/cd/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-ClusterStorage]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///misc/cd/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

清除缓存:
[root@localhost ~]# yum clean all

这种方法安装后在应用程序-添加删除软件里也有列表。同样可以使用yum安装缷载

[root@localhost ~]# yum install /misc/cd/Server/httpd-2.2.3-22.el5.i386.rpm
[root@localhost ~]# yum remove httpd

如果把光盘拿出后,在应用程序-添加删除软件就没有列表了,只要放入光盘就有。

总结: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