实验思想
1.提供一个本地软件包存放的目录,也就是yum源
2.利用网络服务把这个目录共享出来,以供网络用户访问
3.配置yum源
4.客户端测试yum源
第一步
我利用vsftpd软件开启ftp服务共享yum源所在目录,把rhel5.5光盘上的4个目录分别是
Server,VT,Cluster,ClusterStorage拷贝到/var/ftp/pub目录下
首先挂载光驱安装vsftpd软件包并启动服务
拷贝光盘上的目录到本地/var/ftp/pub
第二步,创建新的yum源软件包信息
关于repodata目录
每个录下都有repodata目录用来存放当前目录下软件包的数量,名字,位置,依赖关系等并做成一个索引,但直接拷贝过来的repodata目录无法使用,因为当前的repodata还记录着从光盘上建立的软件包信息,comps开头的文件是一个分组文件记录着相关软件包类别,例如多媒体类,图像类,网络类等,当你选择一个分类安装时就会一次性把这一类软件包统统安装.所以如果不重建repodata里的软件包信息就会在安装时不停的寻找光驱的源而不会寻找本地源,repodata目录及软件包信息是由createrepo命令创建的所以还要安装createrepo工具
安装createrepo
重建repodata
先把分组文件单独从原始的repodata目录下拷贝出来,并删除原始的repodata目录
重建/var/ftp/pub/Server的repodata目录
重建/var/ftp/pub/VT的repodata目录
重建/var/ftp/pub/Cluster的repodata目录]
重建/var/ftp/pub/ClusterStorage的repodata目录
重新清空一下刚才重建repodata的垃圾文件及缓存文件,这个清楚实际上从/var/cache/yum中清掉数据
现在我们就来设置一下yum源地址在配置文件中/etc/yum.repo.d/rhel-debuginfo.repo
我们来看看配置文件中的参数含义
我们要做的就是把这个模板文件拷贝一份成为自己的本地yum源配置,文件名结尾必须是.repo
cp /etc/yum.repo.d/rhel-debuginfo.repo /etc/yum.repo.d/test.repo
vi /etc/yum.repo.d/test.repo
第三步客户端测试yum源
现在我们来看看我们的yum源能否列出自己有多少软件
现在我就来随意安装一个软件,yum主要是可以很好的解决掉软件之间的依赖关系,安装的软件会放在/var/cache/yum中
我们查找一下刚才的软件是否真的已经安装了
当然还有一些常用的yum命令我们需要熟知一下
yum list :罗列yum源中的软件
yum install vsftpd:安装软件包
yum remove vsftpd:移除软件包
yum search vsftpd:查找软件包
yum check-update:检查可以更新的软件包
yum list installed:罗列已经安装的软件包
yum info vsftpd:查看软件包的信息
yum update:升级所有软件包
yum update vsftpd:升级指定软件包
意外小情况
如果你在安装linux时没有安装yum工具,你需要安装顺序安装如下软件包
这个是yum的全局配置文件/etc/yum.conf的说明
1 [main]
2 cachedir=/var/cache/yum --yum缓存目录
3 keepcache=0 --安装后保留软件包,0保留,1不保留
4 debuglevel=2 --排错级别指定0-10
5 logfile=/var/log/yum.log --yum日志
6 distroverpkg=redhat-release --根据一个指定的软件包,判断系统发现版本
7 tolerant=1
8 exactarch=1 --是否升级与已安装的软件包,0可以安装不一致的包,1只安装一致的包
9 obsoletes=1
10 gpgcheck=1
11 plugins=1 --是否允许使用插件,0不允许,1允许
12
13 # Note: yum-RHN-plugin doesn't honor this.
14 metadata_expire=1h --yum源超时时间
15
16 # Default.
17 # installonly_limit = 3
18
19 # PUT YOUR REPOS HERE OR IN separate files named file.repo
20 # in /etc/yum.repos.d
出现如下错误,原因在于没有导入rpm包的一个版本key
导入方法