制作离线yum源
- 2022 年 8 月 24 日
- 笔记
互联网上操作
1.安装所需依赖环境和软件包
1.1安装命令
yum install yum-utils createrepo
1.2各软件包功能
createrepo :生成yum 源各软件之间的依赖索引 yum-utils:安装后可使用 yumdownloader 命令下载所需软件包 reposync:Reposync 用于将远程yum存储库同步到本地,使用yum检索包的目录
2.全量本地离线yum源
以下操作需要在已连接互联网的机器上操作:
2.1查看已配置好的网络源的ID
yum repolist
2.2按照源ID将网络源拉取到本地
reposync -r base -p /opt/data
2.2.1reposync其它参数
-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 压缩源文件
tar -zcvf ownyum.tar.gz /opt/data
3.特定软件包yum 源制作
3.1安装所需要的工具包
yum install yum-utils createrepo
安装完成后出现“yumdownloader” “createrepo”两个命令。
3.2创建一个存放软件包和依赖环境的目录
mkdir /opt/data -p
利用yumdownloader 命令可以解决软件安装时的依赖关系,并且用参数可以将其所有都下载下来(并不安装到本地)
命令参数:
yumdownloader --resolve --destdir=/opt/data # 解决依赖 指定存放目录
yum install 软件名称 --downloadonly --downloaddir=/opt/data # 解决软件安装问题 解决软件存放目录
3.4 生成repodata索引文件
在有网络的主机上生成一个repodata索引文件,可以使得在单机机器上方便的使用yum安装软件,而不需要自己去解决依赖关系。
命令:(选择下载好依赖关系和软件包的目录)
createrepo /opt/data
生成完毕
/opt/data下生成了一个repodata目录文件
无网络机器上操作
1.打包传输使用
tar -zcvf opt-yum。tar。gz /opt/data
解压后在离线机器上配置yum源
备份原有yum源
mkdir /etc/yum.repos.d/bk -p && mv /etc/yum.repos.d/* /etc/yum.repos.d/bk
配置新yum源
cat >/etc/yum.repos.d/data.repo<<END [centos-data] name=data-ce baseurl=file:///root/opt/data gpgchek=0 enabled=1 END
验证
yum repolist