linux 下载rpm包到本地,createrepo:创建本地YUM源

如何下载rpm包到本地

设置yum安装时,保留rpm包。

1.编辑 /etc/yum.conf 将keepcache的值设置为1;

这样就可以将yum安装时的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=./

有时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配置文件冲突(这个需要特意注意)。

创建本地源步骤如下:

1、安装createrepo包;
2、新建本地源目录(假若本地源在当前家目录下)
2.1 $mkdir -p local-yum/i386/ #其中i386是包放置目录
2.2 将安装包放置到i386目录中
2.3 createrepo local-yum/ #创建一个源

3、配置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方式的位置。
************************************************************

可以使用以下命令来检验yum源是否安装成功
yum clean all
yum repolist

4、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全部的可用参数了,自动分析依赖性关系是它最好的一个特点,也是目前最方便的安装方法。

5、更新本地源,在仓库所在目录下
createrepo --update local-yum/ # 更新本地源
createrepo local-yum/ # 重新生成metadata

6、用的上的命令
createrepo --update:
有时候你的软件仓库中含有很多的软件包,虽然只是其中的一小部分有所改动但是你却不必为每个软件包重新产生元数据,这样做明显太浪费时间了。这就是–update选项诞生的原因。
像之前一样运行createrepo命令但是添加了–update选项. $createrepo --updatelocal-yum/ 现在createrepo只更新那些在上次产生元数据之后被改变,添加或者删除了的项目.
verifytree 如果你刚刚做了一个repo并且你想要验证在你的repo中的所有东西都是正确且可以完成其功能的话,你可以运行erifytree命令来检查所有的repodata和软件包。

7、创建基于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,则不需要认证签名。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要在Linux上搭建本地yum源,可以按照以下步骤进行操作: 1. 安装createrepo工具:在终端中输入命令sudo yum install createrepo,安装完成后,就可以使用createrepo命令来创建yum源了。 2. 创建yum源目录:在终端中输入命令sudo mkdir /var/www/html/yum,创建一个yum源目录。 3. 将需要的rpm复制到yum源目录中:在终端中输入命令sudo cp /path/to/rpm /var/www/html/yum,将需要的rpm复制到yum源目录中。 4. 使用createrepo命令创建yum源:在终端中输入命令sudo createrepo /var/www/html/yum,创建yum源。 5. 配置yum源文件:在终端中输入命令sudo vi /etc/yum.repos.d/local.repo,编辑yum源文件,添加以下内容: [local] name=Local Yum Repository baseurl=file:///var/www/html/yum enabled=1 gpgcheck= 6. 保存并退出:在终端中输入命令:wq,保存并退出。 7. 更新yum缓存:在终端中输入命令sudo yum clean all && sudo yum makecache,更新yum缓存。 现在,本地yum源已经搭建完成了,可以使用yum命令来安装需要的软件了。 ### 回答2: 在Linux系统中,yum是一种基于RPM管理工具的软件管理器。在使用yum过程中,我们经常需要从服务器上下载和安装软件,但是在某些情况下,我们可能遇到了网络不稳定或者是出于安全等因素的考虑需要以本地的方式进行软件的管理和使用。这时候,我们需要搭建本地yum源来进行管理和使用。 下面是具体步骤: 1. 首先需要安装createrepo工具: yum install createrepo 这个工具是用来制作本地yum源的必需工具。 2. 创建本地yum源目录: mkdir –p /data/yum 在/data目录下创建一个名为yum的目录,以存放所有的软件。 3. 将软件拷贝到yum目录下: 将需要安装的软件拷贝到新创建的yum目录下: cp /path/to/package/* /data/yum/ 我们可以将软件从其它机器上下载后,再通过FTP或者其它工具将其复制到本地yum目录中。 4. 创建repodata目录并生成本地yum库: 进入到yum目录中,执行如下操作: cd /data/yum createrepo –v /data/yum createrepo命令可以将准备好的RPM文件制作成yum库可以使用的一个XML格式的文件,yum库信息文件的后缀为repo。 5. 安装httpd服务: yum install httpd 本地yum库是通过http服务来提供的,所以必须安装httpd服务。 6. 配置httpd服务: 在httpd的配置文件中添加如下配置信息: vi /etc/httpd/conf.d/yumrepo.conf Alias /centos/ /data/yum/ <Directory /data/yum/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> 7. 启动httpd服务: systemctl start httpd.service 根据需要设置httpd服务的开机启动。 8. 配置客户端yum源: 编辑客户端的yum配置文件/etc/yum.repos.d/centos.repo,将内容修改为: [base] name=CentOS-Base-7-x86_64 baseurl=http://IP/or/path/to/local/yum/ gpgcheck=0 enabled=1 9. 更新yum缓存: yum clean all yum makecache 到这里,我们就成功搭建了本地的yum库,并完成了客户端对本地yum库的配置,可以在客户端上使用yum命令进行软件安装和管理。 ### 回答3: 在 Linux 中,yum 是一个非常常用的管理工具,它可以自动解决软件间的依赖关系,从而让我们更容易地管理我们的系统和软件。但是,在某些情况下,我们可能需要自己建立一个本地的 yum 源来满足特定的需求,比如没有可访问的互联网连接或者需要更快的软件下载速度等。 在本文中,我们将介绍如何在 Linux 中搭建一个本地的 yum 源。 1. 安装相关的软件 首先,我们需要安装一些相关的软件createrepo、yum-utils 和 httpd 等。我们可以使用以下命令进行安装: ``` $ sudo yum install createrepo yum-utils httpd ``` 其中: - createrepo:用于创建 yum 源的工具。 - yum-utils:提供了很多 yum 相关的工具,括 yumdownloader、repoclosure 和 package-cleanup 等。 - httpd:Apache 的 HTTP 服务器,我们将使用它来提供 yum 源的 web 服务。 2. 在本地创建 yum 源目录 接下来,我们需要在本地创建一个目录,用于存放我们自己的软件。我们可以使用以下命令来创建一个名为 myyum 的目录: ``` $ sudo mkdir /var/www/html/myyum ``` 3. 安装软件创建 yum 源 接下来,我们需要将需要的软件安装到上一步创建的 myyum 目录中。我们可以使用以下命令来安装软件,并将软件RPM 文件保存到 myyum 目录中: ``` $ sudo yum install --downloadonly --downloaddir=/var/www/html/myyum package_name ``` 其中: - --downloadonly:表示只下载软件,不进行安装。 - --downloaddir=/var/www/html/myyum:表示将下载的软件保存到 myyum 目录中。 当我们下载的软件全部安装完毕后,我们需要使用 createrepo创建 yum 源。我们可以使用以下命令: ``` $ sudo createrepo /var/www/html/myyum ``` 4. 配置本地 yum 源 现在,我们已经成功地创建了一个本地的 yum 源。接下来,我们需要配置本地的 yum 源,让 yum 识别我们自己的软件。我们可以使用以下命令来创建一个名为 myyum.repo 的文件,并将以下内容添加到文件中: ``` $ sudo nano /etc/yum.repos.d/myyum.repo [myyum] name=My local yum repository baseurl=file:///var/www/html/myyum enabled=1 gpgcheck=0 ``` 其中: - name:本地 yum 源的名称。 - baseurl:指向本地 yum 源的 URL,此处使用 file:// 协议指向刚刚创建的 myyum 目录。 - enabled:启用或禁用 yum 源,此处设置为 1 表示启用。 - gpgcheck:是否启用 GPG 检查,此处设置为 0 表示禁用。 5. 测试本地 yum 源 现在,我们已经成功地创建并配置了本地的 yum 源。接下来,我们可以使用以下命令来测试 yum 是否可以正确地读取本地的 yum 源: ``` $ sudo yum update ``` 如果一切正常,yum 会自动将软件从本地的 yum 源中下载并安装。如果出现任何问题,请检查我们在之前的步骤中是否有遗漏或者错误。 总结 在本文中,我们介绍了如何在 Linux 中搭建一个本地的 yum 源。通过创建自己的 yum 源,我们可以更好地管理我们的软件,并减少对外部网络的依赖。同时,我们也学习了如何使用 createrepo 和 yum-utils 这些工具来管理和维护我们的软件。希望这篇文章能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_c G

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值