linux 下載rpm包到本地,createrepo:建立本地YUM源

如何下載rpm包到本地html

設置yum安裝時,保留rpm包。shell

1.編輯 /etc/yum.conf 將keepcache的值設置爲1;centos

這樣就能夠將yum安裝時的rpm包保存在 /var/cache/yum下面ide

2.或者使用yum-plugin-downloadonly插件,工具

  sudo yum install yum-plugin-downloadonlyurl

 用法:sudo yum install ceph-0.87.1-0.el7.centos.x86_64.rpm --downloadonly --downloaddir=./spa

 有時centos的rpm源不是最新的,須要安裝一個epel源,sudo yum install epel-release插件

 

repodata做爲軟件的倉庫,其目錄下有四個必要文件:filelists.xml.[gz],other.xml.[gz],primary.xml.[gz]和repomd.xml(md意思是metadata),其中最主要的是repomd.xml文件。通常出現的找不到repodata目錄或文件的錯誤的緣由一般有三個:一是路徑問題;二是沒有生成repodate目錄;三是*.repo配置文件衝突(這個須要特地注意)。

建立本地源步驟以下:

一、安裝createrepo包;
二、新建本地源目錄(倘若本地源在當前家目錄下)
   2.1 $mkdir -p local-yum/i386/       #其中i386是包放置目錄
   2.2 將安裝包放置到i386目錄中
   2.3 createrepo local-yum/           #建立一個源

三、配置yum源(能夠單獨新建一個repo文件,也能夠添加到已經存在的repo文件中)在/etc/yum.repos.d/下面建立文件
************************************************************
[local-yum]
name=local-yum
baseurl=file:///home/test/local-yum/               #文件目錄不能設置到i386,不然本地源使用會報錯
enabled=1
gpgcheck=0

解釋:
[....]     表明這個庫的名字,必須是惟一的,不能夠重複。
name=     是這個庫的說明,沒有太大的實際意義,只是一個字段說明。
baseurl=  說明採起什麼方式傳輸,具體路徑在哪裏,可使用的方式有,file:///,ftp://,http://等
enabled=1  說明啓用這個更新庫,0表示不啓用。
gpgcheck=1 表示使用gpg文件來檢查軟件包的簽名
gpgkey=    表示gpg文件所存放的位置,此處也能夠有http方式的位置。
************************************************************code

可使用如下命令來檢驗yum源是否安裝成功
yum clean all yum repolist


四、yum工具介紹
   yum工具備不少的參數可供使用,以下:
        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 依賴關係1 [依賴關係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所有的可用參數了,自動分析依賴性關係是它最好的一個特色,也是目前最方便的安裝方法。

五、更新本地源,在倉庫所在目錄下
   createrepo --update local-yum/          # 更新本地源
   createrepo local-yum/                   # 從新生成metadata

六、用的上的命令
      createrepo --update:
   有時候你的軟件倉庫中含有不少的軟件包,雖然只是其中的一小部分有所改動可是你卻沒必要爲每一個軟件包從新產生元數據,這樣作明顯太浪費時間了。這就是--update選項誕生的緣由。
   像以前同樣運行createrepo命令可是添加了--update選項.       $createrepo --updatelocal-yum/   如今createrepo只更新那些在上次產生元數據以後被改變,添加或者刪除了的項目.
      verifytree 
  若是你剛剛作了一個repo而且你想要驗證在你的repo中的全部東西都是正確且能夠完成其功能的話,你能夠運行erifytree命令來檢查全部的repodata和軟件包。

七、建立基於html的更新源
   7.1 安裝httpd安裝包
   7.2 如上建立本地更新源
       cd /var/www/html/
       mkdir -p nsmc
       cdnsmc
       mkdir RPMS SRPMS
   7.3 拷貝相關文件到RPMS和SRPMS目錄中
   7.4 在nsmc所在目錄下執行以下命令
       createrepo nsmc           #建立倉庫
   7.5 service httpd start       #啓動httpd守護進程,這是關鍵地方之一,不然在其餘機器上會提示找不到相關源
   7.6 編寫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設置爲0,則不須要認證簽名。cdn

相關文章
相關標籤/搜索