linux 下载rpm包到本地,createrepo:创建本地YUM源
如何下載rpm包到本地
設(shè)置yum安裝時(shí),保留rpm包。
1.編輯 /etc/yum.conf 將keepcache的值設(shè)置為1;
這樣就可以將yum安裝時(shí)的rpm包保存在 /var/cache/yum下面
2.或者使用yum-plugin-downloadonly插件,
? sudo yum install yum-plugin-downloadonly
?用法:sudo yum install ceph-0.87.1-0.el7.centos.x86_64.rpm --downloadonly --downloaddir=./
?有時(shí)centos的rpm源不是最新的,需要安裝一個(gè)epel源,sudo yum install epel-release
?
repodata作為軟件的倉(cāng)庫(kù),其目錄下有四個(gè)必要文件:filelists.xml.[gz],other.xml.[gz],primary.xml.[gz]和repomd.xml(md意思是metadata),其中最主要的是repomd.xml文件。一般出現(xiàn)的找不到repodata目錄或文件的錯(cuò)誤的原因通常有三個(gè):一是路徑問(wèn)題;二是沒(méi)有生成repodate目錄;三是*.repo配置文件沖突(這個(gè)需要特意注意)。
創(chuàng)建本地源步驟如下:
1、安裝createrepo包;
2、新建本地源目錄(假若本地源在當(dāng)前家目錄下)
?? 2.1 $mkdir -p local-yum/i386/?????? #其中i386是包放置目錄
?? 2.2 將安裝包放置到i386目錄中
?? 2.3 createrepo local-yum/?????????? #創(chuàng)建一個(gè)源
3、配置yum源(可以單獨(dú)新建一個(gè)repo文件,也可以添加到已經(jīng)存在的repo文件中)在/etc/yum.repos.d/下面創(chuàng)建文件
************************************************************
[local-yum]
name=local-yum
baseurl=file:///home/test/local-yum/?????????????? #文件目錄不能設(shè)置到i386,否則本地源使用會(huì)報(bào)錯(cuò)
enabled=1
gpgcheck=0
解釋:
[....]???? 代表這個(gè)庫(kù)的名字,必須是唯一的,不可以重復(fù)。
name=???? 是這個(gè)庫(kù)的說(shuō)明,沒(méi)有太大的實(shí)際意義,只是一個(gè)字段說(shuō)明。
baseurl=? 說(shuō)明采取什么方式傳輸,具體路徑在哪里,可以使用的方式有,file:///,ftp://,http://等
enabled=1? 說(shuō)明啟用這個(gè)更新庫(kù),0表示不啟用。
gpgcheck=1 表示使用gpg文件來(lái)檢查軟件包的簽名
gpgkey=??? 表示gpg文件所存放的位置,此處也可以有http方式的位置。
************************************************************
yum clean all yum repolist
4、yum工具介紹
?? yum工具有很多的參數(shù)可供使用,如下:
??????? yum install 軟件名1 [軟件名2] [...]
??????? yum update [軟件名1][軟件名2] [...]
??????? yum check-update
??????? yum upgrade [軟件1] [軟件2] [...]
??????? yum remove | erase 軟件名1 [軟件名2] [...]
??????? yum list [...]
??????? yum info [...]
??????? yum provides | whatprovides feature1 [feature2] [...]
??????? yum clean [ packages | headers | metadata | dbcache | all ]
??????? yum makecache
??????? yum groupinstall 軟件組1 [軟件組2] [...]
??????? yum groupupdate 軟件組1 [軟件組2] [...]
??????? yum grouplist [hidden] [groupwildcard] [...]
??????? yum groupremove group1 [group2] [...]
??????? yum groupinfo 軟件組名 [...]
??????? yum search 字符串1 [字符串2] [...]
??????? yum shell [文件名]
??????? yum resolvedep 依賴(lài)關(guān)系1 [依賴(lài)關(guān)系2] [...]
??????? yum localinstall rpm包1 [rpm包2] [...]
??????? yum localupdate rpm包1 [rpm包2] [...]
??????? yum reinstall 軟件包1 [軟件包2] [...]
??????? yum downgrade 軟件包1 [軟件包2] [...]
??????? yum deplist 軟件包1 [軟件包2] [...]
??????? yum repolist [all|enabled|disabled]
??????? yum help [command]
??? 以上就是yum全部的可用參數(shù)了,自動(dòng)分析依賴(lài)性關(guān)系是它最好的一個(gè)特點(diǎn),也是目前最方便的安裝方法。
5、更新本地源,在倉(cāng)庫(kù)所在目錄下
?? createrepo --update local-yum/????????? # 更新本地源
?? createrepo local-yum/ ? ? ? ? ? ? ? ? ? # 重新生成metadata
6、用的上的命令
????? createrepo --update:
?? 有時(shí)候你的軟件倉(cāng)庫(kù)中含有很多的軟件包,雖然只是其中的一小部分有所改動(dòng)但是你卻不必為每個(gè)軟件包重新產(chǎn)生元數(shù)據(jù),這樣做明顯太浪費(fèi)時(shí)間了。這就是--update選項(xiàng)誕生的原因。
?? 像之前一樣運(yùn)行createrepo命令但是添加了--update選項(xiàng).?????? $createrepo --updatelocal-yum/?? 現(xiàn)在createrepo只更新那些在上次產(chǎn)生元數(shù)據(jù)之后被改變,添加或者刪除了的項(xiàng)目.
????? verifytree???如果你剛剛做了一個(gè)repo并且你想要驗(yàn)證在你的repo中的所有東西都是正確且可以完成其功能的話,你可以運(yùn)行erifytree命令來(lái)檢查所有的repodata和軟件包。
7、創(chuàng)建基于html的更新源
?? 7.1 安裝httpd安裝包
?? 7.2 如上創(chuàng)建本地更新源
?????? cd /var/www/html/
?????? mkdir -p nsmc
?????? cdnsmc
?????? mkdir RPMS SRPMS
?? 7.3 拷貝相關(guān)文件到RPMS和SRPMS目錄中
?? 7.4 在nsmc所在目錄下執(zhí)行如下命令
?????? createrepo nsmc?????????? #創(chuàng)建倉(cāng)庫(kù)
?? 7.5 service httpd start?????? #啟動(dòng)httpd守護(hù)進(jìn)程,這是關(guān)鍵地方之一,否則在其他機(jī)器上會(huì)提示找不到相關(guān)源
?? 7.6 編寫(xiě)repo文件
*************************************
[nsm]
name=NeoShine Linux Desktop 5 nsmc repo - i386
baseurl=http://xxx.xxx.xxx.xxx/nsmc
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neoshine-release
注意:gpgcheck設(shè)置為0,則不需要認(rèn)證簽名。
轉(zhuǎn)載于:https://www.cnblogs.com/dfyz/p/4495669.html
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的linux 下载rpm包到本地,createrepo:创建本地YUM源的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: UV认证应用安全标准的目的
- 下一篇: 用ORACHK自己主动化检查数据库系统的