|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
欢迎大家来到仓酷云论坛!本文中的“当地YUM源”包含三品种型:一是间接利用CentOS光盘作为当地yum源,长处是复杂便利,弱点是光盘软件包大概不完全(centos7Everything统共才6.57G);二是同步CentOS官方源到当地(相称于创立了一个大众镜像),长处是最靠谱,弱点是占空间费流量;三是创立完整自界说的当地源,长处是天真性最年夜,弱点是只是作为其他源的增补。
1、利用CentOS光盘作为当地yum源
(1)实体机上间接放进光盘
(2)VMwareWorkstation假造机:假造机-->可挪动装备-->CD/DVD-->毗连
[html]viewplaincopy
- mkdir/mnt/cdrom#创立目次
- mount/dev/cdrom/mnt/cdrom#挂载
- umount/mnt/cdrom#卸载
若不想每次都要放光盘,那就复制光盘文件到当地硬盘吧
[html]viewplaincopy
- cp-avf/mnt/cdrom/yum#-a:该选项保存链接、文件属性,并递回地复制目次
2、创立repo文件
[html]viewplaincopy
- cat>>/etc/yum.repos.d/CentOS-Local.repo<<-EOF
- [Local]
- name=LocalYum
- baseurl=file:///yum/
- gpgcheck=1
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
- enabled=1
问:为何连createrepo软件都不必装置?
createrepo的感化是创立索引文件的(位于repodata文件夹),光盘中连GPG-KEY都有了。
2、怎样为CentOS创立大众镜像
具体申明见官方中文文档:
http://wiki.centos.org/zh/HowTos/CreatePublicMirrors
供应一个SHELL剧本,然后cron主动运转~~
http://wangyan.org/blog/centos-local-yum-repo.html
剧本稍作修正,换成中科年夜的镜像源。可用镜像列表见:http://www.centos.org/download/mirrors/
[html]viewplaincopy
- localpath="/mirrors/CentOS"
- mirror="mirrors.hustunique.com::centos"
- rsync="rsync-avzH--delete"
- verlist="7"
- baselist="centosplusextrasfasttrackosupdates"
- archlist="x86_64"
- forverin$verlist
- do
- forbasein$baselist
- do
- forarchin$archlist
- do
- remote=$mirror/$ver/$base/$arch/
- mkdir-pv$localpath/$ver/$base/$arch/
- $rsync$remote$localpath/$ver/$base/$arch/
- done
- done
- done
3、创立完整自界说的当地源
把平常保藏的一些RPM软件包放在一个目次里,就酿成一个自界说源了,能够用YUM来办理,天真性相称年夜。
官方教程:Howtosetupyourownpackagerepository
1、创立当地yum堆栈
[html]viewplaincopy
- mkdir-p/yum/local#能够有N级目次
- cp...#复制RPM包到上述目次
2、创立repo文件
[html]viewplaincopy
- cat>>/etc/yum.repos.d/CentOS-Local.repo<<-EOF
- [Local]
- name=LocalYum
- baseurl=file:///yum/
- gpgcheck=1
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
- enabled=1
3、装置createrepo
[html]viewplaincopy
- yuminstallcreaterepo#利用yum装置createrepo
- rpm-ivhhttp://mirror.centos.org/centos/7/os/x86_64/Packages/createrepo-0.9.9-23.el7.noarch.rpm
4、创立索引
<divclass="syntaxhighlighter"id="highlighter_588331"style="color:rgb(51,51,51);font-family:Arial;font-size:14px;line-height:26px;"><divclass="lines">[html]viewplaincopy
- createrepo/yum
- yummakecache#更新缓存
4、增加yum源
[html]viewplaincopy
- [1]AddRPMforgeRepositoryforyumbecausethathasmanyusefulpackages.
- [root@dlp~]#
- wgethttp://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
- [root@dlp~]#
- rpm-Uvhrpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
- Preparing…######################################[100%]1:rpmforge-release######################################[100%]
- [root@dlp~]#
- sed-i-e"s/enabled=1/enabled=0/g"/etc/yum.repos.d/rpmforge.repo
- [2]AddrepositoryEPELthatisprovidedfromFedoraproject.
- [root@dlp~]#
- wgethttp://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
- [root@dlp~]#
- rpm-Uvhepel-release-6-8.noarch.rpm
- Preparing…######################################[100%]1:epel-release######################################[100%]
- [root@dlp~]#
- sed-i-e"s/enabled=1/enabled=0/g"/etc/yum.repos.d/epel.repo
5、参考
http://m.oschina.net/blog/88071
http://jingyan.百度.com/article/e9fb46e1aed8207521f7662c.html
http://blog.chinaunix.net/uid-28283843-id-3930474.html
http://www.ckuyun.com/developerworks/cn/linux/l-lpic1-v3-102-5/
6、其他增补
1.利用YUM查找软件包
下令:yumsearch
2.列出一切可装置的软件包
下令:yumlist
3.列出一切可更新的软件包
下令:yumlistupdates
4.列出一切已装置的软件包
下令:yumlistinstalled
5.列出一切已装置但不在YumRepository鹊娜砑
下令:yumlistextras
6.列出所指定的软件包
下令:yumlist7.利用YUM猎取软件包信息
下令:yuminfo8.列出一切软件包的信息
下令:yuminfo
9.列出一切可更新的软件包信息
下令:yuminfoupdates
10.列出一切已安b的软件包信息
下令:yuminfoinstalled
11.列出一切已安b但不在YumRepository鹊娜砑畔
下令:yuminfoextras
12.列出软件包供应哪些文件
下令:yumprovides
5.扫除YUM缓存
yum会把下载的软件包和header存储在cache中,而不会主动删除。假如我们以为它们占用了磁盘空间,可使用yumclean指令举行扫除,更准确的用法是yumcleanheaders扫除header,yumcleanpackages扫除下载的rpm包,yumcleanall扫除一切
1.扫除缓存目次(/var/cache/yum)下的软件包
下令:yumcleanpackages
2.扫除缓存目次(/var/cache/yum)下的headers
下令:yumcleanheaders
3.扫除缓存目次(/var/cache/yum)下旧的headers
下令:yumcleanoldheaders
4.扫除缓存目次(/var/cache/yum)下的软件包及旧的headers
下令:yumclean,yumcleanall(=yumcleanpackages;yumcleanoldheaders)
(一)相干解说
repodata作为软件的堆栈,其目次下有四个需要文件:filelists.xml.[gz],other.xml.[gz],primary.xml.[gz]和repomd.xml(md意义是metadata),个中最次要的是repomd.xml文件,缘故原由是我们用光盘或ISO文件制造当地源经常看到上面相似的毛病:
*c5-media:
file:///media/CentOS/repodata/repomd.xml:[Errno5]OSError:[Errno2]没有谁人文件或目次:‘/media/CentOS/repodata/repomd.xml’
Tryingothermirror.
file:///media/cdrecorder/repodata/repomd.xml:[Errno5]OSError:[Errno2]没有谁人文件或目次:‘/media/cdrecorder/repodata/repomd.xml’
Tryingothermirror.
file:///media/cdrom/repodata/repomd.xml:[Errno5]OSError:[Errno2]没有谁人文件或目次:‘/media/cdrom/repodata/repomd.xml’
Tryingothermirror.
Error:Cannotretrieverepositorymetadata(repomd.xml)forrepository:c5-media.Pleaseverifyitspathandtryagain
以上的毛病提是说找不到repodata目次或文件,而毛病的缘故原由一般有三个:一是路径成绩;二是没有天生repodate目次;三是*.repo设置文件抵触(这个必要特地注重)。
从CentOS5(或rhel5)今后,体系光盘或ISO文件里多数已帮我们天生了repodata目次(但不扫除没有),而5.0之前的版本则没有,必要我们用createrepo天生,此下令会依据rpm包的依附干系,天生对应的repodata目次(软件堆栈),就此目次,很主要的一个目次,名字也是流动的,内里就是保留有这四个文件:filelists.xml.[gz],other.xml.[gz],primary.xml.[gz]和repomd.xml.[gz](一般还会有comps.xml文件,上面会提到)。关于以上的毛病例子,从c5-media可知体系是5.0以上的,体系光盘是自带有repodata目次,以是很分明是路径或*.repo文件的成绩,但不扫除没有repodata目次这类情形,详细有无,翻开光盘看下就晓得了呗,假如的确没有,那就就天生了呗,上面会说到。
如今来看下/etc/yum.repos.d/CentOS-Media.repo设置文件的内容:
[c5-media]
name=CentOS-$releasever–Media
#name就是name了,其格局代表了“操纵体系名和释出书本”-“base”是标明此段寻觅的是base包信息。
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
#“baseurl”代表yum在互联网上所查找的链接地点。这里必要注释一下
#“$basearch”代表了体系的构架格局如“i386”和“repodata”寄存repomd.xml文件的文件夹地位。
#“repomd.xml”感化,供应了“更新.xml.gz”的下载信息和SHA校验值。
#这里“repomd.xml”里包含了3个文件“other.xml.gz””filelists.xml.gz””primary.xml.gz”
#感化很分明了,“其他更新包列表”“更新文件会合列表”“次要更新包列表”
gpgcheck=1
#gpgcheck校验,你必要在设置文件里说明GPG-RPM-KEY的地位。
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-beta
#GPG-RPM-KEY的地位
从baseurl指定查找地位和堕落动静:
<divstyle="margin:0px;padding:0px;font-family:MicrosoftYahei,Tahoma,Arial,SimSun,HiraginoSansGB,PMingLiu,Verdana,sans-serif;font-size:13px;line-height:21px;background-color:rgb(249,249,249);"> |
|