首页 > 系统相关 >给无网机器制作离线yum源

给无网机器制作离线yum源

时间:2023-11-09 16:35:52浏览次数:39  
标签:-- root 离线 无网 yum base rpm el7

安装环境准备:

系统版本:CentOS Linux release 7.6.1810 (Core)

以下是资源包下载地址:

deltarpm-3.6-3.el7.x86_64.rpm

python-deltarpm-3.6-3.el7.x86_64.rpm

libxml2-2.9.1-6.el7_9.6.x86_64.rpm

libxml2-python-2.9.1-6.el7_9.6.x86_64.rpm 

createrepo-0.9.9-28.el7.noarch.rpm

把下载的源码包都上传到服务器上,并解压

1、需要先在有网络机器上操作

1.1 命令安装

[root@root ~]# yum install yum-utils  createrepo 

1.2 各软件包功能
createrepo:生成yum源各软件之间的依赖索引
yum-utils:安装后可使用 yumdownloader 命令下载所需软件包

 

2、全量本地离线yum源

以下操作须在已连接互联网的机器上操作:

2.1 查看已配置好的网络源

[root@root ~]# yum repolist

2.2 创建存储网络源文件夹,并按照源ID将网络源拉取到本地

[root@root ~]# mkdir /root/yum
[root@root ~]# reposync -r base -p /root/yum

2.2.1 reposync其他参数

  -h, --help            显示此帮助消息并退出
  -c CONFIG, --config=CONFIG
                        要使用的配置文件(默认为/etc/yum.conf)
  -a ARCH, --arch=ARCH  像运行指定的arch一样(默认值:current
                        arch,注意:不会覆盖$ releasever。 x86_64是一个
                        i * 86的超集。)
  --source              在源包上运行
  -r REPOID, --repoid=REPOID
                        指定repo id来查询,可以指定多个次(默认全部启用)
  -e CACHEDIR, --cachedir=CACHEDIR 用于存储元数据的目录
  -t, --tempcache       使用临时目录存储/访问yum-cache
  -d, --delete          删除存储库中不再存在的本地包
  -p DESTDIR, --download_path=DESTDIR 下载包的路径:默认为当前目录
  --norepopath          不要将reponame添加到下载路径。只可以
                        在同步单个存储库时使用(默认为
                        添加reponame)
  -g, --gpgcheck        删除未通过GPG签名检查的软件包
  -u, --urls            只列出要下载的URL,不要下载
  -n, --newest-only     仅下载per-repo的最新软件包
  -q, --quiet           尽可能少地输出
  -l, --plugins         启用yum插件支持
  -m, --downloadcomps   下载comps.xml
  --download-metadata   下载所有非默认元数据
  --allow-path-traversal  允许存储在其repo目录之外的包,同步(UNSAFE,小心使用!)

2.2.2 打包压缩源文件

将拉取下来的源文件夹压缩,方便传输减少带宽消耗

[root@root ~]# tar -zcvf yum.tar.gz  /root/yum/

 

3、无网机器测试

3.1 备份原有yum源,安装准备所需安装包

[root@root ~]# mkdir /etc/yum.repos.d/backup/
[root@root ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/backup/

安装createrepo
[root@root ~]# rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
[root@root ~]# rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
[root@root ~]# rpm -ivh libxml2-2.9.1-6.el7_9.6.x86_64.rpm --nodeps
[root@root ~]# rpm -ivh libxml2-python-2.9.1-6.el7_9.6.x86_64.rpm --nodeps
[root@root ~]# rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm --nodeps

3.2 创建新yum源

[root@root ~]# cat > /etc/yum.repos.d/test.repo << EOF
> [centos-base]
> name=centos-base
> baseurl=file:///root/yum/base
> gpgcheck=0
> enabled=1
> EOF

3.3 生成本地yum源缓存

将本地同步下来的源文件生成缓存数据库文件,执行后会在/root/yum/base文件夹中生成一个叫repodata的文件,很重要!它包含各软件包之间的依赖关系、版本信息等。

[root@root ~]# createrepo /root/yum/base/

3.3 createrepo 其他参数

-u  --baseurl <url>
    指定Base URL的地址
-o --outputdir <url>
    指定元数据的输出位置
-x --excludes <packages>
    指定在形成元数据时需要排除的包
-i --pkglist <filename>
    指定一个文件,该文件内的包信息将被包含在即将生成的元数据中,格式为每个包信息独占一行,不含通配符、正则,以及范围表达式。
-n --includepkg
    通过命令行指定要纳入本地库中的包信息,需要提供URL或本地路径。
-q --quiet
    安静模式执行操作,不输出任何信息。
-g --groupfile <groupfile>
    指定本地软件仓库的组划分,范例如下:
createrepo -g comps.xml /path/to/rpms
    注意:组文件需要和rpm包放置于同一路径下。
-v --verbose
    输出详细信息。
-c --cachedir <path>
    指定一个目录,用作存放软件仓库中软件包的校验和信息。
    当createrepo在未发生明显改变的相同仓库文件上持续多次运行时,指定cachedir会明显提高其性能。
--update
    如果元数据已经存在,且软件仓库中只有部分软件发生了改变或增减,
    则可用update参数直接对原有元数据进行升级,效率比重新分析rpm包依赖并生成新的元数据要高很多。
-p --pretty
    以整洁的格式输出xml文件。
-d --database
    该选项指定使用SQLite来存储生成的元数据,默认项。

3.4 查看离线源是否可以正常使用

清空缓存,查看是否可以正常加载源文件

[root@root base]# yum clean all
[root@root base]# yum repolist 
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识                                                       源名称                                                       状态  
centos-base                                                  centos-base                                                  10,072repolist: 10,072

 

标签:--,root,离线,无网,yum,base,rpm,el7
From: https://www.cnblogs.com/sunni/p/17822122.html

相关文章

  • C# 一款免费且离线的.NET使用的OCR,PaddleOCRSharp
    本项目是一个基于百度飞桨[PaddleOCR](https://github.com/paddlepaddle/PaddleOCR)的C++代码修改并封装的.NET的工具类库。包含文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能,同时针对小图识别不准的情况下,做了优化,提高识别准确率。包含总模型仅8.6M的超轻量级中......
  • NETCore,离线部署Linux ,离线部署 libgdiplus
    背景错误信息:Unabletoloadsharedlibrary‘libgdiplus‘oroneofitsdependencies解析:libgdiplus是Linux支持Netcore的图形库,比如System.Drawing要用,在线安装都容易,离线就处理起来恶心了以下事爬坑记录,思路:在有网的Linux下载依赖包,然后再拷贝rmp包去离线服务器安装参......
  • 华为L410上制作离线安装软件模板01
    原文链接:华为L410上制作离线安装软件模板01hello,大家好啊,今天给大家带来一篇在内网搭建Apache服务器,用于安装完内网操作系统后,在第一次开机时候,为系统安装软件,今天给大家用WeChat举例,大家可以根据实际情况调整自己的软件,并且可以结合我们之前的内网仓库搭建教程来同步使用,今天先给......
  • centOS6.5 无法使用yum源的问题 removing mirrorlist with no valid mirrors: /var/ca
     一次在临时服务器执行yum命令出现报错问题:removingmirrorlistwithnovalidmirrors:/var/cache/yum/x86_64/6/base/mirrorlist.txt ......1、修改fastestmirror.conf的配置参数sed-i"s|enabled=1|enabled=0|g"/etc/yum/pluginconf.d/fastestmirror.conf2、备份......
  • centos 6更改yum
    环境:OS:Centos6 1.备份现有repo仓库mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup2.使用阿里云仓库repocurl-o/etc/yum.repos.d/CentOS-Base.repohttps://www.xmpan.com/Centos-6-Vault-Aliyun.repo--insecurecurlhttp://www.xmpan......
  • Centos配置本地yum源为ISO镜像
    一、创建挂载路径mkdir/mnt/iso二、挂载ISO镜像到目录cd/soft/sudomount-oloopcentos-7-x86_64-everything-2009.iso/mnt/iso三、挂载验证 配置成系统启动自动挂载vi/etc/fstab加上一行:/soft/centos-7-x86_64-everything-2009.iso/mnt/isoiso9660......
  • 离线快速LCA(最近公共祖先) Tarjan算法
    离线快速LCA(最近公共祖先)Tarjan算法前言对于OIer来说,LCA一直是处理树上问题的好帮手,无论是倍增还是树剖都有着优秀的\(\logn\)的复杂度。不过由于我们(数据规模)的上进,需要更快速求LCA,于是就有了……反正之前打死我都不相信这玩意能离线,还能O(1)算法思路首先来一棵树:......
  • Ubuntu离线安装解决办法
    步骤:XXX替换未待安装的的服务名1.查看依赖apt-cachedependsXXX2.下载deb及其依赖包apt-getdownload$(apt-cachedepends--recurse--no-recommends--no-suggests--no-conflicts--no-breaks--no-replaces--no-enhances--no-pre-dependsXXX|grep-vi386|grep"^\w"......
  • Kylin 麒麟v10 sp1 服务器版 离线安装docker的方法
    tar-zxvfdocker-20.10.16.tgzmvdocker/*/usr/bin/vi/usr/lib/systemd/system/docker.service1、编辑docker的系统服务文件vi/usr/lib/systemd/system/docker.service2、将下面的内容复制到刚创建的docker.service文件中[Unit]Description=DockerApplicationContainerEngi......
  • centos7中使用yum安装tomcat以及它的启动、停止、重启
    介绍ApacheTomcat是用于提供Java应用程序的Web服务器和servlet容器。Tomcat是ApacheSoftwareFoundation发布的JavaServlet和JavaServerPages技术的开源实现。本教程介绍在CentOS7服务器上使用yum进行Tomcat7的基本安装和一些配置。请注意,这将安装在官方Ubuntu存储库中的......