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

相关文章
相关标签/搜索