您的位置:首页 > 其它

搭建本地yum仓库

2016-09-07 17:40 302 查看
一. yum是什么
yum = Yellow dog Updater, Modified
1、主要功能是更方便的添加/删除/更新RPM包.
它能自动解决包的倚赖性问题.
它能便于管理大量系统的更新问题
注:为什么要使用yum而不用apt,最简单的原因,Fedora自带
 
 
二. yum特点
*可以同时配置多个资源库(Repository)
*简洁的配置文件(/etc/yum.conf)
*自动解决增加或删除rpm包时遇到的倚赖性问题
*使用方便
*保持与RPM数据库的一致性
 
首先,rhel5系统安装的时候其实已经有yum了,只是因为如果用官方的网站更新的话除非你是用钱买的rhel5.否则它会提示注册之类的。所以只要把 yum的更新地址改成开源的就行了。而限定yum更新地址的文件在/etc/yum.repos.d/里。先把它们改成备份文件,即在后面加.bak。
 
三、常用用法
1.使用YUM查找软件包
命令:yum search <keyword>
 
2.列出所有可安装的软件包
命令:yum list
 
3.列出所有可更新的软件包
命令:yum list updates
 
4.列出所有已安装的软件包
命令:yum list installed
命令:yum list installed | more
 
5.列出所有已安装但不在 Yum Repository 內的软件包
命令:yum list extras
 
6.列出所指定的软件包
命令:yum list <package_name>
 
7.使用YUM获取软件包信息
命令:yum info <package_name>
 
8.列出所有软件包的信息
命令:yum info
 
9.列出所有可更新的软件包信息
命令:yum info updates
 
10.列出所有已安裝的软件包信息
命令:yum info installed
 
11.列出所有已安裝但不在 Yum Repository 內的软件包信息
命令:yum info extras
 
12.列出软件包提供哪些文件
 
命令:yum provides <package_name>
 
13、使用 yum remove 则会移除Linux系统上已经安装的RPM套件。
命令:# yum remove expat-devel
 
14、使用 yum install 单独安装一个RPM套件
命令:# yum install net-snmp-utils
 
四、清除YUM缓存
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一 股脑儿端
 
1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages
 
2.清除缓存目录(/var/cache/yum)下的 headers
命令:yum clean headers
 
3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders
 
4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
 
命令:yum clean
命令:yum clean all (= yum clean packages; yum clean oldheaders)
 
五、使用光驱作为yum仓库
1、将光驱挂载到/mnt目录
[root@eccs_web etc]# mount /dev/cdrom /mnt
 mount: block device /dev/sr0 is write-protected, mounting read-only
 
2、配置yum仓库地址
[root@eccs_web etc]# cd /etc/yum.repos.d/
[root@eccs_web yum.repos.d]# cp rhel-source.repo rhel-source.repo.bak
[root@eccs_web yum.repos.d]# vi rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///mnt
enabled=1
gpgcheck=1
 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
提问:为什么选择是在/mnt目录?
1、先看看光盘的目录内容,里面有个repodata目录,里面存放的是软件之间的关联关系,sqlite



 
2、看看repodata目录下的内容



 
里面的由sqlite3,存放着软件之间的关系。
 
3、其中仓库还可配置HighAvailability、LoadBalancer、Server
[root@eccs_web HighAvailability]# ls
listing  repodata  TRANS.TBL
[root@eccs_web HighAvailability]# cd ..
[root@eccs_web mnt]# cd LoadBalancer/
[root@eccs_web LoadBalancer]# ls
listing  repodata  TRANS.TBL
[root@eccs_web LoadBalancer]# cd ..
[root@eccs_web mnt]# cd Server/
[root@eccs_web Server]# ls
listing  repodata  TRANS.TBL
 
 备注:
[Steven]只是仓库名字,这个可以随意
Name=….这个你可以理解为仓库的描述,这个可以不写这一行
Baseurl=file:///Media/Server,这里解释一下为什么是///三个/,file:// ftp:// http://大家是不是很熟悉,file://的意思是文件在本地,在Linux中一切都以根开始的那路径上要加个/,所以最后是file:///media/Server,意思是在本地的/media/Server下
Enable=1,这里是说是否用户仓库,1是启用,0是不启用
Gpgcheck,是说是否检查软件的KEY,1是检查,0是不检查
Gpgkey=…这里是说你的KEY文件在哪里,我不启用,所以也无所谓了
 
 现在你就可以使用yum install package 来安装需要的软件包了。
现在就可以测试能不能用了哦:
[root@killgoogle ~]yum install mplayer
这是安装mplayer如果要删除则是:
 
[root@killgoogle ~]yum remove mplayer





大小: 14 KB





大小: 12.8 KB

查看图片附件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: